Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Adaptive Text Recognition through Visual Matching

Sansan DSOC
December 12, 2020

Adaptive Text Recognition through Visual Matching

■イベント 
:第五回 全日本コンピュータビジョン勉強会 https://kantocv.connpass.com/event/194122/

■登壇概要
タイトル:Adaptive Text Recognition through Visual Matching
発表者: 
DSOC R&D研究員 内田 奏

▼Twitter
https://twitter.com/SansanRandD

Sansan DSOC

December 12, 2020
Tweet

More Decks by Sansan DSOC

Other Decks in Research

Transcript

  1. Adaptive Text Recognition through Visual Matching Sansan株式会社 DSOC R&D Automation

    Group 内⽥奏 第五回 全⽇本コンピュータビジョン勉強会 @2020/12/12
  2. Data Strategy and Operation Center ⾃⼰紹介 2020/03: 東京電機⼤学⼤学院 ⼯学研究科 情報通信⼯学専攻

    修了 局所特徴量を⽤いたトラッキング,Metric Learningを⽤いたファッション 画像の特徴抽出,超解像・画像縮⼩を中⼼とした画像⽣成の研究に従事 2020/04:Sansan株式会社 ⼊社(インターンとしては2018/10より在籍) 画像⽣成技術を応⽤した名刺画像補正やOCR精度改善に関する研究に従事 内⽥ 奏 So Uchida s_aiueo32 S-aiueo32 Sansan 株式会社 DSOC R&D(研究開発部)Automation Group 研究員 オンライン名刺
  3. Data Strategy and Operation Center 組織構成 法⼈向け名刺管理サービス Sansanの開発、提供 個⼈向け名刺アプリサービス Eightの開発、提供

    R&D データ分析・研究開発 (画像処理/機械学習・AI) Sansan事業部 Eight事業部 DSOC Sansan株式会社 データ統括部⾨
  4. Data Strategy and Operation Center 名 刺 が ⽰ す

    情 報 会社・個⼈の情報 つながり→⼈脈 強み 業種、職種、役職、地域 い つ 、 ど の 部 署 ・ 役 職 の ⼈と出会ったか 横の繋がりの豊富さから、 名刺所有者のナレッジ・経験 がある領域が⽰唆されている 役職名 ⽒名 企業名 メールアドレス/ 電話番号 / URL 1 2 3 Sansan株式会社の事業成⻑を根幹から⽀える 「出会い」のデータベースを構築
  5. Data Strategy and Operation Center スマートキャプチャー 撮影されてから数秒で結果をユーザーに届けることを可能にする技術 項⽬セグメンテーション ⽂字を読み取らずに、名刺のデザインから項⽬を⾒分ける ⾔語判定

    ⽂字を読み取らずに⾔語を判定 ミステイクディテクター 誤りの傾向を学習してミスの可能性を予測 独⾃に研究開発したさまざまな画像認識技術によって、名刺を⾼速かつ⾼精度でデータ化 AI・画像認識技術
  6. Data Strategy and Operation Center アジェンダ 1. 論⽂情報 2. 概要

    3. 事前知識 4. 提案⼿法 5. 実験 6. 結論
  7. Data Strategy and Operation Center 論⽂情報 タイトル Adaptive Text Recognition

    through Visual Matching 著者/所属 Chuhan Zhang1, Ankush Gupta2, Andrew Zisserman1 1 Visual Geometry Group (VGG), University of Oxford 2 DeepMind, London ※図表は論⽂・発表資料より引⽤しています
  8. Data Strategy and Operation Center 概要 ⽂字認識を画像のマッチングとして解く • 認識対象のテキストとグリフを突き合わせて⽂字を読む •

    未知のフォント・⾔語に対して追加学習なしで対応可能 英語で学習したモデルをギリシャ語に適⽤
  9. Data Strategy and Operation Center 深層学習時代の⽂字認識 畳み込み+系列認識の組み合わせで解く • CRNN [B.

    Shi+ TPAMI2017]: VGG16+BiLSTM+CTC※ • RARE [B. Shi+ CVPR2016]: STN+VGG16+BiLSTM+Attn • ASTER [B. Shi+ TPAMI2019]: STN+ResNet+BiLSTM+Attn Scene Text Recognitionのフロー例 [J. Baek+ CVPR2019] Encoder Decoder ※CTCについては後述
  10. Data Strategy and Operation Center ⼤規模データセット MJSynth [M. Jaderberg+ NeurIPSW2014]

    • フォントをレンダリングして 射影変換・⾃然画像とのブレンドしたデータセット • 8.9M枚の学習⽤データ SynthText [A. Gupta+ CVPR2016] • ⾃然画像の平坦な部分に⽂字列を合成し, 検出⽤のBounding Boxを付与したデータセット • 8M枚の学習⽤データセット SynthTextのサンプル MJSynthのサンプル
  11. Data Strategy and Operation Center 問題点 学習に⼤量のフォント・テクスチャが必要 • MJSynth: 8.9M(10GB),

    SynthText: 8M(41GB) • 異なる⾔語への適⽤を考えると? 出⼒クラス数・出⼒系列⻑が固定 • 漢字の種類は無数であり,ある程度出⼒クラスの限定が必要 > 事例: 出⼒クラスに「※」追加してくれない? • 分かち書きできない⾔語だと⻑距離依存性への考慮が必要 EncoderとDecoderが密結合する ※常⽤漢字でもなければ,表⽰できないフォントも多い
  12. Data Strategy and Operation Center 出⼒クラス固定問題への対処⽅法 One-shot learning • 各クラスの教師データが1枚しかない問題設定

    • サポートセットの画像とのマッチング問題を解く • 系列・テキスト認識に直接適⽤した例はない
  13. Data Strategy and Operation Center Visual Similarity Encoder 類似度マップ を算出

    • パラメータ共有したCNN ϕ(⋅) で特徴抽出 → コサイン類似度を算出
  14. Data Strategy and Operation Center Similarity Disambiguation 理想的な類似度マップでは,マッチした部分のみ⾼い値となる • 実際のところ連続的な値を持つマップとなる

    Self-attentionを⽤いて強調した類似度マップ ∗ を計算 • 位置情報を埋め込むため,xy座標とグリフ横幅(glyph-width bands)も⼊⼒
  15. Data Strategy and Operation Center Class Aggregator 空間的な類似度をロジット に変換 •

    ∗ とクラス-グリフ横幅マップ(glyph-width map)のコサイン類似度
  16. Data Strategy and Operation Center CTC loss ⻑さの異なる系列間での誤差を図る仕組み [A. Grave+

    ICML2006] • ⻑さのラベル列を,連続⽂字を削除して⻑さの⽂字列にデコードする d d u m y 0 3 5 ␣ m d u m ␣ 0 3 5 m y d u m y 0 3 5 m ⼊⼒画像 出⼒ラベル列( = ) 出⼒⽂字列( = ) 繰り返しを削除 区切り⽂字を削除
  17. Data Strategy and Operation Center CTC loss 1. デコードして正解⽂字列になりうる⻑さのパス を列挙

    2. 列挙したパス の⽣起確率を計算 > 系列の各要素は出⼒クラス分の確率値を持つベクトルのため, 1つの の⽣起確率は, のラベルに対応した確率値の総積で計算可能 3. ⽣起確率の総和を計算して誤差関数とする 誤差関数 dummy035 パス (⻑さ) ⽣起確率 ddum␣my035 0.90 duum␣my035 0.10 … … dum␣my0355 0.05 − & log((|ℐ)) 正解⽂字列 詳しくは: http://musyoku.github.io/2017/06/16/Connectionist-Temporal-Classification/
  18. Data Strategy and Operation Center Similarity map loss Encoderの出⼒に対してCross-entropyを計算 •

    text-lineに対しても⽂字単位のBounding Boxが必要 > あくまで補助的に使うだけらしい
  19. Data Strategy and Operation Center データセット FontSynth • MJSynthのフォントをスタイルで分割 i.e.

    {regular, bold, italic, light} とその他 • LRS2 [JS Chung+ ACCV2016] のテキストから画像を⽣成 Omniglot-Seq [B. M. Lake + ACCV2016] • Omniglotを横⼀列に並べたもの Google1000 [L. Vincent + ICDAR2007] • 英仏伊⻄語の歴史的⽂献からサンプル,劣化が多い Omniglot-Seq Google1000 FontSynth
  20. Data Strategy and Operation Center 評価指標 CER (Character Error Rate)

    • 編集距離を⽂字列⻑で割った指標,低い⽅がいい WER (Word Error Rate) • ⽂字列を単語トークン列に置き換え,CERと同様の演算をする
  21. Data Strategy and Operation Center 実験項⽬ For novel visual style

    (VS) • VS1: 学習フォント数の影響 • VS2: 異なるフォント同⼠のマッチング • VS3: リアルデータへの適⽤ For novel alphabet/languages (A) • A1: 未知のラテン⽂字への適⽤ • A2: 未知の⾮ラテン⽂字への適⽤
  22. Data Strategy and Operation Center VS-1: 学習フォント数の影響 Regularだけの学習で,全種類を学習したSotAモデルよりCERが改善 • WERでは⾔語モデリングしている⼿法に勝てない

    学習フォントを増やすにあたり⾔語の縛りは少ない • 認識するテキストとグリフの⼀貫性さえ担保されていれば無尽蔵に増やせる ⾔語を増やしても精度向上
  23. Data Strategy and Operation Center VS-2: 異なるフォント同⼠のマッチング VS-1ではテスト画像のフォントが既知 • フォントを厳密に判定することは応⽤上現実的ではない

    学習セットから似たフォントでグリフを作成し評価 • 学習フォント数を増やすと平均.分散が減少していく • 類似度マップ のエントロピーを⾒て最適なフォントを⾃動的に選択可能 フォントを⾃動選択
  24. Data Strategy and Operation Center VS-3: リアルデータへの適⽤ FontSynth + Omniglot-Seqで学習したモデルを

    Google1000-en で評価 • 歴史的⽂書には合字(ligature) が登場 > SotAモデルは識別できないが,提案法だとグリフとして与えればよい • 劣化への対応のためデコード時に⾔語モデル(LM)を使うと精度が上がる Google1000のテキストと抽出したグリフ
  25. Data Strategy and Operation Center A-1: 未知のラテン⽂字への適⽤ Google1000の英語以外で評価 • SoTAモデルは対象⾔語でFine-tune

    • 提案法を超えるには,各クラス5-15枚程度画像を収集が必要 > ⽂字の種類が多いと結構⼤変かもしれない > 提案法はグリフを与えればいいだけ
  26. Data Strategy and Operation Center A-2: 未知の⾮ラテン⽂字への適⽤ Omniglot-Seqのテストセットで評価 • 未知のアルファベット/スクリプトで構成

    • 「特に課題はない」らしい > CER=1.8%/7.9%, WER=7.6%/31.6% (with LM/without LM) > 個⼈的には⽇本語/中国語あたりで試して欲しかった…
  27. Data Strategy and Operation Center まとめ 画像マッチングとしての⽂字認識 • Encoder-Decoderの中間特徴として類似度マップを利⽤ >

    One-shot learningに着想を得る > 従来法を踏襲しながらシンプルに解く姿勢 • 実験により⾼い汎化性能を確認 雑感 • ⽂字数多いと類似度マップ巨⼤すぎてどうしようもなさそう > 多段階とかにするといいのかもしれない • データを作れる組織は強い Be organizer, not competitor > ⼀応公開ダミーデータ出してます - https://www.nii.ac.jp/dsc/idr/sansan/
  28. Data Strategy and Operation Center 引⽤⽂献 紹介論⽂ C. Zhang, A.

    Gupta, and A. Zisserman, “Adaptive Text Recognition Through Visual Matching,” in Computer Vision – ECCV 2020, 2020, pp. 51–67. [B. Shi+ TPAMI2017] B. Shi, X. Bai, and C. Yao, “An End-to-End Trainable Neural Network for Image-Based Sequence Recognition and Its Application to Scene Text Recognition,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 39, no. 11, pp. 2298–2304, Nov. 2017. [B. Shi+ CVPR2016] B. Shi, X. Wang, P. Lyu, C. Yao, and X. Bai, “Robust scene text recognition with automatic rectification,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2016, pp. 4168–4176. [B. Shi+ TPAMI2019] B. Shi, M. Yang, X. Wang, P. Lyu, C. Yao, and X. Bai, “ASTER: An Attentional Scene Text Recognizer with Flexible Rectification,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 41, no. 9, pp. 2035–2048, Sep. 2019. [J. Baek+ CVPR2019] J. Baek et al., “What is wrong with scene text recognition model comparisons? dataset and model analysis,” in Proceedings of the IEEE International Conference on Computer Vision, 2019, pp. 4715–4723. [M. Jaderberg+ NeurIPSW2014] M. Jaderberg, K. Simonyan, A. Vedaldi, and A. Zisserman, “Synthetic Data and Artificial Neural Networks for Natural Scene Text Recognition,” arXiv [cs.CV], Jun. 09, 2014. [A. Gupta+ CVPR2016] A. Gupta, A. Vedaldi, and A. Zisserman, “Synthetic data for text localisation in natural images,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2016, pp. 2315–2324. [L. Vincent + ICDAR2007] L. Vincent. Google book search: Document understanding on a massive scale. In PROC. ninth International Conference on Document Analysis and Recognition (ICDAR), pages 819–823, Washington, DC, 2007. 6, 7, 27 [JS Chung+ ACCV2016] J. S. Chung and A. Zisserman, “Lip Reading in the Wild,” in Computer Vision – ACCV 2016, 2017, pp. 87–103. [B. M. Lake + ACCV2016] B. M. Lake, R. Salakhutdinov, and J. B. Tenenbaum, “Human-level concept learning through probabilistic program induction,” Science, vol. 350, no. 6266, pp. 1332–1338, Dec. 2015.