CVPR2020論文解讀:OCR場景文本識別
ABCNet: Real-time Scene Text Spotting with Adaptive Bezier-Curve Network∗
論文鏈接:https://arxiv.org/pdf/2002.10200.pdf
摘要
場景文本的檢測與識別越來越受到人們的關注。現有的方法大致可以分為兩類:基於字符的方法和基於分割的方法。這些方法要么代價高昂,要么需要維護復雜的管道,這通常不適合實時應用。在這里,我們提出了自適應貝塞爾曲線網絡(ABCNet)來解決這個問題。我們的貢獻有三點:
1) 第一次,我們通過參數化的貝塞爾曲線自適應地處理任意形狀的文本。
2) 我們設計了一個新的bezierallign層,用於提取任意形狀文本實例的精確卷積特征,與以前的方法相比,顯著提高了精度。
3) 與標准包圍盒檢測方法相比,我們的Bezier曲線檢測方法的計算開銷可以忽略不計,從而使我們的方法在效率和精度上都具有優勢。在任意形狀的基准數據集total Text和CTW1500上的實驗表明,ABCNet達到了最新的精度,同時顯著提高了速度。特別是,在全文本上,我們的實時版本比最新的狀態識別方法快10倍以上,具有競爭性的識別精度。
1. Introduction
我們的主要貢獻總結如下。
•為了精確定位圖像中的定向和彎曲場景文本,我們首次引入了一種新的使用貝塞爾曲線的彎曲場景文本的簡明參數化表示。與標准的邊界框表示相比,它引入了可忽略的計算開銷。
•我們提出了一種采樣方法,即a.k.a.Bezier對齊,用於精確的特征對齊,因此識別分支可以自然地連接到整個結構。通過共享主干特征,識別分支可以設計成輕量級結構。
•我們方法的簡單性允許它實時進行推理。ABCNet在Total Text和CTW1500這兩個具有挑戰性的數據集上實現了最先進的性能,展示了在效率和效率方面的優勢。
1.1. Related Work
我們將幾種具有代表性的基於深度學習的場景文本識別方法歸納為以下兩類。圖2顯示了典型作品的概述。
Regular End-to-end Scene Text Spotting
Arbitrarily-shaped End-to-end Scene Text Spotting
2. Adaptive Bezier Curve Network (ABCNet)
ABCNet是一個端到端的可訓練框架,用於識別任意形狀的場景文本。直觀的管道如圖3所示。受[47,37,12]的啟發,我們采用了單點無錨卷積神經網絡作為檢測框架。移除錨定箱可以簡化我們任務的檢測。該算法在檢測頭輸出特征圖上進行密集預測,檢測頭由4個步長為1、填充為1、3×3核的疊層卷積層構成。接下來,我們分兩部分介紹擬議的ABCNet的關鍵組成部分:
1) 貝塞爾曲線檢測
2) bezierralign和識別分支。
2.1. Bezier Curve Detection
Bezier曲線表示參數曲線c(t),它使用Bernstein多項式[29]作為其基礎。定義如等式(1)所示。
式中,n表示度數,bi表示第i個控制點,
表示伯恩斯坦基多項式,如式(2)所示:
其中
是二項式系數。為了用貝塞爾曲線確定文本的任意形狀,我們從現有的數據集中全面地觀察任意形狀的場景文本。在現實世界中,我們通過經驗證明,三次貝塞爾曲線(即n為3)在實踐中對不同類型的任意形狀的場景文本是足夠的。三次貝塞爾曲線如圖4所示。
2.1.1 Bezier Ground Truth Generation
在本節中,我們將簡要介紹如何基於原始注釋生成貝塞爾曲線地面真值。任意形狀的數據集,例如Total text[5]和CTW1500[26],對文本區域使用多邊形注釋。給定曲線邊界上的注記點
,其中pi表示第i個注記點,主要目標是獲得方程(1)中三次Bezier曲線sc(t)的最佳參數。為此,我們可以簡單地應用標准最小二乘法,如等式(4)所示:
這里m表示曲線邊界的注釋點數量。對於total-text和ctw1500,m分別為5和7。t是通過使用累積長度與多段線周長的比率來計算的。根據方程(1)和方程(4),我們將原始的多段線注釋轉換為參數化的貝塞爾曲線。注意,我們直接使用第一個和最后一個注釋點分別作為第一個(b0)和最后一個(b4)控制點。可視化比較如圖5所示,其結果表明,生成的結果在視覺上甚至比原始地面真實性更好。此外,基於結構化的Bezier曲線邊界框,我們可以很容易地使用第2.2節中描述的Bezier對齊將曲線文本扭曲成水平格式,而不會產生明顯的變形。貝塞爾曲線生成結果的更多示例如圖6所示。我們方法的簡單性允許它在實踐中推廣到不同類型的文本。
2.1.2 Bezier Curve Synthetic Dataset
對於端到端的場景文本識別方法,總是需要大量的自由合成數據,如表2所示。然而,現有的800k SynText數據集[7]只為大多數直文本提供四邊形邊界框。為了豐富和豐富任意形狀的場景文本,我們嘗試用VGG合成方法合成了150k個合成數據集(94723個圖像包含大部分直線文本,54327個圖像包含大部分曲線文本)。特別地,我們從COCO文本[39]中過濾出40k個無文本背景圖像,然后用[32]和[17]准備每個背景圖像的分割遮罩和場景深度,用於以下文本渲染。為了擴大合成文本的形狀多樣性,我們對VGG合成方法進行了改進,將場景文本與各種藝術字體和語料庫合成,並對所有文本實例生成多邊形標注。然后使用注釋通過第2.1.1節中描述的生成方法生成貝塞爾曲線地面真值。綜合數據的示例如圖8所示。
2.2. Bezier Align
形式化地給出輸入特征映射和Bezier曲線控制點,同時處理hout×wout大小的矩形輸出特征映射的所有輸出像素。以具有位置(giw,gih)的像素gi(來自輸出的特征圖)為例,通過公式(5)計算t:
然后用t和方程(1)計算上Bezier曲線的邊界點tp和下Bezier曲線的邊界點bp。利用tp和bp,我們可以通過方程(6)對采樣點op進行線性索引:
利用op的位置,我們可以很容易地應用雙線性插值來計算結果。以前的采樣方法和Bezier Align之間的比較如圖7所示。
3. Experiments
我們對最近引入的兩個任意形狀的場景文本基准Total text[3]和CTW1500[26]進行了評估,這兩個基准還包含大量的純文本。我們還對全文進行了消融研究,以驗證我們提出的方法的有效性。
消融研究:Bezierralign。
為了評價所提出的成分的有效性,我們對這個數據集進行了消融研究。我們首先對取樣點的數量如何影響端到端結果進行敏感性分析,如表4所示。從結果中我們可以看出,采樣點的數量可以顯著影響最終的性能和效率。我們發現(7,32)在F-measure和FPS之間實現了最佳的權衡,這在下面的實驗中用作最終設置。通過與圖7所示的先前采樣方法進行比較,我們進一步評估了Bezierralign。表3所示的結果表明,bezierallign可以顯著改善端到端的結果。定性示例如圖9所示。
消融研究:貝塞爾曲線檢測。
另一個重要的組件是Bezier曲線檢測,它支持任意形狀的場景文本檢測。因此,我們也進行了實驗來評估貝塞爾曲線檢測的時間消耗。表5的結果表明,與標准包圍盒檢測相比,貝塞爾曲線檢測不會引入額外的計算。
與最新技術的比較。我們進一步比較了我們的方法和以前的方法。從表2可以看出,我們的單尺度結果(短尺度為800)可以在達到實時推理速度的同時達到競爭性的性能,從而在速度和單詞准確性之間取得更好的權衡。通過多尺度推理,ABCNet達到了最先進的性能,顯著優於所有以前的方法,特別是在運行時間方面。值得一提的是,我們的快速版本可以比以前的最佳方法[20]快11倍以上,精度相當。
定性結果。ABCNet的一些定性結果如圖10所示。結果表明,該方法能夠准確地檢測和識別大部分任意形狀的文本。此外,我們的方法還可以很好地處理直文本,具有近似四邊形的緊湊包圍盒和正確的識別結果。圖中還顯示了一些錯誤,這些錯誤主要是由於錯誤識別其中一個字符造成的。
由於該數據集中的中文文本所占的比例很小,在訓練過程中我們直接將所有的中文文本視為“看不見的”類,即96級。注意,最后一個類,即第97個類在我們的實現中是“EOF”。我們遵循與[43]相同的評估標准。實驗結果如表6所示,這表明在端到端的場景文本識別方面,ABCNet可以顯著地超過現有的技術方法。這個數據集的示例結果如圖11所示。從圖中,我們可以看到一些長文本行實例包含許多單詞,這使得完全匹配單詞的准確性極為困難。
4. Conclusion
我們提出了一種基於Bezier曲線的實時端到端的場景文本識別方法ABCNet。ABCNet利用參數化的Bezier曲線重新構造任意形狀的場景文本,可以用Bezier曲線檢測任意形狀的場景文本,與標准的包圍盒檢測相比,計算量可以忽略不計。有了這樣規則的Bezier曲線包圍盒,我們自然可以通過一個新的bezierralign層連接一個輕量級的識別分支。此外,通過使用我們的Bezier曲線合成數據集和公開可用的數據,在兩個任意形狀的場景文本基准(Total text和CTW1500)上的實驗表明,我們的ABCNet可以達到最先進的性能,這也比以前的方法快得多。