陳小順,王良君
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮江212013)
視覺圖像是人們獲取外界信息的主要來源,文本則是對事物的一種凝練描述,人通過眼睛捕獲文本獲取信息,機器設備的眼睛則是冰冷的攝像頭。 如何讓機器設備從拍照獲取的圖像中準確檢測識別文本信息逐漸為各界學者關注。
現代文本檢測方法多為基于深度學習的方法,主要分為基于候選框和基于像素分割的兩種形式。本文選擇基于像素分割的深度學習模型作為文本檢測識別的主要研究方向,能夠同時滿足對自然場景文本的精確檢測,又能保證后續設備功能(如語義分析等功能)的拓展。
PixelLink[1]算法訓練FCN[2]預測兩種分類:文本與非文本像素、像素間連接關系。 數據集中的文本框內像素整體作為文本像素,其他為非文本像素。與九宮格類似,每個像素的周圍有8 個相鄰的像素,對應有8 種連接關系。 文本與非文本像素之間的值為負,文本與文本像素之間的值為正,非文本像素之間的值為零。 將值為正的像素與相鄰8 個像素之間的連接關系連通成一片分區,每個連通區則代表分割出的文本區。 最后通過OpenCV中的minAreaRect 方法直接得到文本區的最小外接矩形邊界框。
改進后網絡模型如圖1 所示,通過Mask map 連接。在原有VGG16[3]網絡模型每個池化層后增加圖2 中SE Block[4]以獲取每個特征通道的權重,提升有用特征并抑制低效特征通道。

圖1 Mask map 生成

圖2 SE Block
與FCN 中方法相似,從Conv3、Conv4、Conv5、Fc7 層進行上采樣UpSampled 與融合⊕,使用雙線性插值作為上采樣方法,使用加和操作作為融合方法,得到預測特征圖Mask map,過程如圖1 所示。 除Pool5 步長為1,其余池化層步長都為2。其中Fc7 與Conv5 大小一致,可不經過上采樣直接相加。
模型中1×1 的卷積核共兩種,其中2 個1×1 的卷積核用于文本和非文本像素預測,16 個1×1 的卷積核用于像素連接關系預測。
圖2 為插入PixelLink 方法中的SE Block,輸入特征圖與計算后輸出尺度不變。
坐標點可以看做是序列問題[5],對Mask map 圖中生成的矩形框區域進行邊界框預測,每次預測一對坐標點,直至矩形框邊界。 有隱性約束條件,例如第4 個點必須在第2 個點的右邊,后續對特征圖Mask map 進行基于RNN 的自適應文本框預測,采用長短期記憶LSTM[6]模型處理隊列順序問題,最終完成對文本的精確定位。圖3 為文本框預測部分模型結構。

圖3 文本框生成
1.3.1 公開數據集重新標定
自然場景中的文本多用旋轉矩形框和四邊形框定位,坐標通常以順時針方向標注。 本文將坐標點按照上下一對形式從左到右的順序排列,通過此方法將公開數據集的坐標數據進行重新編排。
1.3.2 損失函數定義
改進后算法總體損失函數定義如下:

其中, 文本與非文本分類任務上的損失函數Lpixel和像素連接關系任務的損失函數Llink與原像素連接PixelLink 算法保持一致;邊界點回歸任務損失函數Lreg、停止/繼續標簽分類任務損失函數Lcls為框點對預測中的損失函數;λ1、λ2、λ3、λ4分 別 為 文 本 與 非 文 本 分 類 任 務、像 素 連接關系任務、邊界點回歸任務、停止/繼續標簽分類任務的權重參數,因像素連接關系預測任務、邊界點回歸任務、停止/繼續標簽分類任務都是在第一個文本像素任務基礎上進行計算的,所以像素分類任務比這3 種任務更重要,本實施例中λ1=2,λ2、λ3、λ4默認設置為1。


1.3.3 訓練方法與實驗環境
與Pixellink 方法相似,使用xavier 參數[7]初始化方法,無需使用ImageNet 數據集[8]預訓練。 算法在服務器中用兩張TeslaP4 顯卡進行訓練,使用Anaconda+PyCharm管理,環境及依賴:tensorflow-gpu==1.14,ujson,threadpool,opencv,matplotlib,Pillow,Cython,setproctitle,shapely,Python3.6。 初始100 次迭代中保持學習速率為10-3,后續迭代中保持10-2不變,在ICDAR2015 數據集上整體迭代約30 000 次后再將模型訓練結果作為預訓練值,在其他數據集上進行訓練。 其中batch_size 設定為4,處理器為Intel Xeon Sliver(2.1 GHz),機器內存為40 GB。 每次迭代需要0.8 s 左右,總訓練過程約為15 h。
本文主要評價方法為IOU 算法,表1 中R 為召回率,P 為精準率,F 為綜合評價,* 表示算法是基于分割的檢測方法,其他為基于候選框的檢測方法。 測試結果表明本文所改進的方法在各個數據集上均超過原有方法。在對曲向文本的識別方法中領先,并且在水平文本和傾斜文本檢測中能夠接近基于候選框檢測方法的檢測精度。
為測試文本檢測方法在實際生活應用中的檢測效果,使用OV5648USB 攝像頭模塊累計拍攝300 張不同場景下圖像作為測試圖像,原圖分辨率大小為:2 592×1 944。如圖4 所示,為突出顯示檢測結果,截取主要定位部分,圖像中的中文部分以中文詞語作為一條文本行,英文以短語作為一條文本行。 共計2 506 條文本,其中1 964 條中文文本(包含數字),542 條英文文本。

表1 公開數據集測試結果

圖4 自建數據集檢測結果
深色框為改進前方法的定位結果,淺色框為改進后的方法定位結果,右圖為對應的像素分割后的檢測結果。 從特征圖中可以看出,本文方法對長條形的英文檢測敏感,能夠有效檢測出長條形的英文,對曲向的英文有著不錯的識別能力。 在對圖像進行檢時,平均每張檢測速度為0.89 s,即FPS=1.12,R=72.9,P=70.0,F=71.4。
本文提出改進的文本檢測方法在數據集表現上均超過原有方法,接近當前領先的算法精度,能夠提高已有文本識別系統對自然場景下曲向文本與模糊文本的識別精度。 后續結合自然語言處理和語義分割任務,又可以將所識別的文本內容、文本背景內容組合生成關于一張圖片中文本的具體描述內容,使得使用者獲取更多的文本信息。