ドキュメントの写真からMRZをキャプチャ(検出)するのに適した方法は何ですか?カスケード分類器(Viola-Jonesなど)について考えていますが、この問題に使用するのは少し奇妙に思えます。
5 に答える
パスポートでテキストを探すことがわかっている場合は、最初にパスポートモデルポイントを見つけてみてください。ASM / AAM(アクティブ形状モデル、アクティブ外観モデル)手法を使用して、パスポートのテンプレートをそれに一致させます。パスポートの位置情報を取得したら、関心のある地域を切り取ることができます。ただし、実装には時間がかかります。
このアプローチを優れた出発点と考えてください。
- 黒のシルクハットとそれに続く水平方向の派生物は、長い列の文字を強調します。
- 形態学的クロージング操作は、近くの文字と文字行を1つの大きなブロブにマージします。
- オプションの侵食操作により、小さな塊が除去されます。
- 大津のしきい値処理に続いて輪郭を検出し、明らかに小さすぎる、丸すぎる、または間違った場所にある輪郭をフィルターで除去すると、MRZの可能な場所の数が少なくなります。
- 最後に、見つけた場所の境界ボックスを計算し、それらを正常にOCRできるかどうかを確認します。
これは問題を解決するための最も効率的な方法ではないかもしれませんが、驚くほど堅牢です。
より良いアプローチは、投影プロファイル法の使用です。投影プロファイル法は、次のアイデアに基づいています。
白黒入力ドキュメントのすべての行のエントリを含む配列Aを作成します。次に、A[i]を元の画像のi番目の行の黒いピクセル数に設定します。
(行ではなく元の画像の列を考慮して、垂直投影プロファイルを作成することもできます。)
これで、配列Aがドキュメントの投影された行/列のヒストグラムになり、MRZの検出の問題は、Aヒストグラムの谷を調べることで解決できます。
ただし、この問題は完全には解決されていないため、多くのバリエーションと改善があります。追加のドキュメントは次のとおりです。
- Google Scholarのプロジェクションプロファイル:http ://scholar.google.com/scholar?q = Projection + profile + method
- Tesseract-ocr、優れたオープンソースOCRライブラリ:https ://code.google.com/p/tesseract-ocr/
Viola&JonesのHaarのような機能は、オブジェクトを記述しようとする多くの(多くの(多くの))機能を生成し、スケーリングなどに対してもう少し堅牢です。彼らのアプローチは、困難な問題に対する独自のアプローチでした。
ただし、ここでは問題に多くの制約があり、そのようなものは少しやり過ぎのようです。「早期に最適化する」のではなく、標準のOCRツールをすぐに評価して、どこに到達するかを確認します。きっと驚かれることでしょう。
PS:
画像を前処理して、白い背景の文字を分離する必要があります。これは非常に簡単に実行でき、OCRアルゴリズムを大幅に支援します。