我正在尝试使用 OpenCV、教程和UIUC Image Database for Car Detection来训练级联分类器。但是,训练在第 0 阶段“挂起”并且永远不会生成任何文件;在本教程中,只需几分钟即可看到结果。
我在运行 Yosemite (10.10.5) 的 2015 MBP 上运行使用 conda 安装的 OpenCV 2.4.8
脚步:
- 下载数据集并将正图像保存在 pos 文件夹中,将负图像保存在 neg 文件夹中
为正图像生成一个 txt 文件
find pos -iname "*.pgm" > cars.txt sed -i '' 's/.pgm/.pgm 1 0 0 100 40/g' cars.txt
为负片图像生成一个 txt 文件
find neg -iname "*.pgm" > bg.txt
从 cars.txt 生成一个 vec 文件
opencv_createsamples -info cars.txt -num 550 -w 48 -h 24 -vec cars.vec
创建一个
data
目录mkdir data
火车级联
opencv_traincascade -data data -vec cars.vec -bg bg.txt -numPos 500 -numNeg 500 -numStages 2 -w 48 -h 24 -featureType LBP
输出:
PARAMETERS:
cascadeDirName: data
vecFileName: cars.vec
bgFileName: bg.txt
numPos: 500
numNeg: 500
numStages: 2
precalcValBufSize[Mb] : 256
precalcIdxBufSize[Mb] : 256
stageType: BOOST
featureType: LBP
sampleWidth: 48
sampleHeight: 24
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 500 : 500
NEG count : acceptanceRatio 500 : 1
我已经等了几个小时,但培训没有进展,也没有在我的data
目录中生成任何文件。是什么导致“挂起”?