无法接受公开简历Haar级联训练

时间:2018-08-14 15:34:29

标签: opencv

你好,我正在尝试开发一个haar级联分类器,我能够运行带有检测汽车的基本示例,所以我试图识别一种水果,我下载了一些梨的图像,然后生成了正文件,然后矢量文件,直到一切正常,我使用以下命令测试了矢量文件:

opencv_createsamples -vec vector.vec

所以我尝试通过下一个命令和选项生成xml级联分类器:

opencv_traincascade -data images/cascade -vec vector.vec -bg bg.info -precalcValBufSize 2048 -precalcIdxBufSize 2048 -numPos 24 -numNeg 450 -numStages 10 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -w 24 -h 24

我遇到下一个错误:

PARAMETERS:
cascadeDirName: images/cascade
vecFileName: vector.vec
bgFileName: bg.info
numPos: 24
numNeg: 450
numStages: 10
precalcValBufSize[Mb] : 2048
precalcIdxBufSize[Mb] : 2048
stageType: BOOST
featureType: HAAR
sampleWidth: 24
sampleHeight: 24
boostType: GAB
minHitRate: 0.999
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC

===== TRAINING 0-stage =====
<BEGIN
POS count : consumed   24 : 24
Train dataset for temp stage can not be filled. Branch training terminated.
Cascade classifier can't be trained. Check the used training parameters.

我找不到错误...有一个可以帮助我的opencv专家吗?

1 个答案:

答案 0 :(得分:0)

这是旧的,但我刚刚解决了:

您应为-numPos和-numNeg给出一个略低于您的正样本和负样本总数的数字,约为总数的80%。

例如如果您有24张正面图像,则给-numPos18。

另外,24个阳性样本太低了。尝试将其增加到至少200。