齊秀芳,吳 陳
(江蘇科技大學計算機學院,江蘇鎮江 212100)
隨著計算機技術的快速發展,機器對圖像中文本的識別能力不斷提高,因而使機器識別圖像文本相關技術得以應用于日常生活中,幫助人們改善生活。例如,車牌識別系統可自動識別車輛車牌。在自動駕駛研究方面,攝像頭拍攝得到交通指示牌、路標、商店名字等文字信息,通過識別能夠很好地引導車輛正確移動。另外對于圖像的搜索、分類、推薦等相關應用,也可利用文字識別技術達到更加準確的效果。
近年來,自然場景中的文本識別問題引起了眾多研究者關注,并不斷提出一系列有效方法和模型。傳統光學字符識別(Optical Character Recognition,OCR)[1]系統的主要功能是從掃描文檔中提取字符文本,首先對識別圖像進行預處理,再對識別圖像進行二值化處理,然后通過檢測字符輪廓和邊緣得到每個字符的位置,并進行字符分割,最后將分割后的單個字符圖像識別結果鏈接起來得到最終結果[2]。盡管OCR 已經成熟,但場景文本識別仍然是一個具有挑戰性的問題。因此,針對自然場景中文本噪聲和模糊的巨大變化,如何將其精確識別出來具有重要的研究意義。
文本識別的本質是對文本檢測結果進行字符的多分類任務。傳統基于單個字符識別的方法采用自底向上的識別流程,通常將整個識別任務劃分為多個子任務[3]。首先基于連通分量[4]或滑動窗口[5-6]從圖像中提取單個字符的候選框,然后通過神經網絡的分類器對候選框進行過濾,識別出過濾后的單個字符候選框。
隨著深度學習的發展,基于深度學習的文本識別方法逐漸成為主流。通常采用三大方法:基于矯正的識別方法、基于注意力機制的識別方法以及基于序列的識別方法。基于矯正的方法首先對彎曲變形的文本進行矯正,然后進行識別。矯正彎曲變形的文本普遍采用的方法是通過STN 網絡[7]和MORN 網絡[8],前者利用TPS 變換矯正文本,依賴于采樣器矯正不規則文本;后者使用弱監督方式訓練學習圖像各部分的偏移量,根據預測的偏移量進行采樣,得到校正后的文本圖像。Shi 等[9]通過STN 校正網絡自適應地將輸入圖像轉換為新圖像,對輸入文本進行校正,其可處理各種彎曲文本,且訓練時不需要人工注釋;Qiao 等[10]提出的基于注意力機制的方法是在編碼識別網絡框架中對序列解碼時每個時刻的輸入賦予不同權重,提取更豐富的上下文信息,從而提高識別性能;Lee 等[11]提出網絡和注意力建模用于無詞匯場景文本識別,該模型首先將輸入圖像通過遞歸卷積層提取編碼后的圖像特征,然后通過帶有隱式學習的字符級語言統計遞歸神經網絡將其解碼為輸出字符。基于序列識別的方法是CNN 與RNN的結合。Shi 等[12]又提出一種神經網絡體系結構,通過CNN 提取特征,以及RNN 的變體BILSTM 提取上下文依賴關系,最后通過CTC 算法獲取識別文本。
針對上述大多數方法對于扭曲變形的文本進行識別時仍然存在著各種問題,本文提出MCID 模型,作出以下改變:首先,由于自然場景中存在大量不規則文本,利用MORN 網絡可以矯正旋轉、縮放和拉伸變形的字符;然后利用雙分支網絡模塊提取圖像特征,分別利用Incep?tionV2[13]和可變卷積[14]代替普通卷積,融合雙分支的圖像特征,使得在特征提取時可自適應文本區域,促使卷積核形態更貼近文本形狀,同時獲取不同的感受域范圍;最后,通過嵌入注意力[15]的雙向門控循環單元[16]給不同序列分配不同權重獲取文本的語義信息,從而有效改善扭曲文本識別率低的問題。
MCID 模型有兩個組成部分,包括文本矯正MORN 網絡與雙分支識別網絡。識別網絡包含3 部分:①特征提取部分,采用雙分支提取特征;②循環網絡層,將提取的雙分支特征融合轉化為特征序列輸入到循環網絡層,可獲取字符序列;③文本識別部分,通過連接主義時態分類CTC 算法,根據預測的字符序列獲取目標場景文本。整體框架如圖1所示。

Fig.1 MCID model圖1 MCID模型
由于自然場景文本存在較多彎曲不規則的文本,若直接將彎曲文本發送到識別網絡進行識別,將增加識別網絡提取圖像特征的難度,因此將彎曲文本輸入到MORN 矯正網絡,如圖2所示。

Fig.2 Text Correction Model圖2 文本矯正模型
MORN 預測圖像中每個部分的偏移量,不受任何幾何約束,并根據預測的偏移量對圖像進行校正。該網絡首先初始化基本的坐標網格(Basic Gird),該坐標網格用來表示像素原始位置。網絡的每個輸入圖像都有自己的像素位置,MORN 基于這些坐標生成偏移網格(Offset Maps)。將每個像素的坐標歸一化為[?1,1],左上角像素坐標為(?1,?1),右下角像素坐標為(1,1),不同通道上相同位置的像素具有相同坐標。與偏移貼圖類似,網格包含兩個通道,分別表示x坐標和y坐標。之后,坐標網格與調整大小的偏移貼圖相加,生成矯正后的圖像坐標(Resized Offset Maps),實現文字矯正。通過上述步驟矯正彎曲文本,從而在后續自然場景文本識別中提升場景文本正確識別的概率。
卷積神經網絡CNN 通常是提取圖像特征較為有效的方法,因此可用來提取場景文本圖像的文字特征。目前常用的文本識別方法大多是基于單個CNN 感受域的,本文設計了一種網絡結構,利用雙分支網絡提取圖像特征。其一通過InceptionV2 代替普通的卷積模塊,使得網絡在增加網絡深度和寬度的同時減少參數,也能獲得網絡不同尺度的特征;其二通過可變卷積代替普通模塊,使得卷積核形態更貼近文本區域。通過融合雙分支特征,將融合后的特征作為雙向GRU 提取上下文信息的輸入,生成目標預測序列,最后通過CTC 算法獲得圖像文本。
文獻[13]提出的InceptionV2 模塊,核心思想是將不同尺度的感受域通過并聯方式鏈接在一起,可對網絡的深度和寬度進行有效擴充,從而解決感受域單一的問題。如圖3 所示,輸入分成了4 個分支,分別用不同尺度的感受域進行卷積或池化,網絡可獲得不同的感受域范圍,特征更為豐富,最后在識別判斷時更加準確。通過InceptionV2 模塊對網絡進行改進,利用改進后的網絡對圖像進行特征提取,使得網絡在同一層可獲取不同尺度的特征。

Fig.3 Inception network圖3 Inception網絡
由于自然場景中存在方向扭曲及變形的文本,不同位置可能對應不同大小或形狀的文本。為解決同一層Con中激活單元感受野相同的問題,利用deform_conv 代替普通卷積,將偏移量offest 添加到規則的網格采樣位置,使卷積核形態能夠自由變形。可變卷積公式如下:

其中,p0表示前一層卷積輸出特征圖任意像素的位置,pn表示經可變卷積輸出的特征圖像素位置,Δpn{0 ≤i,j 其中,p=p0+pn+Δpn表示經過可變卷積層獲取偏移后的float 類型像素位置,q表示枚舉特征圖中的所有積分空間位置,G(?,?)表示雙線性插值方法。 計算方式為g(a,b)=max(0,1 -|a-b|),雙性插值計算速度較快,因為G(p,q)只有極少數的qx是非零的。 具體流程如下: (1)輸入的圖片I大小為(b?H?W?C),經過普通Conv 層后,對應的輸出結果O為(b?H?W?2C),輸出結果為圖片中每個像素的偏移量,包含x和y兩個方向的偏移量為2C。 (2)將I中的像素索引值與O相加,得到偏移后的float類型位置,通過這些位置獲取像素值。 (3)通過雙線性插值方法,根據步驟(2)中獲取的位置計算I中對應的像素值。 (4)通過步驟(3)計算得到所有像素,即獲得一個新的圖像映射特征,可繼續作為輸入數據輸入到下一層中。 將特征提取層提取的特征圖轉化為特征序列作為循環網絡層的輸入,循環網絡層通過雙向GRU 提取特征序列的上下文語義信息。特征序列為X=x1,x2,x3,...,xN,輸入到雙向GRU 中,每一個xi對應一個yi,生成一系列序列Y=y1,y2,y3,...,yN。在文本區域中,不同序列對當前字符序列的重要性不同。為獲取更加重要的信息,本文通過在雙向GRU 中引入注意力機制模型,給不同字符分配不同權重,以增加識別準確率,如圖4 所示。注意力機制計算方式如式(4)所示。 Fig.4 Bidirectional GRU model embedded with attention mechanism圖4 嵌入注意力機制的雙向GRU模型 其中,st-1為前一層GRU 的輸出,gt為當前GRU 的輸出。gt表達方式如下: 本文采用Graves 等[17]提出的連接主義時態分類(CTC)層定義預測文本概率,即標簽序列概率,輸入為循環網絡層輸出的預測序列Y=y1,y2,y3,...,yN,在此預測過程中并不需要知道輸入時真實的label坐標。因此,當在訓練過程中使用概率預測序列時,所需的數據集只需要包含輸入圖像以及對應的真實label,從而減少了對標簽中單個字符位置的重復使用。損失函數如下: 本文采用4 個實驗數據集,包括MJSynth、ICDAR2013、ICDAR2015 和CUTE80,并使用Jaderberg 等[7]發布的合成數據集(MJSynth)進行識別訓練。數據集包含800 萬張訓練圖像和對應的label 單詞,圖像的字體、粗細和陰影等變化豐富,非常逼真。其中,90%作為訓練集,10%作為測試集。 ICDAR 2013 和ICDAR 2015 為自然場景圖像數據集,ICDAR 2013 包含452 幅自然場景文字圖像,其中229 幅為訓練集,223 幅為測試集;ICDAR 2015 包含1 500 幅自然場景文字圖像,其中1 000幅為訓練集,500幅為測試集。 CUTE80 數據集主要關注曲線文本,共有288 張圖像用于評估,其中大部分都是曲線文本。 本實驗采用正確率ACC評價文本識別的最終效果。具體公式如下: 其中,Wp表示在輸入的場景文本圖像中被識別出的文本數量,Wt表示在輸入的場景文本圖像中總共的單詞級文本數量。 文本矯正方法可用于自然場景文本中扭曲或不規則布局的文本圖像,CUTE80 數據集包括了大量扭曲變形的文本。圖5 展示了MORN 算法對扭曲透視文本的矯正效果,經過MORN 矯正后的圖像更具可讀性。 實驗是在Tensflow 深度學習框架下進行的。模型在MJSynth 數據集上進行了預訓練,設置初始學習率為0.1,圖像批處理尺寸為32,所有圖像大小歸一化為32 × 100。用0.8 的權值下降,采用正確率評估模型效果,模型在GPU上迭代了20 000 次。本文識別方法最終通過轉錄層利用CTC 算法將預測的帶有空白字符的文本序列轉化為最終文本,CTC 算法的損失函數會隨著模型優化而發生變化。CTC 損失變化過程如圖6所示。 Fig.5 text correction effect圖5 文本矯正效果 Fig.6 CTC loss change proces圖6 CTC損失變化過程 為驗證本文識別方法的有效性,選取幾個較新的典型方法在ICDAR 2013、ICDAR 2015 和CUTE80 數據集上進行定量比較,實驗結果如表1 所示。由表1 所示,本文的識別模型取得了不錯的效果,尤其是在CUTE 扭曲變形的數據集上表現較好,準確率相比已有方法提高了近1.9%。一方面是因為在識別之前增加了矯正過程,另一方面是在識別過程的特征提取部分,通過雙通道進行特征提取,改進了提取特征的感受域范圍,提高了自然場景中文本被正確識別的概率。Cheng 等[18]利用基于注意力的編解碼框架生成字符序列,從4 個方向提取字符的視覺特征方向和字符放置線索,可識別不規則文本,但是收斂速度慢,訓練比較耗時;Yang 等[19]通過基于文本實例的局部屬性矯正文本,如中心線、比例和方向,這種對文本形狀精確描述的約束使得ScRN 能夠產生比現有方法更好的校正結果,但是操作較為復雜;Shi 等[20]通過STN 對輸入的彎曲變形文本進行矯正,得到形狀規則的文本作為基于注意力模型SRN的輸入,SRN 包括一個編碼器和一個解碼器,通過基于注意力的編解碼框架生成符合條件的字符序列。本文框架則是直接用原始自然圖像作為輸入,將單詞級文本送入到MORN 矯正模塊矯正文本,最后將校正后的文本內容送入雙分支識別網絡進行識別。 圖7 直觀展示了本文方法的識別效果,可看出在扭曲變形和光照條件下均能正確識別。圖中有部分為識別錯誤的文本,這是因圖片過于模糊使得算法難以區分文本區域與背景區域所致。 傳統識別方法需要大量重復操作,識別率較低。本文提出面向自然場景圖像文本的矯正與識別方法,不需要復雜的人工操作。通過MORN 矯正網絡矯正文本,可以矯正扭曲、縮放和拉伸的字符。沿著雙分支提取圖像特征,一定程度上解決了在識別過程中單一感受域和卷積核形狀不變的問題,嵌入注意力的雙向門控循環單元使得在訓練過程中可通過權重更關注文本區域信息。實驗結果表明,本文方法能有效矯正并識別密集、扭曲的文本。與一般文本識別算法相比,本文方法的實用性更強。本文主要研究自然場景的中英文文本識別,而對于彎曲的中文文本識別,未來值得作進一步研究。 Table 1 Comparison of accuracy of text recognition methods on IC?DAR and CUTE80 data sets表1 ICDAR與CUTE80數據集上文本識別方法準確率比較

2.3 循環網絡層



2.4 CTC損失函數

3 應用實驗
3.1 數據集
3.2 評估指標

3.3 文本矯正實驗細節
3.4 文本識別實驗細節


4 結語
