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について語ります

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

ブログ    
ブログ    

推薦する

製造業における人工知能の応用

資産集約型組織の中には、運用効率の向上、主要業績評価指標 (KPI) の改善、生産およびサポート プ...

女神の若々しい姿が全開!テンセントのAIモデルGFPGANがGitHubのホットリストで1位に

[[440335]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

機械学習感情分析ツールのトップ 5 (スタートアップ)

感情分析または意味分析は、構造化されていないテキスト内の感情や意見を識別するプロセスです。テキストは...

バブルアルゴリズムよりも単純なソートアルゴリズム:バグだらけに見えるプログラムが実は正しい

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

人工知能専攻にはどのような専攻が含まれますか?見通しはどうですか?

人工知能にはどのような専攻が含まれますか?人工知能に関連する研究方向には、パターン認識とインテリジェ...

PyTorch の 4 分間のチュートリアルで線形回帰の実行方法を学びます

[[271978]]ビッグデータダイジェスト制作編纂者:洪英飛、寧静PyTorch は、ディープラー...

小売業における人工知能:生き残りは賢くなることにかかっている

機械学習は、ビジネスを急速に成長させたい小売業者にとって急速に必要不可欠なものになりつつありますが、...

「インターネット情報サービスアルゴリズム推奨管理規則」が公布され、3月1日に発効される。

最近、中国サイバースペース管理局、工業情報化部、公安部、国家市場監督管理総局は共同で「インターネット...

Facebookは人工知能を使ってコンテンツレビューの優先順位を決める

海外メディアによると、フェイスブックは機械学習アルゴリズムの使用を増やし、AIを使ってコンテンツの重...

C# の敏感な単語フィルタリング アルゴリズムの実装

この記事はWeChatの公開アカウント「UP Technology Control」から転載したもの...

天才少年・志慧君が志遠ロボットとともに会場に入場!脳としてAIモデル、目標価格は20万以下

Huaweiの才能あふれる若者Zhihuiの起業家デビューがついに登場!観衆の注目が集まる中、「Ex...

AIチップ市場で何が起こっているのか?

現在、AI チップ市場全体はディープラーニングを中心に展開しています。ディープラーニング (DL) ...

デジタル変革とAIイノベーションが銀行業界を新たな時代へ導く

急速な技術進歩と規制環境の変化が進む時代において、銀行が競争力を維持し、規制に準拠する必要性がかつて...

...