opencv_traincascade总是卡住(opencv_traincascade always

2019-07-18 18:52发布

我想使用的OpenCV的opencv_traincascade生成一个哈尔级联。 到目前为止,我有87个独特的正样本和测试目的39个负样本。 我产生与opencv_createsamples的.vec文件,它工作得很好。 当我运行opencv_traincascade它总是被后几个阶段卡住了,不管我怎么更改参数。 我的电话是这样的:

opencv_traincascade -data /opencvimgs/haarcascades/data/ -vec /opencvimgs/haarcascades/out.vec -bg /opencvimgs/haarcascades/neg.txt -numPos 87 -numNeg 39

我试图增加和减少minHitRate和maxFalseAlarmRate以及numPos和numNeg没有任何成功。 它可能运行几个阶段,但随后似乎在英辉循环再挂起。 我怎样才能解决这个问题?

下面的输出是什么PROGRAMM写入控制台:

opencv_traincascade -data /opencvimgs/haarcascades/data/ -vec 
/opencvimgs/haarcascades/out.vec -bg /opencvimgs/haarcascades/neg.txt -numPos 87 -numNeg 39
PARAMETERS:
cascadeDirName: /opencvimgs/haarcascades/data/
vecFileName: /opencvimgs/haarcascades/out.vec
bgFileName: /opencvimgs/haarcascades/neg.txt
numPos: 87
numNeg: 39
numStages: 20
precalcValBufSize[Mb] : 256
precalcIdxBufSize[Mb] : 256
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

===== TRAINING 0-stage =====
<BEGIN
POS count : consumed   87 : 87
NEG count : acceptanceRatio    39 : 1
Precalculation time: 1
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        0|
+----+---------+---------+
END>

===== TRAINING 1-stage =====
<BEGIN
POS count : consumed   87 : 87
NEG count : acceptanceRatio    39 : 0.0697674
Precalculation time: 1
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        0|
+----+---------+---------+
END>

===== TRAINING 2-stage =====
<BEGIN
POS count : consumed   87 : 87
NEG count : acceptanceRatio    39 : 0.00945455
Precalculation time: 1
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        0|
+----+---------+---------+
END>

===== TRAINING 3-stage =====
<BEGIN
POS count : consumed   87 : 87
NEG count : acceptanceRatio    39 : 0.000326907
Precalculation time: 1
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        0|
+----+---------+---------+
END>

===== TRAINING 4-stage =====
<BEGIN
POS count : consumed   87 : 87

Answer 1:

一个可能的答案是,你使用过一些负面样本。 阅读来自Viola和Jones OpenCV的文件和参考文件的指令。 他们使用级联分类,以实现高精确度和低的误报通过消除每次阴性样品的一部分。 如果您使用的太少阴性样品,它打败了级联分类的目的摆在首位。 请注意,在实际使用时,系统有更多更多图像,而不会面临比脸。



文章来源: opencv_traincascade always gets stuck