我在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的负像。
有人可以解释为什么它的进展如此缓慢以及我能做些什么能让它更快地进步(很多)?
提前致谢,
吉尔。
答案 0 :(得分:4)
大约24小时对我来说听起来很正常。哈尔培训实际上可能需要几天时间,具体取决于样本的大小和数量。当然还有电脑。我的训练时间最长,大约需要一周时间用于手部检测。
如果您真的很担心,要检查haar培训是否仍在进行中,您可以尝试从可用数据生成中间haar级联xml文件。如果你能够生成xml文件,它会显示它仍在运行(虽然很慢)并且没有卡住。
如何提高haar训练速度,我之前知道或使用的唯一解决方案是“并行”
在Google上快速搜索一下这会导致一些链接,这是其中之一:http://www.computer-vision-software.com/blog/2009/06/parallel-world-of-opencv/
我已经使用过这样的方法,它可以非常有效地缩短训练Haar Cascade的时间。所以希望这种方法很适合你。首先尝试从当前可用数据生成立即xml文件的方法。如果有任何需求,请做评论,我尽快回复你。欢呼声。