我运行这些命令
opencv_traincascade -data data/cascade -vec samples1.vec -bg negative/infofile.txt -numPos 231 -numNeg 100 -w 25 -h 15
在Centos系统中训练我的分类器并返回以下
PARAMETERS:
cascadeDirName: data/cascade
vecFileName: samples1.vec
bgFileName: negative/infofile.txt
numPos: 231
numNeg: 100
numStages: 20
precalcValBufSize[Mb] : 256
precalcIdxBufSize[Mb] : 256
stageType: BOOST
featureType: HAAR
sampleWidth: 25
sampleHeight: 15
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 231 : 231
Train dataset for temp stage can not be filled. Branch training terminated.
Cascade classifier can't be trained. Check the used training parameters.
谁能告诉我这是什么问题?:/
答案 0 :(得分:3)
负样本数量太少。您应该通过在网络上搜索不包含检测到的对象的更多背景图像来增加它(例如1000)。
答案 1 :(得分:0)
火车级联不会选择你的负面测试数据。请检查negative / infofile.txt中指定的路径。避免此问题的一种方法是在infofile.txt中使用相对路径。详细信息here
答案 2 :(得分:0)
我遇到的一个问题如下: opencv_createsamples接受相对路径,但opencv_traincascade不接受相对路径。
要修复此问题,我创建了两个不同的文件来引用背景图像: bg_create.txt和bg_train.txt
前者具有到背景图像的相对路径,而后者具有到背景图像的绝对路径。