文章指出,最近,基於深度神經網路的模型已經主導了場景文字檢測和識別領域。在該文中,研究了場景“text spotting”的問題,其旨在自然影像中同時進行文字檢測和識別。
該文受到Mask R-CNN的啟發提出了一種用於場景text spotting的可端到端訓練的神經網路模型:Mask TextSpotter。與以前使用端到端可訓練深度神經網路完成text spotting的方法不同,Mask TextSpotter利用簡單且平滑的端到端學習過程,透過語義分割獲得精確的文字檢測和識別。此外,它在處理不規則形狀的文字例項(例如,彎曲文字)方面優於之前的方法。
在 ICDAR2013、ICDAR2015和Total-Text資料庫上的實驗表明,所提出的方法在場景文字檢測和端到端文字識別任務中都達到了state-of-the-art的水平。
彎曲形狀文字檢測與識別的例子:
左圖是水平text spotting方法的結果,它的檢測框是水平的;中間圖是具有方向的text spotting方法的結果,它的檢測框傾斜;右圖是該文提出的Mask TextSpotter演算法的結果,它的檢測框不是外接矩形而是一個最小外接多邊形,對這種彎曲文字達到了更精確的文字檢測和識別。
網路架構
網路架構由四部分組成,骨幹網feature pyramid network (FPN) ,文字候選區域生成網路region proposal network (RPN) ,文字包圍盒迴歸網路Fast R-CNN ,文字例項分割與字元分割網路mask branch。
訓練階段
RPN首先生成大量的文字候選區域,然後這些候選區域的RoI特徵被送入Fast R-CNN branch和mask branch,由它們去分別生成精確的文字候選包圍盒(text candidate boxes)、文字例項分割圖(text instance segmentation maps)、字元分割圖(character segmentation maps)。
尤其值得一提的是Mask Branch,如下圖:
它將輸入的RoI(固定大小16*64)經過4層卷積層和1層反摺積層,生成38通道的圖(大小32*128),包括一個全域性文字例項圖——它給出了文字區域的精確定位,無論文字排列的形狀如何它都能分割出來,還包括36個字元圖(對應於字元0~9,A~Z),一個字元背景圖(排除字元後的的所有背景區域),在後處理階段字元背景圖會被用到。
這是一個多工模型,其Loss 組成:
推理階段
推理階段mask branch的輸入RoIs來自於Fast R-CNN的輸出。
推理的過程如下:首先輸入一幅測試影像,透過Fast R-CNN獲取候選文字區域,然後透過NMS(非極大抑制)過濾掉冗餘的候選區域,剩下的候選區域resize後送入mask branch,得到全域性文字例項圖,和字元圖。透過計算全域性文字例項圖的輪廓可以直接得到包圍文字的多邊形,透過在字元圖上使用提出的pixel voting方法生成字元序列。
如上圖所示,Pixel voting 方法根據字元背景圖中每一個聯通區域,計算每一字元層相應區域的平均字元機率,即得到了識別的結果。
為了在識別出來的字元序列中找到最佳匹配單詞,作者在編輯距離(Edit Distance)基礎上發明了加權編輯距離(Weighted Edit Distance)。
識別結果示例:
ICDAR2013的結果
該庫主要用來驗證在水平文字上的識別效果。
ICDAR2015的結果
用來驗證方向變化的文字的結果。
Total-Text結果
驗證彎曲的文字檢測識別結果。
彎曲文字識別示例
速度
在Titan Xp 顯示卡上,720*1280的影像,速度可以達到6.9FPS。
效果分析
作者透過進一步的實驗分析,發現:如果去除字元圖子網路,只訓練檢測模型,檢測的效能會下降,說明檢測可以受益於識別模組。下圖中Ours(det only)為只有檢測的模型。
如果去除訓練樣本中的真實世界字元標註影像,模型依然可以達到相當競爭力的效能。下圖中Ours(a)即不使用真實世界字元標註影像的訓練結果。
透過加權編輯距離(weighted edit distance)和原始編輯距離的比較,發現,加權編輯距離可以明顯提高識別效能。下圖中Ours(b)為原始編輯距離的結果。
該文將Mask R-CNN語義分割的方法用於文字檢測與識別,取得了顯著的效能改進,並能成功應對任意形狀的文字,其他語義分割方法是否也能拿來試一下呢?
該文目前還沒有開原始碼。
論文地址:
https://arxiv.org/abs/1807.02242
白翔老師主頁:
http://cloud.eic.hust.edu.cn:8071/~xbai/