現在、以下のサイトを参考にして機械学習を行っています。
https://www.pro-s.co.jp/engineerblog/opencv/post_6397.html
https://www.pro-s.co.jp/engineerblog/opencv/post_6471.html
フォルダ構成も同じようにし、posフォルダに画像を1枚入れ
opencv_createsamples.exeを実行して50枚のvecファイルを作りました。
negフォルダには30枚の画像を0.jpg 1.jpg・・・29.jpgというように名前を付けてフォルダに入れ、nglist.txtを作成しました。
実際に
opencv_traincascade.exe -data ./cascade/○○○/ -vec ./vec/○○○.vec -bg ./neg/nglist.txt -numPos 40 -numNeg 20
を実行したところ
PARAMETERS:
cascadeDirName: ./cascade/○○○/
vecFileName: ./vec/○○○.vec
bgFileName: ./neg/nglist.txt
numPos: 40
numNeg: 20
numStages: 20
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 40 : 40
Train dataset for temp stage can not be filled. Branch training terminated.
Cascade classifier can't be trained. Check the used training parameters.
というエラーが発生してしまします。
このエラー原因及び改善方法がわかりません。
原因がわかる方がいらっしゃいましたらご教授願います。
opencvは3.4を利用しています。