Towards End-to-end Text Spotting with Convolutional Recurrent Neural Networks閱讀筆記

1.摘要

論文提出一種統一的網絡結構模型,這種模型可以直接通過一次前向計算就可以同時實現對圖像中文本定位和識別的任務。這種網絡結構可以直接以end-to-end的方式訓練,訓練的時候只需要輸入圖像,圖像中文本的bbox,以及文本對應的標籤信息。這種end-to-end訓練的模型,可以學習到更加豐富的特徵信息。而且,這種模型所需要的時間更少,因爲在文本檢測和識別的時候,只需要計算一次圖像的特徵,這種特徵是同時別文本檢測和識別所共享的。

2.相關工作介紹

將檢測和識別統一到一個模型裏面,進行end-to-end訓練的優點:
a.由於檢測和識別是高度相關的,因此將檢測和識別統一到一個模型裏面,就使得圖像的feature可以被共享利用。
b.檢測和識別這兩種任務可以是互補的,更好的檢測結果可以提升識別的準確率,識別的信息也可以被用來精修檢測的結果。
論文的主要貢獻有三個:
a.end-to-end方式訓練出來的模型可以學習到更豐富的圖像特徵,並且這種特徵可以被兩種不同任務所共享,可以有效的節省時間。
b.論文中提出了一種全新的region feature抽取方法。這種feature抽取方法可以很好的兼容文本bbox原始長寬比以及避免圖像的扭曲,而且ROI pooling可以生成具有不同長度的feature maps。
c.提出了一種類似課程學習策略的方法用一種逐漸增加圖像複雜性的數據集來訓練模型。

3.模型中各個模塊介紹


模型整體框架介紹:首先用修改後的VGG16網絡對圖像進行特徵提取,用TPN對提取的CNN特徵進行region proposals的生成。然後用由LSTM組成的RFE將region proposals編碼成固定長度的表徵序列。將fixed-length的representation輸入到TDN,計算每個region proposals屬於文本區域的置信度與座標偏移量.然後RFE再計算TDN所提供的bboxes內的fixed-length representation.最後TRN基於檢測到的bbox的representation來識別單詞。

3.1 TPN


這種結構是由faster rcnn中的RPN結構改進得到。爲了適應文本區域的不同程度的長寬比以及尺度的不同,TPN結構採用了相比於RPN更多的anchors(24個),包括4種尺度(16^2,32^2,64^2,80^2),6種長寬比(1:1,2:1,3:1,5:1,7:1,10:1).同時使用了兩種256維的卷積核(5x3,3x1),分別抽取feature maps中局部和上下文的信息.這種長方形的filters更加適用於本身具有不同長寬比的單詞bbox.

3.2 RFE

首先利用尺寸爲h×w的ROI pooling操作將region proposals池化成H×min⁡(W_max,2Hw/h)大小。最後獲得包含有任意寬度的feature maps Q∈R^(C×H×W)。將這些feature maps按列進行轉換成序列(q_1,q_2,…,q_W)。然後將這些序列輸入到LSTM中進行編碼,取LSTM最後一個時間步的隱層輸出h_W作爲fixed-length representation。

3.3 TDN
將編碼向量輸入到兩個並行的網絡層——分別用於分類和bbox迴歸。整個bbox位置的精修分成兩個部分:TPN和TDN。

3.4 TRN


TRN主要用來預測檢測窗口中的文本信息,通過使用注意力機制來將抽取的feature解碼成單詞。將來自RFE的隱層輸出輸入到具有1024個神經元的LSTM編碼器,得到每個時間步隱層的輸出作爲抽取的region features V=[v_1,v_2,…,v_W]。在訓練的時候,將每個文本bbox的單詞label作爲LSTM每個時間步的輸入,詞序列爲s={s_0,s_1,…,s_(T+1)}。
將x_0,x_1,…,x_(T+1)作爲解碼LSTM的輸入,其中x_0=[v_W;Atten(V,0)],x_i=[φ(s_(i-1));Atten(V,h_(i-1)^')],φ()表示將詞向量進行變換的嵌入操作。c_i=Atten(V,h_(i-1)^')的定義如下:


整個解碼LSTM的隱層計算和輸出計算如下:


4. 多任務損失函數

整個網絡包含了分類和檢測兩個部分,所以在訓練的時候,整個模型所使用的損失函數爲一個多任務損失函數,定義如下,前兩個部分主要用來訓練TDN部分,最後一個部分用來TRN識別分類部分。


5. 網絡訓練

a. 先將TRN部分固定,用合成的數據來訓練網絡的其他部分,其中卷積部分用VGG16網絡來進行初始化,剩餘網絡部分採用高斯隨機初始化,其中前四個卷積層學習率設置爲10^-5,其餘的網絡層設置爲10^-3.訓練迭代30k次。

b. 將TRN部分加入訓練,並將此部分的學習率設置爲10^-3,之前用隨機初始化的網絡部分的學習率降低爲原來的一半,訓練時使用的數據與步驟a中一樣。訓練迭代30k次。

c. 合成新的數據集,將文本信息隨機加入到真實場景中。用這些新合成的數據集訓練整個模型,其中卷積部分學習率設置爲10^-5,其餘網絡層設置爲10^-4。訓練迭代50k次。

d. 用真實的數據來訓練模型。在訓練的過程中,卷積層固定不再發生變化,其餘部分的學習率設置爲10^-5,訓練迭代20k次。


參考文獻

1.Li H, Wang P, Shen C. Towards End-to-end Text Spotting with Convolutional Recurrent Neural Networks[J]. 2017.

2.Girshick R. Fast R-CNN[J]. Computer Science, 2015.

3.Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章