opencv 3.1.0 で opencv_traincascade 実行可能ファイルを使用して、haar カスケードをトレーニングしようとしています。
今のところ、opencv_createsamples と opencv_traincascade に適切なパラメーターを確実に渡すために、結果に一貫性がなくても、1 つの肯定的なものだけを使用してこれを実行したいと考えています。
bg.txt の内容:
negatives/img_04436_c1.pgm
negatives/img_04437_c1.pgm
ネガ解像度: 幅: 1176 高さ: 640
ポジ解像度: 幅: 40 高さ: 70
次のコマンド パラメータを使用しています。
opencv_createsamplesの場合:
./opencv_createsamples -img img_04569_c1.pgm -vec samples -bg bg.txt -maxxangle 0.1 -maxyangle 0.1 -maxzangle 0.1 -w 40 -h 70 -num 30
Info file name: (NULL)
Img file name: img_04569_c1.pgm
Vec file name: samples.vec
BG file name: bg.txt
Num: 30
BG color: 0
BG threshold: 80
Invert: FALSE
Max intensity deviation: 40
Max x angle: 0.1
Max y angle: 0.1
Max z angle: 0.1
Show samples: FALSE
Width: 40
Height: 70
Create training samples from single image applying distortions...
Open background image: negatives/img_04436_c1.pgm
Done
opencv_traincascadeの場合:
./opencv_traincascade -data cascade -vec samples -bg bg.txt -w 40 -h 70 -numPos 30 -numStages 1 -numNeg 2
PARAMETERS:
cascadeDirName: cascade
vecFileName: samples.vec
bgFileName: bg.txt
numPos: 30
numNeg: 2
numStages: 2
precalcValBufSize[Mb] : 1024
precalcIdxBufSize[Mb] : 1024
acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 40
sampleHeight: 70
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 28 : 28
*** Error in `./opencv_traincascade': double free or corruption (out): 0x00000000016749b0 ***
Aborted (core dumped)
私の問題は次のとおりです。
sample.vec ファイルを作成できました。
opencv_traincascade を実行すると、次のエラーが表示されます。
*** Error in `./opencv_traincascade': double free or corruption (out): 0x0000000001e0e9b0 ***
時々、セグメンテーション違反エラーも発生します。
ネガをより低い解像度にリサイズしようとしましたが、xml ファイルを生成できましたが、使用しようとしても何も起こりません。(分類子は動かなくなり、長方形を返さずに継続的に実行されます)
元のネガサイズを使いたいです。
誰でもこの問題を解決するのを手伝ってもらえますか?
詳細が必要な場合は、コメントを残してください。質問を更新します。