一、文字檢測
(1)方法
方法主要是基於EAST和Refinenet進行的。首先,圖像經過Resnet50得到不同層的特征,然后通過Refinet的特征融合方式融合多層特征,接着,經過多任務回歸預測每個特征圖上的點的分數和RBOX,最后,在多尺寸檢測算法里加了過濾機制。
方法流程圖如下:
(2)涉及到的點
1.EAST
A.網絡結構圖
B.PVANet和C.Relu
C.Resnet50
殘差網絡詳細原理見:https://www.jianshu.com/p/e58437f39f65 和 https://my.oschina.net/u/876354/blog/1622896
D.Loss
交叉熵損失方面的原理可參考:https://blog.csdn.net/u014313009/article/details/51043064和 https://blog.csdn.net/chaipp0607/article/details/73392175
E.說明
EAST是一個單階段的快速而精准的場景文字檢測框架。它主要利用一個全卷積模型來產生單詞或者文本線級別的密集預測,相比於以前的復雜場景文字檢測算法減少了許多冗余操作。對於文本的預測結果,既可以是旋轉的矩形表示,也可以是任意的四邊型表示,最后再經過非極大值抑制(NMS)的處理然后輸出結果。整個框架主要借鑒DenseBox的網絡框架,把圖片輸入全卷積網絡當中,然后對文本區域進行多通道的像素級別的預測。其中一個通道用來輸出文本的置信分數,而另外的通道則用來輸出文本的幾何坐標信息。
網絡基礎結構如圖所示,首先,圖像經過多層的全卷積網絡(如左邊黃色區域所示),即基礎網絡,得到不同深度的卷積特征();接着,通過反卷積(unpool)、不同的卷積、合並等操作,多層的卷積特征融合成在一起(
);最后,網絡根據任務的不同,輸出對像素點文本概率置信度的預測以及文本邊框的預測。
2.Refinet
A.網絡結構圖
B.說明
目前深度卷積網絡在目標識別和圖像分割等問題上表現突出,但頻繁的下采樣丟失了原圖像的信息。RefineNet網絡,使用殘差鏈接顯式將各個下采樣層和后面的網絡層結合在一起。這樣網絡高層的語義特征可以直接從底層的卷積層中獲得精煉。一個RefineNet單元使用殘差鏈接和identity映射,對於端對端的訓練很有效。RefineNet還引入了一種鏈接殘差池化,它可以捕獲大量背景信息。
如圖所示,一樣是將不同大小的特征圖融合在一起,RefineNet的融合方式會比較復雜。RefineNet具體結構如圖2.2所示,網絡可以融合多個不同大小的特征圖。首先,特征圖先經過倆個卷積單元塊(b);接着小的特征圖經上采樣操作獲得與大特征圖一樣的大小,最終求和得到一個特征圖(c);最后,特征圖會經過一個鏈式殘差池化(d)操縱,其結構類似於殘差網絡的快捷鏈接,只不過經過的不是卷積操作,而是池化操作。作者稱,這樣的操作有利於網絡識別出屬於背景的像素點,這將有利於文字檢測中判定像素屬性。我們將圖1中原本簡單的特征融合,替換成RefineNet。
3.帶過濾的多尺度檢測
當文本的尺寸過大時,由於訓練數據樣本不均勻的問題,大的文本往往會檢測不全或者被忽略。而文本尺寸過小時,往往不能較精確的定位文本的邊界。通過多尺寸檢測的方法,一張圖像往往被縮放到不同尺度進行文本檢測,最終將檢測到的文本框通過非極大值抑制處理得到最后的結果。然而因為縮放導致的文本過大或過小將會對多尺寸檢測產生負面的影響。於是我們在多尺寸檢測的基礎上加入了過濾原則:縮小的圖像做完文本檢測后要過濾小面積小的框;放的的圖像做完文本檢測后要過濾掉面積大的框。我們在驗證集上通過對比找到了最佳的縮放尺寸和過濾閾值。
(2)文字檢測以往其他方法
參考:https://www.cnblogs.com/lillylin/p/6207119.html
(3)比賽
1.網址和任務
A.ICPR MTWI2018挑戰賽二:網絡圖像的文本檢測,訓練集10000張,測試集10000張,標注四點坐標。https://tianchi.aliyun.com/competition/information.htm?raceId=231651
B.百度-西交大大數據競賽:商家招牌的分類與檢測。http://dianshi.baidu.com/gemstone/competitions/detail?raceId=17%20
分類:共100類,每類10-30張訓練數據,5-10張測試數據,訓練數據2725張,測試數據1000張
檢測:9000張訓練,4351張測試。
2.實驗細節.
A.實驗分為兩個階段:第一個階段,我們將訓練集分為9000張的訓練樣本和1000張的驗證樣本,以0.001學習率,以8的batch_size,512的輸入大小訓練模型50萬次。第二階段,我們將1萬張圖片都作為訓練樣本,以0.0005的學習率,6的batch_size,544的輸入大小繼續訓練模型20萬次。
B.分類用Resnet152,增加高斯模糊、旋轉、縮放、翻轉、裁剪、灰度和彩色進行投票。
C.一些嘗試:
預訓練、采用多個網絡進行融合、把圖像進行加強,組成五個通道再訓練和測試、放大預測所用的特征圖、閾值設低提高召回率,再用規則過濾、加大訓練尺度、改成二階段的、變形卷積、空洞卷積、Resnet_inception、anchor。
3.結果
A.f值=0.695,acc=0.75,recall=0.647
B.分類=0.994,檢測=0.815
(4)對EAST做的改進
1.focal loss
參考:https://blog.csdn.net/qq_34564947/article/details/77200104
2.feature map*2
3.多尺度
4.數據擴充
5.規則過濾
6.多層融合方式
(5)代碼心得
1.單階段速度快,訓練慢,效果沒雙階段好,原因可能是樣本不平衡。
2.改進的模型不要在原來的基礎上繼續訓練,要在最初的基礎上重新訓練,因為學習率可能會衰減到沒有改進的空間。
3.做好實驗記錄,分析變量。
二、文本語種識別
1.方法
VGG16+全局平均池化方式
VGG圖: 識別方法網絡圖:
2.特點
A.采用focal loss
B.采用兩個模型進行加權,一個是正常數據,一個是過采樣的數據
C.全局平均池化,解決圖像大小不一致的問題
三、ICDAR15上結果
算法 | recall | precision | f-measure |
EAST | 0.735 | 0.836 | 0.78 |
+resnet | 0.749 | 0.841 | 0.792 |
+Focal loss | 0.778 | 0.861 | 0.817 |
+refinenet | 0.762 | 0.885 | 0.819 |
f*2 | 0.779 | 0.878 | 0.826 |