SlideShare a Scribd company logo
1 of 45
1
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
Mask TextSpotter v3: Segmentation Proposal Network
for Robust Scene Text Spotting [ECCV2020]
Masashi Yokota, RESTAR Inc.
書誌情報
• 著者: Liao et. al. (Facebook AI Research)
• ECCV2020採択
2
1. Introduction
3
1.1 背景
• Text Spottingはtext detectionとtext recoginitionを同時に行うタ
スク
4
1.2 課題
• 極端なアスペクト比や様々なshapeの文字等の様々なパターンが
あり、これらの文字認識の読み取りはまだうまくできていない
5
1.3 従来の手法の問題点
• 従来手法は文字のbouding boxを予測するRegion Proposal
Network(RPN)を基軸に発展してきた。
• しかし、RPNベースの手法は以下の問題点がある
• マニュアルな四角形のanchorは、自然画像中の特殊な形(円形状etc)
の文字にフィットできない
• 隣のanchorとつながってしまうことがある
6
1.4 提案手法の貢献
• Anchor-freeで様々な形の文字に対応可能なSegmentation
Proposal Network(SPN)の提案
• SPNで得られた領域を用いて、特徴量をハードにマスキングす
ることで背景のノイズや近接文字の削除を可能にしたHard ROI
maskingの提案
• 提案手法により回転、アスペクト比、文字の形状、小さい文字
の様々な側面で評価し、いずれでも大きく性能改善を達成
7
2. 関連研究
8
2.1 FOTS: Fast Oriented Text Spotting with
a Unified Network [Liu et. al. CVPR2018]
FOTSでは、シンプルにテキスト領域を抽出後、得られた領域の
回転をアフィン変換を応用したRoI Rotateにて補正を行い、テキ
スト認識を行う。問題点として、アフィン変換の限界として、円
形に配置されたテキストにおいて、性能が著しく下がる。
9
2.2 Mask TextSpotter v1 [Lyu et. al.
ECCV2018]
Mask TextSpotter V1では、テキスト領域を抽出した後に各文字毎に
detectionとrecognitionを同時に行うことで、円形状に書かれた文字列の読
み取りを可能にした。
10
2.2.1 Mask TextSpotter V1
• 主なContribution
1. E2Eで学習可能なモデルを提案
2. 様々な形状のテキストを読み取り可能な手法を提案
3. Pixcel VotingとWeighted Edit Distanceを提案し、detect後の文字領
域から適切な単語を検出可能にした
11
2.2.2 Mask TextSpotter V1
~Model Overview~
12
テキスト領域の抽出
テキスト領域の分類と確度計算
・単語segmentation
・文字毎のsegmentation
・文字以外の領域のsegmentation
を行う
2.2.3 Mask TextSpotter V1
~Model Overview~
推論時はFast R-CNNの結果を用いて、NMSを行い余分な領域を削除する。
残った領域に対してMask branchを適用し、文字認識を行う。
13
2.2.4 Mask TextSpotter V1
~Mask branch~
Fast RCNNから得られたRoIを上記の畳み込み層に入力し、38チャン
ネルの出力を得る(globalなword segmentation、0-9とa-zのそれぞれ
のchar segmentation[36チャンネル]、背景のsegmentation)
14
2.2.5 Mask TextSpotter V1
~Optimization~
• 以下の損失関数を最小化するように学習させる(詳細は省略
します)
15
𝐿 𝑟𝑝𝑛: RPNの損失関数 𝐿 𝑟𝑐𝑛𝑛: Fast R-CNNの損失関数
𝛼1, 𝛼2: ハイパーパラメータ
𝐿 𝑔𝑙𝑜𝑏𝑎𝑙: テキスト領域のsegmetation loss
𝐿 𝑐ℎ𝑎𝑟: 領域内の各文字と背景のsegmetation loss
2.2.6 Mask TextSpotter V1
~Inference~
• 推論は以下のプロセスに従って行う
1. Fast R-CNNの出力からNMSを行い、余分な領域をフィルタリング
2. フィルタリング済みの領域をMask branchに入力し、各文字の領域
を抽出
3. Pixel Votingを用いて全ての文字の領域を抽出し、全ての文字を得る
4. Weighted Edit Distanceを用いて、事前に作った辞書内の文字に照ら
し合わせ、3で得られたテキストを修正しそれを推論結果として出力
16
2.2.7 Mask TextSpotter V1
~Pixel Votingアルゴリズム~
1. Mask branchで得られたbackgroundのdetection結果に対して、
192をしきい値として二値化
2. 1.で得られた各文字の領域に属する値の平均をとり、それを当該文字
の確率として扱う
3. 画像中の全ピクセルに対して、2.で得られた確率のargmaxを取り
どのクラス(0-9a-z or 背景)に属するか決定する
17
2.2.8 Mask TextSpotter V1
~Weighted Edit Distance~
モデルより得られた文字列は事前に用意した辞書を用いて、修正
する。その際、Weighted Edit Distanceをメトリクスとして、
最良の単語を選んでいく。Weighted Edit DistanceではPixel
Votingで得られた各文字の確率を重みとして用いて利用している。
18
2.3 Mask TextSpotter v2
19
• V1の問題点
1. 文字レベルのdetectionをするには、各文字毎にannotationが必要
2. Segmentation mapからテキストを出力するためにpost processが必
要
3. Segmentation mapから文字順番の情報が得られない
• Spatial Attention Module(SAM)をV1のMask branchに統合・
拡張することで、V1の利点を維持しつつ、V1の問題点を改善し
ていく。
2.3 Mask TextSpotter v2
認識モジュールではcharacter segmentationに加え、RNNベー
スのSAMを追加し、双方のモジュールで予測を行う。推論時は、
双方のモジュールの結果のスコアが高い方を採用する。
20
3. Methodology
21
3.1 従来のMask TextSpotterの問題点
1. 極端なアスペクト比の文字の認識が苦手
2. 複数の単語が隣接している場合、うまくbounding boxを生成
できない
→ bounding box生成を挟まずに最初から各単語のsegmentation
を予測することで、よりロバストに領域抽出できるようにする
22
3.2 Mask TextSpotter V2からの変更点
23
3.2 Mask TextSpotter V2からの変更点
24
ここの部分をsegmentationベースの手法に変更
3.2 V3での改良点概要
V3での改良点について以下に関して説明していく
• Segmentation Predicted Network(SPN)
• Hard RoI Masking
• Loss Function
25
3.3 Segmentation Prediction Network
SPNは様々な画像サイズに対応できるよう、U-Netをベースに構
築されている。 後述のSegmentation Prediction ModuleにU-
Netで得られた特徴量を入力し、segmentationを行う
26
U-Net
Segmentation
Prediction
Module
3.3.1 Segmentation Prediction Module
U-Netから得られた特徴量のサイズは、H/4×W/4。
Segmentationの予測は、後述のモジュールにより1×H×Wに拡
大される
27
Conv
BatchNormalization
ReLU
DeConv
BatchNormalization
DeConv
Sigmoid
3.3.2 Segmentation Label Generation
SPNの学習で用いる教師データは、隣接領域とつながってほしく
ないため一般的に元のregionよりも縮小させる。
→Vatti clipping algorithmを用いて教師データを作っていく
28
3.3.4 教師データの生成
• Vatti Clipping Algorithmはdだけポリゴンを縮小するアルゴリ
ズムであり、任意の形のポリゴンに適用可能。
• アルゴリズム概要
元のポリゴンデータに対して、以下のdだけ縮小し、それにより得られ
たデータをSPNの教師データとして利用する。(AとLは、それぞれポリ
ゴンの面積と周囲長。rは実験的に0.4と設定)
29
3.3.5 Proposal Generation
• SPNにより得られたSegmentationは、以下の式を元に二値化
する
• また、これにより得られたデータは縮小されたものなので、以
下の 𝑑だけ大きくし、Segmentation Proposalとする。( 𝐴と 𝐿は
縮小後ポリゴンの面積と周囲長。 𝑟は実験的に3.0と設定)
30
3.4 Hard RoI Masking
SPNで得られたポリゴンから二値画像(ポリゴン内を1, それ以外を0)を生成
し、U-Netから得られた特徴量をマスクし、各文字領域内の特徴量を得る。31
要素積
U-Net
3.5 Detection and Recognition
文字の検出と認識部分はMask TextSpotter V2のものをそのまま利用
32
V2の認識部分をそのまま利用
3.6 Optimization
• 学習は以下の損失関数を最小化するように学習する
33
L 𝑟𝑐𝑛𝑛: Fast R-CNNの損失関数
L 𝑚𝑎𝑠𝑘: Mask TextSpotter V2の損失関数
S: SPNの出力 G: SegmentationのGT
4. Experiments
34
4. 確認したい内容と利用したデータセット
1. Rotation Robustness
• Rotated ICDAR2013: ICDAR2013を0-90度から15度刻みにランダムで
回転されたデータセット
2. Aspect Ratio Robustness
• MSRA-TD500: 英語と中国語のマルチリンガルデータセット
3. Shape Robustness
• Total Text: 様々な形状の文字を含むデータセット
4. Small Text Instance Robustness
• ICDAR2015: 低解像度、小さい文字なデータを多く含むデータセット 35
4.1 implementation detail
• 文字毎のannotationが必要となるため、(おそらく筆者らが)人
工的に作ったSynth Textデータセットを用いてpretrainする
• その後、Synth Textと学習させたいデータセット(ex:
ICDAR2015)を混ぜて学習させる
36
4.2 Rotation Robustness
37
4.2 Rotation Robustness
38
4.3 Aspect Ratio Robustness
39
4.3 Aspect Ratio Robustness
40
4.4 Shape Robustness
41
4.4 Shape Robustness
Noneは辞書を使って予測した結果。Fullは辞書も使って予測し
た結果。
42
4.5 Small Text Instance Robustness
43
4.6 Limitations
• 90度回転のテキストの認識は、向きを認識する機構がないため
うまく認識できない
44
まとめ
• Mask TextSpotterV2のRPNの部分を改良し、新しくSPNを提
案。
• SPNにより、さまざまな形状の文字認識を高精度にできるよう
にした。
• 回転やアスペクト比、文字形状、小さい文字それぞれの側面で
評価しても先行手法よりも大きく性能改善している
• ただし、90度回転している場合は、文字の方向性を認識する機
構がないためうまくできていない
→個人的には、文字の方向性を認識する機構を導入するだけで
改善しそうなので人間レベルの性能にもうすぐなりそうな予感
45

More Related Content

More from Deep Learning JP

【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについて【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについてDeep Learning JP
 
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...Deep Learning JP
 
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-ResolutionDeep Learning JP
 
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxivDeep Learning JP
 
【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLMDeep Learning JP
 
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo... 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...Deep Learning JP
 
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place RecognitionDeep Learning JP
 
【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?Deep Learning JP
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究についてDeep Learning JP
 
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )Deep Learning JP
 
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...Deep Learning JP
 
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"Deep Learning JP
 
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "Deep Learning JP
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat ModelsDeep Learning JP
 
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"Deep Learning JP
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...Deep Learning JP
 
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...Deep Learning JP
 
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...Deep Learning JP
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...Deep Learning JP
 
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...Deep Learning JP
 

More from Deep Learning JP (20)

【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについて【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについて
 
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
 
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
 
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
 
【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM
 
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo... 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
 
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
 
【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について
 
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
 
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
 
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
 
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
 
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
 
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
 
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
【DL輪読会】VIP: Towards Universal Visual Reward and Representation via Value-Impl...
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

[DL輪読会]Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting [ECCV2020]

  • 1. 1 DEEP LEARNING JP [DL Papers] http://deeplearning.jp/ Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting [ECCV2020] Masashi Yokota, RESTAR Inc.
  • 2. 書誌情報 • 著者: Liao et. al. (Facebook AI Research) • ECCV2020採択 2
  • 4. 1.1 背景 • Text Spottingはtext detectionとtext recoginitionを同時に行うタ スク 4
  • 6. 1.3 従来の手法の問題点 • 従来手法は文字のbouding boxを予測するRegion Proposal Network(RPN)を基軸に発展してきた。 • しかし、RPNベースの手法は以下の問題点がある • マニュアルな四角形のanchorは、自然画像中の特殊な形(円形状etc) の文字にフィットできない • 隣のanchorとつながってしまうことがある 6
  • 7. 1.4 提案手法の貢献 • Anchor-freeで様々な形の文字に対応可能なSegmentation Proposal Network(SPN)の提案 • SPNで得られた領域を用いて、特徴量をハードにマスキングす ることで背景のノイズや近接文字の削除を可能にしたHard ROI maskingの提案 • 提案手法により回転、アスペクト比、文字の形状、小さい文字 の様々な側面で評価し、いずれでも大きく性能改善を達成 7
  • 9. 2.1 FOTS: Fast Oriented Text Spotting with a Unified Network [Liu et. al. CVPR2018] FOTSでは、シンプルにテキスト領域を抽出後、得られた領域の 回転をアフィン変換を応用したRoI Rotateにて補正を行い、テキ スト認識を行う。問題点として、アフィン変換の限界として、円 形に配置されたテキストにおいて、性能が著しく下がる。 9
  • 10. 2.2 Mask TextSpotter v1 [Lyu et. al. ECCV2018] Mask TextSpotter V1では、テキスト領域を抽出した後に各文字毎に detectionとrecognitionを同時に行うことで、円形状に書かれた文字列の読 み取りを可能にした。 10
  • 11. 2.2.1 Mask TextSpotter V1 • 主なContribution 1. E2Eで学習可能なモデルを提案 2. 様々な形状のテキストを読み取り可能な手法を提案 3. Pixcel VotingとWeighted Edit Distanceを提案し、detect後の文字領 域から適切な単語を検出可能にした 11
  • 12. 2.2.2 Mask TextSpotter V1 ~Model Overview~ 12 テキスト領域の抽出 テキスト領域の分類と確度計算 ・単語segmentation ・文字毎のsegmentation ・文字以外の領域のsegmentation を行う
  • 13. 2.2.3 Mask TextSpotter V1 ~Model Overview~ 推論時はFast R-CNNの結果を用いて、NMSを行い余分な領域を削除する。 残った領域に対してMask branchを適用し、文字認識を行う。 13
  • 14. 2.2.4 Mask TextSpotter V1 ~Mask branch~ Fast RCNNから得られたRoIを上記の畳み込み層に入力し、38チャン ネルの出力を得る(globalなword segmentation、0-9とa-zのそれぞれ のchar segmentation[36チャンネル]、背景のsegmentation) 14
  • 15. 2.2.5 Mask TextSpotter V1 ~Optimization~ • 以下の損失関数を最小化するように学習させる(詳細は省略 します) 15 𝐿 𝑟𝑝𝑛: RPNの損失関数 𝐿 𝑟𝑐𝑛𝑛: Fast R-CNNの損失関数 𝛼1, 𝛼2: ハイパーパラメータ 𝐿 𝑔𝑙𝑜𝑏𝑎𝑙: テキスト領域のsegmetation loss 𝐿 𝑐ℎ𝑎𝑟: 領域内の各文字と背景のsegmetation loss
  • 16. 2.2.6 Mask TextSpotter V1 ~Inference~ • 推論は以下のプロセスに従って行う 1. Fast R-CNNの出力からNMSを行い、余分な領域をフィルタリング 2. フィルタリング済みの領域をMask branchに入力し、各文字の領域 を抽出 3. Pixel Votingを用いて全ての文字の領域を抽出し、全ての文字を得る 4. Weighted Edit Distanceを用いて、事前に作った辞書内の文字に照ら し合わせ、3で得られたテキストを修正しそれを推論結果として出力 16
  • 17. 2.2.7 Mask TextSpotter V1 ~Pixel Votingアルゴリズム~ 1. Mask branchで得られたbackgroundのdetection結果に対して、 192をしきい値として二値化 2. 1.で得られた各文字の領域に属する値の平均をとり、それを当該文字 の確率として扱う 3. 画像中の全ピクセルに対して、2.で得られた確率のargmaxを取り どのクラス(0-9a-z or 背景)に属するか決定する 17
  • 18. 2.2.8 Mask TextSpotter V1 ~Weighted Edit Distance~ モデルより得られた文字列は事前に用意した辞書を用いて、修正 する。その際、Weighted Edit Distanceをメトリクスとして、 最良の単語を選んでいく。Weighted Edit DistanceではPixel Votingで得られた各文字の確率を重みとして用いて利用している。 18
  • 19. 2.3 Mask TextSpotter v2 19 • V1の問題点 1. 文字レベルのdetectionをするには、各文字毎にannotationが必要 2. Segmentation mapからテキストを出力するためにpost processが必 要 3. Segmentation mapから文字順番の情報が得られない • Spatial Attention Module(SAM)をV1のMask branchに統合・ 拡張することで、V1の利点を維持しつつ、V1の問題点を改善し ていく。
  • 20. 2.3 Mask TextSpotter v2 認識モジュールではcharacter segmentationに加え、RNNベー スのSAMを追加し、双方のモジュールで予測を行う。推論時は、 双方のモジュールの結果のスコアが高い方を採用する。 20
  • 22. 3.1 従来のMask TextSpotterの問題点 1. 極端なアスペクト比の文字の認識が苦手 2. 複数の単語が隣接している場合、うまくbounding boxを生成 できない → bounding box生成を挟まずに最初から各単語のsegmentation を予測することで、よりロバストに領域抽出できるようにする 22
  • 23. 3.2 Mask TextSpotter V2からの変更点 23
  • 24. 3.2 Mask TextSpotter V2からの変更点 24 ここの部分をsegmentationベースの手法に変更
  • 26. 3.3 Segmentation Prediction Network SPNは様々な画像サイズに対応できるよう、U-Netをベースに構 築されている。 後述のSegmentation Prediction ModuleにU- Netで得られた特徴量を入力し、segmentationを行う 26 U-Net Segmentation Prediction Module
  • 27. 3.3.1 Segmentation Prediction Module U-Netから得られた特徴量のサイズは、H/4×W/4。 Segmentationの予測は、後述のモジュールにより1×H×Wに拡 大される 27 Conv BatchNormalization ReLU DeConv BatchNormalization DeConv Sigmoid
  • 28. 3.3.2 Segmentation Label Generation SPNの学習で用いる教師データは、隣接領域とつながってほしく ないため一般的に元のregionよりも縮小させる。 →Vatti clipping algorithmを用いて教師データを作っていく 28
  • 29. 3.3.4 教師データの生成 • Vatti Clipping Algorithmはdだけポリゴンを縮小するアルゴリ ズムであり、任意の形のポリゴンに適用可能。 • アルゴリズム概要 元のポリゴンデータに対して、以下のdだけ縮小し、それにより得られ たデータをSPNの教師データとして利用する。(AとLは、それぞれポリ ゴンの面積と周囲長。rは実験的に0.4と設定) 29
  • 30. 3.3.5 Proposal Generation • SPNにより得られたSegmentationは、以下の式を元に二値化 する • また、これにより得られたデータは縮小されたものなので、以 下の 𝑑だけ大きくし、Segmentation Proposalとする。( 𝐴と 𝐿は 縮小後ポリゴンの面積と周囲長。 𝑟は実験的に3.0と設定) 30
  • 31. 3.4 Hard RoI Masking SPNで得られたポリゴンから二値画像(ポリゴン内を1, それ以外を0)を生成 し、U-Netから得られた特徴量をマスクし、各文字領域内の特徴量を得る。31 要素積 U-Net
  • 32. 3.5 Detection and Recognition 文字の検出と認識部分はMask TextSpotter V2のものをそのまま利用 32 V2の認識部分をそのまま利用
  • 33. 3.6 Optimization • 学習は以下の損失関数を最小化するように学習する 33 L 𝑟𝑐𝑛𝑛: Fast R-CNNの損失関数 L 𝑚𝑎𝑠𝑘: Mask TextSpotter V2の損失関数 S: SPNの出力 G: SegmentationのGT
  • 35. 4. 確認したい内容と利用したデータセット 1. Rotation Robustness • Rotated ICDAR2013: ICDAR2013を0-90度から15度刻みにランダムで 回転されたデータセット 2. Aspect Ratio Robustness • MSRA-TD500: 英語と中国語のマルチリンガルデータセット 3. Shape Robustness • Total Text: 様々な形状の文字を含むデータセット 4. Small Text Instance Robustness • ICDAR2015: 低解像度、小さい文字なデータを多く含むデータセット 35
  • 36. 4.1 implementation detail • 文字毎のannotationが必要となるため、(おそらく筆者らが)人 工的に作ったSynth Textデータセットを用いてpretrainする • その後、Synth Textと学習させたいデータセット(ex: ICDAR2015)を混ぜて学習させる 36
  • 39. 4.3 Aspect Ratio Robustness 39
  • 40. 4.3 Aspect Ratio Robustness 40
  • 43. 4.5 Small Text Instance Robustness 43
  • 45. まとめ • Mask TextSpotterV2のRPNの部分を改良し、新しくSPNを提 案。 • SPNにより、さまざまな形状の文字認識を高精度にできるよう にした。 • 回転やアスペクト比、文字形状、小さい文字それぞれの側面で 評価しても先行手法よりも大きく性能改善している • ただし、90度回転している場合は、文字の方向性を認識する機 構がないためうまくできていない →個人的には、文字の方向性を認識する機構を導入するだけで 改善しそうなので人間レベルの性能にもうすぐなりそうな予感 45