Haar- Cascade对象检测OpenCV - .xml文件分类器未正确检测

时间:2016-07-19 07:01:54

标签: image-processing opencv3.0 haar-classifier

我使用了此tutorial中使用的相同参数。

perl bin / createsamples.pl positives.txt negatives.txt样本1500 \ " opencv_createsamples -bgcolor 0 -bgthresh 0 -maxxangle 1.1 \ -maxyangle 1.1 maxzangle 0.5 -maxidev 40 -w 80 -h 40"

但是改变了numPos参数,因为它给我一个正面图像不足的错误。

ALSO已经减少了阶段,因为它低于期望的准确率(应该小于0.0004)并且我的是0.0002。 使用这些参数。

opencv_traincascade -data classifier -vec samples.vec -bg negatives.txt -numStages 16 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 880 -numNeg 600 -w 80 -h 40 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024

获取了我的cascade.xml文件,但仍未正确检测到。 cascade.xml文件需要3天时间进行处理。(附图) 使用过Opencv3.1.0 请帮忙!!!

IMAGE detected by classifier(Click to see)

1 个答案:

答案 0 :(得分:1)

使用参数-bgthresh 0的原因是什么。据我所知,标准设置为80,如果你不知道他们做了什么,就没有理由改变参数。阅读它。

  

但是更改了numPos参数,因为它给了我一个错误   图像不足。

您是否检查过您确实有1500个阳性,请与positives.txt文件中的行一起验证。

  

-numPos 880 -numNeg 600

这里有不同意见,我建议使用neg = positives * 2。

  

但仍未正确检测

你是什​​么意思?你定义为什么"正确"?从您提供的示例中,我可以看到正确的检测,可能存在误报(中间的矩形)。增加minNeighbors(在您的代码中) - 参数指定每个候选矩形应保留多少个邻居。