OCRフォーム認識(データ抽出)について話しているさまざまな記事を見ましたが、フォーム認識を行うためにニューラルネットワークを使用しているとのことでしたが、人工ニューラルネットワーク(ANN)とフォーム認識の関係は何ですか?BusinessCardからフィールドを抽出する場合、ANNを使用する必要がありますか、それともオプションですか?つまり、ANNを使用する必要があるのはいつですか、使用しないのはいつですか。
3 に答える
ANNはOCRを実行する1つの方法です。他にもあります。したがって、ANNを使用してBusinessCardからフィールドを抽出する場合は、オプションです。
少し違います。ANNは、すべてのOCRの単なる「専門家」です。しかし、OCRエンジンには多くの専門家が含まれています。ANNを研究するときは、ANNだけを使用して単純なOCRエンジンを構築しますが、これは、トライグラム、形態、データ型(BCRおよびフォームにとって非常に重要)、辞書、連結成分アルゴリズムと組み合わせてこれを使用する最新のエンジンとは比較されません。 、など。それで、質の高い結果を抽出するためのトリックの袋の中のツールの1つとしてそれを見てください。優れたエンジンには、ANNと他のすべてが組み込まれます。BCRには追加の考慮事項があり、接続されたコンポーネント、最初に辞書、次に実際の認識にANNとパターンマッチングを使用することに非常に重きを置く必要があります。
良い質問。私は最近、OCRを実行するGoogleプロジェクトであるOCRopusで遊んでいました。無料で入手して、自分で遊ぶことができます。その背後にあるモジュールの1つとしてANNがあると確信しています。ただし、光学式文字認識のプロセス全体には、多くのステップが含まれる場合があります(それぞれが何かを実行し、結果を次のモジュールに渡す多くの異なる小さなモジュール)。
それで、これがそのプロジェクトのモジュールによって行われたこととして私が覚えていることのいくつかです:
- 画像を白黒に変換するモジュールがありました。これにより、後のモジュールでの処理が容易になります。
- 斑点/斑点を取り除く。
- テキストの行をまっすぐにします。
- テキストの行を個々の単語に分割します(数週間経ちましたが、これについてはわかりません)
基本的に、ニューラルネットを含まないコードを少し使用して上記を実行できます。したがって、これらの小さなコードでそれを行う方が簡単です。
ニューラルネットは、個々の文字を認識するためだけに使用されていると思います。可能な文字のグループのどの文字がそれであるかです。
OCRopusには、1週間以上続けて実行していたトレーニングコマンドがあり、ラインサンプルをマップに送信し続け、マップをゆっくりと変更していきました。ANNパートのトレーニングだったと思います。