全球計算機視覺三大頂會之一 ECCV 2018 (European Conference on Computer Vision)即將於9月8 -14日在德國慕尼黑拉開帷幕。屆時,曠視首席科學家孫劍博士將帶領團隊遠赴盛會,助力計算機視覺技術的交流與落地。而在此之前,曠視科技將陸續推出 ECCV 2018 接收論文系列解讀。本文是第 3 篇解讀:一個可以檢測和識別任意形狀文字的端到端可訓練神經網路——Mask TextSpotter。
論文名稱:Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes
論文連結:https://arxiv.org/abs/1807.02242
導語
場景文字是機器之眼的檢測與識別矩陣的重要目標之一,是曠視科技的計算機視覺技術長久以來重點關照的四大目標物件(人、臉、車、字)之一,也是機器視覺技術徹底走向成熟和落地必須要攻克的問題之一,其重要性不言而喻,相關研究已有很多,但是場景文字的一些問題依然沒有得到很好的解決,比如針對任意形狀文字的檢測和識別。為此,在 Mask R-CNN 的啟發之下,曠視科技創新性提出一個可實現端到端訓練的新型神經網路——Mask TextSpotter,透過分割文字區域檢測文字,就任意形狀文字的檢測與識別給出了自己的解決方案,並把這一技術推進到全新的高度。這一底層技術的突破,為場景文字檢測和識別的技術體系增加了一個新亮點,有利於最佳化技術體系,加速從技術到產品的轉化,將在文娛、電商、社交網路、直播、地理定位、即時翻譯、智慧零售、無人超市甚至自動駕駛等相關應用領域實現更好更快的落地。
背景
近年來,在計算機視覺領域,場景文字檢測與識別(scene text detection and recognition)研究越發引人注目;神經網路復興與影像資料集大量出現之後,這種情況更甚。場景文字檢測與識別是一種自動、快速獲取自然場景之中文字資訊的方法,支撐出大量實際應用,比如地理定位,即時翻譯,盲人輔助等。
Scene Text Spotting(STS)旨在同時處理自然場景之中文字的檢測與識別,這在之前已有大量相關工作,其中大部分是把文字的檢測與識別分開處理(text detector 與 text recognizer)。這些做法簡單而自然,卻沒能實現檢測與識別各自最優的效能,充分發揮兩者高度相關又互補的關係:一方面,檢測的質量很大程度上決定了識別的精度;另一方面,識別的結果可以提供反饋,有助於降低檢測階段的誤檢率。
設計思想
最近出現了兩個端到端可訓練框架——Li et al. 與 Busta et al. ——用於解決 STS 問題,二者作為檢測與識別互補的統一模型,效能顯著優於之前方法,但是也存在兩個缺陷:
1.兩者無法完全以端到端的方式進行訓練。原因有二:1)文字識別的訓練需要精確的定位,而早期迭代中的定位往往不精確;2)相較於 CNN,LSTM 和 CTC loss 難最佳化。
2.現實世界中文字的形狀多種多樣,兩者只適用於水平(horizontal)或多方向(oriented)文字上,卻未涵蓋曲形(curved)文字。
有鑑於此,本文提出一種新型架構——Mask TextSpotter,可以檢測和識別任意形狀的文字例項。任意形狀是指涵蓋現實世界中多種多樣的文字形式。受到可為物體生成分割 mask 的 Mask R-CNN 的啟發,本文透過分割文字區域檢測文字,從而可以做到檢測任意形狀的文字;不同於Mask R-CNN,本文方法在分割文字區域之外,還預測出字元機率圖,能同時完成任意形狀的場景文字檢測和識別。
另外,不同於先前的一維序列識別方法,本文可在二維空間中藉助語義分割識別文字,解決不規則文字的識別問題。該方法還有一個優勢,即其識別無需精確的定位,因此檢測任務和識別任務可徹底實現端到端訓練,以享有特徵共享和聯合最佳化的好處。
本文在包含水平、多方向、曲形文字的資料集上對該模型進行了有效性評估,結果表明,它在文字檢測任務和端到端文字識別任務上有很大優勢。在 ICDAR2015 資料集單尺度輸入的情況下,該方法在檢測任務上 F-Measure 值為 0.86,在端到端識別任務上,超出當前最優 13.2% − 25.3%。
本論文的貢獻主要有以下 4 個方面:
1)本文提出一種用於 STS 的端到端可訓練模型,可實現簡單而流暢的訓練;
2)該方法可以檢測和識別任意形狀的文字,包括水平、多方向和曲形文字在內;
3)相較於先前方法,本方法可藉助語義分割實現精確的文字檢測和識別;
4)該方法在多個資料集的文字檢測和 STS 任務中實現了當前最優。
方法
框架
該方法的整體框架如圖 2 所示,其包含 4 個元件:1)特徵金字塔網路(FPN)用作 backbone,2)RPN 網路生成文字 proposals,3)Fast R-CNN 迴歸邊界框,4)Mask Branch 用於文字例項分割和字元分割。
在訓練階段,RPN 首先生成大量的文字 proposals,接著其 RoI 特徵饋送至 Fast R-CNN 和 Mask Branch 以生成精確的文字候選框,文字例項分割圖和字元分割圖。
圖 2:Mask TextSpotter 圖示。
本文的創新點在於 Mask Branch,它有 2 個任務:全域性文字例項分割和字元分割。如圖 3 所示,給定一個輸入的 RoI,大小為 16 * 64,經過 4 個卷積層和 1 個反摺積層之後,Mask Branch 共預測 38 個圖(大小為 32 * 128),其中包括 1 個全域性文字例項圖,36 個字元圖(0-9,a-z)和 1 個字元背景圖。
全域性文字例項圖可以給出文字區域的精確定位,而不受例項形狀的影響。字元圖共有 36 個通道,代表著有 26 個字母和 10 個阿拉伯數字。字元背景圖包含著字元位置資訊,可以為字元識別提供幫助。
圖 3:Mask Branch 圖示。
最佳化
該模型使用多工的損失函式最佳化:L = L_rpn + α1 L_rcnn + α2 L_mask,其中 L_mask = L_global + β L_char。α1,α2,β 預設為 1.0。
文字例項分割任務的輸出是 1 張圖,其損失函式 L_global 是一個平均二值交叉熵函式,可表示為:
字元分割任務的輸出是 37 張圖,並對應於 37 個類別,其損失函式 L_char 是一個加權空間 softmax 函式,可表示為:
其中權重 W 被用來均衡正(字元類)負(背景)樣本。
測試
在訓練階段,Mask Branch 的輸入 RoI 來自 RPN;在測試階段,由於 Fast R-CNN 的輸出更為精準,因此使用 Fast R-CNN 的輸出作為 proposals 以生成預測的全域性圖和字元圖。
具體而言,測試過程如下:首先,輸入一張測試影像,獲得 Fast R-CNN 輸出,並由 NMS 過濾掉多餘的候選框;接著,把保留的 proposals 輸入至 Mask Branch 生成全域性圖和字元圖;最後,透過在全域性圖上計算文字區域的輪廓直接獲取預測的多邊形,字元序列可在字元圖上由本文提出的 pixel voting 演算法生成。
圖 5:pixle voting 演算法圖示。左:已預測的字元圖;右:對於每個連通區域的區域,透過平均每個相鄰區域的機率值計算每個字元的分值。
實驗
為評估本文方法的有效性,進行了一系列實驗,並在公開資料集上與當前最優方法作了對比,主要有:水平文字資料集 ICDAR2013;多方向文字資料集 ICDAR2015 ;曲形文字資料集 Total-Text。
圖 7: ICDAR2013(左)ICDAR2015(中)Total-Text(右)結果的視覺化。
水平文字
本文在 ICDAR2013 上評估了 Mask TextSpotter 在檢測和識別水平文字方面的有效性。本文把所有影像的較短邊重設為 1000,並線上評估結果。
表 1:ICDAR2013 STS 結果。“S”, “W” 和 “G” 分別表示使用對應的不同規模的字典。
多方向文字
本文在 ICDAR2015 上評估了 Mask TextSpotter 在檢測和識別多方向文字方面的有效性。
表 2:ICDAR2015 STS 結果。“S”, “W” 和 “G” 分別表示使用對應的不同規模的字典。
表 3:ICDAR2013 和 ICDAR2015 檢測結果。
曲形文字
相比其他方法,具備檢測和識別曲形文字的能力是本文方法的一個巨大優勢,Total-Text 實驗證實了該方法的魯棒性。
表 4:Total-Text 結果。“None” 表示沒有字典的識別。“Full” 表示包含字典的識別。
結論
本文提出了 Mask TextSpotter,以統一網路的形式檢測和識別場景文字,並實現了徹底的端到端訓練。相較於先前方法,Mask TextSpotter 易於訓練,還可以檢測和識別不規則文字(比如,曲形文字)。在多個型別(水平、多方向、曲形)的資料集上的優異表現證實了該方法在文字檢測和端到端文字識別方面的有效性和魯棒性。
參考文獻
[1] Jaderberg M, Simonyan K, Vedaldi A, et al. Reading text in the wild with convolutional neural networks[J]. International Journal of Computer Vision, 2016, 116(1): 1-20.
[2] Liao M, Shi B, Bai X, et al. TextBoxes: A Fast Text Detector with a Single Deep Neural Network[C]//AAAI. 2017: 4161-4167.
[3] Liao M, Shi B, Bai X. Textboxes++: A single-shot oriented scene text detector[J]. IEEE Transactions on Image Processing, 2018, 27(8): 3676-3690.
[4] He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Computer Vision (ICCV), 2017 IEEE International Conference on. IEEE, 2017: 2980-2988.
[5] Li, H., Wang, P., Shen, C.: Towards end-to-end text spotting with convolutional recurrent neural networks. In: Proc. ICCV. (2017) 5248–5256
[6] Busta, M., Neumann, L., Matas, J.: Deep textspotter: An end-to-end trainable scene text localization and recognition framework. In: Proc. ICCV. (2017) 2223–2231