【问题标题】:OpenCV positive samples dimensions?OpenCV正样本尺寸?
【发布时间】:2014-02-14 03:14:42
【问题描述】:

所以我遇到了很多关于 OpenCV 的 haartraining 和级联训练工具的教程。特别是我对使用 createsamples 工具训练汽车分类器很感兴趣,但是关于 -w 和 -h 参数的说法似乎到处都是相互矛盾的,所以我很困惑。 我指的是命令:

$ createsamples -info samples.dat -vec samples.vec -w 20 -h 20

我有以下三个问题:

  • 我了解正样本的纵横比应该与您从上面的 -w 和 -h 参数中获得的纵横比相同。但是所有正样本的 -w 和 -h 参数是否也必须相同 size?例如。我有近 1000 张图片。裁剪后是否都必须是相同的尺寸?

  • 如果重要的不是大小而是纵横比,那么与 OpenCV 工具中提到的 -w 和 -h 参数相比,正样本的纵横比必须精确匹配多少?我的意思是,分类器是否非常敏感,以至于这里和那里的几个像素都会影响它的性能?或者你会说使用图像是安全的,只要它们在肉眼中的比例大致相同。

  • 我已经将多张图像裁剪为相同大小。但是在尝试使它们都具有相同的大小时,其中一些在边界框中包含的背景比其他的要多一些,而另一些的边距略有不同。 (例如,请看下面的两张图片。较大的汽车占据了更多的图像,但较小的汽车周围有更宽的边距)。我只是想知道拥有这样的图像集合是否很好,或者它是否会降低分类器的准确性,因此我应该确保所有感兴趣的对象(在本例中为汽车)周围的边界框更紧密?

【问题讨论】:

  • 我只能说有比 haar/LBP 级联更好的汽车检测方法。
  • 好吧,我无能为力,因为我被雇用来遵循这种方法,但是您认为有什么更好的方法呢?
  • 潜在支持向量机检测器。您可以立即运行它,它会产生更好的结果。
  • 谢谢...是否可以扩展以对不同视角的汽车进行分类?
  • 它可以从各种角度检测汽车。当我在汽车上测试它时,它给了我非常好的结果。

标签: opencv image-processing computer-vision classification training-data


【解决方案1】:

第一个问题:是的,所有用于训练的图像都必须是相同的大小。 (至少上次我做人脸检测样本训练。这里应该是一样的许可。)

第二个问题:不太确定你在这里问什么。但是分类器并不像你想象的那么敏感。与感兴趣的对象相差几个像素,例如手,如果小指缺少几个像素(由于裁剪),而其他图像的拇指缺少几个像素,等等......分类器仍然是能够检测到手。因此,这里和那里缺少一些像素或添加了一些背景像素,最终不会对分类器产生太大影响。

第三个问题:您应该裁剪图像以仅包含汽车以获得最大效果。尽量消除背景。我基于嘈杂背景、黑色背景和具有最小背景的裁剪样本进行了研究。根据我的记忆,具有最小背景的裁剪样本在假阳性和假阴性方面显示出最好的结果。

你可以使用对象标记来做到这一点:http://achuwilson.wordpress.com/2011/02/13/object-detection-using-opencv-using-haartraining/

繁琐的方法是在裁剪后使用绘画将所有图像调整为相同的像素值。

这个链接也应该回答你的问题:http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html

我也同意 GilLevi 的观点,即与 Haar、HoG、LBP 级联相比,有更好的检测方法。图像的训练可能需要几天时间(取决于训练的图像数量)。如果您真的必须使用级联方法并且您希望最大限度地减少培训时间, 使用类似 Haar 的特征进行训练比使用 HoG 或 LBP 需要更长的时间。但从结果来看,我不确定哪一种能确保更好的性能和稳健性。

希望我的回答对你有所帮助。如果还有更多问题,请发表评论。

【讨论】:

  • 谢谢...我还有一个问题:stackoverflow.com/questions/21401827/…,有什么想法吗?
  • 当然。我看一下...这里的答案确实对您有所帮助,对吗?它基于我大约 2 年的分类器训练经验。
  • 哦,是的,绝对有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 2017-01-16
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
  • 2011-08-17
相关资源
最近更新 更多