我训练了一个分类器来检测MacBeth色卡,这是一种人工模式,应该易于检测。进行了训练,使用来自Google(http://tutorial-haartraining.googlecode.com/svn/trunk/data/negatives/)的bg照片检测1500个底片和4000个底片的特征,这些照片与最有可能找到该模式的环境相似。
培训的统计数据似乎非常合理:
===== TRAINING 9-stage =====
POS count : consumed 4000 : 4170
NEG count : acceptanceRatio 1500 : 0.00365317
Precalculation time: 3
| N | HR | FA |
| 1| 1| 1|
| 2| 1| 1|
| 3| 1| 1|
| 4| 0.996| 0.865333|
| 5| 0.996| 0.865333|
| 6| 0.99625| 0.688|
| 7| 0.99525| 0.633333|
| 8| 0.99575| 0.517333|
| 9| 0.99525| 0.489333|
它经历了所有10个阶段,并生成了一个33kb的XML级联描述文件。
但是,当我尝试找到模式时,它会将各种事物检测为模式。
有谁知道如何改善设置或正确找到该模式?
这是我的训练参数:
PARAMETERS:
cascadeDirName: /training3
vecFileName: pos_samples_vec_004.vec
bgFileName: bg5.txt
numPos: 4000
numNeg: 1500
numStages: 10
precalcValBufSize[Mb] : 256
precalcIdxBufSize[Mb] : 256
stageType: BOOST
featureType: HAAR
sampleWidth: 32
sampleHeight: 32
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: ALL
最佳答案
增加阶段数,通常至少需要20个阶段,以实现检测中任何数量的特异性。还要跟踪底片中的接受率,值越低越好。
关于opencv - 检测人造图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107774/