天天看點

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

留個筆記自用

SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition

做什麼

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

Text Recognition文字識别,抽取出圖檔中存在的文字

做了什麼

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

主要解決的問題是一些圖檔存在模糊、傾斜等低品質情況

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

一般的解決Text Recognition的方法有三種,第一種就是普通的編碼器-解碼器架構,C就是文本資訊。第二種是基于注意力的encoder-decoder。第三種是結合了全局語義資訊的encoder-decoder,也是本文的基礎架構模型。

首先是encoder部分,用于提取圖檔的視覺特征,由CNN等組成

然後是語義模型部分(Semantic Module)根據feature預測特征也就是圖檔的語義資訊

然後是Attention部分,這部分和基于注意力的encoder-decoder一樣,比較常見

然後是Pre-trained Model部分,生成word embedding,監督預測的語義資訊

然後是Decoder部分,根據Attention的局部資訊和語義的全局資訊預測最後的結果

接下來需要提前了解幾個結構

首先是ASTER結構,出自論文ASTER: An attentional scene text recognizer with flexible rectification,主要用處在于矯正圖檔由傾斜成平行圖,這部分未看論文,看的是另外一個部落客的解析

論文閱讀(XiangBai——【PAMI2018】ASTER_An Attentional Scene Text Recognizer with Flexible Rectification )

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

Localization Network輸入為源圖像,結構是一個普通卷積網絡,輸出為控制點的位置

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

Grid Generator的輸入是已有的Control point點集 + 矯正後的圖(還未生成,但給定圖大小可以取點)上的某個點坐标,輸出是該點在矯正前(原圖)上的點坐标位置

Sampler輸入是原圖 + 矯正後的圖上的點在原圖上的對應位置關系, 輸出是矯正後的圖,用到了樣條插值

然後是第二個結構BiLSTM,這個就很常見了

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

簡單來說就是正向LSTM和反向LSTM的結合,這裡圖中的上部分LSTML輸入的序列為“我”、“愛”、“中國”,下面的LSTMR輸入的序列為“中國”、“愛”、“我“,雙向結果拼接在一起得到最後的結果

然後是文本分類模型FastText,這個就很好了解了

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用
《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

怎麼做

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

整體結構分為四個子產品,矯正子產品、encoder子產品、語義分析子產品、decoder子產品

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

首先是矯正子產品,這部分輸入圖像為原圖,輸出圖像為矯正文字為水準位置的結果圖,這裡論文說使用的矯正子產品與 ASTER: An attentional scene text recognizer with flexible rectification這篇論文的子產品完全相同。

然後是第二部分,encoder子產品

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

輸入為矯正圖,輸出為一個特征序列,這裡先采用resnet生成第一步feature,然後再經過BiLSTM即雙向LSTM,上面有提及。

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

然後是第三部分,語義資訊子產品,首先先将特征序列h flatten成一個一維向量,然後經過兩層linear層即FC層得到語義資訊S

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

這裡的W1和W2和b1和b2均為參數,σ為激活函數Relu

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

然後是最後一部分decoder部分,這部分的輸入有語義資訊子產品的語義資訊S和encoder子產品的特征序列h,首先S經過一個線性變化轉換次元後作為GRU的初始化,而h作為它的正常輸入,這樣就是在全局語義資訊的初始化下附帶上局部資訊。輸出即為最終需要的單詞

然後是LOSS部分

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

首先是語義資訊的LOSS,這裡的S即為語義資訊,em即為word embedding,這裡采用的是Pre-trained的FastText

然後是總LOSS

《論文閱讀》SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition留個筆記自用

這個簡單的LOSS由Lres和Lsem組成,後者即為語義資訊的LOSS,前者res LOSS即是cross-entropy LOSS,是最後的輸出單詞和GT之間的LOSS

總結

1.這篇文章作者的意思是現在大部分的Text Recognition都是基于局部特征的,于是加了個全局語義特征作為監督方式,而至于歪斜之類的解決方法則是由ASTER矯正

2.語義監督部分用了fasttext監督,防止出現單詞不在詞庫的情況,以解決單詞遮擋等問題,确實這種語義方式有些許啟發性,可以使用到圖檔分類、模型重建等存在遮擋的領域

繼續閱讀