LOMO阅读笔记
Look More Than Once:一個準確的任意形狀文本檢測器
受限于CNNs的感受野和矩形或四邊形邊框的簡單表示形式,先前的方法在處理長文本和彎曲文本時表現效果不好。為了解決這兩個問題,提出了一種新的文本檢測器LOMO,多次逐步定位文本。
LOMO由三個部分組成:一個直接檢測器DR,一個迭代優化模塊IRM,一個形狀表示模塊SEM。首先,由DR分支生成一個四邊形的文本建議。接下來,IRM基于初步的建議通過迭代優化逐步感知整個長文本。最后,SEM用于重建不規則文本更精確的表示通過考慮文本實例的幾何屬性,包括文本區域,文本中心線和邊界偏移。在ICDAR2017-RCTW,SCUT-CTW1500,Total-Text,ICDAR2015和ICDAR17-MLT達到了state-of-the-art證明了LOMO的魯棒性和有效性。
當檢測長文本時,先前的檢測方法如EAST,Deep Regression不能給出一個完整的邊界框,因為整個文本實例的大小遠超過文本檢測其的感受野,CNN不能編碼充足的信息來捕捉長距離的依賴。主流的單步檢測器通過一次感知定位文本,與人類視覺系統不同。對于長文本實例,人類通常一次看一部分,多次看完整行文本。
除此之外,大部分方法對文本實例采取了簡單的表示,如矩形,旋轉矩形或四邊形,在面對彎曲文本時會失敗。簡單的文本表示會覆蓋很多非文本區域,不利于后續的識別。一個靈活的檢測器可以顯著提高文本檢測的質量。
為了解決這兩個問題,在單步檢測器DR的基礎上提出了迭代模塊IRM和形狀表示模塊SEM,可以end-to-end訓練。對于長文本實例,DR生成文本建議框,IRM通過一次或多次回歸坐標偏移使其貼近ground truth。依賴于位置attention機制,IRM注意這些位置,改善proposal使其更接近整體標注。IRM細節在3.3。對于不規則文本,靈感來源于Mask R-CNN和TextSnake,SEM模塊回歸了文本實例的幾何特征,如文本區域,文本中心線和相應的邊框偏移量。SEM通過這些屬性重建一個更精確的多邊形表示。SEM模塊在3.4節描述,可以有效的擬合任意形狀的文本。
相關工作:
基于連通的方法:檢測獨立地文本片段或字符,通過后處理步驟將其組成為單詞。CTPN采取了Faster R-CNN的架構,生成密集緊湊的文本分支。在linking segments中,場景文本被分解成兩個檢測元素分別為分段和連接,link可以表示相鄰的部分是否應該連接在一起屬于一個單詞。WordSup和Wetext提出了兩種步同的弱監督學習方法用于字符檢測器,可以減輕沒有字符級注釋訓練的難度。Liu將圖片轉換成一個隨機流圖,在上面執行Markov簇以預測實例級的bounding boxes。然而這些方法由于階段性的文本或行生成,在面對復雜背景時并不健壯。
基于檢測的方法:通常采取了主流文本檢測架構,在單詞或行級別注釋下建模。TextBoxes和RRD調整了SSD的anchor比例以解決不同長款比的文本。RRPN提出了一個旋轉區域建議以覆蓋多方向的文本。然而EAST和Deep Regression直接在像素方式檢測單詞的四邊形,并未使用anchors和proposals。end to end設計可以極大利用字符級注釋。由于長寬比的差異,和CNN感受野的限制,無法有效檢測長文本。
基于分割的方法:主要從語義分割方法中提取靈感,將文本邊框內的區域視為正區域。這些方法的優勢是可以提取任意形狀的文本。Zhang首先使用FCN提取文本框,然后利用MSERs搜索文本行。為了更好的區分調整文本實例[35]將像素分為三類:非文本,文本邊界,和文本。TextSnake和PSENet提出了一個新穎的熱度圖,叫做文本中心線圖以區分文本實例。這些方法基于無需建議框的實例分割,表現受分割結果的魯棒性影響。
本文中的方法吸取了基于檢測和分割方法的有點。IRM模塊處理長文本,SEM靈感來源于Mask R-CNN。
方法:
網絡架構可以分成四個部分:首先,提取用于DR,IRM,SEM三個分支的共享特征圖,backbone網絡是ResNet50和FPN。ResNet特征圖的stage2,3,4,5被有效融合,共享的特征圖尺寸是1/4原圖像,通道數為128。采取了一個類似于EAST和Deep Regression的直接回歸網絡作為DR分支。IRM網絡迭代改善輸入的proposals從DR的輸出中或它自己以使其貼近ground-truth邊框。根據不同的情境可迭代一次或多次。最后為了獲得緊湊的表示,尤其對于不規則文本,SEM學習幾何形狀中心線和邊界偏移。
3.2直接回歸器
靈感來源于EAST,一個全卷積子網絡用于文本直接回歸。基于共享的特征圖,一個密度預測通道預測文本或非文本以表示像素的文本置信度。類似于EAST,縮小區域的文本像素被認為是正的。對于每一個正樣本,8個通道預測包含該像素的四個角點的偏移。DR包括兩個loss,text/non-text classifiaction loss 和location regeression term loss。
我們將文本/非文本分類視為一個在1/4降采樣的得分圖上的分割問題,使用了一個尺度無關的Lcls,w是一個2D的權重圖,正位置的值由一個常數l除以四邊形短邊的值得到,負位置的值設為1,在實驗中設置l為64。
用平滑L1 loss優化位置回歸部分Lloc,lamda設置為0.01作為平衡系數。
3.3迭代改善模塊IRM
IRM模塊的設計靈感來源于Faster R-CNN,只繼承了bounding box regression任務。然而,我們使用RoI transform layer代替RoI pooling layer或RoI align layerl來提取輸入文本四邊形的特征塊。相比于后兩種,前者可以保持橫縱比不變的提取四邊形區域的特征塊。此外,同一個四邊形靠近角點的區域可以在同一感受野內更準確的感受到邊界信息。因此,一個角點注意力機制用于回歸每一個角點的坐標偏移。如圖3所示,一個文本四邊形,將其和共享特征圖送入RoI transform layer,獲得一個1 x 18 x 64 x 128的特征塊。接下來,三個3 x 3卷積層用于提取
豐富的文本信息。接下來我們使用1 x 1的卷積層和一個sigmoid層自東學習四個角點的attention map。每一個角點的attention map表示貢獻權重以支持相應的偏移回歸。使用feature map和attention map,四個角點的回歸特征可以通過公式提取。四個頭(每個頭包括兩個1 x 1的卷積層)用于預測四個角點的offset在輸入四邊形和groundtruth之間,基于角點回歸特征。
3.4形狀表達網絡:
四邊形的文本表示難以準確描述不規則的文本實例。從Mask R-CNN中獲得靈感,我們提出了基于建議的形狀表達模塊SEM來解決這個問題。SEM是一個全卷積神經網絡在RoI transform layer之后。在SEM中回歸文本區域,文本中心線和邊框偏移量(中心線和上下邊界之間的偏移量)。
Text region是一個二值mask,前景為1,背景為0。文本中心線也是一個二值mask基于側邊縮小版的文本多邊形注釋。border offsets是4個通道圖,在文本圖的相應位置上積極響應有較大的值。對于圖4(a)我們畫一條線垂直于他的切線,這條發現與上下邊界相交于兩個邊界點。對于每一個red point,4個border offsets由計算他們之間的距離獲得。SEM的架構如圖4.兩個卷積層在RoI transform layer之后,接下來使用一個具有6個輸出通道的1x1卷積層回歸所有的文本屬性圖,目標函數包含三個loss。
文本多邊形生成:我們提出了一種靈活的文本多邊形生成策略生成任意形狀的文本如圖4所示。策略包含三個步驟:文本中心線采樣,邊界點生成和多邊形打分。首先在文本中心采樣,從左到右在預測的中心線上等距離采樣n個。根據CTW1500,設置7。四邊形的時候設置為2。然后,我們基于采樣的中心點決定邊界點,考慮到在同位置提供的四個邊界圖信息。即得到7個上邊界點和7個下邊界點。通過連接所有邊界點,我們可以獲得一個完整的文本四邊形。最后我們計算四邊形區域內的平均響應值作為新的置信得分。
訓練和推斷:
訓練包括兩個階段: 準備階段和微調階段。在準備階段,我們使用合成數據集訓練DR分支10個epochs。可以生成具有high-recall的建議框,以覆蓋大多數真實的文本實例。在微調階段,在真實數據集上我們微調了全部三個分支10個epochs。IRM和SEM都使用由DR分支生成的相同的proposals。NMS用于保持top K個proposals。因為DR一開始表現不好,影響IRM和SEM分支,我們使用隨機分布的GT文本邊框取代50%的top K個proposals。在訓練階段IRM只執行一次。
在推理階段:DR首先生成score map和四邊形的幾何map。使用NMS獲取最初的proposals。接下來proposals和共享特征圖被送入IRM多次迭代。改善后的proposals和共享特征圖被送入SEM生成精確的文本多邊形和置信分數,一個閾值s消除低置信度的多邊形,設置s為0.1。
實現細節:
在準備階段使用adam優化器訓練模型,學習率為10^-4,衰減速率為0.94。在微調階段,學習率重置。所有數據集隨機裁剪文本區域,重置到512 x 512。隨機旋轉四個方向。所有的實驗在一個工作站上執行。在訓練階段batch為8在4個GPU上,一個GPU生成的proposals設置為24.在推理階段batchsize為1在一個GPU上。
總結
- 上一篇: 数字图像处理与Python实现-颜色空间
- 下一篇: 颜色模型和颜色应用---YIQ颜色模型