检测人工模式

时间:2013-10-01 04:05:30

标签: opencv pattern-recognition

我训练了一个分类器来检测MacBeth色图,这是一个人造图案,应该很容易检测。使用来自谷歌(http://tutorial-haartraining.googlecode.com/svn/trunk/data/negatives/)的bg照片检测1500个阴性和4000个阳性的haarfeatures进行了训练,这些照片与最有可能找到模式的环境类似。

培训的统计数据似乎非常合理:

===== 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

1 个答案:

答案 0 :(得分:0)

增加阶段数,通常需要至少20个阶段才能在检测中达到任何数量的特异性。同时跟踪负面的接受率,越低越好。