胡石,陳心怡,汪輝進,王雪嬌
(1池州職業技術學院機電與汽車系,安徽池州247000;2南京工業大學電氣工程與控制科學學院,江蘇 南京 210000;3.無錫機電高等職業技術學校自動化工程系,江蘇 無錫 214000)
當前,自然場景中的文本信息常常被人們所關注,文本信息被準確識別可以便于理解圖像的準確內容。常見的文本檢測與識別算法主要有兩大類,分別是基于連通區域的算法[1]和基于滑動窗口的算法[2]。這些方法主要缺點在于其檢測效果的好壞主要由顏色、紋理等特征決定的,同時很容易將非文本區域和文本區域界定相反,出現較高的誤檢率。深度學習可以較好地解決這一問題,在文本檢測和識別上能夠得到很好的效果。例如,楊鍶齊等[3]在完成回歸分析時,就是借助區域分割方法來識別所有目標。羅時婷等[4]依托此方法來達到非線性回歸目的,在此過程中,待檢測區域在一定的迭代次數下演變成目標區域并實現文本識別。然而,現階段人們對此應用的研究還處于探索階段,同時兼顧圖像靜態特征和上下文特征的研究甚少,沒有很好的體現圖像中上下文關系和檢測的重點區域,導致檢測的魯棒性不夠。典型方法是將靜態特征和動態特征融合在一種網絡中,可以優先兼顧局部和全局特征[5]。本文先是利用CNN網絡提取圖像靜態特征,利用長短時記憶網絡LSTM提取文本上下文動態特征來進行信息的預測,最后依托CTC-Attention機制對輸出層的編碼進行解碼。將CTCAttention機制融入到文本識別算法中,利用CTC對Attention實現空間約束,算法更強調上下文關系的特征性,有效地減弱注意力偏移所產生的問題。
此過程主要涵蓋了兩個步驟。一是圖像初始化處理,為了盡可能地縮減網格訓練的時間,將初始的文本圖像進行灰度處理,再進行文本圖像的縮放處理。二是圖像像素的歸一化處理,在基于滑動窗口進行圖像信息提取時,由于要保證文本大小與滑動窗口高度的匹配,實現二者在圖像像素高度上的一致,使得像素大小分別為32×100和32×25。
從某種層面來講,一個典型的深度網絡結構模型應該包含三個模塊,首先是能夠進行特征提取的卷積層,接著是具有降維功能的池化層,最后是可以對非線性特征加以理解和分析的激活函數層。下圖1所示的框架是本文搭建的網絡流程,其中包含五個模塊層和十四個結構層。如圖1,假設要得到一個特征向量為1×N×512的圖像,開始就要將像素設置為64×(N×16+48),在實際調整過程中,高度是固定的,寬度可以先設置為N×16-16,然后根據邊界要求進行適當的閾值增減,經過多次校對,本文將此閾值設定為32個。

圖1 特征提取流程
在具體識別階段,文本上下文特征信息對于整體設計而言是十分關鍵的,故而,本文在進行信息提取時,依托LSTM來完成目標的預測處理[6],再將所得的兩對序列聯系起來。構建的圖像文本的特征矢量,分別是借助CNN網絡和反向LSTM來實現,合并后得到特征向量序列,具體為圖2:

圖2 生成特征向量序列
從本質上來說,解碼其實就是一個轉義字符的過程。假定字符有T個,編碼序列有W個,輸出長度為L,字典具備的字符為D,那么可以將特征向量的輸入和輸出序列設定為X={x1,x2,...,xW}、Y={yl∈D|l=1,...,T}和Z={zt∈D??|t=1,...,W}為隱變量[7];在檢測結果具有獨立性的前提下,序列的分布情況可以借助貝葉斯定理來處理:

上式中,p(zt|zt-1,Y)和p(zt|X)分別表示的是基于輸出和輸入特征下的隱變量概率,兩者經過解碼算法得到語言模型p(Y)。
如果說所有的輸出字符都是單向度,且每個檢測結果都是獨立的,那就表示文本判斷結果并不具備準確性,究其原因,主要是這種算法沒有將完整特征的信息納入考慮范疇內,僅僅只對局部類型的信息進行了預測。
在實際解碼過程中,CTC-Attention機制主要可以實現兩個作用,一是轉義字符,二是進行解碼約束。這種算法的優勢在于,既可以很好地解決針對長序列字符較難實現數據驅動問題,還能夠保證長字符信息提取的準確性。

圖3 解碼步驟
文本識別的準確度與圖像中上下文信息的復雜度有著較大的關聯,在實際查找文本特征時,本文綜合利用了兩個網絡模型來實現。詳細流程如圖4所示:

圖4 融入CTC-Attention機制的文本識別流程圖
(1)目標文本圖像的預處理。
(2)依托CNN網絡和LSTM網絡分別提取圖像文本的靜態和動態特征。
(3)全面融合動態和靜態屬性,對提取的特征向量序列進行數據解碼。
(4)借助CTC-Attention機制預測目標文本,在進行解碼處理后,從而得到最終的識別結果。
此項設計中的測試環節需借助常見的測試集來完成,其中,測試所需的CPU要求為酷睿I7四核處理器;內存需8G以上;操作系統為Windows10系統;編程語言為Python。
MSRA-TD500、USTB-SV1K和ICDAR2013是算法在文本檢測階段所用到的數據集,MSRATD500所包含的內容非常豐富。其中,實驗仿真采取等比例選取其中300張圖片作為訓練集,剩余200張圖片作為測試集。USTB-SV1K中用來測試和訓練的圖片均為500張。ICDAR2013涵蓋的自然場景圖片共500張,同上述兩個數據集相比,它不管是在識別要求方面,亦或是在復雜度方面,都要更高一些。
2.3.1 實驗一 實驗結果的評價主要是通過識別精度和編輯距離兩個參數來衡量。先對數據集MSRA-TD500按照長度加以劃分,得到了544個長單詞集、947個中等單詞集和611個短單詞集文本圖像。基于這三種類型單詞集的編輯距離與識別精度,將CRNN模型、L-RNN模型分別同CTC-Attention算法加以對比,從而得出下述數據結果。

表1 短單詞集測試結果

表2 中等單詞集測試結果

表3 長單詞集測試結果

圖5 各種詞集的具體識別結果
2.3.2 實驗二 實驗二主要是運用在同一種算法中不同權值所對應的不同收斂效果和識別結果。權值參數μ的引入是混合機制識別算法的特點,它的添加不僅能使CTC權重的偏移度得到很好的控制,還能使注意力模型得到較大程度的平衡。圖6為在不同權值下得到的不同收斂曲線。分析圖中規律,可以發現,μ越大,則收斂速度越快,二者之間呈現正相關。CTC對Attention具備較好的約束力和收斂效果。

圖6 基于權值的收斂曲線
由表4可知,本文構建的算法在數據集上具有較好的識別性能。μ=0.2則意味著兩個檢測模型都低于數據集MSRA-TD500和USTB-SV1K。主要原因是CRNN識別過程具有一定的獨立性,它未將原本就存在的信息納入考慮范疇,進而使最終的解碼過程缺乏整體觀。通常情況下,僅僅依托Attention算法來完成解碼是很容易發生誤檢狀況的,這是因為此種方式在時空制約上較為欠缺,進而導致無法得到準確的特征權重。考慮到空間約束方面的問題,本文選擇借助CTC-Attention機制來使注意力偏移所造成的影響降至最低,凸顯文本的特征狀態,以此來達到提高識別率的目的。

表4 不同權值下的識別率對比表
通過對自然場景下的文本檢測和識別的應用進行討論和研究,提出在信息提取方面,借助CNN網絡和LSTM網絡來完成靜態特征和動態上下文特征的雙重提取,借助CTC-Attention機制來處理LSTM層的輸出編碼,實驗結果表明本文算法具有良好的識別性能。目前本文的檢測和識別算法僅限于針對英文或者是阿拉伯數字的方案,對于其他的語言,譬如中文、日文、韓文等研究缺乏可靠的識別效果,這將是本文后期識別算法急需解決的主要問題之一,并嘗試解決多語言融合后的文本識別等問題。