有几天我一直在尝试使用Python-Open cv和Haar Cascade构建我自己的对象分类程序。
创建样本后,以下是训练系统的方法:
opencv_traincascade -data classifier -vec samples.vec -bg negatives.txt -numStages 12 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 1000 -numNeg 600 -w 50 -h 50 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024
在第8阶段之后我收到了这个输出
===== TRAINING 8-stage =====
<BEGIN
POS count : consumed 1000 : 1000
NEG count : acceptanceRatio 600 : 0.00221078
Precalculation time: 10
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.898333|
+----+---------+---------+
| 4| 1| 0.916667|
+----+---------+---------+
| 5| 1| 0.691667|
+----+---------+---------+
| 6| 1| 0.681667|
+----+---------+---------+
| 7| 1| 0.518333|
+----+---------+---------+
| 8| 1| 0.626667|
+----+---------+---------+
| 9| 1| 0.441667|
+----+---------+---------+
===== TRAINING 9-stage =====
<BEGIN
POS count : consumed 1000 : 1000
NEG count : acceptanceRatio 0 : 0
Required leaf false alarm rate achieved. Branch training terminated.
然而,经过训练的模型没有检测到任何物体(在这种情况下观察)。我被困了,不知道如何解决这个问题。非常感谢任何有用的想法。
答案 0 :(得分:0)
实现了所需的参数:&#34; -minHitRate 0.999 -maxFalseAlarmRate 0.5&#34;。
你有(根据你上面的表格):HitRate = 1和FalseAlarmRate = 0.441667,这就是训练停止的原因。