具有自適應文本區域表示的任意形狀場景文本檢測
摘要:
場景文本檢測在計算機視覺中引起了廣泛的關注,因爲它可以廣泛應用於實時文本翻譯,自動信息輸入,盲人輔助,機器人傳感等多種應用中。雖然水平文本和定向文本提出了很多方法,但是檢測諸如彎曲文本的不規則形狀文本仍然是一個具有挑戰性的問題。爲解決這一問題,我們提出了一種具有自適應文本區域表示的魯棒場景文本檢測方法。給定一張輸入圖像,首先使用一個文本RPN網絡提取文本建議框。然後,通過細化網絡驗證和改進這些建議框。在這裏提出了基於自適應文本區域表示的RNN網絡用來文本區域細化,其中每個時間步長預測一對邊界點,直到沒有新點發現爲止。這樣,就可以檢測任意形狀的文本區域,並用適應數量的邊界點表示。這樣可以更準確的描述文本區域。在五個數據集(CTW1500,TotalText,ICDAR2013,ICDAR2015和MSRA-TD500)上進行了實驗,表明所提出的在場景文本檢測中實現了最先進的技術。
1. 介紹
文本是用於傳遞語義信息的最基本的媒介。 它出現在日常生活的各個角落:街道銘牌,商店標誌,產品包裝,餐廳菜單等。 自然環境中的這些文本被稱爲場景文本。 自動檢測和識別場景文本可以應用在很多地方,例如實時文本翻譯,盲人協助,購物,機器人,智能汽車和教育。一個端到端的文本識別系統常常包括兩部分:文本檢測和文本識別。在文本檢測部分,檢測到文本並使用邊界框標註。在文本識別部分,從檢測到的文本區域中提取出文本。文本檢測是端到端文本識別的重要步驟,沒有它就不能從場景圖片中識別出文本。因此,在這些年,場景文本檢測引起了很多關注。
雖然傳統的OCR技術只能處理打印文檔或者名片上的文本,但場景文本檢測嘗試檢測複雜場景中的各種文本。由於複雜的背景和各種的字體,大小,顏色,語言,照明條件和方向,場景文本檢測成爲了非常有挑戰的任務。在深度學習方法變得流行之前,使用手工設計的功能和傳統的分類器時,它的表現很差。然後,近年來,表現得到很大改善,這很大程度上得益於深度學習的發展。與此同時,文本檢測的研究方向從水平場景文本轉變到了多方向的場景文本和更具有挑戰的彎曲文本或任意形狀的場景文本。因此,本文重點介紹任意形狀的場景文本。
本文中,我們提出而任意形狀場景文本的檢測方法,使用可適應的文本區域表示,如下圖1。給一張輸入圖像,首先使用 Text-RPN 獲得文本建議框以及輸入圖像的CNN feature maps;然後用一個細化網絡驗證和改進文本建議框,它的輸入是使用CNN feature maos的ROI處理過的文本建議框。細化網絡包括三個分支,分別是:文本/非文本分類,邊框細化和基於自適應文本區域表示的RNN。在RNN中,每個時間步長預測一對邊界點。這樣,就可以了使用適應數量的邊界點表示不規則文本區域了。在五個數據集(CTW1500,TotalText,ICDAR2013,ICDAR2015和MSRA-TD500)上進行了實驗,進行了性能測試。實驗表明,本文提出的方法不僅可以處理多方向的文本也可以處理不規則場景文本包括彎取文本。在五個數據集上都實現了最先進的表現。
2.相關工作
在深度學習成爲最受歡迎的機器學習之前,基於傳統滑動窗口和基於連通域的場景文本檢測方法已經被廣泛使用。基於傳統滑動窗口的方法在圖像上移動一個多尺度的窗口來把文本和非文本分開。基於連通域的方法,特別是基於最大穩定極值區域(Maximally Stable Extremal Regions,MSER)的方法,通過提取連通域來獲取候選框。然後把這些候選框分爲文本和非文本。這些方法通常採用自下而上的策略,通常需要幾個步驟來檢測文本(例如,字符檢測,文本行構建,文本行分類)。由於每一步都可能導致誤分類,所以這些傳統文本檢測表現很差。
最近,基於深度學習的方法在場景文本檢測上更受歡迎了。這些方法可以分成三組,包括基於邊框迴歸的方法,基於分割的方法和兩者結合的方法。基於邊框迴歸的方法是受到一邊物體檢測方法的啓發,例如SSD,Faster RCNN,將文本視爲一種對象,直接估計其邊框作爲檢測結果。基於分割的方法嘗試通過從背景中分割文本區域來解決問題,需要一個額外的步驟去獲取最終的邊界框。兩者結合的方法使用和Mask RCNN相似的策略,利用分割和邊框迴歸獲得更好的表現。然而,由於比之前的方法需要的步驟更多,所以它的處理時間加長了。在這三種方法中,基於邊框迴歸的方法是場景文本檢測中最受歡迎的,這得益於通用目標檢測的方法。
對於基於邊界框迴歸的方法,可以分爲一階段方法和兩階段方法。一階段方法包括Deep Direct Regression,TextBox,TextBoxs++,DMPNet,SegLink和EAST,在一步中直接估計文本區域的邊界框。兩階段方法包括R2CNN,RRD,RRPN,IncepText和FEN。它們包括文本建議框生成步驟(生成候選框)和邊框微調步驟(候選框確認和微調以生成最終的檢測結果)。兩階段方法通常比一階段的方法能獲得更高的性能,所以本文使用兩階段檢測的思想。
雖然大多數提出的場景文本檢測方法只能處理水平或定向文本,但檢測任意形狀文本如彎曲文本最近吸引了更多關注。在CTD中,使用14個點的多邊形表示文本區域。同時,提出了循環橫向和縱向便宜連接(TLOC)用於更精確地彎曲文本檢測。雖然一個多邊形14個點對於大多數文本區域足夠了,但是對於一些長的彎曲文本行是不夠的。除此之外,14個點對於大多數水平和定向文本太多了,4個點足夠了。在TextSnake中,文本實例被描述爲以文本區域爲以文本區域的對稱軸爲中心的有序重疊圓序列。每個圓都與可變半徑和方向有潛在的聯繫,這些都是通過FCN來估算的。還有,Mask TextSpotter受Mask RCNN的啓發,通過語義分割處理不規則形狀的文本實例。雖然TextSnake和Mask TextSpotter都可以處理不規則形狀的文本,但是像素級別的預測需要更大的計算量。
考慮到使用固定點數量的多邊形來表示不同形狀的文本區域是不合適的,本文提出了使用不同的點的數量的自適應文本區域來表示不同形狀的文本。同時,RNN用來學習每個文本區域的自適應表示,這樣可以直接標記文本區域,並且不需要逐像素分割。
3.方法
圖1展示了不規則形狀文本檢測方法的流程圖,是一個兩階段的檢測方法。包含兩步:Text Proposal和Proposal refinement。在Text Proposal這一步,使用Text-RPN生成一張圖像的Text Proposal。同時,獲得輸入圖像的CNN feature maps,接下來會使用。然後,通過微調網絡驗證和微調Text Proposal。在這一步,包括了文本/非文本分類,邊框迴歸和自適應文本區域表示的RNN。最後,使用自適應點數的多邊形標記的文本區域作爲輸出結果。
3.1 自適應文本區域表示
現有的場景文本檢測方法使用固定數量點的多變形來表示文本區域。對於水平文本,兩個點(左上和右下)就可以表示文本區域。對於多方向文本,四個點就可以表示文本區域。對於彎曲文本,在CTW1500使用14個點來表示文本區域。然而,對於一些複雜的場景文本,例如彎曲長文本,即使14個點也不足夠去表示它們。但是對於大多數場景文本例如水平文本和定向文本,少於14個點就足夠表示了,使用14個點表示這些文本區域太浪費了、
因此,考慮使用自適應數量的點去表示文本區域。很容易想到,使用一個文本區域邊框的角點去表示文本,如圖2(a)。這類似於註釋通用目標的方法。然而,用這種方式,這些點不是沿一個方向排列的,可能很難去學習這個表示。在這個標註通用目標的方法中,可能需要人工校正來進行精確分割。考慮到文本區域通常具有近似對稱的上邊界和下邊界,如圖3所示,使用兩個邊界的成對點進行文本區域表示可能更合適。從文本區域的一邊到另一邊學習成對邊界點會更容易,如圖2(b)所示。這樣,不同的文本區域可以使用不用的點精確的表示,如圖3所示。而且,據我們所知,我們是第一個使用自適應成對點的數量來表示文本區域的。
3.2 Text Proposal
給定輸入圖像之後,第一步就是Text Proposal,在這裏文本區域候選框稱爲Text-RPN生成的Text Proposal。除了不同的骨幹網絡和anchor大小之外,Text-RPN和Faster-RCNN中的RPN是相似的。在此方法中,主幹網絡是SE-VGG16,如表1,加入了SE(Squeeze-and-Excitation)模塊的VGG16。如圖4所示,SE模塊通過使用通道的相互依賴型,自適應的重新校準了通道方面的特徵響應,產生了顯著的性能提升。FC表示全連接層,ReLU表示整流線性單元函數。此外,由於場景文本通常具有不同的大小,爲了覆蓋更多文本,因此anchor大小設置爲 ,保持縱橫比 。
3.3 Proposal Refinement
在 text proposal 之後,在輸入圖像中生成的文本區域候選框,在這一步進行驗證和微調。如圖1 所示,微調網絡用於Proposal Refinement,包含若干分支:文本/非文本分類,邊框迴歸和基於自適應文本表示的RNN。在這裏,文本/非文本分類和邊框迴歸和其他的兩階段文本檢測的方法是類似的,最後一個分支用於任意形狀的文本表示。
對於最後一個分支,輸入是每個 text proposal的特徵,通過 ROI Pooling到SE-VGG16生成的CNN feature maps獲得的。輸出是每個文本區域自適應邊框點的數量。因爲輸出長度是不同的文本區域,所以使用RNN預測這些點。因此,在這裏使用了LSTM,它是一種RNN,並且用於處理序列學習問題,例如機器翻譯,語音識別,圖像標題和文本識別。
儘管提出成對邊界點用於文本區域表示,但是可以使用不同方式用於成對點表示。很容易想到,可以使用兩對點的座標 來表示。這樣,每對點的座標都可以作爲迴歸目標,如圖5所示。然而,每對點都可以使用不同的方式表示,使用中心點 的座標,中心點到兩個點的距離 和他們的旋轉角度 。然而,目標角度在某些特殊情況下不好確定。例如, 和 在空間中是非常相似的,但是他們的角度是不同的。這個就很難正確的學習。除此之外,方向可以通過 和 來表示,這個可以很好的預測。然而,需要很多參數。因此,本文方法使用點的座標 來作爲迴歸目標。
LSTM每個時間點的輸入都是相同的,都是相應text proposal的 ROI pooling特徵。每個時間點的輸出是文本區域框的對點的座標。同時,由於不同的文本區域使用自適應點數,因此需要停止標籤來表示預測網絡何時停止。因爲停止標籤預測是分類問題,而座標預測是迴歸問題,所以將他們放在同一分支是不合適的。因此,LSTM的每個時間點有兩個分支:一個點的座標的迴歸,一個停止標籤的預測。在每一個時間點,都預測文本區域的兩個對邊的點的座標和標籤 stop/continue。如果標籤是continue,在下一個時間點將會預測另外兩個點的座標和下一個標籤,否則,預測停止,文本區域使用之前預測的點表示。這樣,輸入圖像中的文本區域就可以使用不同的多邊形(通過預測的對點組成的)來檢測和表示了。
雖然NMS被廣泛用於通用目標檢測方法的後處理檢測候選框,但是在本文提出的方法中也需要NMS。因爲文本區域是通過多邊形來表示的,所以使用普通的基於水平邊框的NMS來計算是不合適的。所以使用多邊形NMS, 是基於多邊形文本區域的面積計算的。在NMS後,剩餘的文本區域就作爲檢測結果輸出了。
3.4 訓練目標
由於Text-RPN和Faster R-CNN中的RPN是相似的,所以Text-RPN的訓練損失也是以相同的方式計算的。因此,在這一部分,我們只關注微調網絡的損失函數。每一個proposal的損失函數定義爲文本/非文本分類損失,邊框迴歸損失和邊界點回歸損失和停止/繼續標籤分類損失之和。在每一個proposal上的多任務損失函數定義爲:
, 和 是這些項的平衡參數,在本文方法中它們設置爲1。
對於文本/非文本損失項, 是分類標籤的標記。是文本時 ,不是文本時 。參數 是softmax計算後的文本和非文本的置信度。 是真值 對數損失。
對於邊框迴歸損失項, 是邊框迴歸的目標,包括中心點的座標和寬和高, 是每個 text proposal的預測值。我們使用 Faster R-CNN 中給出的 和 參數化,其中 和 指定了一個目標proposal的尺度不變性和對數空間高/寬偏移性。
對於邊界點回歸項, 是邊界點的真值座標, 是文本的預測值。爲了使學習的點適合與不同尺度的文本,還應該處理學習目標使它們成比例不變。參數 根據以下公式處理:
其中 和 表示邊框點的座標, 和 表示相應text proposal中心點的座標, 和 表示這個proposal的寬和高。
用 表示 或者 , 可以定義爲Faster R-CNN中的L1平滑損失:
對於停止/繼續標籤分類損失項,它也是一個二分類,它的損失格式類似於文本/非文本分類損失。
4. 實驗
4.1 評價基準
在本文中使用了五個評價基準進行性能驗證,介紹如下:
- CTW1500:CTW1500數據集包含500張測試圖片和1000張訓練圖片,包含多方向文本,彎曲文本和不規則文本。在這個數據集中文本區域使用14個場景文本邊框點以句子級別來標註。
- TotalText:TotalText數據集包含300張測試圖片和1255張訓練圖片,超過三種不同的文本方向:水平,多向和彎曲。在這些圖像中,文本是以單詞級別標記,具有自適應角點數。
- ICDAR2013:ICDAR2013數據集包含ICDAR Robust Reading Competition的重點場景文本。包括233張測試圖像和229張訓練圖像。場景文本是水平的,使用2個點的邊界框以單詞級別標註。
- ICDAR2015:ICDAR2015數據集側重於ICDAR Robust Reading Competition中的非主要的場景文本。包括500張測試圖像和1000張訓練圖像。它們有不同的方向,使用四個點組成的傾斜框以單詞級別標註。
- MSRA-TD1500:MSRA-TD500數據集包含200張測試圖像和300張訓練圖像,包含中英文任意方向的文本。通過四個點的傾斜框以句子級別標註。數據集中存在一些長直文本行。
文本檢測的評估遵循ICDAR評估協議的 Recall, Precision和 Hmean。Recall 表示正確檢測到的文本區域數與數據集中文本區域總數之比,Precision表示正確檢測到的文本區域數與檢測到的文本總數之比。Hmean通過結合recall和precision來衡量質量。如果檢測到的文本區域與Ground Truth 文本區域的重疊面積大於給定的閾值則認爲是正確的。這三個評估項在不同的數據集上計算的方式不同。在 ICDAR2013和 ICDAR2015 上的結果可以通過ICDAR robust reading competition平臺來驗證,其他三個的數據集可以按照它們相應的驗證方法去驗證。
4.2 實現細節
我們的場景文本檢測網絡是在ImageNet預訓練的VGG16上初始化的。當在五個數據集上測試所提出的方法時,使用不同的模型,這些模型僅使用每個數據集的訓練圖像進行數據增強訓練。全部的模型總共訓練 迭代步數。學習率從 開始,分別在 , 和 迭代步數時乘以 。使用 的權重衰減和的動量。使用多尺度訓練,設置訓練圖像的短邊爲 ,保持長邊 不變。
因爲在本文方法中使用了自適應文本區域表示,所以可以很簡單的使用這些數據集中通過不同的點數標記的文本區域。在ICDAR 2013, ICDAR 2015 和 MSRA-TD500使用四邊形框標註,很容易轉換成對點。然而,對於 CTW1500數據集 和TotalText 數據集,需要一些操作把ground truth 轉換爲我們需要的形式。
在CTW1500中,使用14個點標記文本區域,需要轉換成自適應成對點數。首先,14個點是由7對點組成的。然後,我們計算每個點的交叉角,就是從當前點到其附近兩個點的矢量的角度。對於每對點角度是兩個點中較小的一個。接下來,點對按照他們的角度降序排序,我們嘗試刪除排列中的每個點對。如果刪除操作之後多邊形區域與原始區域的面積比大於0.93,則刪除該點對。否則,操作停止,剩餘的點用於文本區域表示的訓練。
在TotalText中的文本區域是通過自適應的點數來標記的,但是這些點不是對點。對於標有偶數個點的文本區域,可以很容易的將它們成對分組。但是對於標有奇數點數的文本區域,首先找到開始的兩個點和最後的兩個點,然後根據它們到邊界七點的距離找到剩餘點的對應點。
本文方法的結果是用一個訓練模型在單尺度輸入圖像中獲得的。因爲測試圖像的尺度對檢測結果有很大影響,例如FOTS對不用的數據集使用不同的尺度,我們也對不同的測試集使用不同的尺度以獲得最好的表現。在我們的試驗中,ICDAR2013的尺度是 ,ICDAR2015的尺度是 ,其他數據集的尺度都是 。
本文方法實在Caffe上實現的,在 Nvidai P40 GPU上完成實驗。
4.3 消融研究
本文方法使用的主幹網絡是 SE-VGG16,其他先進的方法使用的是VGG16。爲了驗證主幹網絡的優點,我們用不同的主幹網絡(SE-VGG16和VGG16)在CTW1500數據集和ICDAR2015數據集上做了測試,如表2。結果顯示SE-VGG16是比VGG16好的,在兩個數據集上都有好的表現。
同時,本文對於不規則形狀的文本還提出了自適應文本區域表示。爲了驗證它的優點,我們在數據集CTW1500上添加了一個文本區域表示的消融研究。作爲對比,直接使用14個點固定文本區域表示作爲實驗的迴歸目標。表3顯示了在數據集CTW1500上的不同區域表示方法的實驗結果。使用自適應表示方法的Recall比固定表示的 Recall高出很多($80.2% ; vs ;76.4% $)。證明了,自適應文本區域表示更適合不規則形狀的文本。
4.4 與最新技術的比較
爲了顯示所提出方法對不同形狀文本的性能,我們在幾個基準中進行測試。我們首先將其性能與數據集CTW1500和TotalText上的最新技術進行比較(包含具有挑戰性的多向和彎曲文本)。然後我們比較兩種最廣泛使用的基準測試方法:ICDAR20113 和 ICDAR2015。最後我們在數據集MSRA-TD500上進行了比較,包含長直文本行和多語言文本(中英)。
表4和表5分別是在數據集 CTW 1500和TotalText上的本文方法和最新方法的比較。在CTW1500上,本文方法是比其他的方法(包括彎曲文本的方法CTD,CTD+TLOC和TextSnake)更好。同時,在數據集TotalText上,也實現了更好的性能(Hmean: 78.5%)。在兩個包含挑戰性的多向和彎取文本數據集上的表現說明了本文方法可以檢測任意形狀的場景文本。
表6顯示了在數據集ICDAR2013上的實驗結果。該方法實現了與Mask Textspotter相同的最佳性能,其中Hmean均爲91.7%。由於所提出的方法是在單一模型的單一尺度輸入圖像上進行測試的,因此這裏僅使用在這種情況下生成的結果。他的結果表明,所提出的方法也可以很好地處理水平文本。
表7顯示了ICDAR 2015數據集的實驗結果,所提出的方法達到了第二好的性能,僅略低於FOTS(Hmean:87.6%vs 88.0%)。雖然FOTS通過結合文本檢測和識別進行端到端訓練,但是所提出的方法僅針對文本檢測進行訓練,這比FOTS更容易訓練。本文采用單模型單尺度輸入圖像獲取測試結果。結果表明,該方法與現有技術具有可比性,可以很好地處理多向文本。
表8顯示了在MSRA-TD500數據集的結果,表明我們的檢測方法可以很好地支持長直文本行檢測和中文+英文檢測。 它實現了83.6%的Hmean並且優於所有其他方法。
4.5 速度
將所提出方法的速度與表9中所示的兩種其他方法進行比較,這些方法都能夠處理任意形狀的場景文本。 從結果中我們可以看出,所提方法的速度比其他兩種方法快得多。因爲在Mask Textspotter和TextSnake中需要像素預測,但在所提出的方法中不需要它,所以本文方法會有較少的計算。
4.6 定性結果
圖6顯示了在CTW1500,TotalText,ICDAR2013,ICDAR2015和MSRA-TD500的定性結果。 它表明,所提出的方法可以處理任意定向或彎曲的各種文本,不同的語言,不均勻的照明和在單詞級別或句子級別的不同文本長度。
5. 結論
在本文中,我們提出了一種具有自適應文本區域表示的魯棒的任意形狀場景文本檢測方法。 在使用文本RPN的text proposal之後,使用RNN來驗證和細化每個文本區域以預測邊界點的自適應數量。 對五個基準測試的實驗表明,該方法不僅可以檢測水平和定向場景文本,而且可以很好地適用於任意形狀的場景文本。特別是,它在CTW1500和MSRA-TD500上顯著優於現有方法,分別是曲線文本和多向文本的典型。
將來,可以在幾個方面改進所提出的方法。 首先,可以通過使用角點檢測來改善任意形狀場景文本檢測。 這將需要更容易的標註來訓練圖像。 其次,爲了實現文本識別的最終目標,將考慮對任意形狀場景文本進行端到端文本識別。