「現在の書類」またはパスポートの認識に役立つもの

ビデオストリームからのテキストの認識、写真処理と比較した場合の利点、および特に有用なシナリオについては既に説明しました。



本日、AndroidおよびiOSモバイルプラットフォーム向けのABBYY Real-Time Recognition SDKをリリースします。 したがって、モバイルデバイスでのデータ認識の機能、つまり、最も複雑なドキュメントの1つである市民パスポートの例を使用して、ビデオストリームの情報を抽出することについてお話したいと思います。



多くの場合、パスポートデータを使用する必要があります。 パスポートは、モバイルバンクまたは支払いシステムへの登録、チケットの購入、車のレンタルに必要です。 現在、多くの人々がこれらのタスクにスマートフォンを使用しています。 モバイルデバイスの小さなキーボードで情報を入力するのは非常に不便です。 特に不快な入力フィールドは、パスポートの発行場所に関するデータです。通常、これらのフィールドには数行が含まれ、多くの略語が含まれています。



カーシェアリング会社は、潜在的な顧客の大部分が、このデータの手動入力の段階で正確に「落ちる」と語った。 したがって、問題は、人々が自分自身に関する情報を機密扱いにしないことを恐れているのではなく、パスポートからのテキストの退屈な再入力に時間を浪費して申し訳ないということです。 すべてのスマートフォンには、ドキュメントからの情報の入力を簡素化および高速化するために使用できるカメラが搭載されています。 問題があります-解決する必要があります。



実際、ABBYYにはこのタスクのためのPCソリューションが既にあります。 ただし、最新のスマートフォンは強力ですが、まだコンピューターではありません。 アプリケーションの許容サイズ(50 MB以下)と使用可能なRAMを調整する必要がありました。 したがって、「既存の技術をモバイルプラットフォームに移行するだけ」というオプションは却下され、新しい開発が開始されました。



パスポートを認識するのが難しいのはなぜですか?



パスポートを認識するのは難しいように思われますか? パスポートの構造はわかっています。「写真の半分」の横にはシリーズと番号のある縦線があり、その左側には個人データのある6〜7本の横線があります。 ただし、どのフィールドがどこにあるかを把握することではなく、目的のテキストを正しく認識することが困難です。



パスポートは、最も簡単に認識できる文書ではありません。 遅かれ早かれそれを処理しようとする誰もが直面する多くの問題があります。



撮影不良



このブログで 、スキャンではなく写真を認識する際にどのような困難が生じるかについてすでに何度も説明しました 。 主な難点は、スマートフォンのカメラがスキャナーではないことです:)撮影時には、デバイス(および場合によっては撮影中のドキュメント)を手に持つと、手がひるむことがあります。 その結果、写真の中のぼやけたテキストが認識できなくなります。



パスポートの場合、最も必要なページがラミネートされているため、状況は複雑です。 そのため、それらを撮影するとき、グレアが必然的に発生し、テキストが読めなくなります。





図1.フレアが姓を完全にカバー(パスポートデータが変更)



複雑な背景



文書を改ざんから保護するために、UFMSの従業員はホログラムを追加し、パスポートデータを認識して取得するタスクをさらに複雑にします。



パスポートの写真を見た人の多くは、双頭のワシが顔に直接当たり、最終的に写真を台無しにしたという事実にfactしていました。 同様に、姓、生年月日、その他のフィールドを「台無しにして」、写真ではほとんど読めないテキストに変えることができます-これは認識システムの問題です。





図2.ホログラム「RF」はミドルネームと重複しています(パスポートデータが変更されています)



テキストのサイズと色



別の不快な瞬間。 データフィールドの署名(生年月日、ミドルネームなど)は、非常に小さな活字で書かれています。 優れたカメラのスマートフォンでも、このテキストを定性的に認識できる画像を常に取得できるとは限りません。 その結果、署名は異なる文字のゴミに変わります。これは、データフィールドを見つけるための基準点ではなくなり、結果の分析を妨害します。



さらに、明らかに後悔している文書がしばしばあります。 テキストは非常に薄いため、ほとんど読むことができません。 写真でそのようなテキストを認識することはさらに困難です。





図3.わずかに対照的なテキスト(変更されたパスポートデータ)



認識には何が役立ちますか?



したがって、パスポートを認識することは簡単な作業ではありません。 しかし、それらを克服するには困難が存在します。 そして、携帯電話でパスポートを認識するのに役立つアイデアを共有したいと思います。



ビデオストリーム認識



最初に言及した問題は、グレア、ぼやけたテキストなどが存在するため、写真を扱うことが難しいことです。 それに対処するには、これらの欠陥を平準化することができます。 たとえば、 ABBYY Mobile Imaging SDKの機能を使用して、画質とその認識の適合性を評価します。 写真の良い結果が得られないことが明らかになった場合、アプリケーションはユーザーにセカンドショットを撮るように求めることがあります。



欠陥に対処する別の方法は、写真の処理を拒否し、ビデオストリームの処理に進むことです。 デバイスのカメラから受信した一連の画像(フレーム)。



人がパスポートを取得している間、腕を水平に保つことは困難です。 これは、欠陥がフレームを「移動」することを意味します。一方は、「名前」フィールドの領域にハイライトがあり、もう一方はパスポート所有者の写真のどこかにあります。 異なるフレームを個別に認識し、各フィールドの結果を組み合わせることにより、抽出されたデータの精度を大幅に高めることができます。 これは単なる統計です。各パスポートフィールドについて、連続するフレームを認識した後に取得された値のセット全体があります。それらのフレームについては、平均値を計算し、それを最終結果として使用してユーザーに返します。 明らかに、新しい処理されたフレームのデータを追加すると平均が変化し、安定化した後にのみ結果を返すことは論理的です。 開発では、安定性を評価するために、確率的基準を使用し、結果の変化の確率が極端に小さくなる場合にのみ処理を停止します。



認識辞書



テキストを認識するとき、マシンは仮説をたどり、画像の断片が特定の言語記号のように見える程度を推定します。 低品質の画像を処理する場合、間違った仮説を選択する可能性があります。 しかし、必要な語彙を含む辞書を接続することにより、利用可能な仮説のどれがより可能性が高いかを認識機能に「伝える」機会があります。 パスポートの場合、これにより処理の精度が大幅に向上し、「I」->「Y」、「O」->「0」などの「古典的な」認識エラーが修正されます。



数値フィールド(日付、コード、数値)の正規表現も役立ちます。 それらを使用すると、数字が文字と混同される状況を除外できます( 'B'-> '8'、 'Z'-> '3'など)。



ファインテキストフィルタリング



辞書は、メインテキストの認識品質の向上に役立ちますが、小さな参照テキスト(フィールド署名)に対処することはできません。 干渉しないように、フィルタリングする必要があります。 これは、たとえば、色とサイズに基づいて実行できます。 これらの特性は、パスポートの基本データを書き込むために使用されるフォントによって著しく異なりますが、使用時にエラーが発生する可能性があります。 したがって、フィルタリング基準は厳しすぎないようにしてください。 さらに、見つかったテキストの座標に関する情報を使用し、メインデータからかなりの距離にあるゴミ記号をリクライニングすることをお勧めします。



認識された値の正規化



残念ながら、メインテキストの100%品質の認識を達成し、すべての小さな干渉ガベージを完全に除外することは常に不可能であり、残りのエラーは抽出されたデータの品質に大きく影響します。 結果を改善するには、特別な後処理を使用できます。



  1. 数値フィールドの場合、このフィールドを説明する正規表現を設定し、結果に表示されるがフォーマットに一致しない「余分な」文字を破棄するだけで十分です。 たとえば、パスポートでは「発行日」フィールドに十分なスペースがないため、フィールド上の誤って認識された署名が値自体に「貼り付く」ことがよくあります。 その結果、たとえば、「:: 05.16.2010」という結果が表示されます。 単純な正規化では、このフィールドの正しい値「05.16.2010」のみを残すことができます。



    さらに、ビデオストリームから認識する場合、形式チェックを使用してプロセスを高速化し、形式に適した安定した結果が得られたら処理を完了できます。 内部テストにより、このアプローチにより、上記の「完全な安定化」に比べて品質を大幅に低下させることなく、認識プロセスを約15%スピードアップできることが示されています。



  2. 辞書フィールドの場合、追加の検証と辞書のエラーの修正を使用できます。 辞書機能は、処理プロセスの高速化にも役立ちます。意味の「完全な安定化」を待たずに、すべての単語がテストに合格したフィールドの結果を返します。


もちろん、これらはすべてパスポートを認識するときに役立つアイデアやソリューションのすべてではありません。 今後の記事では、このタスクについて引き続き説明します。



パスポート認識は、スマートフォンで解決する必要がある多くのデータ入力タスクの1つです。 実際には、このようなタスクはさらに多くあります。 たとえば、現在、モバイルアプリケーションのほとんどすべての銀行が公共料金支払いサービスを提供しています。 これに必要なデータ(購読者コード、個人口座番号など)の自動認識は、プロセスを大幅に簡素化し、スピードアップします。



ABBYYでは、このようなタスクの重要性を認識しています。そのため、チームは、開発者がモバイルアプリケーションをすばやく簡単に作成して任意のドキュメントからデータを抽出できる専用のAPIに積極的に取り組んでいます。 そして、 ABBYY Real-Time Recognition SDKが利用可能になりました。



お楽しみに:)



オルガ・ティトヴァ、

開発者製品部門



All Articles