我的目标是检测图像中的汽车并识别其模型。对于汽车检测,来自http://docs.opencv.org/trunk/opencv_cheatsheet.pdf,它说:
CascadeClassifier
Viola使用Haar或LBP功能的级联升级分类器。 适用于检测面部,面部特征和其他一些物体 没有多样的纹理。见facedetect.cpp
HOGDescriptor
<磷>氮。 Dalal的物体探测器使用直方图梯度(HOG) 特征。适合用于检测人员,汽车和其他物体 明确的轮廓。见peopledetect.cpp
和http://docs.opencv.org/opencv2refman.pdf,第8.1章级联分类,第421页:
首先,分类器(即一系列增强分类器工作 具有类似哈尔的特征)训练有几百个样本视图 特定物体(即脸部或汽车),称为正面例子, 缩放到相同大小(例如,20x20)和负面示例 - 任意大小的图像。
这两种方法都提到了申请汽车检测:在opencv_cheatsheet.pdf中,它说HOGDescriptor适合汽车,而在opencv2refman.pdf中,它也提到汽车用于级联分类。所以我的问题是如何在CascadeClassifier和HOGDescriptor之间进行选择,哪个更适合汽车检测?谢谢。
答案 0 :(得分:3)
没有测试很难说,但实际上我用第三个选项 - latentSVM探测器得到了非常好的结果。
答案 1 :(得分:0)
这取决于您在速度,准确度等方面的目标。您使用级联分类器并可以获得所需的结果。虽然级联分类器非常好但仍然是计算昂贵的。在那种情况下你可以gpu。以下是一些例子。
答案 2 :(得分:0)
这是一个研究问题。由CascadeClassifier和HOG训练的分类器可用于检测车辆。在CascadeClassifier和HOG的情况下,OpenCV提供了构建定制检测器的详细帮助。分类器的质量可以准确地描述,在我的情况下,我对实时实现更感兴趣。所以你必须看看许多不同的因素。