2017-11-08 4 views
0

特に構造化されたテキスト(MRZ)の領域を検出するためにカスケードを訓練しようとしています。 私は200の陽性サンプルと572の陰性サンプルを集めました。 〜プロセスが実行されていたHaarカスケード結果ファイルが小さすぎます

opencv_traincascade.exe -data cascades -vec vector/vector.vec -bg bg.txt -numPos 200 -numNeg 572 -numStages 3 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -featureType LBP -mode ALL -w 400 -h 45 -maxFalseAlarmRate 0.8 -minHitRate 0.9988 

PARAMETERS: 
cascadeDirName: cascades 
vecFileName: vector/vector.vec 
bgFileName: bg.txt 
numPos: 199 
numNeg: 572 numStages: 3 precalcValBufSize[Mb] : 2048 precalcIdxBufSize[Mb] : 2048 acceptanceRatioBreakValue : -1 stageType: BOOST featureType: LBP sampleWidth: 400 sampleHeight: 45 boostType: GAB minHitRate: 0.9988 maxFalseAlarmRate: 0.8 weightTrimRate: 0.95 maxDepth: 1 maxWeakCount: 100 Number of unique features given windowSize [400,45] : 8778000 

===== TRAINING 0-stage ===== <BEGIN POS count : consumed 199 : 199 NEG count : acceptanceRatio 572 : 1 Precalculation time: 26.994 
+----+---------+---------+ | N | HR | FA | 
+----+---------+---------+ | 1|  1|  1| 
+----+---------+---------+ | 2|  1|0.0244755| 
+----+---------+---------+ END> 
Training until now has taken 0 days 0 hours 36 minutes 35 seconds. 

===== TRAINING 1-stage ===== <BEGIN POS count : consumed 199 : 199 NEG count : acceptanceRatio  
0 : 0 Required leaf false alarm rate achieved. 
Branch training terminated. 

35分といいカスケードのためには小さすぎるようでわずか45行で2キロバイトのファイルを生成します。

Trainigは、以下のように行きました。 言うまでもなく、必要な領域を検出しません。

私は議論を調整しようとしましたが、無駄です。

大きなサンプルセットを使用する方が良いとわかっていますが、このサンプル番号の結果もやや妥当な結果をもたらすはずですが、正確ではありません。

特定のテキスト(MRZ)の領域を検出するには、ハラーカスケードが適していますか? 精度がどの程度向上するのでしょうか?

ありがとうございます。

答えて

2

あなたが最大の誤警報率0.8 per stage3 stagesを生産したい、これは3つの段階の後に分類器が0.8^3 false alarm rate = 0.512の最大値を持つことになりますが、あなたの最初の段階の後、分類器はすでによりもはるかに優れています0.0244755の誤警報率に達した意味最終的な目標(0.512)であり、分類器は既に十分であり、これ以上ステージを必要としない。

これはうまくいかない場合は、numStagesを増やすか、maxFalseAlarmRateを最初の段階で「最終的な品質」に達しない程度に減らしてください。

環境を表すサンプルやサンプルをもっと収集しなければならないかもしれません。そのような低い誤警報率に達するのは、通常、悪いトレーニングデータのサイン(単純過ぎるか似すぎているか)です。

ハールカスケードがあなたの仕事を解決するのに適しているかどうかは分かりません。

+0

負のサンプルを500個追加し、maxFalseAlarmRate 0.6とnumStages 4でトレーニングを開始しましたが、結果はかなり悪いです。 sampleHeightとsampleWidthの値が結果に影響を与えると思いますか?ありがとう。 – void

+0

質問テキストにいくつかのサンプルサンプルを追加することができます(正と負のサンプル)?合計でどれくらいの段階がうまく計算されましたか? – Micka

関連する問題