特に構造化されたテキスト(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)の領域を検出するには、ハラーカスケードが適していますか? 精度がどの程度向上するのでしょうか?
ありがとうございます。
負のサンプルを500個追加し、maxFalseAlarmRate 0.6とnumStages 4でトレーニングを開始しましたが、結果はかなり悪いです。 sampleHeightとsampleWidthの値が結果に影響を与えると思いますか?ありがとう。 – void
質問テキストにいくつかのサンプルサンプルを追加することができます(正と負のサンプル)?合計でどれくらいの段階がうまく計算されましたか? – Micka