2016-06-07 27 views
0

我收集了1000张正面(50 * 50)图像和1000张负面(50 * 50)图像,并在OpenCV中训练了Haar Cascade。我正在尝试检测手机。培训 代码:如何提高OpenCV中的哈尔级联精度?

opencv_traincascade -data data -vec crop1.vec -bg mob_neg.txt -numPos 900 -numNeg 900 -numStages 15 -w 50 -h 50 bgcolor 255 -bgthresh 100 

级联无法准确检测手机(这是检测移动以及许多其他对象,如鼠标,键盘,钱包,手等) 你能帮助我解决这个问题 我使用突发模式通过相机拍摄了手机​​图像。通过不同的角度和不同的旋转捕获正像 负面图像取自互联网。

我该怎么做才能提高级联精度?

我应该更改正面还是负面图像的大小? 在此先感谢

+0

这似乎不是一个编程问题。也许尝试交叉验证? – Roope

+0

如果样本数量和阶段数量增加是增加准确性的唯一方法,则增加数量,但这肯定会花费大量时间。 – Tes3awy

回答

1

我非常新手却发现这篇文章有帮助:

https://pythonprogramming.net/haar-cascade-object-detection-python-opencv-tutorial/

在它的作者提到使用两倍多的积极作为负面的经验法则。他还讨论了通过使用opencv_createsamples(它也会为您旋转正像)将负像中的正像叠加在一起来生成正像的方法。

在正像图像样本生成和训练之前,他也在缩放底片并将它们转换为灰度。

我希望这是有帮助的。