我需要使用OpenCV创建自己的LBP级联分类器,所以为了习惯这个过程,我一直在使用一个非常小的文件集来获取它。
但是,我很难在opencv_traincascade上找到合适的信息。我将进程设置为运行在.vec文件中的87张正面图像。我意识到这是一个很小的设置,并没有多大用处,但我希望它可能足以拾取我的一个正面图像,如果我把它完全粘贴到负面,只是为了测试理论。 然而,当我开始训练过程时,结果是它进入第5阶段,然后在第6阶段开始时挂起。
我用一个更小的正面集重新启动了这个过程并且它做了同样的事情 - 由于某种原因它在训练阶段开始时进入阶段x并在Neg Count上冻结,并且永远不会恢复。
有没有人有任何想法或建议?问题是我训练集的微小尺寸吗?
===== TRAINING 0-stage =====
BEGIN
POS count : consumed 6 : 6
NEG count : acceptanceRatio 2600 : 1
Precalculation time: 10.965
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 0|
+----+---------+---------+
END
===== TRAINING 1-stage =====
BEGIN
POS count : consumed 6 : 6
NEG count : acceptanceRatio 2600 : 0.0244943
Precalculation time: 10.985
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 0|
+----+---------+---------+
END
===== TRAINING 2-stage =====
BEGIN
POS count : consumed 6 : 6
NEG count : acceptanceRatio 2600 : 0.000697076
Precalculation time: 11.237
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1|0.000384615|
+----+---------+---------+
END
===== TRAINING 3-stage =====
BEGIN
POS count : consumed 6 : 6
答案 0 :(得分:2)
我正在做类似的事情。列车阶段通常可以锁定在无限循环中,并且需要修改代码以防止出现这种情况。您为创建样本和 traincascade 使用了哪些参数?尝试最初减少traincascade中的负片图像数量。这对我有用..