【发布时间】:2014-07-16 12:18:43
【问题描述】:
使用 trainCascade 训练类似 HAAR 的功能。向社区寻求建议以获得更好的结果。一般来说,什么被认为是好的接受率?
我从一个较小的培训开始,遵循此链接作为指导:http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
这是我的数据:
PARAMETERS:
cascadeDirName: classifier
vecFileName: samples.vec
bgFileName: negatives.txt
numPos: 68
numNeg: 436
numStages: 20
precalcValBufSize[Mb] : 3072
precalcIdxBufSize[Mb] : 3072
stageType: BOOST
featureType: HAAR
sampleWidth: 80
sampleHeight: 80
boostType: GAB
minHitRate: 0.999
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: ALL
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 1
Precalculation time: 296
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1|0.0206422|
+----+---------+---------+
END>
===== TRAINING 1-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 0.0810108
Precalculation time: 228
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.259174|
+----+---------+---------+
END>
===== TRAINING 2-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 0.0399304
Precalculation time: 279
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.155963|
+----+---------+---------+
END>
===== TRAINING 3-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 0.0106487
Precalculation time: 255
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.275229|
+----+---------+---------+
END>
===== TRAINING 4-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 0.0031086
Precalculation time: 295
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.399083|
+----+---------+---------+
END>
===== TRAINING 5-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 0.00127805
Precalculation time: 282
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.389908|
+----+---------+---------+
END>
===== TRAINING 6-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 0.000522627
Precalculation time: 299
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.502294|
+----+---------+---------+
| 4| 1| 0.247706|
+----+---------+---------+
END>
===== TRAINING 7-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 0.000149988
Precalculation time: 283
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.511468|
+----+---------+---------+
| 4| 1| 0.25|
+----+---------+---------+
END>
===== TRAINING 8-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 4.31894e-05
Precalculation time: 226
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.440367|
+----+---------+---------+
END>
===== TRAINING 9-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 2.12363e-05
Precalculation time: 208
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.541284|
+----+---------+---------+
| 4| 1| 0.291284|
+----+---------+---------+
END>
===== TRAINING 10-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 7.5647e-06
Precalculation time: 294
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 0.451835|
+----+---------+---------+
END>
===== TRAINING 11-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 3.79627e-06
Precalculation time: 226
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 0.463303|
+----+---------+---------+
END>
===== TRAINING 12-stage =====
<BEGIN
NEG count : acceptanceRatio 436 : 2.03777e-06
Precalculation time: 184
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.396789|
+----+---------+---------+
END>
===== TRAINING 13-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 1.06732e-06
Precalculation time: 262
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 0.415138|
+----+---------+---------+
END>
===== TRAINING 14-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 436 : 6.80241e-07
Required leaf false alarm rate achieved. Branch training terminated.
我发现第 7 阶段和第 8 阶段的分类器效果最好,尽管并不完美。
您发现了什么可以构成良好的阳性样本?较小的图像?更大的图像?轮换? (我确实旋转了我的正样本(90,180 和 270 度)。对于负图像?
有没有人尝试过各种不同等级的图像?例如从具有良好图像传感器(如佳能 Rebel)的相机拍摄的照片与使用手机相机拍摄的照片。这对你的教练有很大的影响吗?
我也认为我在训练我的教练寻找镀铬物体时犯了一个错误。我认为它的反射虽然很小,但对它的训练效果有很大影响。
【问题讨论】: