>100 Views
October 12, 18
スライド概要
2018/10/12
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] FOTS: Fast Oriented Text Spotting with a Unified Network Masashi Yokota, RESTAR inc. http://deeplearning.jp/ 1
書誌情報 • 著者: Xuebo Liu1 , Ding Liang1 , Shi Yan1 , Dagui Chen1 , Yu Qiao2 , and Junjie Yan1 • CVPR 2018採択 • 概要: – text spotting(text detection + text recognition)を単一モデルで高 速・高精度で推論可能にした。リアルタイム(40ms程度)で推論で きるほど高速。 2
概要 • 従来のtext spottingは detectionとrecognitionの2 つのモデルを使って行われ ていた • この論文では、単一のモデ ルでtext spottingを行い、 計算コストを下げ、推論の 高速化を達成した。さらに、 精度面においても従来の手 法を上回った。 3
Text Spotting text spottingとは画像中の文字とその文字領域を予測するタスク 4
Text Spottingの何が難しいのか 1. 文字の大きさが不定 2. 文字領域の形が不定 – 様々なアスペクト比 – 文字領域が斜めになっている場合もある 3. 単語を構成する文字数が不定 – 単語を構成する文字数が長い/短い場合がある 4. Text Detectionが正確にできないとText Recognitionの性能が落 ちる。 – detectionとrecognition双方の高い性能が必須 5
関連研究 • 2 stage (detection と recognition双方のモデルが独立) – Textboxes: A fast text detector with a single deep neural network [Liao et.al. AAAI2017] • DetectionにSSDベースの手法を用い、recognitionniはCRNNを使っている – Rosetta: Large Scale System for Text Detection and Recognition in Images[Borisyuk et.al. KDD 2018] • P.7で紹介。FBの実運用システム。 • End-to-End (単一モデルで推論) – Towards end-to-end text spotting with convolutional recurrent neural networks. [Li et.al. ICCV2017] • P.8で紹介 6
関連研究: 実運用システムの例: Rosetta: Large Scale System for Text Detection and Recognition in Images[Borisyuk et.al. KDD 2018] • Facebookの実運用システムのモデル。text detectionとtext recognitionの2つのモデルを使っている。 7
関連研究: Towards End-to-end Text Spotting with Convolutional Recurrent Neural Networks[Li et.al. ICCV2017] 1. Text Proposal Network(TPN)で文字領域認識 2. 1の文字領域中の文字をLSTM + attentionを用いて文字認識 8
関連研究で対応できていない事 • 回転している文字領域に未対応 • 処理が重い – Liらの手法は600x800の入力画像とすると出力に900msかかる 提案手法では、回転している文字領域にも対応。 さらには、推論速度も向上させた。 9
提案手法 10
提案手法 1. モデル概要 2. Text Detection 3. Text Recognition 11
1. モデル概要 • shared convolutionから得られた特徴量からtext detectionを 行う。 • text detectionの予測結果をROIRotateにかけて、 回転画像の補正を行い、text recognitionを行う。 12
1.モデル概要: shared conv ResNet50のConv層 縮小前の特徴量と 縮小→deconv後の特徴量をconcat • 上図のように入力画像を1/32までconvで縮めて、元画像の 1/4になるまでdecovしている。 13
2. Text Detection shared convから得られた特徴量を一層のconvに入力し、 得られたテンソルをthreshold+NMSにかけ文字領域を抽出する 14
2. Text Detection 文字領域の予測 Conv層×1 ( Text Detection Branch ) 特徴量のあるX点(x, y)のベクトルの要素 1. 2. 3. 4. 5. 6. X点が文字領域である確率 ”p” X点と最も近い領域の上辺 X点と最も近い領域の右辺 X点と最も近い領域の左辺 X点と最も近い領域の下辺 X点に属する領域の回転角 ”p”の値で領域を 絞り込み(threshold) + NMSによる領域抑制 shared convから得られた特徴量を一層のconvに入力し、得ら れたテンソルをthreshold+NMSにかけ文字領域を抽出する 15
2. Text Detectionの学習 ・文字領域判定の損失関数 : GT(文字領域であるかどうか 0 or 1) : 点xが文字領域である確率 : 文字領域の集合 ・文字領域予測の損失関数 予測領域とGTのIoU 予測値とGTの差分のコサイン ・Text Detection Branchの損失関数 16
3. Text Recognition ROI Rotateで文字領域の画像特徴量を回転・倍率補正を行い Text Recognition Branchで文字認識を行う。 17
3. Text Recognition イメージ 文字領域の 特徴量 ROIRotate 縦方向に pooling Pooling 補正された 特徴量 文字領域特徴量の 回転・拡大率の補正 横方向に分割 Conv ×1 横方向の各要素ベクトルの 文字をそれぞれ予測 Bi-directional LSTM CTC GAP 18
3. Text Recognition: ROI Rotate • 回転している文字領域から特徴量を獲得するのは困難 • アフィン変換を応用して、計算しやすいように特徴量変換 →ここでは、hとアスペクト比が一定となるようにアフィン変換する 19
3. Text Recognition: ROI Rotate ・ある点(x, y)のアフィン変換マトリクスMを次のように定義 回転 倍率変換 平行移動 t, b, l, r: 文字領域から上・下・右・左辺までの距離 θ: 文字領域の回転角度、ht, wt: アフィン変換後の四角形の縦と横の長さ 20
3. Text Recognition: ROI Rotate ・先で得たアフィン変換行列Mを用いて、特徴量を変換 ・得られた値(𝑥𝑖𝑠 , 𝑦𝑖𝑠)を元に𝑉𝑖𝑗𝑐 を以下のように計算し変換後の特徴量を補完する : 位置(i, j)、チャンネルcの位置の出力値 : 位置(u, m)、チャンネルcの位置の入力値 k : Φでパラメタライズされたカーネル関数 (今回はbilinear interpolation) 21
3. Text Detection: CTC ・CTCではラベルのシーケンスを以下のように 空白と連続した値を削除し、シーケンスから冗長なラベルを削除する B(_CC_AAA_T_) = B(____CAT_)=CAT (BはCTCの変換関数、“_”は空白を表す) ・今回の場合のCTCは以下のようなイメージ _TEMMT CTC TEMT ... 22
3. Text Recognitionの学習 ・Text Recognitionの最適化は正解となる全パターンのシーケンスの 確率の和を最大化する : シーケンスπとなる確率 ・Text Recognitionの損失関数 : 正解となるシーケンスの集合 : Text RecognitionのGT 23
4. モデル全体の損失関数 • 提案手法全体の損失関数 ※ 実験では𝜆𝑟𝑒𝑐𝑜𝑔 の値は1を利用 24
実験 25
データセット • ICDAR 2017 MLT – 7200 training images, 1800 validation images, 9000 test images • ICDAR 2015 (Robust Reading Competition) – 1000 training images, 500 test images • S(Strong):一つの画像中にテキストが100個あるデータセット • W(Weakly): trainの全ての語彙が全てtestに存在するデータセット • G(General): 90kのボキャブラリーのデータセット – タスク • End-to-End: text detection + text recognition • Word Spotting: 指定された文字のregionを予測するタスク • ICDAR 2013 – 229 training images, 233 test images 26
実験により確認すること 1. マルチタスク学習することによる効果 2. 先行研究との比較 3. モデルのサイズと推論速度 27
実験結果: ICDAR2015 Our Two-Stage: 提案手法でマルチタスク学習せず独立した2つのモデルを用いて推論 FOTS: 提案手法 FOTS RT: 提案手法よりCNN層を少なくして推論速度を上げたモデル FOTS MS: 3種のスケールの画像を入力し、各画像の予測領域を NMSで絞り最終outputとするモデル 28
実験結果: ICDAR2013 • マルチタスク学習を行ったほうが性能が良いことがわかる。 • ICDAR2015、ICDAR2013双方において提案手法が上回っている。 29
実験結果: ICDAR2017 MLT • このデータセットにおいても、ICDAR2015/2013と同様の結 果が得られた。 30
実験結果: 定性的評価 マルチタスク学習するかどうかによって予測結果がどう変わる かを評価。マルチタスク学習により、正確に認識できている。 31
実験結果 回転している文字領域や大量の単語がある場合でも認識できてる。32
実験結果: モデルのパラメータ数と推論速度 • 入力画像サイズを小さくし、CNN層を減らした(ResNet50→ResNet32)FOTS RTを使うと(ほぼ)リアルタイムな推論 が可能な速度となる。 33
まとめ • text detectionとtext recognitionをマルチタスク学習するこ とによって精度向上+推論速度向上を達成した • アフィン変換を利用したROI Rotateにより、画像サイズとア スペクト比を一定にしすることで、画像のサイズや回転によ る影響を減らした • 従来研究よりも良い精度かつ、速い速度での推論が可能とし た 34
感想 • ROI Rotateは(他手法と比べて)シンプルかつ計算コストも必 要以上に高くないので良い。 • ROI Rotateは単純な回転などは対応できるが 文字領域をいくら回転しても右図のテキストを 正確に囲えないので右図の対応は難しそう。 難しいと思われる例: ICDAR2017より (緑枠はGT) 35