我正在Windows上使用OpenCV 2.4.7。我正在使用TrainCascade使用以下命令来训练用于眼镜的新Haar级联:

opencv_traincascade -data trainCascade20 -vec vector3.vec -bg infofile3.txt -numStages 40 -minHitRate 0.999  maxFalseAlarmRate 0.5 -numPos 170 -numNeg 1000 -w 20 -h 20 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024

在获取新底片的阶段,它停留在第24阶段(或进展非常缓慢)。负片文件“infofile3.txt”包含约12K负片。

有人可以解释一下为什么进展如此缓慢,我该怎么做才能使它进展(很多)更快?

提前致谢,

吉尔

最佳答案

大约24小时对我来说听起来很正常。实际上,根据样本的大小和数量,Haar培训最多可能需要几天的时间。当然也可以在计算机上。我进行培训的时间最长,大约需要一周来进行手部检测。

如果您真的很担心,要检查haar培训是否仍在进行中,可以尝试从可用数据中生成一个中间haar级联xml文件。如果您能够生成xml文件,则表明它仍在运行(尽管很慢)并且没有卡住。

如何提高Haar训练速度,我之前知道或使用的唯一解决方案是“并行”

在Google上进行快速搜索可以找到一些链接,其中一个是:http://www.computer-vision-software.com/blog/2009/06/parallel-world-of-opencv/

我已经使用了这种方法,并且在减少训练Haar Cascade所需的时间方面非常有效。因此,希望此方法适合您。不过,请尝试尝试我首先从当前可用数据生成立即xml文件的方法。如有需要,请发表评论,我会尽快与您联系。干杯。

关于opencv - TrainCascade陷入新的负面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21486112/

10-12 23:07