[19.04] WWWSTR
資料與模型分析
What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis
這篇是 Clova AI 發表的論文,其中沒有提出新技術,而是對現有的演算法和資料集進行了一個全面的分析和不同模組間的排列組合,藉此探索潛在的最優解。
資料集分析
不同研究採用了不同的數據集組合進行訓練,這可能會導致性能提升的原因不清楚,無法確定是因為提出的新模型貢獻?還是因為使用了更好的或更大的數據集?
這樣的數據集不一致性會影響結果的公正性。
訓練資料集
由於標註場景文字圖像的成本高,難以獲得充足的標註資料,大多數 STR 模型選擇使用合成數據集進行訓練。
以下介紹兩個在 STR 研究中常用的合成數據集:
-
MJSynth(MJ)
MJSynth 是專為 STR 設計的合成數據集,包含 890 萬個單詞框圖像。其生成過程包括:字體渲染、邊框與陰影渲染、背景上色、字體與背景的合成、應用透視變形、與真實圖像混合、以及添加噪音。
-
SynthText(ST)
SynthText 原本是為場景文字檢測設計的合成數據集,但也被用於 STR 研究。研究人員通過裁剪單詞框來使用此數據集進行 STR 訓練。裁剪後的 SynthText 數據集包含約 550 萬張訓練數據。
測試資料集
不同版本的基準數據集存在一定程度的差異。
例如:在 IC03 中,7 個樣本的差異可能導致 0.8% 的性能差距,這在比較先前研究的結果時是一個巨大的差距。
而在 IC13 和 IC15 中的樣本數差距甚至比 IC03 更大。
七個真實場景的 STR 數據集廣泛用於訓練後的模型評估,這些數據集根據文字的難度和幾何布局可分為「規則數據集」和「不規則數據集」:
-
規則數據集:包含水平排列且字元之間間距均勻的文字圖像,這類數據集相對容易處理:
- IIIT5K-Words (IIIT):來自 Google 圖像搜尋的數據集,包含 2,000 張訓練圖像和 3,000 張評估圖像。
- Street View Text (SVT):從 Google Street View 收集的戶外 街景圖像,其中一些圖像有噪聲、模糊或低解析度,包含 257 張訓練圖像和 647 張評估圖像。
- ICDAR2003 (IC03):用於 ICDAR 2003 穩健閱讀比賽,包含 1,156 張訓練圖像和 1,110 張評估圖像。因為排除掉過短或含有非字母數字字元的詞,數據集有兩個版本(860 張和 867 張圖像)。
- ICDAR2013 (IC13):繼承了大部分 IC03 的圖像,為 ICDAR 2013 穩健閱讀比賽設立,包含 848 張訓練圖像和 1,095 張評估圖像。評估時有兩個版本,分別包含 857 張和 1,015 張圖像。
-
不規則數據集:包含更具挑戰性的場景文字,如曲線、任意旋轉或扭曲的文字:
- ICDAR2015 (IC15):用於 ICDAR 2015 穩健閱讀比賽,包含 4,468 張訓練圖像和 2,077 張評估圖像,圖像來自 Google Glass 佩戴者的自然移動中,因此有很多噪聲、模糊和旋轉的圖像。研究中評估版本有 1,811 張和 2,077 張圖像兩種。
- SVT Perspective (SP):從 Google Street View 收集,包含 645 張評估圖像,其中許多圖像因非正面視角而帶有透視投影。
- CUTE80 (CT):從自然場景中收集的數據集,包含 288 張裁剪後的評估圖像,許多為曲線文字圖像。
版本差異
根據上表資訊,不同研究使用了不同版本的基準數據集進行模型評估(特別是在 IC03、IC13 和 IC15 數據集中)。
例如在 IC03 中,7 個樣本的差異可能導致 0.8%的性能差距,這在比較先前研究的結果時是一個巨大的差距。而在 IC13 和 IC15 中的樣本數差距甚至比 IC03 更大。這些數據集版本的差異在評估模型性能時會導致顯著的誤差,這些差異需要在比較不同模型性能時予以特別注意。
版本錯誤,抱憾終生!不可不慎!
架構分析
STR 類似於計「物體檢測」任務與「序列預測」任務,受益於卷積神經網絡(CNN)和循環神經網絡(RNN)。
最早將 CNN 與 RNN 結合用於 STR 的模型是 CRNN,該模型透過 CNN 提取特徵,並使用 RNN 進行序列預測。之後有許多變體被提出以提升性能 ,並引入了不同的模組來處理字體風格和背景等複雜特徵。
部分方法甚至省略了 RNN 階段以減少推論時間。後續研究為了改進字元序列的預測,則引入了基於注意力機制的解碼器。
STR 四階段架構大致如下:
- 轉換階段(Transformation):使用空間轉換網絡(STN)來標準化輸入文字圖像,以減少後續階段的負擔。
- 特徵提取階段(Feature Extraction):將輸入圖像轉換為專注於字元辨識的表徵,同時抑制與字體、顏色、大小及背景無關的特徵。
- 序列建模階段(Sequence Modeling):捕捉字元序列中的上下文資訊,使每個字元的預測更加準確。
- 預測階段(Prediction):根據特徵提取的結果預測出最終的字元序列。
轉換階段
這個階段的模組將輸入圖像 X 轉換為標準化後的圖像 X'。
由於自然場景中的文字圖像形狀多樣(如彎曲、傾斜的文字),如果不經過處理直接輸入後續階段,特徵提取階段將需要學習與這些幾何變形不變的表徵。
為了減輕這種負擔,部分研究使用了薄板樣條(Thin-Plate Spline, TPS)變換,這是一種空間變換網絡(STN)的變體。TPS 通過在一組標準點之間進行平滑樣條插值來標準化文字區域。
TPS 能夠靈活處理不同比例的文字圖像,並將文字區域正規化為預定的矩形。
特徵提取階段
在這 個階段,卷積神經網絡(CNN)將輸入圖像(X 或 X')抽象為視覺特徵圖。
每個特徵圖的列對應於輸入圖像水平方向上的一個可區分的接收域,這些特徵用於預測每個接收域中的字元。
作者研究了三種常見的架構:VGG、RCNN 和 ResNet:
- VGG:由多層卷積層和少數全連接層組成。
- RCNN:CNN 的一種變體,能夠遞歸應用以調整接收域,依據字元形狀進行自適應處理。
- ResNet:透過殘差連接,緩解了訓練深層 CNN 的困難。
序列建模階段
特徵提取階段的輸出被重塑為特徵序列 V,即特徵圖的每一列