WeChat OCR(2):ディープシーケンス学習がテキスト認識を助ける

WeChat OCR(2):ディープシーケンス学習がテキスト認識を助ける

この記事は、WeChat OCR 技術紹介シリーズの一部であり、ディープ シーケンス ラーニング手法を使用してエンドツーエンドのテキスト文字列認識を実現し、それを WeChat 製品に適用する方法に焦点を当てています。この記事では主に手法についてレビューします。次の記事では、WeChat 製品におけるディープ シーケンス学習テクノロジの実装に焦点を当てます。ここで、テキスト文字列認識の入力は、デフォルトではテキスト(行または単語)を含む最小の境界矩形であり、その目的は、図1に示すように、その中のテキストコンテンツを認識することです。これまでのテキストボックスの検出と配置に関する作業の詳細については、前回の記事[1]を参照してください。

図1: テキスト文字列認識の例

段階的 vs エンドツーエンド

ターゲット認識のサブフィールドとして、テキスト文字列認識は本質的にはマルチクラス分類問題です。顔認識や車両認識などと同様に、テキスト文字列画像からテキスト文字列コンテンツへのマッピングを見つけることが目的です。ただし、シーケンス ターゲットとしてのテキスト文字列には、独自の機能があります。

1. 局所性: つまり、テキスト文字列のローカル部分が全体のラベルに直接反映されます。たとえば、「食べたい」と「食べたくない」は単語が 1 つだけ異なるため、画像の特徴に反映されます。ローカルな特徴のみが変わり、テキスト文字列の意味は完全に逆になります。ただし、一般的なターゲット認識の問題 (細粒度のターゲット認識を除く) では、この種の局所的な干渉はまさに抑制する必要があるものです。たとえば、張三はサングラスをかけていても張三のままです。

2. 組み合わせ可能性: テキスト文字列の内容は多種多様です。たとえば、よく使われる英語の単語は約 90,000 語あります。漢字の組み合わせはさらに数多くあります。しかし、数万語の長い文章であろうと、短い会話であろうと、それらはすべて、26 個の英語の文字、10 個の数字、数千個の漢字など、限られた数の文字で構成されています。

上記の 2 つの点に基づいて、直感的な文字列認識方法は、まず単語に分割し、単語のカテゴリを識別し、次に認識結果を文字列にまとめます。全体を部分に分割するこの方法は、ディープラーニングが登場する前の数十年間、OCR でよく使われていた方法です。このプロセスを図 2 に示します。

図2: さまざまな画像特徴に基づく単語の分割

ただし、この方法には 2 つの明らかな欠点があります。1. セグメンテーション エラーが認識パフォーマンスに影響します。2. 単語認識ではコンテキスト情報が考慮されません。これら 2 つの欠点を補うために、従来の方法では、多くの場合、画像を「過剰にセグメント化」する必要があります。つまり、すべての可能なカット ポイントを見つけてから、すべてのスライスと可能なスライスの組み合わせを単語認識モジュールに送信し、さまざまな認識結果の間で「動的プログラミング」を実行して、セグメント化と認識の結果を決定するための最適なパスを見つけます。最適化プロセスでは、テキストの外観の統計的特性と言語モデル(複数の単語の共起確率)を組み合わせる必要があることがよくあります。セグメンテーション、認識、後処理の間には深い結合があり、実際のシステムの文字列認識モジュールには非常に複雑で読みにくいアルゴリズムが詰め込まれていることが多いことがわかります。さらに、それでも、従来の方法では、複雑な芸術的および手書きのテキスト、厳しい接着状況など、克服できないパフォーマンスのボトルネックが依然として存在します。要約すると、従来の方法の問題点は、処理プロセスが煩雑で時間がかかるためにエラーが継続的に伝達され、手動ルールに大きく依存し、大規模なデータトレーニングが軽視されることです。


図3: オーバーセグメンテーションと動的プログラミングに基づくテキスト文字列コンテンツの取得

2012 年の ImageNet コンペティションを皮切りに、ディープラーニングは画像認識の分野で初めてその威力を実証しました。研究が深まるにつれて、ディープラーニングは音声、ビデオ、自然言語理解の分野に徐々に応用されてきました。これらの領域は、時系列データのモデリングを特徴としています。ディープラーニングを使用してエンドツーエンドの学習を実行し、人工的なルールに基づく中間ステップを廃止してシーケンス学習の効果を向上させる方法は、現在の研究でホットなトピックになっています。基本的な考え方は、CNN と RNN を組み合わせることです。CNN は表現機能を使用して画像の特徴を抽出するために使用され、RNN は当然、シーケンスの問題の処理やコンテキスト関係の学習に適しています。この CNN + RNN ハイブリッド ネットワークは、テキスト文字列認識の分野における研究に根本的な革命をもたらしました。

CRNN: CNN+RNN+CTC

図4: CRNNはエンドツーエンドのテキスト文字列認識を実現します

CRNN は現在、文字列認識の分野で非常に成功したモデルです。前回の記事[2]でも紹介しました。モデルの前面にある CNN 部分は、空間順序を保持する方法で空間内の画像を圧縮します。これは、水平方向に沿って複数のスライスを形成することと同等であり、各スライスは特徴ベクトルに対応します。畳み込みの受容野は重なり合っているため、これらの特徴自体には特定の文脈的関係が含まれます。次の RNN 部分では、2 層の双方向 LSTM を使用してコンテキスト機能をさらに学習し、スライスに対応する文字カテゴリを取得します。 CTC レイヤーは、空白クラスとマッピング ルールを導入することで、動的プログラミング プロセスをシミュレートする構造化損失を設計します。 CRNN は、画像の特徴と認識コンテンツ シーケンス間の順序を厳密に保持し、手書きの電話番号など、セグメント化が難しいテキスト シーケンスの認識に非常に優れています。さらに、このシーケンス学習モデルにより、トレーニング データのラベル付けの難易度が大幅に軽減され、より大規模なトレーニング データの収集が容易になります。

EDA: エンコーダー+デコーダー+アテンションモデル

テキスト文字列認識によく使用される別のネットワーク モデルは、エンコーダー/デコーダー モデルです。このモデルは、特徴の調整に役立つ Attention モデルを追加するため、EDA と呼ばれます。方法のフローを図に示します。

図4: EDAはエンドツーエンドのテキスト文字列認識を実現します

エンコーダー-デコーダー モデルは、もともと seq2seq 問題を解決するために提案されました。つまり、入力シーケンス x に基づいて、別の出力シーケンス y が生成されます。ここでのエンコードは、入力シーケンスを固定長のベクトルに変換することです。デコードは、以前に生成された固定ベクトルを出力シーケンスに変換することです。エンコーダー-デコーダー モデルは非常に古典的ですが、大きな制限もあります。エンコードとデコードの間の唯一の接続は、固定長のセマンティック ベクトル C です。つまり、エンコーダーはシーケンス全体の情報を固定長のベクトルに圧縮します。この強力な圧縮により、セマンティック ベクトルはシーケンス全体の情報を完全に表現できなくなり、最初の入力コンテンツによって伝達される情報は、後続の入力情報によって薄められてしまいます。入力シーケンスが長くなるほど、この現象は深刻になります。

Attention モデルは、この問題を解決するために設計されています。現在の出力を生成すると同時に、次の出力を生成するときに入力シーケンスのどの部分に重点を置くかを示す「注意範囲」も生成し、次に、重点を置いた領域に基づいて次の出力を生成する、というように行われます。このようにして、デコードは中間ベクトルに依存するのではなく、アテンション モデルによってエンコードされたすべての特徴の重み付け調整によって取得された特徴ベクトルに依存するようになります。 Attention モデルはソフト アライメント関数を実装しており、これにより入力ベクトルと出力ベクトルの順序が厳密に保持されなくなります。これがテキスト文字列認識に与える影響については後述します。

今年 5 月に Google がエンドツーエンドの自然シーンのテキスト認識を実現する Attention OCR 方式をリリースしたことは注目に値します。この方法では、EDA に基づいて入力をグラフ全体に拡張します (図 5 を参照)。したがって、この方法は理論的にはテキストを含む任意の画像をテキスト コンテンツにマッピングすることを実現できます。テキストの分割が不要なだけでなく、テキスト検出の手順も必要ありません (かっこいいと思いませんか?)。このアルゴリズムは、約 100 万の道路名を含むフランスの道路標識データセットであるフランスの道路名標識 (FSNS) データセットで 84.2% の精度を達成しました。

図5: GoogleのAttention OCRはエンドツーエンドのテキスト検出と認識を実現します

フローチャートからわかるように、ネットワーク入力は、異なる角度から撮影された同じ標識の画像 4 枚です。画像は Inception-V3 ネットワーク (CNN の一種) によってエンコードされた後、特徴マップが形成されます。次に、デコード モデルの入力として、注意モデルによって与えられた重みに従って、異なる位置の特徴に重み付けされます。ここでは、位置情報を強調するために、位置関連の注意モデルである位置認識注意を使用します。記事で紹介されている注目モデルの視覚化結果から、このモデルは確かにテキストが表示される場所をある程度予測できることがわかります。

この方法は、言語と画像のシーケンスを同時にモデル化でき、サイズと位置の分布が不均一なテキストレイアウトに適応でき、テキストボックスの位置をマークする必要がないため、エンドツーエンドのテキスト検出と認識を真に実現します。

実際には、公開されている FSNS データセットを使用して、この論文の結果を再現します。しかし、この方法にはいくつかの制限も見つかりました。1. 注意モデルのソフトアライメントメカニズムにより、認識結果の文字内容が乱れる可能性があります。2. RNN メモリ機能の制限により、テキスト内容の多い画像には適していません。3. 入力画像には背景干渉が多く含まれているため、テキスト内容とスタイルが比較的単純な場合にのみ効果が信頼できます。

この記事では、主にOCRにおけるディープシーケンスラーニングの応用についてレビューし、まとめます。次に、主にWeChat製品におけるこのタイプの技術の実装を紹介します。

オリジナルリンク: http://t.cn/R0w2hAP

著者: 馬文華

[この記事は51CTOコラムニスト「テンセントクラウドテクノロジーコミュニティ」によるオリジナル記事です。転載の許可を得るには51CTOを通じて原作者に連絡してください]

この著者の他の記事を読むにはここをクリックしてください

<<:  TalkingDataはビッグデータとAIについて語ります

>>:  コンピューターにビデオの字幕を認識させる

ブログ    
ブログ    
ブログ    

推薦する

自然言語処理はビジネスに革命をもたらす

顧客対応チャットボットの強化から契約コミットメントの追跡、会議の議事録の最大限の活用まで、自然言語処...

インテル、IoTとエッジ向け第10世代プロセッサーを発表

Intel は最近、第 10 世代 Core プロセッサが、スループット、LGA ソケットのスケーラ...

AIメモリに与える8つの優れたオープンソースの無料ベクターデータベース

今年、AI大規模モデルの応用は爆発的な成長を遂げました。その中でも、LangChainやHaysta...

マルチモーダル生体認証の利点は何ですか?

マルチモーダル生体認証とは何ですか? マルチモーダル生体認証は、さまざまなシナリオやセキュリティ レ...

暗号化アルゴリズムの将来と現状の簡単な分析

[[357912]]現在最も一般的に使用されている暗号化アルゴリズムは、一方向暗号化と双方向暗号化に...

人工知能は人間を監視しているのでしょうか?現在のAIと未来のAIのギャップ

アルゴリズムで構成されたAI多くの人は、一部の新しいハイテク概念は手の届かないものだと考えています。...

H100推理が8倍に急上昇! NVIDIAは10以上のモデルをサポートするオープンソースのTensorRT-LLMを正式に発表した。

GPU が不足している人々は、その苦境に別れを告げようとしています。 NVIDIA は現在、H10...

CVPR 2017 論文の解釈: フィーチャーピラミッドネットワーク FPN

論文: 物体検出のための特徴ピラミッドネットワーク論文アドレス: https://arxiv.org...

AIがクラウドコンピューティングを再定義し、ビジネス効率を向上させる方法

長年にわたり、クラウド コンピューティングは現代のビジネスに欠かせないツールとなり、2020 年には...

...

ディープラーニングに基づくターゲット検出ネットワークが誤検出を起こす可能性がある理由と、ターゲット検出の誤検出問題を最適化する方法について説明します。

顔検出などの物体検出用のディープラーニング ネットワークにとって、誤検出は非常に厄介なものです。犬を...

AI STUDIO - AI機能を実現するためのハードルゼロ

AI技術の発展により、人類社会は熱い知能革命の真っ只中にあります。技術革命の波に素早く適応できる者が...

Baidu Apollo、新たなスマート運転体験を提供するためXiaodu Assistantをリリース

自動車のインテリジェンスの急速な発展に伴い、新たなスマートな運転体験を実現し、スマートな移動を再定義...

...

...