現在opencvを用いて機械学習を行っています.正解ベクトル画像と不正解画像からxmlを作成しています.
ですが,Required leaf false alarm rate achieved. Branch training terminated.というエラーが出て困っています.
対象:
印刷物の認識なので,正解ベクトル画像は元データ50枚をcreatesamplesで100枚に水増ししたもの
ネガティブデータは10枚ほどでやっています.
TERMINAL
1===== TRAINING 8-stage ===== 2<BEGIN 3POS count : consumed 100 : 100 4NEG count : acceptanceRatio 9 : 7.2485e-06 5Precalculation time: 0 6+----+---------+---------+ 7| N | HR | FA | 8+----+---------+---------+ 9| 1| 1| 0| 10+----+---------+---------+ 11END> 12Training until now has taken 0 days 0 hours 0 minutes 14 seconds. 13 14===== TRAINING 9-stage ===== 15<BEGIN 16POS count : consumed 100 : 100 17NEG count : acceptanceRatio 3 : 7.15256e-07 18Required leaf false alarm rate achieved. Branch training terminated.
というような動作になっており,stage9で終了します.ここまでの学習データだとうまく認識はできませんでした.
このエラーの原因と対処法を教えていただけないでしょうか.
やはり,データ数が少ないことが原因でしょうか.初心者ゆえ,初歩的な質問で申し訳ございません.
どうかよろしくおねがいします.
追記:
詳細がわからないと回答が難しいというご指摘を頂いたため,追記させていただきます.
楽譜の音部記号の画像認識をしたかったのでTrainingAssistantというカスケードを使って,正解画像(dat)と不正解画像(txt)の判別を行いました.その後,正解ベクトルデータ(vec)をopencv_createsamplesを用いて作成しました.
そして,正解ベクトルデータと不正解画像を利用して,opencv_traincascadeを用いて学習を行おうとして,上記のようなエラーが出ました.
どうか,皆様の知恵をお借りできれば幸いです.よろしくおねがいします.
あなたの回答
tips
プレビュー