Weilin Huang——【TIP2015】Text-Attentional Convolutional Neural Network for Scene Text Detection)
目錄
- 作者和相關鏈接
- 方法概括
- 創新點和貢獻
- 方法細節
- 實驗結果
- 問題討論
- 總結與收獲點
- 作者補充信息
- 參考文獻
-
方法概括
- 使用改進版的MSER(CE-MSERs,contrast-enhancement)提取候選字符區域;
- 使用新的CNN(text-CNN,結合了像素級信息,字符多類標簽,字符二類標簽的監督信息來訓練text-attentional的CNN)來過濾非文字區域;
- 將字符串成字符串再切成單詞(參考文獻1,文獻2的方法,不是文章重點)
-
創新點和貢獻
- idea的出發點:
- 人類判斷一個patch塊中是否是文字一般分為三步:第一,將文字區域和背景區分開(像素級分割,如果文字和背景幾乎全粘連在一起,根本無法判斷是否是字),第二,判斷摳下來的該區域是什么字(字符識別,如果一個字我們認得是'a',那么我們就很有信心這是一個字,而不是隨便什么符號。試想如果一個完全不認識字的人他判斷是否是字的准確率肯定不會比認字的人高,正是因為他缺乏了這個字符類別信息),第三,才是做出決策,判斷是否是字或者噪聲。
- MSER的兩個缺點是:第一,容易受背景干擾,造成字符斷裂,和背景粘連等問題;第二,字符和背景的對比度很低,不能因為“stable”而被MSER檢測出來,導致漏檢。因此,為解決這兩個問題,可以增強文字區域的局部對比度,在增強對比度的map上去提取MSER就可以提高召回率。

如果不認識這些字,那么很難判斷這到底是否真是'字'還是瞎寫的筆畫
-
- 創新點:
- 提出了對比度增強版的MSER,提高召回率
- 提出了基於多任務學習的text-CNN模型,並介紹了一種新的訓練機制,將低級的像素級信息(分割問題),到高級的字符多類信息(62類字符識別問題),字符與非字符信息(2類字符分類問題)融合到一個text-CNN模型中,實現了具有更強的分辨性和魯棒性的text detector.
- 創新點:
-
方法細節
-
text-CNN
- 網絡結構圖
-

-
-
- 3個任務
-

-
-
- 3個任務的損失函數(從上到下分別是binary,label,region)
-

-
-
-
,
,
,
-

-
-
-
-
- 總的損失函數:
-

-
-
- 3個任務網絡結構:
- pixel-level segementation task: Conv1 → Conv2 → Deconv1 → Deconv2 → loss (5) 【兩個卷積,兩個去卷積】
- character label task: Conv1 → Conv2 → Pool2 → Conv3 → Fc1 → Fc2 → loss (4) 【三個卷積,一個池化,兩個全連接】
- text/non-text task: Conv1 → Conv2 → Pool2 → Conv3 → Fc1 → Fc2 → loss (3) 【三個卷積,一個池化,兩個全連接】
- 池化層設計的原因
- 池化層本身是不可逆轉的,即在去卷積是無法找回原來的信息的,所以在去卷積前不能使用池化層,因此只能在第二層之后才接池化層
- 第三層卷積后圖像已經很小,故沒必要再用池化層
- 實驗證明了使用池化層:性能沒有降低,速度得到提高
- 訓練過程
- pre-train:label task和region task分別按10:3(損失函數比,λ1 =1,λ2 =0.3)進行訓練,采用的庫為合成數據庫charSynthetic,迭代次數為30k次
- train:label task和main task分別按3:10(λ1 =0.3)進行訓練,采用的庫為真實庫charTrain,迭代次數為70k
- 之所以這樣訓練的原因:三種任務使用的特征不同(region task使用的特征是pixel-level,屬於低級特征),收斂的速度也不同。如果region task訓練次數和main task一樣多,會導致過擬合。第一階段訓練兩個任務之后,模型參數已經將像素級的信息記錄下來了。下圖為訓練階段三種任務的損失函數隨迭代次數的變化情況。
- 3個任務網絡結構:
-

-
-
CE-MSERs
- 算法步驟(主要:
- Step1 : 利用對比度線索和空間線索聚類(文獻3),生成對比度區域圖map1
- Step2 : 利用顏色空間平滑(文獻4),生成對比度區域圖map2
- 在原圖,map1,map2上分別使用MSER
- 算法步驟(主要:
-


-
實驗結果
- 實驗效果證明多任務效果(c)比傳統的CNN(a),只使用一個額外任務,字符識別任務(b)更好

-
- 實驗證明采用本文的Text-CNN學到了能區分字符和非字符的關鍵特征

-
- ICDAR2015

-
- ICDAR2011 (CE-MSERs比MSERs好,用三種task訓練的text-CNN比單任務,雙任務的餓更好)

-
- ICDAR2013

-
- MSRA-TD500

-
問題討論
- 使用池化層的優劣?
- 優點:減少參數和模型的復雜性
- 缺點:丟失了空間信息,且池化層是不可逆轉的
- 為什么region task是回歸問題?
- 為什么region task和label task在訓練的時候用,測試的時候不用?
- CE-MSER的實現?
- 為什么label task是62類,而不是63類(包含噪聲類)?
- 對於負樣本,region task的groundTruth中的mask怎么做?label task中的負樣本類別是多少?
- 使用池化層的優劣?
-
作者和相關鏈接



-
總結與收獲點
- CE-MSER提供了一個思路,可以增強對比度來提高召回率,但實現方法不是很好。本身MSER就相對耗時,還需要在增強對比度的map上再做兩次MSER,顯然時間開銷太大了。更好的方法應該是去改MSER的內部算法,修改“stable”的含義或者對每個component做一定對比度增強的處理再提取等等。
- 多任務學習的訓練方法可以參考這篇文章的思路:不同任務共享某些層
- 把像素級信息,字符類別級信息融合到檢測中做的想法很可取
-
參考文獻
- W. Huang, Y. Qiao, and X. Tang, “Robust scene text detection with convolution neural network induced MSER trees,” in Proc. 13th Eur. Conf. Comput. Vis. (ECCV), 2014, pp. 497–511.
- C. Yao, X. Bai, W. Liu, Y. Ma, and Z. Tu, “Detecting texts of arbitrary orientations in natural images,” in Proc. IEEE Comput. Vis. Pattern Recognit. (CVPR), Jun. 2012, pp. 1083–1090.
- H. Fu, X. Cao, and Z. Tu, “Cluster-based co-saliency detection,” IEEE Trans. Image Process., vol. 22, no. 10, pp. 3766–3778, Oct. 2013.
- M. M. Cheng, G. X. Zhang, N. J. Mitra, X. Huang, and S. M. Hu, “Global contrast based salient region detection,”2011 in Proc. IEEE Comput. Vis. Pattern Recognit. (CVPR), Jun. 2011, pp. 409–416.

