TPS++: Attention-Enhanced Thin-Plate Spline for Scene Text Recognition

Moris
Computer Vision Note
13 min readDec 26, 2023

--

在場景文本識別任務中,偵測自然場景中可能變形的文字是一個具有挑戰性的問題。為了處理這種情況,建議使用TPS++算法:

TPS++(Thin-Plate Spline++): TPS++ 是一種基於注意力機制的薄板樣條變形方法,特別適用於場景文本識別。它的網絡架構包含特徵提取器、TPS++變形器和文本識別器。TPS++ 的注意力機制能夠有效處理文本的不規則性,提高識別準確率。

TPS++有著以下優勢

1.頂尖性能:TPS++在包括IIIT5k、SVT、IC13和IC15等多個基準數據集上實現了頂尖性能,展示了其在場景文本識別中的有效性。

2.注意力機制:TPS++將注意力機制納入參數估計過程,使模型能夠集中注意文本的最重要部分,更好地應對文本的不規則性。

3.多尺度特徵聚合:TPS++使用多尺度特徵聚合來捕捉不同尺度上的文本特徵,提高了模型對文本變化的魯棒性。

4.輕量化:TPS++在特徵級別而非圖像級別上執行矯正,通過實現特徵共享,幾乎不引入參數和推斷速度方面的額外開銷。

Outline

  1. Multi-Scale Feature Aggregation
  2. Framework Overview(TPS++)
  3. Attention-Incorporated Parameter Estimation
  4. DGAB & Attention-Enhanced TPS transformation
  5. Total Loss
  6. Datasets & Training Detail
  7. Results and Comparisons

1. Multi-Scale Feature Aggregation

1.1 Backbone Sharing

TPS++在某種程度上與Text Recognizer共享特徵主幹,它接受從前三個骨幹區塊生成的特徵圖。這些特徵被縮放到相同的大小並從通道維度連接在一起。具體來說,來自第1和2區塊的特徵在空間上被縮小了4倍,而第1、2和3區塊的特徵通道都對齊到64。然後應用了一個基於lightweight encoder-decoder的特徵提取器。

它包括一個contracting path收縮路徑和一個symmetric expansive path對稱擴張路徑,兩者都包含三個卷積層。

此外,應用了CBAM ,即通道-空間聯合關注,以突顯重要的特徵。通過這些操作,多尺度的視覺特徵被匯聚並優化以達到矯正的目的。

TPS++有效的一個關鍵因素。第一部分強調提取通用的視覺特徵。而第二部分是MSFA,它針對多尺度特徵矯正優化,其聚合了來自淺層塊的特徵,這些特徵包含更多與位置相關的線索,有助於控制點回歸和注意力建模。

1.2 Channel Attention Module

CBAM是一種基於注意力機制的卷積神經網絡模塊,用於提高圖像特徵的表達能力和魯棒性。CBAM模塊由兩個子模塊組成:通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)。

CAM模塊用於對特徵圖的通道維度進行注意力加權,以提高特徵圖的表達能力。具體來說,CAM模塊首先通過全局平均池化操作計算每個通道的平均值和最大值,然後將這些統計信息送入兩個全連接層中進行處理,得到每個通道的注意力權重。最後,這些權重被用來對特徵圖的每個通道進行加權,從而得到加強後的特徵圖。

通過這種注意力加權的方式,CBAM模塊可以自適應地選擇特徵圖中最重要的通道和像素,從而提高特徵圖的表達能力和魯棒性。在TPS++中,CBAM模塊被用於對特徵圖進行加強,以提高文本識別的準確率和魯棒性。

2. Framework Overview(TPS++)

TPS++是一種基於注意力機制的Thin-Plate Spline(TPS)的矯正方法,用於場景文本識別。

其網絡架構主要由三個部分組成: encoder-decoder feature extractor、TPS++ content-aware rectifier (AIPE)和Text Recognizer。

其中,特徵提取器使用ResNet-31作為骨幹網絡,TPS++變形器使用注意力機制對文本進行變形,

文本識別器使用CRNN、NRTR和ABINet等方法進行識別。

在傳統的TPS矯正器中,控制點通常是沿著圖像邊界初始化的,這樣可以確保矯正器不會將文本變形到圖像外部。
然而,這種初始化方法會導致控制點分佈不均勻,無法很好地捕捉文本的內容。
為了解決這個問題,TPS++採用了一種新的控制點初始化方法,即將控制點均勻地分佈在整個文本區域內。這樣可以確保控制點分佈均勻,能夠更好地捕捉文本的內容。

TPS++的示意框架包含兩個部分:Multi-Scale Feature Aggregation (MSFA)和Attention-Incorporated Parameter Estimation (AIPE),分別用於視覺特徵聚合和注意力增強的TPS參數估計。

以ResNet-45作為骨幹結構進行說明。給定一個文本實例,骨幹結構的前三個區塊的特徵圖被注入到MSFA中。這些特徵被聚合,產生兩個輸出,即編碼特徵Fe和解碼特徵Fd,並且用於估計TPS矯正器的參數,分別為Control Point和注意力矩陣A 。

其中Control Point為用來定義Thin-Plate Spline的二維坐標控制點,而這個二維坐標控制點的移動用來對文本進行變形,

注意力矩陣A則記錄了控制點和文本內容之間的注意力分數。基於這些參數,圖像特徵級進行了Attention-Enhanced的TPS矯正。

後續TPS++透過將變形後的圖像特徵送入CRNN、NRTR和ABINet等文本識別器進行後續的特徵提取和識別,來進行場景文本識別的效能比對。

此外,TPS++還使用了注意力機制來計算控制點之間的注意力得分,以進一步提高變形器的靈活性和準確性。

TPS++相比現有的校正器具有兩個獨特的特性。首先,在識別和校正之間共享部分視覺特徵提取器,生成一種緊密耦合的方案,很好地控制了參數和推斷速度的開銷,同時也在很大程度上保留了其插件性質。其次,它引入了TPS的注意力機制,實現了更靈活的內容感知校正。這兩者都提高了校正的質量並簡化了識別過程。

3. Attention-Incorporated Parameter Estimation

AIPE被添加在MSFA之後,用於估計控制點回歸和基於內容的注意力分數。除了回歸控制點外,它還使用閘控注意力機制並行預測內容感知的注意力分數矩陣A。

在控制點回歸中,與TPS初始化點沿圖像邊界不同,AIPE將控制點C 均勻分佈在特徵映射上,即網格狀分佈。

同時,Fe被重塑為特徵序列。它經歷兩個線性層,以預測每個控制點在x和y維度上的偏移。結合初始化的坐標,我們得到一組回歸的控制點C

因此,大部分點位於文本前景,而不是信息較少的邊緣。請注意,控制點的數量等於Fe的空間分辨率。

在注意力分數估計中,AIPE評估Fe和Fd之間的相關性,以獲得一個能感知文本內容的注意力分數矩陣A。

具體而言,這兩個特徵都輸入一個專門設計的模塊,稱為動態閘控注意塊(DGAB),在DGAB 中,控制點和文本之間的注意力分數被自適應地計算。

然後,獲得的特徵被重塑,通過矩陣乘法進一步與Fˆe結合,隨後進行1/√D的縮放和Tanh Activation Function,將注意力分數限制在(-1, 1)範圍內。

Attention-Incorporated Parameter Estimation (AIPE)

4. DGAB & Attention-Enhanced TPS transformation

4.1 DGAB

圖3詳細顯示了DGAB的細節

首先,解碼特徵Fd沿著H和W維度分別進行平均,縮小為D×Wd和D×Hd的兩個特徵序列。

£h和£w。它們分別表示每列和每行的重要性。

4.2 Attention-Enhanced TPS transformation

接著作者通過估計控制點和注意力分數,提出了一種更靈活的注意力增強型TPS變換。對於特徵映射中的每個位置 pi,其原始位置 pi‘ 通過Thin-Plate Spline(TPS)透過(Equ.1)進行變換。

geometric transformation as given by Equ.1&2

如Equ.3所示,TPS++通過引入注意力分數賦予了TPS更大的靈活性。在執行變換時,它允許對控制點進行內容感知的自適應加權。由於矯正和識別是聯合優化的,這種靈活性能夠引導參數更新朝著更好的文本識別方向,同時生成更自然的矯正。

Equ.3, TPS++ gives rise to additional flexibility to TPS by incorporating the attention score

DGAB中這兩個序列分別與重塑後的編碼特徵Fˆe連接,緊接著是線性層,將維度對齊回D ×Wd和D ×Hd,並動態計算其在Wd和Hd維度上的權重,即£h和£w。它們分別表示每列和每行的重要性。

同時,對齊的特徵經歷Softmax操作,並乘以推導的權重。在接下來,獲得的特徵被廣播回到維度Wd × Hd × D,通過逐元素求和進行合併。最後,與原始的Fd進行逐元素乘積,生成輸出。

注意力增強型TPS變換包括仿射變換 T 和根據注意力分數進行加權的 TPS 函數 F(·)。這種設計使得模型能夠根據文本的不規則性靈活地進行變換,提高了模型的精確性和魯棒性。

其中 K 是控制點的數量。S 是一個方陣,其元素 sij = Eu(||ci − cj ||) 被定義為應用於控制點 ci ∈ C 和 cj ∈ C 之間的歐幾里德距離的徑向基核。

其中 Ai,k 表示第 i 個位置和第 k 個控制點之間的注意力分數。λ 和 β 是經驗性地設置為 0.5 和 1。當 λ=0 時,該方程恢復到傳統的TPS。

TPS++是第一個將注意力機制引入文本校正的方法。

5. Total Loss

TPS++ 在場景文本識別(STR)任務的訓練中使用了三種損失函數的組合。這三個損失函數分別是Recognition loss識別損失、Rectification loss矯正損失和Attention loss注意損失。

  • Recognition loss使用cross-entropy loss計算。
  • Rectification loss使用均方誤差(MSE)loss計算,該函數衡量了矯正文本與原始文本之間的差異。
  • Attention loss使用binary cross-entropy loss計算,該函數衡量了attention scores與ground truth注意分數之間的差異。

這三個損失函數被合併為一個加權總和,稱為總損失,使用Adam優化器進行優化。損失函數的權重被選擇以平衡它們的重要性,確保模型在學習識別和矯正文本的準確性的同時,還關注文本的最重要部分。

6. Datasets & Training Detail

作者遵循標準的場景文本識別(STR)協議,將模型訓練在兩個合成數據集,MJSynth和SynthText上,並在六個公共基準上進行評估。MJSynth和SynthText分別包含891萬和695萬個文本實例,是廣泛用於STR研究的合成數據集,為訓練提供了大量的合成數據。

並在單個NVIDIA Tesla V100 GPU上進行訓練。他們使用學習率為0.0001和批次大小為64的Adam優化器。模型訓練300個epoch,學習率在200個epoch後降低10倍,所有輸入圖像都被調整為32 × 128。批次大小設置為200。。

作者還使用了多種數據增強技術,包括隨機旋轉,縮放和平移,以增加訓練數據的多樣性。

TPS++通過兩個步驟進行訓練。首先在沒有TPS++的情況下訓練識別器。然後,附加TPS++並再次聯合訓練。所有模型均在擁有6個NVIDIA 3080 GPU的server上進行訓練。

7. Results and Comparisons

7.1 Text Recognizer

CRNN網絡由卷積層、循環層和全連接層組成,可以有效地提取文本的空間和時間特徵。然後,TPS++將CRNN網絡的輸出送入NRTR網絡中進行特徵進一步提取。

NRTR網絡是一種基於注意力機制的文本識別器,可以自適應地選擇文本中最重要的特徵進行識別。

ABINet網絡是一種基於注意力機制和雙向LSTM的文本識別器,可以有效地處理文本的不規則性和多樣性。

後面評估了TPS++在不同識別器下的性能。具體而言,選擇了CRNN 、和ABINet的方法。同樣,其他組件保持不變。

表7呈現了結果,TPS++在所有識別器上都帶來了性能提升,特別是在不規則數據集中。結果還暗示了TPS++在各種識別器之間有很好的泛化性能。加上對骨幹結構的結果,這可靠地驗證了TPS++的可插拔性質。

7.2 Visualization

Fig.4顯示在TPS++之後,特徵已經得到了相當大的糾正。與此同時,文本前景大部分呈現更深的顏色,暗示TPS++的學習使文本前景在識別中發揮了更重要的作用。結果清楚地表明,注意機制被適當地制定,並且在特徵層面上可以建立良好的糾正。

Fig.5顯示將通過矯正投影重建獲得矯正圖像。正如所見,TPS++即使在出現嚴重的文本失真情況下也能相對自然地進行矯正,從而獲得正確的識別結果。對於失敗的案例(第四行),主要是因為文本嚴重模糊。盡管在某種程度上進行了糾正,但對於人類來說,它們甚至是不可讀的,識別這樣的情況仍然是STR的一個普遍難題。

--

--

Moris
Computer Vision Note

An AI engineer who loves deep learning technology and is willing to share resources and learn new technologies