Python OpenCV中Viola Jones Haar cascade的理想图像

Python OpenCV中Viola Jones Haar cascade的理想图像,python,opencv,object-detection,haar-classifier,viola-jones,Python,Opencv,Object Detection,Haar Classifier,Viola Jones,我正在尝试使用OpenCV中的Haar cascade检测图像中的特定对象 假设我对在风景图片中检测停车标志感兴趣。在为我的训练集定义正图像样本时,哪种图像最好:(a)对象的完整图像,(b)中等裁剪或(c)紧密裁剪 同样地,什么对负片最好?这会影响过度拟合吗?我也很感激那些有经验的人提供的任何其他一般性建议。谢谢 Image ref:您只需要在阳性样本中检测到的特征。所以C图像对于阳性样本是正确的 至于阴性样品,你还需要其他的。虽然这显然是不现实的,如果你在一个特定的环境中使用你的检测器,那么

我正在尝试使用OpenCV中的Haar cascade检测图像中的特定对象

假设我对在风景图片中检测停车标志感兴趣。在为我的训练集定义正图像样本时,哪种图像最好:(a)对象的完整图像,(b)中等裁剪或(c)紧密裁剪

同样地,什么对负片最好?这会影响过度拟合吗?我也很感激那些有经验的人提供的任何其他一般性建议。谢谢


Image ref:

您只需要在阳性样本中检测到的特征。所以C图像对于阳性样本是正确的

至于阴性样品,你还需要其他的。虽然这显然是不现实的,如果你在一个特定的环境中使用你的检测器,那么训练检测为阴性是正确的方法。例如,大量风景图片等(没有停车标志的图片)

最好的选择是(c),因为(a)和(b)在标志的边界周围包含了太多对您来说不感兴趣的特征。
它们不仅没有用处,而且会严重影响算法的性能。
在案例(c)中,其目的是识别当前窗口中存在您正在寻找的功能的情况。 但是(b)和(c)呢 在这些情况下,算法必须在窗口的某个角落检测有趣的特征(不幸的是,该角落可能无处不在),同时与该角落可能出现的所有无限可能性保持一致。
您将需要大量的样本,而且无论如何,即使您最终能够获得可接受的命中率,分离正片和负片的工作非常困难,因此运行时间将非常长

至于底片收集,理想情况下,您应该选择能够再现您认为是最终探测器将运行的图像的图像。
例如,如果您认为室内图像对此不感兴趣,请丢弃它们。如果您认为探测器将运行的是某种类型的景观,只需保留其中的大部分即可。

但这只是理论上的,我觉得改进是可以忽略的。收集尽可能多的图像,不同图像的数量,这才是真正重要的。

我还回答了一个可能感兴趣的类似问题