使用opencv_haartraining.exe做样本训练时,会出现陷入死循环无法生成.xml文件这种情况。 如下图所示
训练到第八层之后再也没有反应了。 这是由于FA值已经达到0, 没有负样本能够进入下一层进行训练了。
解决方案之一是增加负样本的数量。
或者用convert_cascade.exe 生成xml文件。因为此时各层的训练信息已经有了,FA值达到0 也说明训练结果可用。 同样适用于FA值已经很低,而下一层的训练时间过长不想等待的情况。
convert_cascade.exe的使用格式如下。
convert_cascade.exe --size="<sample_width>x<sampe_height>" <haartraining_ouput_dir> <ouput_file>