我想在Ubuntu上以正面图像运行火车级联。我已经在Windows上使用this工具将其映射并创建了信息文件,将其转换为Unix文本文件,我还将所有正负图像都转换为灰度,我已经成功完成了this教程,但是仅说明如何使用一个样本进行训练,我需要对图像中存在的许多样本进行处理,图像中有多个对象,因此不需要像他在手表和背景上所做的那样创建样本。 我有75个正面图像,每个图像都有4个对象。 我有374张负面图片。 我运行以下命令来创建矢量:
opencv_createsamples -info positive/info.txt -num 79 -vec pos.vec
这是信息文件中的示例:
IMG_0468.jpg 4 164 135 58 79 243 143 60 80 387 155 72 85 460 176 55 82
IMG_0471.jpg 4 146 139 54 76 194 153 69 84 341 178 84 91 456 189 72 105
IMG_0656.jpg 4 143 94 66 84 254 35 55 71 406 48 61 66 373 117 50 63
IMG_0685.jpg 4 243 141 63 69 322 136 87 75 459 159 64 61 519 145 85 68
IMG_0697.jpg 4 292 105 114 135 133 212 95 77 411 202 73 70 503 159 112 106
IMG_0718.jpg 4 110 151 63 97 145 118 84 90 307 101 77 110 380 136 60 110
IMG_0812.jpg 4 148 248 68 102 203 170 85 81 470 146 84 90 525 230 86 91
然后开始训练:
opencv_traincascade -data data -vec pos.vec -bg negative/bg.txt -numPos 70 -numNeg 300 -numStages 2
这是我得到的错误:
PARAMETERS:
cascadeDirName: data
vecFileName: pos.vec
bgFileName: negative/bg.txt
numPos: 70
numNeg: 300
numStages: 2
precalcValBufSize[Mb] : 1024
precalcIdxBufSize[Mb] : 1024
acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 24
sampleHeight: 24
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
Number of unique features given windowSize [24,24] : 162336
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 70 : 70
Train dataset for temp stage can not be filled. Branch training
terminated.
Cascade classifier can't be trained. Check the used training
parameters.
我在这里想念什么?