胡石,陳心怡,汪輝進(jìn),王雪嬌
(1池州職業(yè)技術(shù)學(xué)院機(jī)電與汽車系,安徽池州247000;2南京工業(yè)大學(xué)電氣工程與控制科學(xué)學(xué)院,江蘇 南京 210000;3.無錫機(jī)電高等職業(yè)技術(shù)學(xué)校自動(dòng)化工程系,江蘇 無錫 214000)
當(dāng)前,自然場(chǎng)景中的文本信息常常被人們所關(guān)注,文本信息被準(zhǔn)確識(shí)別可以便于理解圖像的準(zhǔn)確內(nèi)容。常見的文本檢測(cè)與識(shí)別算法主要有兩大類,分別是基于連通區(qū)域的算法[1]和基于滑動(dòng)窗口的算法[2]。這些方法主要缺點(diǎn)在于其檢測(cè)效果的好壞主要由顏色、紋理等特征決定的,同時(shí)很容易將非文本區(qū)域和文本區(qū)域界定相反,出現(xiàn)較高的誤檢率。深度學(xué)習(xí)可以較好地解決這一問題,在文本檢測(cè)和識(shí)別上能夠得到很好的效果。例如,楊鍶齊等[3]在完成回歸分析時(shí),就是借助區(qū)域分割方法來識(shí)別所有目標(biāo)。羅時(shí)婷等[4]依托此方法來達(dá)到非線性回歸目的,在此過程中,待檢測(cè)區(qū)域在一定的迭代次數(shù)下演變成目標(biāo)區(qū)域并實(shí)現(xiàn)文本識(shí)別。然而,現(xiàn)階段人們對(duì)此應(yīng)用的研究還處于探索階段,同時(shí)兼顧圖像靜態(tài)特征和上下文特征的研究甚少,沒有很好的體現(xiàn)圖像中上下文關(guān)系和檢測(cè)的重點(diǎn)區(qū)域,導(dǎo)致檢測(cè)的魯棒性不夠。典型方法是將靜態(tài)特征和動(dòng)態(tài)特征融合在一種網(wǎng)絡(luò)中,可以優(yōu)先兼顧局部和全局特征[5]。本文先是利用CNN網(wǎng)絡(luò)提取圖像靜態(tài)特征,利用長短時(shí)記憶網(wǎng)絡(luò)LSTM提取文本上下文動(dòng)態(tài)特征來進(jìn)行信息的預(yù)測(cè),最后依托CTC-Attention機(jī)制對(duì)輸出層的編碼進(jìn)行解碼。將CTCAttention機(jī)制融入到文本識(shí)別算法中,利用CTC對(duì)Attention實(shí)現(xiàn)空間約束,算法更強(qiáng)調(diào)上下文關(guān)系的特征性,有效地減弱注意力偏移所產(chǎn)生的問題。
此過程主要涵蓋了兩個(gè)步驟。一是圖像初始化處理,為了盡可能地縮減網(wǎng)格訓(xùn)練的時(shí)間,將初始的文本圖像進(jìn)行灰度處理,再進(jìn)行文本圖像的縮放處理。二是圖像像素的歸一化處理,在基于滑動(dòng)窗口進(jìn)行圖像信息提取時(shí),由于要保證文本大小與滑動(dòng)窗口高度的匹配,實(shí)現(xiàn)二者在圖像像素高度上的一致,使得像素大小分別為32×100和32×25。
從某種層面來講,一個(gè)典型的深度網(wǎng)絡(luò)結(jié)構(gòu)模型應(yīng)該包含三個(gè)模塊,首先是能夠進(jìn)行特征提取的卷積層,接著是具有降維功能的池化層,最后是可以對(duì)非線性特征加以理解和分析的激活函數(shù)層。下圖1所示的框架是本文搭建的網(wǎng)絡(luò)流程,其中包含五個(gè)模塊層和十四個(gè)結(jié)構(gòu)層。如圖1,假設(shè)要得到一個(gè)特征向量為1×N×512的圖像,開始就要將像素設(shè)置為64×(N×16+48),在實(shí)際調(diào)整過程中,高度是固定的,寬度可以先設(shè)置為N×16-16,然后根據(jù)邊界要求進(jìn)行適當(dāng)?shù)拈撝翟鰷p,經(jīng)過多次校對(duì),本文將此閾值設(shè)定為32個(gè)。
圖1 特征提取流程
在具體識(shí)別階段,文本上下文特征信息對(duì)于整體設(shè)計(jì)而言是十分關(guān)鍵的,故而,本文在進(jìn)行信息提取時(shí),依托LSTM來完成目標(biāo)的預(yù)測(cè)處理[6],再將所得的兩對(duì)序列聯(lián)系起來。構(gòu)建的圖像文本的特征矢量,分別是借助CNN網(wǎng)絡(luò)和反向LSTM來實(shí)現(xiàn),合并后得到特征向量序列,具體為圖2:
圖2 生成特征向量序列
從本質(zhì)上來說,解碼其實(shí)就是一個(gè)轉(zhuǎn)義字符的過程。假定字符有T個(gè),編碼序列有W個(gè),輸出長度為L,字典具備的字符為D,那么可以將特征向量的輸入和輸出序列設(shè)定為X={x1,x2,...,xW}、Y={yl∈D|l=1,...,T}和Z={zt∈D??|t=1,...,W}為隱變量[7];在檢測(cè)結(jié)果具有獨(dú)立性的前提下,序列的分布情況可以借助貝葉斯定理來處理:
上式中,p(zt|zt-1,Y)和p(zt|X)分別表示的是基于輸出和輸入特征下的隱變量概率,兩者經(jīng)過解碼算法得到語言模型p(Y)。
如果說所有的輸出字符都是單向度,且每個(gè)檢測(cè)結(jié)果都是獨(dú)立的,那就表示文本判斷結(jié)果并不具備準(zhǔn)確性,究其原因,主要是這種算法沒有將完整特征的信息納入考慮范疇內(nèi),僅僅只對(duì)局部類型的信息進(jìn)行了預(yù)測(cè)。
在實(shí)際解碼過程中,CTC-Attention機(jī)制主要可以實(shí)現(xiàn)兩個(gè)作用,一是轉(zhuǎn)義字符,二是進(jìn)行解碼約束。這種算法的優(yōu)勢(shì)在于,既可以很好地解決針對(duì)長序列字符較難實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)問題,還能夠保證長字符信息提取的準(zhǔn)確性。
圖3 解碼步驟
文本識(shí)別的準(zhǔn)確度與圖像中上下文信息的復(fù)雜度有著較大的關(guān)聯(lián),在實(shí)際查找文本特征時(shí),本文綜合利用了兩個(gè)網(wǎng)絡(luò)模型來實(shí)現(xiàn)。詳細(xì)流程如圖4所示:
圖4 融入CTC-Attention機(jī)制的文本識(shí)別流程圖
(1)目標(biāo)文本圖像的預(yù)處理。
(2)依托CNN網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)分別提取圖像文本的靜態(tài)和動(dòng)態(tài)特征。
(3)全面融合動(dòng)態(tài)和靜態(tài)屬性,對(duì)提取的特征向量序列進(jìn)行數(shù)據(jù)解碼。
(4)借助CTC-Attention機(jī)制預(yù)測(cè)目標(biāo)文本,在進(jìn)行解碼處理后,從而得到最終的識(shí)別結(jié)果。
此項(xiàng)設(shè)計(jì)中的測(cè)試環(huán)節(jié)需借助常見的測(cè)試集來完成,其中,測(cè)試所需的CPU要求為酷睿I7四核處理器;內(nèi)存需8G以上;操作系統(tǒng)為Windows10系統(tǒng);編程語言為Python。
MSRA-TD500、USTB-SV1K和ICDAR2013是算法在文本檢測(cè)階段所用到的數(shù)據(jù)集,MSRATD500所包含的內(nèi)容非常豐富。其中,實(shí)驗(yàn)仿真采取等比例選取其中300張圖片作為訓(xùn)練集,剩余200張圖片作為測(cè)試集。USTB-SV1K中用來測(cè)試和訓(xùn)練的圖片均為500張。ICDAR2013涵蓋的自然場(chǎng)景圖片共500張,同上述兩個(gè)數(shù)據(jù)集相比,它不管是在識(shí)別要求方面,亦或是在復(fù)雜度方面,都要更高一些。
2.3.1 實(shí)驗(yàn)一 實(shí)驗(yàn)結(jié)果的評(píng)價(jià)主要是通過識(shí)別精度和編輯距離兩個(gè)參數(shù)來衡量。先對(duì)數(shù)據(jù)集MSRA-TD500按照長度加以劃分,得到了544個(gè)長單詞集、947個(gè)中等單詞集和611個(gè)短單詞集文本圖像。基于這三種類型單詞集的編輯距離與識(shí)別精度,將CRNN模型、L-RNN模型分別同CTC-Attention算法加以對(duì)比,從而得出下述數(shù)據(jù)結(jié)果。
表1 短單詞集測(cè)試結(jié)果
表2 中等單詞集測(cè)試結(jié)果
表3 長單詞集測(cè)試結(jié)果
圖5 各種詞集的具體識(shí)別結(jié)果
2.3.2 實(shí)驗(yàn)二 實(shí)驗(yàn)二主要是運(yùn)用在同一種算法中不同權(quán)值所對(duì)應(yīng)的不同收斂效果和識(shí)別結(jié)果。權(quán)值參數(shù)μ的引入是混合機(jī)制識(shí)別算法的特點(diǎn),它的添加不僅能使CTC權(quán)重的偏移度得到很好的控制,還能使注意力模型得到較大程度的平衡。圖6為在不同權(quán)值下得到的不同收斂曲線。分析圖中規(guī)律,可以發(fā)現(xiàn),μ越大,則收斂速度越快,二者之間呈現(xiàn)正相關(guān)。CTC對(duì)Attention具備較好的約束力和收斂效果。
圖6 基于權(quán)值的收斂曲線
由表4可知,本文構(gòu)建的算法在數(shù)據(jù)集上具有較好的識(shí)別性能。μ=0.2則意味著兩個(gè)檢測(cè)模型都低于數(shù)據(jù)集MSRA-TD500和USTB-SV1K。主要原因是CRNN識(shí)別過程具有一定的獨(dú)立性,它未將原本就存在的信息納入考慮范疇,進(jìn)而使最終的解碼過程缺乏整體觀。通常情況下,僅僅依托Attention算法來完成解碼是很容易發(fā)生誤檢狀況的,這是因?yàn)榇朔N方式在時(shí)空制約上較為欠缺,進(jìn)而導(dǎo)致無法得到準(zhǔn)確的特征權(quán)重??紤]到空間約束方面的問題,本文選擇借助CTC-Attention機(jī)制來使注意力偏移所造成的影響降至最低,凸顯文本的特征狀態(tài),以此來達(dá)到提高識(shí)別率的目的。
表4 不同權(quán)值下的識(shí)別率對(duì)比表
通過對(duì)自然場(chǎng)景下的文本檢測(cè)和識(shí)別的應(yīng)用進(jìn)行討論和研究,提出在信息提取方面,借助CNN網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)來完成靜態(tài)特征和動(dòng)態(tài)上下文特征的雙重提取,借助CTC-Attention機(jī)制來處理LSTM層的輸出編碼,實(shí)驗(yàn)結(jié)果表明本文算法具有良好的識(shí)別性能。目前本文的檢測(cè)和識(shí)別算法僅限于針對(duì)英文或者是阿拉伯?dāng)?shù)字的方案,對(duì)于其他的語言,譬如中文、日文、韓文等研究缺乏可靠的識(shí)別效果,這將是本文后期識(shí)別算法急需解決的主要問題之一,并嘗試解決多語言融合后的文本識(shí)別等問題。