論文閱讀_基於CNN的圖像二值化_Robust Binarization for Video Text Recognition

Robust Binarization for Video Text Recognition
作者:Zohra Saidane, Christophe Garcia.
會議:ICDAR2007

對圖像進行二值化,以得到所需要的前景目標,是個古老而又重要的課題。但是這麼多年來,二值化算法的效果,卻往往難如人意。其核心難題,就是閾值實在太難選擇了。但是,與傳統的全局、局部二值化方法相比,這篇文章把二值化轉變成了學習和分類問題(2007年的論文,想法還算比較超前的),根據原圖直接生成二值化圖像,從而避免了閾值選擇這個極其麻煩的問題。與此類似的思想,是google的一篇將目標定位問題轉化學習問題的論文(Deep Neural Networks for Object Detection,作者是Christian Szegedy, Alexander Toshev, Dumitru Erhan)。

下面把這篇文章的關鍵技術點複述如下(很多細節還是理解不透,需要花點時間討論一下細節才行):
1、該方法是一種基於監督式分類器的圖像分割技術。通過對當前像素及周邊一定鄰域內的像素進行綜合分析,來判斷當前像素是否應該屬於前景像素。使用分類器的好處,就是可以充分發揮數據的作用,只要模型選擇合適,基本上比啓發式方法的效果要好上一大截,而且不用爲參數的設置發愁。
2、分類器選擇的是一個5層的CNN。CNN在這兩年的圖像領域,相當火爆。2014年的ImageNet比賽,一半以上的團隊都選擇了CNN。這篇文章還是比較有遠見的。
3、本文主要針對彩色圖像(不知道灰度圖像上效果如何?)。網絡的第一層被分解爲3幅圖像,分別對應RGB三個通道。


4、第二層是一個普通的卷積層。卷積窗口的尺寸,論文中設置的是5*5.第一層特徵數目爲30.感覺不是怎麼複雜的一個網絡。
5、第三層是一個pooling層,對第二層的結果進行averaging pooling,並且進行降採樣。這一層的目的是爲了消除平移、旋轉、尺度和扭曲的干擾。
6、第四層與第三層相反,是一個上採樣層,分辨率反而增加了,如圖2所示。從圖上看,意思好像是一個像素映射到了四個像素(翻遍了論文,也沒找到M2具體等於多少),這個暫時有點費解。

7、最後一層也就是最終的結果。依然第四層的每個像素映射到5*5的小區域(當然,第四層多個特徵的效果需要疊加)。
8、每一層的激活函數都一樣,都是sigmoid函數。
9、第2、3、4層的特徵數目都是30.鄰域大小都是5*5.
10、圖4是部分用於訓練的樣本圖片。這些圖片都是人工合成的,然後在上面疊加了噪聲(均勻和高斯噪聲),且進行了一定程度平滑。文字顏色和背景顏色都是隨機選擇的(背景是單調的?)。所有的圖片尺寸都是48*24像素。總的圖片數目是4500(量並不大).個人覺得,如果能夠再模擬下分辨率的變化、編解碼的影響,或許更好。

11、訓練方法選擇的是BP。
12、誤差的計算很簡單,就是比較網絡的輸出,與真實的二值圖像之間的差異。具體計算如下式所示:

13、輸出層的每個像素,如果值大於0,就當做前景像素;小於0,就作爲背景像素。
14、下圖是各種算法的結果對高斯噪聲的敏感程度。OTSU是最敏感的。本文算法是最下面那條。

15、對比度變化對各種算法的影響。本文算法依然是最魯棒的。OTSU還是最差。

16、各種算法對識別率的影響。

17、最終的結果如圖9所示。與傳統的方法(第二行)相比,本文方法的結果還是比較能夠吸引人的。比如在背景與文字亮度比較接近的區域,傳統方法很難區分,但是該方法卻表現除了明顯的優越性。這或許就是數據和學習的威力。

最近一段時間最火的CAFFE,不知道用着東西來試試這篇文章的思路,會有什麼有趣的結果?這樣可以得到更爲複雜的網絡,如果在配合更加海量的訓練數據,結果會怎樣呢?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章