【字符識別 end-to-end】SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition

論文鏈接:https://arxiv.org/pdf/2005.10977.pdf

代碼鏈接:https://github.com/Pay20Y/SEED(目前還沒更新)

該論文主要用途:解決圖像中字符缺損,模糊等樣本的識別(這也是吸引我的地方);該方法是在注意力方法的基礎上添加了新的策略,提到注意力,可能出現的問題就是模型的運行時間,所以該方法可不可以實際使用,還待考量。(本人愚見,若有不同請留言,謝謝!)

目錄

Abstract

Method

1.Encoder-Decoder Framework

2.FastText Model

3. Architecture of Semantic Enchanced ASTER

4.Loss Function and Training Strategy


Abstract

1.文字識別中常用的編碼解碼框架可用於處理透視失真(perspective distortion)和曲線形狀(curve shape)的文字,但是依然無法處理:圖像模糊,明暗不均衡的圖像,以及字符不完整的圖像。

2.作者認爲當前的識別方法都是基於局部視覺特徵,而不是採用的全局語義信息。

基於以上兩點,作者提出了語義增強的編碼-解碼框架用於識別低質量的場景文字。語義信息用於監督編碼模塊,初始化解碼模塊。同時作者將ASTER方法整合到給方法中來(作爲一個範例),實現了端對端的識別。

作者提出了語義信息(semantic information)用於全局信息的預測。語義信息有兩個優勢:1)在自然語言處理領域,可通過詞嵌入(word embeding)進行監督;2)可用於減少視覺特徵編碼器和語言信息解碼器的gap。

Method

1.Encoder-Decoder Framework

 

圖2(a)成爲palin encoder-decoder框架,編碼器提取豐富的特徵,產生上下文矢量(context vector)C包括輸入的全局信息,然後解碼器將上下文矢量轉換爲目標輸出。輸入輸入在不同的任務上是不一樣的,例如:文本識別,輸入是圖像,輸出是圖像的文字信息。這種框架的缺點是:上下文在代表整個輸入的時候能力有限。

圖2(b)注意力機制嘗試在整個輸入和上下文之間創建捷徑(shortcut)。解碼器可以在每個解碼步驟中挑選合適的上下文,能夠解決長期依賴問題,以及對齊弱監督訓練中解碼和譯碼;

圖2(c)中作者的方法包括四個部分:1)編碼器,包括CNN主幹和RNN用於提取視覺特徵;2)語義模塊(semantic module)用於從視覺特徵中預測語義信息;3)預訓練的語言模型用於語義模塊的的語義信息監督;4)解碼器,包括注意力機制的RNN產生識別結果;

在場景文本識別中,a和b兩種框架僅僅依賴譯碼器有限的視覺特徵,所以在處理低質量的圖像時能力有限。

在作者的方法中,使用全局的語義信息作爲引導。同時使用FastText【4】方法產生詞向量作爲語義信息的監督,解決了“out of vocabulary”的問題;

Out-of-vocabulary(OOV):未登錄詞就是訓練時未出現,測試時出現了的單詞。在自然語言處理或者文本處理的時候,我們通常會有一個字詞庫(vocabulary)。這個vocabulary要麼是提前加載的,或者是自己定義的,或者是從當前數據集提取的。假設之後你有了另一個的數據集,這個數據集中有一些詞並不在你現有的vocabulary裏,我們就說這些詞彙是Out-of-vocabulary,簡稱OOV。
原文鏈接:https://blog.csdn.net/qq_38244371/article/details/92806233

2.FastText Model

作者選用FastText model作爲預訓練的語言模型,該模型基於skip-gram(讀者自行百度,我還不太懂)。假設T是一個文本語料庫的句子(sentence)。

l:代表句子的長度,作爲一個超參數;在skip-gram中,詞wi代表了單個的嵌入矢量vi,然後輸入進前饋網絡,目的是預測上下文,用下式代表:

                                                  

隨着前向網絡的訓練,嵌入向量同時被優化,一個詞的最終嵌入向量接近語義相似的詞。

此外,FastText嵌入子單詞,並使用子單詞去生成單詞 wi最終的嵌入,超參數 Lmin和Lmax,分別表示子單詞最小和最大的長度。子單詞的實例如下,給定假設Lmin=2,Lmax=4,詞‘where’的子詞集:

FastText模型解決了“out of vocabulary”的問題;

3. Architecture of Semantic Enchanced ASTER

作者將ASTER作爲範例和自己提出的方法結合到一塊去了,稱爲Semantic Enhanced ASTER(SE-ASTER),圖3所示。包括四個模塊:

1)糾正模塊:用於糾正傾斜的文字;

2)編碼器:用於提取視覺特徵,包括:45-layer的Resnet和2-layer的雙向LSTM。它的輸出是一個特徵序列,shape爲LXC,L是CNN最後一層特徵width,C是depth。

3)語義模塊:預測視覺特徵的語義信息,語義特徵序列又兩個線性函數產生:

W1,W2,b1,b2是線性函數的訓練權值,\sigma是RELU的激活函數;

4)解碼器:用於記錄最終的識別結果,使用Bahdanau-Attention mechanism,它包括一個GRU,有512 個隱藏單元和512個注意力單元。

4.Loss Function and Training Strategy

SE-ASTER是端對端訓練,loss函數如下:

Lrec是交叉熵loss,是目標的預測概率,Lsem就是cosine embeding loss預測語義信息。\lambda是超參數用於平衡兩個loss,作者設定值爲1.

S是預測的語義信息,em來自與FastText模型的詞嵌入;

訓練策略有兩條:

1)初始化時,詞嵌入的譯碼器使用pre-train Fast-Text model而不是預測的語義信息;

2)直接使用預測的語義信息來初始化譯碼器;

以上兩種策略,作者評估性能相似,最終使用了第二種策略。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章