(二)CTPN----2016ECCV論文解讀

Detecting Text in Natural Image with Connectionist Text Proposal Network

用連接文本提案網絡檢測自然圖像中的文本

摘要

我們提出了一種新穎的連接文本提議網絡(CTPN),它能夠準確定位自然圖像中的文本行。CTPN直接在卷積特徵映射中的一系列細粒度文本提議中檢測文本行。我們開發了一個垂直錨點機制,聯合預測每個固定寬度提議的位置和文本/非文本分數,大大提高了定位精度。序列提議通過循環神經網絡自然地連接起來,該網絡無縫地結合到卷積網絡中,從而形成端到端的可訓練模型。這使得CTPN可以探索豐富的圖像上下文信息,使其能夠檢測極其模糊的文本。CTPN在多尺度和多語言文本上可靠地工作,而不需要進一步的後處理,脫離了以前的自底向上需要多步後過濾的方法。它在ICDAR2013和2015的基準數據集上達到了0.88和0.61的F-measure,大大超過了最近的結果[8,35]。通過使用非常深的VGG16模型[27],CTPN的計算效率爲0.14s每張圖像。在線演示獲取地址:http://textdet.com/。

關鍵詞
場景文本檢測;卷積網絡;循環神經網絡;錨點機制

1 引言

在自然圖像中閱讀文本最近在計算機視覺中引起越來越多的關注[8,14,15,10,35,11,9,1,28,32]。這是由於它的許多實際應用,如圖像OCR,多語言翻譯,圖像檢索等。它包括兩個子任務:文本檢測和識別。這項工作的重點是檢測任務[14,1,28,32],這是比在一個良好的裁剪字圖像[15,9]進行的識別任務更具有挑戰性。文本模式的大變化和高度雜亂的背景構成了精確文本定位的主要挑戰。

目前的文本檢測方法大多采用自下而上的流程[28,1,14,32,33]。它們通常從低級別字符或筆畫檢測開始,後面通常會跟隨一些後續步驟:非文本組件過濾,文本行構建和文本行驗證。這些自底向上的多步驟方法通常複雜,魯棒性和可靠性較差。它們的性能很大程度上依賴於字符檢測的結果,並且已經提出了連接組件方法或滑動窗口方法。這些方法通常探索低級特徵(例如,基於SWT[3,13],MSER[14,33,23]或HoG[28])來區分候選文本和背景。但是,如果沒有上下文信息,他們不能魯棒的單獨識別各個筆劃或字符。例如,相比單個字符人們更信任一個字符序列,特別是當一個字符非常模糊時。這些限制在字符檢測中通常會導致大量非文本組件,在後續步驟中的主要困難是處理它們。此外,正如[28]所指出的,這些誤檢很容易在自下而上的過程中連續累積。爲了解決這些問題,我們利用強大的深度特徵直接在卷積映射中檢測文本信息。我們開發的文本錨點機制能在細粒度上精確預測文本位置。然後,我們提出了一種網內循環架構,用於按順序連接這些細粒度的文本提議,從而允許它們編碼豐富的上下文信息。

深度卷積神經網絡(CNN)最近已經基本實現了一般物體檢測[25,5,6]。最先進的方法是FasterRegion-CNN(R-CNN)系統[25],其中提出了區域提議網絡(RPN)直接從卷積特徵映射中生成高質量類別不可知的目標提議。然後將RPN提議輸入FasterR-CNN[5]模型進行進一步的分類和微調,從而實現通用目標檢測的最新性能。然而,很難將這些通用目標檢測系統直接應用於場景文本檢測,這通常需要更高的定位精度。在通用目標檢測中,每個目標都有一個明確的封閉邊界[2],而在文本中可能不存在這樣一個明確定義的邊界,因爲文本行或單詞是由許多單獨的字符或筆劃組成的。對於目標檢測,典型的正確檢測是鬆散定義的,例如,檢測到的邊界框與其實際邊界框(例如,PASCAL標準[4])之間的重疊>0.5,因爲人們可以容易地從目標的主要部分識別它。相比之下,綜合閱讀文本是一個細粒度的識別任務,需要正確的檢測,覆蓋文本行或字的整個區域。因此,文本檢測通常需要更準確的定義,導致不同的評估標準,例如文本基準中常用的Wolf標準[19,21]。

在這項工作中,我們通過將RPN架構[25]擴展到準確的文本行定義來填補這個空白。我們提出了幾種技術發展,針對我們的問題可以優雅地調整通用目標檢測模型。我們通過提出一種網絡內循環機制爭取更進一步,使我們的模型能夠直接在卷積映射中檢測文本序列,避免通過額外昂貴的CNN檢測模型進行進一步的後處理。

1.1貢獻

我們提出了一種新穎的連接文本提議網絡(CTPN),它可以直接定位卷積層中的文本序列。這克服了以前的建立在字符檢測基礎上的自下而上方法帶來的一些主要限制。我們利用強深度卷積特性和共享計算機制的優點,提出瞭如圖1所示的CTPN架構。主要貢獻如下:
在這裏插入圖片描述
圖1:(a)連接文本提議網絡(CTPN)的架構。我們通過VGG16模型[27]的最後一個卷積映射(conv5)密集地滑動3×3空間窗口。每行的序列窗口通過雙向LSTM(BLSTM)[7]循環連接,其中每個窗口的卷積特徵(3×3×C)被用作256維的BLSTM(包括兩個128維的LSTM)的輸入。RNN層連接到512維的全連接層,接着是輸出層,聯合預測k個錨點的文本/非文本分數,y軸座標和邊緣調整偏移。(b)CTPN輸出連續的固定寬度細粒度文本提議。每個框的顏色表示文本/非文本分數。只顯示文本框正例的分數。

首先,我們將文本檢測的問題轉化爲一系列細粒度的文本提議。我們開發了一個錨點回歸機制,可以聯合預測每個文本提議的垂直位置和文本/非文本分數,從而獲得出色的定位精度。這背離了整個目標的RPN預測,RPN預測難以提供令人滿意的定位精度。

其次,我們提出了一種在卷積特徵映射中優雅連接序列文本提議的網絡內循環機制。通過這種連接,我們的檢測器可以探索文本行有意義的上下文信息,使其能夠可靠地檢測極具挑戰性的文本。

第三,兩種方法無縫集成,以符合文本序列的性質,從而形成統一的端到端可訓練模型。我們的方法能夠在單個過程中處理多尺度和多語言的文本,避免進一步的後過濾或細化。
第四,我們的方法在許多基準數據集上達到了新的最先進成果,顯著改善了最近的結果(例如,0.88的F-measure超過了2013年ICDAR的[8]中的0.83,而0.64的F-measure超過了ICDAR2015上[35]中的0.54)。此外,通過使用非常深的VGG16模型[27],這在計算上是高效的,導致了每張圖像0.14s的運行時間(在ICDAR2013上)。

2.相關工作

文本檢測。過去在場景文本檢測中的工作一直以自下而上的方法爲主,一般建立在筆畫或字符檢測上。它們可以粗略地分爲兩類,基於連接組件(CC)的方法和基於滑動窗口的方法。基於CC的方法通過使用快速濾波器來區分文本和非文本像素,然後通過使用低級屬性(例如強度,顏色,梯度等[33,14,32,13,3])將文本像素貪婪地分爲筆劃或候選字符。基於滑動窗口的方法通過在圖像中密集地滑動多尺度窗口來檢測候選字符。字符或非字符窗口通過預先訓練的分類器,使用手動設計的特徵[28,29]或最近的CNN特徵[16]進行區分。然而,這兩種方法通常都會受到較差的字符檢測性能的影響,導致在接下來的組件過濾和文本行構建步驟中出現累積的錯誤。此外,強大地過濾非字符組件或者自信地驗證檢測到的文本行本身就更加困難[1,33,14]。另一個限制是通過在大量的滑動窗口上運行分類器,滑動窗口方法在計算上是昂貴的。

目標檢測。卷積神經網絡(CNN)近來在通用目標檢測[25,5,6]上已經取得了實質的進步。一個常見的策略是通過使用廉價的低級特徵來生成許多目標提議,然後使用強CNN分類器來進一步對生成的提議進行分類和細化。生成類別不可知目標提議的選擇性搜索(SS)[4]是目前領先的目標檢測系統中應用最廣泛的方法之一,如CNN(R-CNN)[6]及其擴展[5]。最近,Ren等人[25]提出了FasterR-CNN目標檢測系統。他們提出了一個區域提議網絡(RPN),可以直接從卷積特徵映射中生成高質量的類別不可知的目標提議。通過共享卷積計算RPN是快速的。然而,RPN提議不具有判別性,需要通過額外的成本高昂的CNN模型(如FastR-CNN模型[5])進一步細化和分類。更重要的是,文本與一般目標有很大的不同,因此很難直接將通用目標檢測系統應用到這個高度領域化的任務中。

3.連接文本提議網絡

本節介紹連接文本提議網絡(CTPN)的細節。它包括三個關鍵的貢獻,使文本定位可靠和準確:檢測細粒度提議中的文本,循環連接文本提議和邊緣細化。

3.1在細粒度提議中檢測文本

類似於區域提議網絡(RPN)[25],CTPN本質上是一個全卷積網絡,允許任意大小的輸入圖像。它通過在卷積特徵映射中密集地滑動小窗口來檢測文本行,並且輸出一系列細粒度的(例如,寬度爲固定的16個像素)文本提議,如圖1(b)所示。

我們以非常深的16層vggNet(VGG16)[27]爲例來描述我們的方法,該方法很容易應用於其他深度模型。CTPN的架構如圖1(a)所示。我們使用一個小的空間窗口3×3來滑動最後的卷積層特徵映射(例如,VGG16的conv5)。conv5特徵映射的大小由輸入圖像的大小決定,而總步長和感受野分別固定爲16個和228個像素。網絡架構決定總步長和感受野。在卷積層中使用滑動窗口允許它共享卷積計算,這是減少昂貴的基於滑動窗口的方法的計算量的關鍵。

通常,滑動窗口方法採用多尺度窗口來檢測不同尺寸的目標,其中一個窗口尺度被固定到與目標的尺寸相似。在[25]中,Ren等人提出了一種有效的錨點回歸機制,允許RPN使用單尺度窗口檢測多尺度目標。關鍵的洞察力是單個窗口能夠通過使用多個靈活的錨點來預測各種尺度和長寬比的目標。我們希望將這種有效的錨點機制擴展到我們的文本任務。然而,實質上文本與普通目標不同,它們通常具有明確的封閉邊界和中心,可以從它的一部分推斷整個目標[2]。文本是一個沒有明顯封閉邊界的序列。它可能包含多層次的組件,如筆劃,字符,單詞,文本行和文本區域等,這些組件之間沒有明確區分。文本檢測是在單詞或文本行級別中定義的,因此通過將其定義爲單個目標(例如檢測單詞的一部分)可能很容易進行錯誤的檢測。因此,直接預測文本行或單詞的位置可能很難或不可靠,因此很難獲得令人滿意的準確性。一個例子如圖2所示,其中RPN直接被訓練用於定位圖像中的文本行。

在這裏插入圖片描述
圖2:左:RPN提議。右:細粒度的文本提議。

我們尋找文本的獨特屬性,能夠很好地概括各個層次的文本組件。我們觀察到由RPN進行的單詞檢測很難準確預測單詞的水平邊,因爲單詞中的每個字符都是孤立的或分離的,這使得查找單詞的開始和結束位置很混亂。顯然,文本行是一個序列,它是文本和通用目標之間的主要區別。將文本行視爲一系列細粒度的文本提議是很自然的,其中每個提議通常代表文本行的一小部分,例如寬度爲16個像素的文本塊。每個提議可能包含單個或多個筆劃,字符的一部分,單個或多個字符等。我們認爲,通過固定每個提議的水平位置來預測其垂直位置會更準確,水平位置更難預測。與預測目標4個座標的RPN相比,這減少了搜索空間。我們開發了垂直錨點機制,可以同時預測每個細粒度提議的文本/非文本分數和y軸的位置。檢測一般固定寬度的文本提議比識別分隔的字符更可靠,分隔字符容易與字符或多個字符的一部分混淆。此外,檢測一系列固定寬度文本提議中的文本行也可以在多個尺度和多個長寬比的文本上可靠地工作。

爲此,我們設計如下的細粒度文本提議。我們的檢測器密集地調查了conv5中的每個空間位置。文本提議被定義爲具有16個像素的固定寬度(在輸入圖像中)。這相當於在conv5的映射上密集地移動檢測器,其中總步長恰好爲16個像素。然後,我們設計k個垂直錨點來預測每個提議的y座標。k個錨點具有相同的水平位置,固定寬度爲16個像素,但其垂直位置在k個不同的高度變化。在我們的實驗中,我們對每個提議使用十個錨點,k=10,其高度在輸入圖像中從11個像素變化到273個像素(每次\div0.7)。明確的垂直座標是通過提議邊界框的高度和y軸中心來度量的。我們計算相對於錨點的邊界框位置的相對預測的垂直座標(\textbf{v}),如下所示:v_c=(c_y-c_ya)/ha,\qquadv_h=\log(h/ha)\tag{1}v*_c=(c*_y-c_ya)/ha,\qquadv_h=\log(h/ha)\tag{2}其中\textbf{v}=\lbracev_c,v_h\rbrace和\textbf{v}^=\lbracev_c,v*_h\rbrace分別是相對於預測座標和實際座標。c_ya和ha是錨盒的中心(y軸)和高度,可以從輸入圖像預先計算。c_y和h是輸入圖像中預測的y軸座標,而c*_y和h*是實際座標。因此,如圖1(b)和圖2(右)所示,每個預測文本提議都有一個大小爲h\times16的邊界框(在輸入圖像中)。一般來說,文本提議在很大程度上要比它的有效感受野228\times228要小。

檢測處理總結如下。給定輸入圖像,我們有W \times H \times C conv5特徵映射(通過使用VGG16模型),其中C是特徵映射或通道的數目,並且W \times H是空間佈置。當我們的檢測器通過conv5密集地滑動3\times3窗口時,每個滑動窗口使用3 \times 3 \times C的卷積特徵來產生預測。對於每個預測,水平位置(x軸座標)和k個錨點位置是固定的,可以通過將conv5中的空間窗口位置映射到輸入圖像上來預先計算。我們的檢測器在每個窗口位置輸出k個錨點的文本/非文本分數和預測的y軸座標(\textbf{v})。檢測到的文本提議是從具有> 0.7 (具有非極大值抑制)的文本/非文本分數的錨點生成的。通過設計的垂直錨點和細粒度的檢測策略,我們的檢測器能夠通過使用單尺度圖像處理各種尺度和長寬比的文本行。這進一步減少了計算量,同時預測了文本行的準確位置。與RPN或Faster R-CNN系統[25]相比,我們的細粒度檢測提供更詳細的監督信息,自然會導致更精確的檢測。

3.2 循環連接文本提議

爲了提高定位精度,我們將文本行分成一系列細粒度的文本提議,並分別預測每個文本提議。顯然,將每個孤立的提議獨立考慮並不魯棒。這可能會導致對與文本模式類似的非文本目標的誤檢,如窗口,磚塊,樹葉等(在文獻[13]中稱爲類文本異常值)。還可以丟棄一些含有弱文本信息的模糊模式。圖3給出了幾個例子(上)。文本具有強大的序列特徵,序列上下文信息對做出可靠決策至關重要。最近的工作已經證實了這一點[9],其中應用遞歸神經網絡(RNN)來編碼用於文本識別的上下文信息。他們的結果表明,序列上下文信息極大地促進了對裁剪的單詞圖像的識別任務。

在這裏插入圖片描述
圖3:上:沒有RNN的CTPN。下:有RNN連接的CTPN。

受到這項工作的啓發,我們認爲這種上下文信息對於我們的檢測任務也很重要。我們的檢測器應該能夠探索這些重要的上下文信息,以便在每個單獨的提議中都可以做出更可靠的決策。此外,我們的目標是直接在卷積層中編碼這些信息,從而實現細粒度文本提議優雅無縫的網內連接。RNN提供了一種自然選擇,使用其隱藏層對這些信息進行循環編碼。爲此,我們提出在conv5上設計一個RNN層,它將每個窗口的卷積特徵作爲序列輸入,並在隱藏層中循環更新其內部狀態:HtH_tHt=φ(Ht1,Xt),t=1,2,...,W(3)H_{t}=\varphi(H_{t-1}, X_t), \qquad t=1,2,...,W \tag{3}其中XtR3×3×CX_t \in R^{3\times 3 \times C}是第tt個滑動窗口(3$\times3)conv53)的輸入conv5特徵。滑動窗口從左向右密集移動,導致每行的t=1,2,…,W序列特徵。Wconv5是conv5的寬度。H_t是從當前輸入(X_t)和以H_{t-1}使編碼的先前狀態聯合計算的循環內部狀態。遞歸是通過使用非線性函數\varphiLSTM[12]RNNLSTM[12]RNN使LSTMRNN使便228來計算的,它定義了循環模型的確切形式。我們利用長短時記憶(LSTM)架構[12]作爲我們的RNN層。通過引入三個附加乘法門:輸入門,忘記門和輸出門,專門提出了LSTM以解決梯度消失問題。細節可以在[12]中找到。因此,RNN隱藏層中的內部狀態可以訪問所有先前窗口通過循環連接掃描的序列上下文信息。我們通過使用雙向LSTM來進一步擴展RNN層,這使得它能夠在兩個方向上對遞歸上下文進行編碼,以便連接感受野能夠覆蓋整個圖像寬度,例如228\timeswidthLSTM使128256RNNwidth。我們對每個LSTM使用一個128維的隱藏層,從而產生256維的RNN隱藏層H_t \in R^{256}$。

HtH_t中的內部狀態被映射到後面的FC層,並且輸出層用於計算第tt個提議的預測。因此,我們與RNN層的集成非常優雅,從而形成了一種高效的模型,可以在無需額外成本的情況下進行端到端的訓練。RNN連接的功效如圖3所示。顯然,它大大減少了錯誤檢測,同時還能夠恢復很多包含非常弱的文本信息的遺漏文本提議。

3.3 邊緣細化

我們的CTPN能夠準確可靠地檢測細粒度的文本提議。通過連接其文本/非文本分數爲>0.7>0.7的連續文本提議,文本行的構建非常簡單。文本行構建如下。首先,我們爲提議BiB_i定義一個配對鄰居(BjB_j)作爲Bj>BiB_j->B_i,當(i)BjB_j是最接近BiB_i的水平距離,(ii)該距離小於50像素,並且(iii)它們的垂直重疊是>0.7>0.7時。其次,如果Bj>BiB_j->B_iBi>BjB_i->B_j,則將兩個提議分組爲一對。然後通過順序連接具有相同提議的對來構建文本行。

細粒度的檢測和RNN連接可以預測垂直方向的精確位置。在水平方向上,圖像被分成一系列相等的寬度爲16個像素的提議。如圖4所示,當兩個水平邊的文本提議沒有完全被實際文本行區域覆蓋,或者某些邊的提議被丟棄(例如文本得分較低)時,這可能會導致不準確的定位。這種不準確性在通用目標檢測中可能並不重要,但在文本檢測中不應忽視,特別是對於那些小型文本行或文字。爲了解決這個問題,我們提出了一種邊緣細化的方法,可以精確地估計左右兩側水平方向上的每個錨點/提議的偏移量(稱爲邊緣錨點或邊緣提議)。與y座標預測類似,我們計算相對偏移爲:o=(xsidecxa)/wa,o=(xsidecxa)/wao=(x_{side}-c_xa)/wa, \quad o*=(x*_{side}-c_xa)/wa,其中xsidex_{side}是最接近水平邊(例如,左邊或右邊)到當前錨點的預測的xx座標。xsidex*_{side}xx軸的實際(GT)邊緣座標,它是從實際邊界框和錨點位置預先計算的。cxac_xaxx軸的錨點的中心。wawa是固定的錨點寬度,wa=16wa=16。當我們將一系列檢測到的細粒度文本提議連接到文本行中時,這些提議被定義爲開始和結束提議。我們只使用邊緣提議的偏移量來優化最終的文本行邊界框。通過邊緣細化改進的幾個檢測示例如圖4所示。邊緣細化進一步提高了定位精度,從而使SWT和Multi-Lingual數據集上的性能提高了約22%。請注意,我們的模型同時預測了邊緣細化的偏移量,如圖1所示。它不是通過額外的後處理步驟計算的。

在這裏插入圖片描述
圖4:CTPN檢測有(紅色框)和沒有(黃色虛線框)邊緣細化。細粒度提議邊界框的顏色表示文本/非文本分數。

3.4 模型輸出與損失函數

提出的CTPN有三個輸出共同連接到最後的FC層,如圖1(a)所示。這三個輸出同時預測公式(2)中的文本/非文本分數($ \ textbf {s} ),垂直座標(\textbf{v}=\lbrace v_c, v_h\rbrace)和邊緣細化偏移(\textbf{o})。我們將探索k$個錨點來預測它們在conv5中的每個空間位置,從而在輸出層分別得到2k2k2k2kkk個參數。

我們採用多任務學習來聯合優化模型參數。我們引入了三種損失函數:LclsL{cl}_sLrevL{re}_vlorel^{re}_o,其分別計算文本/非文本分數,座標和邊緣細化。考慮到這些因素,我們遵循[5,25]中應用的多任務損失,並最小化圖像的總體目標函數(LL)最小化:L(si,vj,ok)=1NsiLscl(si,si)+λ1NvjLvre(vj,vj)+λ2NokLore(ok,ok)(5)L(\textbf{s}_i, \textbf{v}_j, \textbf{o}_k) =\frac1{N_{s}}\sum_iL^{cl}_{s}(\textbf{s}_i, \textbf{s}_i^*) +\frac{\lambda_1}{N_v}\sum_j L^{re}_v(\textbf{v}_j, \textbf{v}_j^*) +\frac{\lambda_2}{N_o}\sum_k L^{re}_o(\textbf{o}_k, \textbf{o}_k^*) \tag{5},其中每個錨點都是一個訓練樣本,ii是一個小批量數據中一個錨點的索引。si\textbf{s}_i是預測的錨點ii作爲實際文本的預測概率。si={0,1}\textbf{s}_i^*=\lbrace 0,1\rbrace是真實值。jjyy座標迴歸中有效錨點集合中錨點的索引,定義如下。有效的錨點是定義的正錨點(sj=1\textbf{s}_j*=1,如下所述),或者與實際文本提議重疊的交併比(IoU)>0.5>0.5vj\textbf{v}_jvj\textbf{v}_j*是與第jj個錨點關聯的預測的和真實的yy座標。kk是邊緣錨點的索引,其被定義爲在實際文本行邊界框的左側或右側水平距離(例如32個像素)內的一組錨點。ok\textbf{o}_kok\textbf{o}_k*是與第kk個錨點關聯的xx軸的預測和實際偏移量。LclsL{cl}_s是我們使用Softmax損失區分文本和非文本的分類損失。LrevL{re}_vLreoL{re}_o是迴歸損失。我們遵循以前的工作,使用平滑L1L_1函數來計算它們[5,25]。λ1\lambda_1λ2\lambda_2是損失權重,用來平衡不同的任務,將它們經驗地設置爲1.0和2.0。NsN_{s} NvN_{v}NoN_{o}是標準化參數,表示LclsL{cl}_sLrevL{re}_vLoreL^{re}_o分別使用的錨點總數。

3.5 訓練和實現細節

通過使用標準的反向傳播和隨機梯度下降(SGD),可以對CTPN進行端對端訓練。與RPN[25]類似,訓練樣本是錨點,其位置可以在輸入圖像中預先計算,以便可以從相應的實際邊界框中計算每個錨點的訓練標籤。

訓練標籤。對於文本/非文本分類,二值標籤分配給每個正(文本)錨點或負(非文本)錨點。它通過計算與實際邊界框的IoU重疊(除以錨點位置)來定義。正錨點被定義爲:(i)與任何實際邊界框具有>0.7>0.7的IoU重疊;或者(ii)與實際邊界框具有最高IoU重疊。通過條件(ii),即使是非常小的文本模式也可以分爲正錨點。這對於檢測小規模文本模式至關重要,這是CTPN的主要優勢之一。這不同於通用目標檢測,通用目標檢測中條件(ii)的影響可能不顯著。負錨點定義爲與所有實際邊界框具有<0.5<0.5的IoU重疊。yy座標迴歸(v\textbf{v}*)和偏移回歸(o\textbf{o}*)的訓練標籤分別按公式(2)和(4)計算。

訓練數據。在訓練過程中,每個小批量樣本從單張圖像中隨機收集。每個小批量數據的錨點數量固定爲Ns=128N_s=128,正負樣本的比例爲1:1。如果正樣本的數量少於64,則會用小圖像塊填充負樣本。我們的模型在3000張自然圖像上訓練,其中包括來自ICDAR 2013訓練集的229張圖像。我們自己收集了其他圖像,並用文本行邊界框進行了手工標註。在所有基準測試集中,所有自我收集的訓練圖像都不與任何測試圖像重疊。爲了訓練,通過將輸入圖像的短邊設置爲600來調整輸入圖像的大小,同時保持其原始長寬比。

實現細節。我們遵循標準實踐,並在ImageNet數據[26]上探索預先訓練的非常深的VGG16模型[27]。我們通過使用具有0均值和0.01標準差的高斯分佈的隨機權重來初始化新層(例如,RNN和輸出層)。該模型通過固定前兩個卷積層中的參數進行端對端的訓練。我們使用0.9的動量和0.0005的重量衰減。在前16K次迭代中,學習率被設置爲0.001,隨後以0.0001的學習率再進行4K次迭代。我們的模型在Caffe框架[17]中實現。

4. 實驗結果和討論

我們在五個文本檢測基準數據集上評估CTPN,即ICDAR 2011[21],ICDAR 2013[19],ICDAR 2015[18],SWT[3]和Multilingual[24]數據集。在我們的實驗中,我們首先單獨驗證每個提議組件的效率,例如細粒度文本提議檢測或網內循環連接。ICDAR 2013用於該組件的評估。

4.1 基準數據集和評估標準

ICDAR 2011數據集[21]由229張訓練圖像和255張測試圖像組成,圖像以字級別標記。ICDAR 2013[19]與ICDAR 2011類似,共有462張圖像,其中包括229張訓練圖像和233張測試圖像。ICDAR 2015年(Incidental Scene Text —— Challenge 4)[18]包括使用Google Glass收集的1500張圖像。訓練集有1000張圖像,剩餘的500張圖像用於測試。這個數據集比以前的數據集更具挑戰性,包括任意方向,非常小的尺度和低分辨率的文本。Multilingual場景文本數據集由[24]收集。它包含248張訓練圖像和239張測試圖像。圖像包含多種語言的文字,並且真實值以文本行級別標註。Epshtein等[3]引入了包含307張圖像的SWT數據集,其中包含許多極小尺度的文本。

我們遵循以前的工作,使用由數據集創建者或競賽組織者提供的標準評估協議。對於ICDAR 2011,我們使用[30]提出的標準協議,對ICDAR 2013的評估遵循[19]中的標準。對於ICDAR 2015,我們使用了由組織者提供的在線評估系統[18]。SWT和Multilingual數據集的評估分別遵循[3]和[24]中定義的協議。

4.2 具有Faster R-CNN的細粒度文本提議網絡

我們首先討論我們關於RPN和Faster R-CNN系統[25]的細粒度檢測策略。如表1(左)所示,通過產生大量的錯誤檢測(低精度),單獨的RPN難以執行準確的文本定位。通過使用Fast R-CNN檢測模型[5]完善RPN提議,Faster R-CNN系統顯著提高了定位精度,其F-measure爲0.75。一個觀察結果是Faster R-CNN也增加了原始RPN的召回率。這可能受益於Fast R-CNN的聯合邊界框迴歸機制,其提高了預測邊界框的準確性。RPN提議可以粗略定位文本行或文字的主要部分,但根據ICDAR 2013的標準這不夠準確。顯然,所提出的細粒度文本提議網絡(FTPN)在精確度和召回率方面都顯著改進了Faster R-CNN,表明通過預測一系列細粒度文本提議而不是整體文本行,FTPN更精確可靠。

表1:ICDAR 2013的組件評估以及在SWT和MULTILENGUAL數據集上的最新成果。
在這裏插入圖片描述

4.3 循環連接文本提議

我們討論循環連接對CTPN的影響。如圖3所示,上下文信息對於減少誤檢非常有用,例如類似文本的異常值。對於恢復高度模糊的文本(例如極小的文本)來說,這非常重要,這是我們CTPN的主要優勢之一,如圖6所示。這些吸引人的屬性可顯著提升性能。如表1(左)所示,使用我們的循環連接,CTPN大幅度改善了FTPN,將F-measure從0.80的提高到0.88。

在這裏插入圖片描述
圖6:在極小尺度的情況下(紅色框內)CTPN檢測結果,其中一些真實邊界框被遺漏。黃色邊界箱是真實值。

運行時間。通過使用單個GPU,我們的CTPN(用於整個檢測處理)的執行時間爲每張圖像大約0.14s,固定短邊爲600。沒有RNN連接的CTPN每張圖像GPU時間大約需要0.13s。因此,所提出的網內循環機制稍微增加了模型計算,並獲得了相當大的性能增益。

4.4 與最新結果的比較

我們在幾個具有挑戰性的圖像上的檢測結果如圖5所示。可以發現,CTPN在這些具有挑戰性的情況上可以完美的工作,其中一些對於許多以前的方法來說是困難的。它能夠有效地處理多尺度和多語言(例如中文和韓文)。

在這裏插入圖片描述
圖5:CTPN在幾個具有挑戰性的圖像上的檢測結果,包括多尺度和多語言文本行。黃色邊界框是真實值。

全面評估是在五個基準數據集上進行的。圖像分辨率在不同的數據集中顯著不同。我們爲SWT和ICDAR 2015設置圖像短邊爲2000,其他三個的短邊爲600。我們將我們的性能與最近公佈的結果[1,28,34]進行了比較。如表1和表2所示,我們的CTPN在所有的五個數據集上都實現了最佳性能。在SWT上,我們的改進對於召回和F-measure都非常重要,並在精確度上取得了很小的收益。我們的檢測器在Multilingual上比TextFlow表現更好,表明我們的方法能很好地泛化到各種語言。在ICDAR 2013上,它的性能優於最近的TextFlow[28]和FASText[1],將F-measure從0.80提高到了0.88。精確度和召回率都有顯著提高,改進分別超過+5+5%+7+7%。此外,我們進一步與[8,11,35]比較了我們的方法,它們是在我們的首次提交後發佈的。它始終在F-measure和召回率方面取得重大進展。這可能是由於CTPN在非常具有挑戰性的文本上具有很強的檢測能力,例如非常小的文本,其中一些甚至對人來說都很難。如圖6所示,我們的檢測器可以正確地檢測到那些具有挑戰性的圖像,但有些甚至會被真實標籤遺漏,這可能會降低我們的評估精度。

表2:ICDAR 2011,2013和2015上的最新結果。

在這裏插入圖片描述

我們進一步調查了各種方法的運行時間,在表2中進行了比較。FASText[1]達到0.15s每張圖像的CPU時間。我們的方法比它快一點,取得了0.14s每張圖像,但是在GPU時間上。儘管直接比較它們是不公平的,但GPU計算已經成爲主流,最近在目標檢測方面的深度學習方法[25,5,6]上取得了很大成功。無論運行時間如何,我們的方法都大大優於FASText,F-measure的性能提高了1111%。我們的時間可以通過使用較小的圖像尺度來縮短。在ICDAR 2013中,使用450的縮放比例時間降低到0.09s每張圖像,同時獲得0.92/0.77/0.84的P/R/F,與Gupta等人的方法[8]相比,GPU時間爲0.07s每張圖像,我們的方法是具有競爭力的。

5. 結論

我們提出了連接文本提議網絡(CTPN)—— 一種可端到端訓練的高效文本檢測器。CTPN直接在卷積映射的一系列細粒度文本提議中檢測文本行。我們開發了垂直錨點機制,聯合預測每個提議的精確位置和文本/非文本分數,這是實現文本準確定位的關鍵。我們提出了一個網內RNN層,可以優雅地連接順序文本提議,使其能夠探索有意義的上下文信息。這些關鍵技術的發展帶來了檢測極具挑戰性的文本的強大能力,同時減少了誤檢。通過在五個基準數據集測試中實現了最佳性能,每張圖像運行時間爲0.14s,CTPN是有效的。

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