劉 洋,陳 黎
1.武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430065
2.武漢科技大學(xué) 智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430065
文字識(shí)別算法如今已在各行各業(yè)得到了廣泛的應(yīng)用,例如書(shū)籍掃描[1]、車(chē)牌違章處理、自動(dòng)駕駛識(shí)別道路標(biāo)牌、文本拍照翻譯。伴隨著深度學(xué)習(xí)的發(fā)展,涌現(xiàn)出了許多先進(jìn)的識(shí)別方法以抵抗復(fù)雜多變的文字圖像,而為了識(shí)別結(jié)果更加精準(zhǔn),一些研究選擇在特定領(lǐng)域上對(duì)算法進(jìn)行專(zhuān)門(mén)優(yōu)化。如何在時(shí)間戳文本識(shí)別這一應(yīng)用方向上對(duì)主流文本識(shí)別網(wǎng)絡(luò)進(jìn)行改進(jìn),是本文的主要研究方向。
早期的文字識(shí)別算法把識(shí)別過(guò)程分為檢測(cè)字符和識(shí)別字符兩個(gè)階段,Niblack[2]和Smith[3]等人提出使用二值化預(yù)處理和啟發(fā)式的分割方案分割獨(dú)立字符后,使用分類(lèi)器進(jìn)分類(lèi),接著使用集束搜索[3]這類(lèi)優(yōu)化算法重組字符序列,進(jìn)而得到概率最高的文本序列。Bissacco[4]和Wang[5]等人則是在檢測(cè)字符階段進(jìn)行改進(jìn),提出使用深度學(xué)習(xí)算法預(yù)測(cè)獨(dú)立字符的分割區(qū)域,提高了文字分割的魯棒性。但是早期的這些識(shí)別方法把字符當(dāng)作獨(dú)立的對(duì)象,字符間的信息無(wú)法得到很好的傳播,導(dǎo)致算法對(duì)全局信息的感知能力不強(qiáng)。為了解決這一問(wèn)題,Jaderberg[6]提出把文字識(shí)別看作一個(gè)大規(guī)模的分類(lèi)問(wèn)題,為所有的目標(biāo)文本預(yù)定義詞典庫(kù)作為分類(lèi)標(biāo)簽,一個(gè)標(biāo)簽即對(duì)應(yīng)一段文本,對(duì)文本圖像整體進(jìn)行分類(lèi),并直接輸出該類(lèi)別的對(duì)應(yīng)的文本。而Almazán[7]和Gordo[8-9]等人采取的方式同樣是預(yù)定義詞典庫(kù),不過(guò)他們將圖像和單詞文本通過(guò)深度學(xué)習(xí)網(wǎng)絡(luò),嵌入到同一個(gè)向量空間[10]中,通過(guò)高維空間的向量表達(dá)建立圖像特征和文本特征之間的關(guān)聯(lián),向量距離最近的文本對(duì)象就是識(shí)別結(jié)果。此種方法不用分割獨(dú)立的字符,各個(gè)字符之間不再是獨(dú)立的孤島,對(duì)圖片整體進(jìn)行卷積操作,提高了對(duì)圖像全局信息的感知能力,然而預(yù)定義的文本標(biāo)簽數(shù)量是有限的,這導(dǎo)致算法不能識(shí)別新詞和適應(yīng)組合排列復(fù)雜的語(yǔ)言。
為了解決預(yù)定義詞典對(duì)識(shí)別結(jié)果存在局限的問(wèn)題,適應(yīng)多變的語(yǔ)法和字符組合,Shi[11]和He[12]等人基于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN提出CRNN網(wǎng)絡(luò)(CNN+RNN),用CNN提取圖像特征,接著使用RNN編解碼得到字符序列,最后通過(guò)Connectionist Temporal Classication函數(shù)[13]計(jì)算字符分類(lèi)的損失,解決了圖像文字和文本標(biāo)簽的對(duì)齊問(wèn)題。Lee等人[14]提出基于注意力機(jī)制的序列到序列(seq2seq)模型,把圖像特征編碼為一個(gè)全局上下文向量,用這個(gè)上下文向量作為RNN的初始狀態(tài),逐序列解碼輸出目標(biāo)文本,直到輸出終結(jié)符號(hào)。上述方法很好地結(jié)合了CNN的圖像特征提取能力,以及RNN的序列數(shù)據(jù)處理能力,十分適合文本識(shí)別任務(wù),是目前文本識(shí)別的主流選擇。在這些工作的基礎(chǔ)上,Li[15]和Shi[16]等人針對(duì)扭曲文字樣本,訓(xùn)練變換網(wǎng)絡(luò)對(duì)圖像文本進(jìn)行矯正,降低識(shí)別階段的難度。這些研究的目標(biāo)主要集中在光學(xué)信息的處理上,但是當(dāng)輸入圖像存在模糊、光照干擾等情況時(shí),光學(xué)信息被污染,網(wǎng)絡(luò)的性能就會(huì)大打折扣。解決方法之一就是把文本的排列模式和語(yǔ)言規(guī)范考慮在內(nèi),通過(guò)類(lèi)似自然語(yǔ)言處理任務(wù)的方法去感知圖像當(dāng)中的文本內(nèi)容。
為了進(jìn)一步挖掘文本圖像當(dāng)中的潛力,僅依賴(lài)圖像當(dāng)中光學(xué)特征是遠(yuǎn)遠(yuǎn)不夠的,網(wǎng)絡(luò)可以借助額外的信息進(jìn)行學(xué)習(xí),例如字符的序列組合所蘊(yùn)含的語(yǔ)義信息,人類(lèi)可以通過(guò)這些語(yǔ)義信息去猜測(cè)被遮擋的字符是什么,那么機(jī)器也可以通過(guò)類(lèi)似的方法去解決文字模糊不清晰、字符缺省等問(wèn)題。原而本文所研究的時(shí)間戳文本就具有嚴(yán)格格式規(guī)范,這種強(qiáng)相關(guān)的模板規(guī)范將會(huì)更加易于網(wǎng)絡(luò)去學(xué)習(xí)。如何融入時(shí)間戳的結(jié)構(gòu)化信息對(duì)識(shí)別結(jié)果進(jìn)行約束修正,是本文要研究的關(guān)鍵問(wèn)題。在這方面,Qiao等人[17]曾提出使用網(wǎng)絡(luò)預(yù)測(cè)圖像的語(yǔ)義信息,指導(dǎo)解碼模塊解碼文字,提高模糊圖像文本的識(shí)別準(zhǔn)確度。受到上述研究的啟發(fā),本文通過(guò)深入研究時(shí)間戳的文本特點(diǎn),提出一種時(shí)間戳格式化約束識(shí)別網(wǎng)絡(luò)(time‐stamp formated constrained CRNN,TFC-CRNN),設(shè)計(jì)專(zhuān)門(mén)的一個(gè)約束信息預(yù)測(cè)分支網(wǎng)絡(luò),分析圖像中的時(shí)間戳約束向量,文字解碼模塊將協(xié)同約束信息,學(xué)習(xí)輸出規(guī)范化的時(shí)間戳文本,解決在光線干擾、背景混淆等情況下,時(shí)間戳文本識(shí)別精度不高、不符合格式規(guī)范的問(wèn)題。
經(jīng)典的文字識(shí)別方法均采用RNN循環(huán)神經(jīng)網(wǎng)絡(luò)處理序列數(shù)據(jù),并且通過(guò)隱藏層的狀態(tài)捕捉全局信息,非常適合處理文本這類(lèi)數(shù)據(jù)。其又分為CRNN和序列到序列(seq2seq)兩種模型范式,前者用卷積層CNN提取得到圖像的特征圖之后,把特征圖用作序列進(jìn)行編解碼,輸出字符序列后通過(guò)CTC函數(shù)[13]計(jì)算損失代價(jià),CRNN解決了文字序列標(biāo)簽和預(yù)測(cè)輸出序列之前不對(duì)齊的問(wèn)題,使得文字識(shí)別算法可以進(jìn)行端到端的識(shí)別,雖然CRNN的文字字符長(zhǎng)度可以動(dòng)態(tài)變化,但是最大長(zhǎng)度限定在RNN層的輸出長(zhǎng)度之內(nèi),而這個(gè)長(zhǎng)度和圖像的寬度是成正比例的。關(guān)于序列到序列模型,把圖像特征通過(guò)RNN編碼成一個(gè)緊湊的上下文向量,然后以該向量作為解碼層RNN的初始狀態(tài),循環(huán)解碼字符,直到輸出終結(jié)符號(hào),其文本長(zhǎng)度和終結(jié)符號(hào)的輸出位置相關(guān),和CRNN不一樣,序列到序列模型的輸出文本長(zhǎng)度只和終結(jié)符號(hào)的輸出位置有關(guān),因此理論上可以輸出無(wú)限長(zhǎng)的預(yù)測(cè)序列。不過(guò)考慮到時(shí)間戳文本的格式固定,長(zhǎng)度為18個(gè)字符(年、月、日、時(shí)、分、秒,以及4個(gè)分隔符號(hào)),因此本文采用CRNN網(wǎng)絡(luò),其優(yōu)點(diǎn)是能夠通過(guò)圖像寬度對(duì)輸出序列的長(zhǎng)度進(jìn)行控制。
通過(guò)多任務(wù)訓(xùn)練目標(biāo)提升網(wǎng)絡(luò)的泛化能力是一個(gè)有效的優(yōu)化策略,這需要在主要的訓(xùn)練任務(wù)基礎(chǔ)上加入一個(gè)額外的訓(xùn)練目標(biāo),配合主網(wǎng)絡(luò),緩解模型的過(guò)擬合現(xiàn)象,提高網(wǎng)絡(luò)的泛化能力,同時(shí)也是通過(guò)額外的學(xué)習(xí)目標(biāo),提升對(duì)圖像內(nèi)容的利用效率。前文提到過(guò)的通過(guò)卷積網(wǎng)絡(luò)將圖像內(nèi)容直接映射到語(yǔ)義信息的高維向量空間中[7-9,18],實(shí)現(xiàn)了從圖像提取上下文信息的功能,其中Patel等人[19]利用社交平臺(tái)上圖像的標(biāo)簽文本訓(xùn)練預(yù)測(cè)話題的LDA[20]模型,然后對(duì)圖像數(shù)據(jù)用卷積網(wǎng)絡(luò)學(xué)習(xí)輸出這些話題概率分布,讓模型能夠預(yù)測(cè)圖像的話題,Kang等人[21]進(jìn)一步將話題的向量表達(dá)嵌入到文本檢測(cè)、文本識(shí)別模型中,指導(dǎo)模型輸出更加符合圖像環(huán)境的目標(biāo)結(jié)果,這表明可以讓網(wǎng)絡(luò)學(xué)習(xí)直接從圖像當(dāng)中獲取文本的語(yǔ)義信息,進(jìn)而提高下游任務(wù)的語(yǔ)義敏感度。這些研究涉及的研究對(duì)象是全圖背景信息,而Qiao等人[17]提出的SEED模型則是在局部區(qū)域的文本圖像任務(wù)上進(jìn)行優(yōu)化,設(shè)計(jì)了詞向量預(yù)測(cè)分支,使用預(yù)訓(xùn)練的詞向量嵌入模型[22]監(jiān)督卷積網(wǎng)絡(luò)預(yù)測(cè)文本圖像的詞向量,實(shí)現(xiàn)了從圖像到詞向量的轉(zhuǎn)換。其中的SEED模型將這些詞向量輸入到文字識(shí)別模型ASTER[16]的文字解碼模塊中,指導(dǎo)模型在低質(zhì)量文字不清晰的圖片上,通過(guò)詞向量信息補(bǔ)足光學(xué)信息缺失的問(wèn)題,解決模糊、光照不足等問(wèn)題下文字難以識(shí)別的問(wèn)題。以上研究通過(guò)圖像中的文字語(yǔ)義預(yù)測(cè)任務(wù),來(lái)提高文本檢測(cè)和文本識(shí)別階段的模型性能。
在上述研究的啟發(fā)下,通過(guò)分析時(shí)間戳文本的特點(diǎn),本文提出一種約束信息提取模型,從圖像信息抽取其中的文本約束向量,結(jié)合傳統(tǒng)的CRNN網(wǎng)絡(luò),解決監(jiān)控畫(huà)面中,因?yàn)楣饩€干擾、背景復(fù)雜、文字半透明模糊不清等原因?qū)е碌淖R(shí)別錯(cuò)誤問(wèn)題,并且指導(dǎo)文字解碼模塊輸出更加符合時(shí)間戳格式規(guī)范的文本結(jié)果。這種優(yōu)化后的模型框架和SEED模型最為接近,區(qū)別在于,SEED的研究目標(biāo)是自然語(yǔ)言文本,需要預(yù)訓(xùn)練得到的詞向量嵌入模型作為語(yǔ)義信息提取模塊,來(lái)輔助文本識(shí)別模型訓(xùn)練,而本文則是通過(guò)時(shí)間戳文本的格式特點(diǎn),利用文本當(dāng)中的數(shù)字字符,簡(jiǎn)化語(yǔ)義信息特征提取模塊,將其轉(zhuǎn)換為一個(gè)簡(jiǎn)潔可控的解析函數(shù),無(wú)需大量的參數(shù)訓(xùn)練就可以達(dá)到提取文本語(yǔ)義信息的功能。
本文的模型以CRNN[5]網(wǎng)絡(luò)為基礎(chǔ),針對(duì)時(shí)間戳文本目標(biāo),增加了時(shí)間戳約束信息提取模塊,并將其融入循環(huán)神經(jīng)網(wǎng)絡(luò)當(dāng)中,配合RNN解碼模塊,約束文字解碼輸出。
約束信息學(xué)習(xí)有兩個(gè)問(wèn)題需要解決,一是約束信息的監(jiān)督標(biāo)簽如何設(shè)計(jì),二是使用怎樣的預(yù)測(cè)模型。對(duì)于問(wèn)題一,在傳統(tǒng)的自然語(yǔ)言文本上,普遍的方法是采用大量的文本語(yǔ)料訓(xùn)練詞向量嵌入模型,使其能夠?qū)⑽谋締卧~對(duì)應(yīng)的one-hot離散向量映射為緊湊連續(xù)的高維特征向量,其公式如下:
其中,S表示一個(gè)單詞字符串,比如“hello”,OneHot函數(shù)首先會(huì)把這個(gè)字符串映射為獨(dú)一無(wú)二的one-hot向量,接著使用We所表示的矩陣乘法,將one-hot向量轉(zhuǎn)換為緊湊的F向量表示。這種嵌入模型需要大量的語(yǔ)料數(shù)據(jù)去優(yōu)化學(xué)習(xí)映射函數(shù)We內(nèi)部的權(quán)重,并使得相近語(yǔ)義的文本通過(guò)映射之后,也能夠得到距離接近的特征向量表示。然而考慮時(shí)間戳文本格式固定,具有嚴(yán)謹(jǐn)?shù)慕Y(jié)構(gòu)化特征,本身非常容易解析成連續(xù)數(shù)值的表示形式,因此,本文利用時(shí)間戳文本的這一特點(diǎn),設(shè)計(jì)了一個(gè)簡(jiǎn)潔的特征提取函數(shù):
其中,d用于區(qū)分時(shí)間戳信息中的年、月、日、時(shí)、分、秒6個(gè)部分,Pd是一個(gè)對(duì)應(yīng)時(shí)間信息的字符串解析函數(shù),例如Pyear表示將S當(dāng)中的年份數(shù)字提取出來(lái)并轉(zhuǎn)換為整數(shù),而mind、maxd表示時(shí)間d部分的最小值和最大值(年份取2000—2030),最終特征向量Cgt為這6個(gè)歸一化數(shù)字組成的一維向量。本文將其稱(chēng)作約束向量,一方面是因?yàn)槠浔硎痉秶偸羌s束在合理的數(shù)字范圍內(nèi),對(duì)應(yīng)0~1的歸一化表示范圍,另一方面是因?yàn)樵撓蛄繉?huì)被用于解碼模塊,去約束網(wǎng)絡(luò)的輸出字符概率,讓其盡量符合時(shí)間戳的格式要求。通過(guò)這種方法,利用時(shí)間戳文本這一特定領(lǐng)域中的額外文本格式要求,省略詞向量嵌入模型訓(xùn)練流程,快速地完成文本語(yǔ)義的向量化映射。
對(duì)于問(wèn)題二,如何設(shè)計(jì)約束信息預(yù)測(cè)模型??梢詤⒖汲R?jiàn)的圖像分類(lèi)模型,通過(guò)在CRNN網(wǎng)絡(luò)當(dāng)中的特征提取層之后,串聯(lián)多層全連接網(wǎng)絡(luò),把高維圖像特征轉(zhuǎn)換為預(yù)測(cè)約束向量,其計(jì)算公式如下:
其中,F(xiàn)img表示圖像特征,reshape把圖像特征拉平為一維特征,送入MLP表示的多層感知網(wǎng)絡(luò),在MLP1和MLP2的中間,把臨時(shí)向量Ch用作高維的約束向量表達(dá),它將被用來(lái)作為循環(huán)神經(jīng)網(wǎng)絡(luò)的初始化狀態(tài),在解碼層中進(jìn)行約束解碼輸出的功能,并且由于解碼模塊的循環(huán)神經(jīng)網(wǎng)絡(luò)是一個(gè)雙向LSTM網(wǎng)絡(luò),包含前向和后向兩個(gè)方向的LSTM,因此Ch會(huì)被分成兩個(gè)子向量分給初始化兩個(gè)方向的LSTM。最后MLP2輸出的向量C即最終預(yù)測(cè)得到的長(zhǎng)度為6的約束向量,將其和約束向量Cgt通過(guò)均方差損失函數(shù)進(jìn)行線性擬合,監(jiān)督分支預(yù)測(cè)模塊學(xué)習(xí)時(shí)間戳圖像中表達(dá)的約束信息。
關(guān)于約束向量的選擇,一個(gè)改進(jìn)的方案是在訓(xùn)練階段利用已知的約束向量標(biāo)簽Cgt,通過(guò)額外一層線性變換MLP3,把約束向量轉(zhuǎn)換到高維表達(dá),然后作為雙向LSTM的初始化狀態(tài),而在推理階段,則使用預(yù)測(cè)得到C通過(guò)MLP3轉(zhuǎn)換得到LSTM的初始狀態(tài),這種方案的好處就是訓(xùn)練階段的約束信息來(lái)自真實(shí)可靠的標(biāo)簽,理應(yīng)能夠改善訓(xùn)練階段的約束效果,然而根據(jù)SEED[17]文章當(dāng)中的說(shuō)明,如果采用訓(xùn)練標(biāo)簽Cgt作為L(zhǎng)STM的初始狀態(tài)來(lái)源,效果要差于當(dāng)場(chǎng)預(yù)測(cè)得到的C作為L(zhǎng)STM的初始狀態(tài)??赡艿脑蚴且?yàn)镃gt作為時(shí)間戳文本的唯一對(duì)應(yīng),仍然存在一定的離散性,而實(shí)時(shí)預(yù)測(cè)得到的C雖然數(shù)值并不一定精確,但是擁有更加豐富的語(yǔ)義表達(dá),更適合作為語(yǔ)義信息對(duì)解碼模塊進(jìn)行指導(dǎo)。
本文所用到的網(wǎng)絡(luò)結(jié)構(gòu)TFC-CRNN如圖1所示,它是在CRNN網(wǎng)絡(luò)的基礎(chǔ)上改進(jìn)而來(lái),原本的CRNN網(wǎng)絡(luò),首先是將原本CRNN網(wǎng)絡(luò)中的兩層雙向LSTM縮減為單層雙向LSTM模塊,在圖像特征提取模塊后面添加了約束信息預(yù)測(cè)模塊,二信息約束模塊計(jì)算得到的中間向量Ch作均等拆分為兩個(gè)向量,作為雙向LSTM模塊的前后兩個(gè)方向的起始狀態(tài),如圖1所示。
“回首向來(lái)蕭瑟處,也有風(fēng)雨也有晴”。改革開(kāi)放40年是中國(guó)制造業(yè)從低端走向中高端的關(guān)鍵發(fā)展階段,在這個(gè)偉大的歷史變革過(guò)程中,我們的制造業(yè)通過(guò)大浪淘沙涌現(xiàn)了一批有影響力的優(yōu)秀企業(yè)。正是他們的堅(jiān)守、成就與貢獻(xiàn),推動(dòng)了行業(yè)轉(zhuǎn)型升級(jí),引領(lǐng)了行業(yè)發(fā)展方向,從而真正促進(jìn)了中國(guó)制造業(yè)大踏步從高速度增長(zhǎng)向高質(zhì)量發(fā)展邁進(jìn)。
圖1 TFC-CRNN模型結(jié)構(gòu)Fig.1 TFC-CRNN framework
在這個(gè)框架中,數(shù)據(jù)的計(jì)算流程如下:首先圖片需要被預(yù)處理為512×32的分辨率,送入特征提取模塊,使用多層殘差網(wǎng)絡(luò)提取特征,使用殘差網(wǎng)絡(luò)能夠在提取高維圖像特征的同時(shí),盡可能保留低維的圖像細(xì)節(jié)信息,在特征提取的最后一個(gè)階段,使用最大化池層將高度方向的特征維度下采樣到1,得到編碼后的圖像特征,維度為64×256,其中寬度64對(duì)應(yīng)解碼輸出的64個(gè)字符,256是每一個(gè)字符的特征維度。這里的圖像特征將會(huì)分別送入約束信息提取模塊和文字解碼模塊,約束信息提取過(guò)程中的中間向量C被用來(lái)作為解碼模塊中循環(huán)神經(jīng)網(wǎng)絡(luò)初始狀態(tài)向量,起到約束解碼的作用。解碼模塊得到的64個(gè)字符概率最后通過(guò)CTC損失函數(shù)計(jì)算損失,而約束模塊提取得到的C則與時(shí)間戳文字標(biāo)簽對(duì)應(yīng)的約束向量Cgt計(jì)算均方差損失??梢钥吹浇獯a模塊只需要MLP1輸出的Ch向量,因此在推理階段,約束信息提取模塊的MLP2網(wǎng)絡(luò)可以被裁剪掉,減少不必要的算力消耗,提高算法的運(yùn)行速度。
常見(jiàn)的文本識(shí)別測(cè)試指標(biāo)包括全匹配率(ACC)和編輯距離(ED)兩個(gè)指標(biāo),前者檢查預(yù)測(cè)字符串是否完全和目標(biāo)字符串一致(越大越好),測(cè)量所有樣本中預(yù)測(cè)文本和目標(biāo)文本完全一致的樣本比例;后者通過(guò)編輯距離衡量預(yù)測(cè)結(jié)果和目標(biāo)文本的字符級(jí)別差異(越小越好),數(shù)值越小表示兩端文本越相似??紤]到時(shí)間戳文本具有格式固定的特點(diǎn),本文額外提出一種模板編輯距離EDT,用以衡量文本的格式規(guī)范程度,在模板編輯距離下,數(shù)字字符允許存在誤差,衡量的主要標(biāo)準(zhǔn)是數(shù)字字符和其他分隔符號(hào)的排列模式是否符合目標(biāo)模板的規(guī)定,要求字符串盡可能接近預(yù)期的字符串模板。其計(jì)算公式如下:
其中,S是被測(cè)試的文本,ST是預(yù)期的目標(biāo)模板(例如”2000-01-0100:00:00”),ED代表標(biāo)準(zhǔn)的編輯距離計(jì)算函數(shù),而函數(shù)N負(fù)責(zé)對(duì)字符串歸一化,具體操作就是把字符串當(dāng)中的數(shù)字字符替換為通配符“d”,保留其他非數(shù)字符號(hào)不變(例如日期分隔符“-”),通過(guò)這樣的歸一化,使得標(biāo)準(zhǔn)編輯函數(shù)能夠忽略數(shù)字的識(shí)別精度要求,只考慮字符類(lèi)型的排列順序是否符合模板,從而衡量預(yù)測(cè)文本的模板規(guī)范程度。
舉例來(lái)說(shuō),如果將“2019-02-2214:45:12”作為預(yù)測(cè)文本S,“2020-02-2214:45:12”作為目標(biāo)模板ST,預(yù)測(cè)文本和目標(biāo)模板的差異只在于年份數(shù)字不同,在標(biāo)準(zhǔn)編輯距離ED的計(jì)算中,年份“2019”轉(zhuǎn)換為“2020”最少需要兩步替換字符的操作,因此標(biāo)準(zhǔn)編輯距離結(jié)果為2。而模板編輯距離則是將這兩個(gè)字符串轉(zhuǎn)換為“dddd-dddddd:dd:dd”和“dddd-dd-dddd:dd:dd”之后,再計(jì)算標(biāo)準(zhǔn)編輯距離,這種情況下忽略了數(shù)字字符的準(zhǔn)確性,那么此時(shí)的最小編輯步數(shù)就可以視作字符串的格式規(guī)范指標(biāo),數(shù)值越小,說(shuō)明字符串的格式越接近??梢钥闯鰜?lái)上述的兩個(gè)字符串格式完全一致,而對(duì)應(yīng)的模板編輯距離計(jì)算結(jié)果也為0,符合預(yù)期的效果。本文通過(guò)這種指標(biāo)計(jì)算方法,衡量時(shí)間戳識(shí)別結(jié)果的規(guī)范性,數(shù)值越小,表明識(shí)別出來(lái)的文本格式越符合格式規(guī)范。本文通過(guò)EDT來(lái)對(duì)比信息約束模塊對(duì)輸出文本模板的約束效果。
3.1.1 真實(shí)數(shù)據(jù)集,測(cè)試集
本實(shí)驗(yàn)的測(cè)試集來(lái)自真實(shí)監(jiān)控?cái)z像頭截取的監(jiān)控畫(huà)面圖像,通過(guò)人工裁剪得到只包含時(shí)間戳文本的部分,得到總計(jì)19 700張樣本,按照采樣的地點(diǎn)和時(shí)間段把這些測(cè)試數(shù)據(jù)分為四個(gè)數(shù)據(jù)集,樣張展示可參考表1,這四個(gè)數(shù)據(jù)集的詳細(xì)特點(diǎn)說(shuō)明如下:
表1 四種數(shù)據(jù)集下的樣張對(duì)比(僅展示年月日)Table 1 Samples on four dataset(only show year/month/day)
NM1數(shù)據(jù)集:2 000張日間采樣樣本,文字顏色為不透明的黑白混色,即一行文字中,有的字是黑色,有的是白色,文字字體單一,圖像分辨率高,字體清晰,識(shí)別難度不大。
NM2數(shù)據(jù)集:3 500張日間采樣樣本,黑白混色不透明文字,采樣地點(diǎn)不同于A集,由于文字字體單一且清晰規(guī)范,分辨率高,文字顏色和背景的區(qū)分度高,識(shí)別難度最低。
TP2數(shù)據(jù)集:8 200張夜間采樣樣本,采樣地點(diǎn)同TP1數(shù)據(jù)集,但是采樣的時(shí)間改在夜間,夜間背景中的光線干擾較少,時(shí)間戳文字更加明顯,能夠降低識(shí)別難度。通過(guò)TP1和TP2的對(duì)比可以觀察背景顏色對(duì)文字識(shí)別的影響程度。
3.1.2 訓(xùn)練數(shù)據(jù)集
時(shí)間戳圖像由監(jiān)控設(shè)備向背景圖片上疊加文字生成,可以通過(guò)計(jì)算機(jī)模擬生成,得到大量的時(shí)間戳圖像樣本。實(shí)驗(yàn)過(guò)程中通過(guò)截取真實(shí)監(jiān)控畫(huà)面的無(wú)字區(qū)域然后疊加隨機(jī)的時(shí)間戳文字,生成48 000張樣本,全部用作訓(xùn)練集。真實(shí)時(shí)間戳圖片的分辨率接近1 024×64,因此模擬程序也以該分辨率從真實(shí)的監(jiān)控畫(huà)面中截取背景圖像,每一張時(shí)間戳圖片內(nèi)文字的字體和透明度一致,字體從10種不同的字體隨機(jī)選取,50%的樣本透明度設(shè)為1,即不透明文字,其余的50%樣本中,透明度的alpha通道值取0.7~0.9之間的隨機(jī)值,這些半透明樣本作為困難樣本,主要是為了訓(xùn)練模型應(yīng)對(duì)文字背景混淆、光線干擾等問(wèn)題。
訓(xùn)練階段,batch size為64,學(xué)習(xí)率為1E-3,每10個(gè)epoch學(xué)習(xí)率以0.1的比例衰減,共訓(xùn)練128個(gè)epoch。測(cè)試階段,真實(shí)時(shí)間戳圖片的分辨率尺寸各不相同,在輸入網(wǎng)絡(luò)前需要統(tǒng)一縮放到512×32,然而一部分時(shí)間戳文字字體太窄,強(qiáng)制在寬度方向上拉伸,會(huì)使得這類(lèi)文字變形嚴(yán)重,拉低識(shí)別正確率。因此需要針對(duì)此類(lèi)窄樣本,限定拉伸比例,防止拉伸程度過(guò)大導(dǎo)致文字失真。通過(guò)實(shí)驗(yàn)結(jié)果的對(duì)比發(fā)現(xiàn),當(dāng)圖片的寬高比小于25∶2時(shí),將其拉伸到400×32是一個(gè)比較合理的選擇,同時(shí)向右側(cè)剩余的112像素寬度部分填充灰色,最終把圖像填充到512×32,填充灰色是為了避免與時(shí)間戳文字的黑白顏色的文字產(chǎn)生混淆,導(dǎo)致文字在真實(shí)圖像內(nèi)容和填充的邊緣位置誤識(shí)別成文字字符。此外,這里縮放圖片的操作并沒(méi)有采用等比縮放,而是強(qiáng)制縮放的原因,一方面是因?yàn)?12×32恰好能夠容納下正常比例的18個(gè)字符,強(qiáng)制縮放到這一尺寸之后反而會(huì)使得不同字體的文字比例趨近于統(tǒng)一,有利于文字識(shí)別;另一個(gè)方面的原因則是,CRNN解碼字符的序列長(zhǎng)度和圖片寬度正相關(guān)這一特點(diǎn),對(duì)于一些比較緊湊的窄文字樣本,強(qiáng)制在寬度方向拉長(zhǎng)(拉伸不易過(guò)多),可以保證寬度上各個(gè)字符之間的像素距離足夠遠(yuǎn),為解碼模塊預(yù)測(cè)有效字符之間的分隔符提供充足的判別空間,避免文字太窄擠到一起導(dǎo)致序列解碼模塊無(wú)法區(qū)分獨(dú)立字符的問(wèn)題。
訓(xùn)練損失函數(shù)對(duì)比,圖2中展示的CRNN網(wǎng)絡(luò)和TFC-CRNN網(wǎng)絡(luò)的loss下降曲線,注意為了公平對(duì)比,這里只考慮CTC loss部分,TFC-CRNN的信息約束模塊的loss并沒(méi)有考慮在內(nèi)。
圖2 CTC損失下降對(duì)比Fig.2 CTC loss descend compare
圖2 中可以看到,TFC-CRNN的CTC loss曲線相比CRNN要更低一些,說(shuō)明信息約束模塊所提供的約束向量Ch有效輔助了解碼模塊的字符序列輸出。為了驗(yàn)證這并非是過(guò)擬合,在對(duì)應(yīng)每一個(gè)epoch之后,測(cè)試兩種模型在NM1數(shù)據(jù)集下的完全匹配率,可以得到如圖3的測(cè)試集曲線。
圖3 NM1測(cè)試集下的完全匹配率變化曲線Fig.3 Exact match rate curve in NM1 dataset
圖3 中可以看到,TFC-CRNN相比CRNN更快達(dá)到最高點(diǎn),然后在后續(xù)的訓(xùn)練過(guò)程中依然保持了對(duì)CRNN的優(yōu)勢(shì)。除此之外,表2中對(duì)比了近年來(lái)三種文字識(shí)別算法、CRNN算法以及本文提出的算法在NM1、NM2、TP1、TP2四個(gè)數(shù)據(jù)集上的性能表現(xiàn)。
表2 不同模型的完全匹配率Table 2 Exact match rate of different model單位:%
表2中展示了不同測(cè)試數(shù)據(jù)集下的完全匹配率。前三行是以往主流的文本識(shí)別算法,第四行是CRNN網(wǎng)絡(luò)框架下的文字識(shí)別算法,第五行的TFC-CRNN是在CRNN的基礎(chǔ)上增加信息約束模塊之后的效果,可以看出,TFC-CRNN在完全匹配率標(biāo)準(zhǔn)下超過(guò)上述所有文本識(shí)別模型。其中TFC-CRNN在CRNN的基礎(chǔ)上,使得完全匹配率產(chǎn)生0.21~1.15個(gè)百分點(diǎn)的提升。同時(shí)需要注意TP1和TP2這兩個(gè)帶有半透明文字樣本的困難數(shù)據(jù)集結(jié)果,TP2和TP1的差別是采樣時(shí)間不同,TP2在夜間,背景顏色黯淡,即使是半透明文字也相對(duì)容易辨別,而TP1則是在白天采樣,背景當(dāng)中的光線干擾大,加之半透明文字,時(shí)間戳非常容易和背景當(dāng)中的復(fù)雜環(huán)境混淆在一起,識(shí)別難度更高,對(duì)應(yīng)的完全匹配指標(biāo)相對(duì)較低,具體樣張可參考表1中的TP1和TP2。這兩個(gè)數(shù)據(jù)集在指標(biāo)上的差異反映了模型對(duì)于光線干擾的抵抗能力,在沒(méi)有信息約束模塊的CRNN模型下,兩個(gè)數(shù)據(jù)集的完全匹配差距為3.13個(gè)百分點(diǎn),而在增加了約束信息模塊后的TFC-CRNN模型測(cè)試中,TP1和TP2的性能差距降低到了2.29個(gè)百分點(diǎn),說(shuō)明TFC-CRNN有效提升了模型在白天抵抗復(fù)雜模型的抗干擾能力。
而在輸出文本格式的規(guī)范性方面,信息約束模塊同樣起到了積極的作用,在表3中展示的是模板編輯距離的測(cè)試結(jié)果,其中的數(shù)值是數(shù)據(jù)集中所有樣本的平均模板編輯距離。可以看到,加入信息約束模塊之后,EDT指標(biāo)降低了0.002 8~0.012 76,EDT越低說(shuō)明模型輸出的文本越符合目標(biāo)文字模板,即輸出的文字格式越規(guī)范,其中在TP1和TP2這兩個(gè)存在有半透明文字這類(lèi)困難樣本的數(shù)據(jù)集上的下降幅度,是NM1和NM2這類(lèi)不透明文字?jǐn)?shù)據(jù)集上的4~5倍,說(shuō)明信息約束模塊有效提高了在半透明等文字識(shí)別困難的樣本上,有效提高了字符串輸出的格式規(guī)范性,當(dāng)文本辨別不清時(shí),信息約束模塊將會(huì)趨向于輸出一個(gè)符合格式規(guī)范的文本,這對(duì)于后期應(yīng)用階段解析時(shí)間戳字符串的結(jié)構(gòu)信息具有積極的意義。
表3 信息約束模塊對(duì)EDT指標(biāo)的影響Table 3 Impact of information constrain module on EDT
更進(jìn)一步,考慮到識(shí)別結(jié)果中,時(shí)間戳文本的數(shù)值范圍也有較高的要求,對(duì)于一個(gè)標(biāo)準(zhǔn)的時(shí)間戳字符串而言,其字符組合不僅應(yīng)當(dāng)滿(mǎn)足格式的要求,也應(yīng)當(dāng)滿(mǎn)足日期時(shí)間的數(shù)字范圍限定,例如月份所在的兩位數(shù)字需要限定在01~12這12種數(shù)字的范圍之內(nèi),如果文本無(wú)法轉(zhuǎn)換為計(jì)算機(jī)內(nèi)部的一個(gè)標(biāo)準(zhǔn)時(shí)間結(jié)構(gòu)體,那么該文本仍然是一個(gè)非法的時(shí)間戳字符串,為此,本文對(duì)比了信息約束模塊對(duì)數(shù)值范圍精度的影響,在表4中,記錄的是模型輸出的時(shí)間戳字符串,可以被正常解析為有效時(shí)間的樣本百分比,括號(hào)內(nèi)表示TFC-CRNN相比CRNN的數(shù)值提升,因缺字漏字、超出合理范圍、超出閏年限定的結(jié)果都會(huì)被排除在外。可以從表4當(dāng)中看出,TP1數(shù)據(jù)集的困難樣本上,指標(biāo)的提升幅度最為明顯,表明信息約束模塊在光線干擾、半透明文字等困難樣本上,對(duì)文本輸出結(jié)果的數(shù)值約束性有較高的收益。
表4 預(yù)測(cè)數(shù)字范圍正確的樣本所占百分比Table 4 Percentage of samples with correct number interval 單位:%
在表5中展現(xiàn)的是一些具體的時(shí)間戳圖片識(shí)別結(jié)果,可以很直觀地觀察到約束模塊對(duì)文本格式以及數(shù)值范圍精度的修正作用。樣本1中因?yàn)闃?shù)葉等背景干擾,“2018”中的“0”幾乎不可見(jiàn),傳統(tǒng)的文字識(shí)別算法會(huì)傾向于識(shí)別成無(wú)字,導(dǎo)致識(shí)別結(jié)果的格式存在錯(cuò)誤,然而在信息約束模塊下該處的“0”能夠被正確識(shí)別出來(lái),生成規(guī)范的時(shí)間戳格式。樣本2則是一個(gè)字符干擾問(wèn)題,在“18:38:22”重疊了一個(gè)“Err”文字,這對(duì)模型識(shí)別產(chǎn)生了嚴(yán)重的干擾,傳統(tǒng)的CRNN在這樣的干擾下出現(xiàn)分鐘數(shù)字識(shí)別錯(cuò)誤的問(wèn)題,然而在信息約束模塊的作用下,TFC-CRNN能夠?qū)⒋颂幍臄?shù)值范圍修正到00~59的區(qū)間內(nèi),得出正確的識(shí)別結(jié)果,同理樣本3、4、5。樣本6反應(yīng)的是在極低畫(huà)質(zhì)條件下,模型抵抗復(fù)雜背景干擾的能力,可以看到傳統(tǒng)的CRNN網(wǎng)絡(luò)對(duì)無(wú)法有效區(qū)分“2018”和“2010”,而TFC-CRNN則依靠多任務(wù)的信息約束模塊,展現(xiàn)了強(qiáng)大的抗干擾能力,有效區(qū)分了“0”和“8”這兩個(gè)極易混淆的字形。
表5 CRNN和TFC-CRNN的時(shí)間戳識(shí)別結(jié)果對(duì)比Table 5 Recognition samples for CRNN and TFC-CRNN
本論文就時(shí)間戳文字具有固定格式的這一特點(diǎn),對(duì)傳統(tǒng)自然語(yǔ)文本識(shí)別模型進(jìn)行專(zhuān)門(mén)的優(yōu)化,從時(shí)間戳具有的“年”“月”“日”“時(shí)”“分”“秒”六個(gè)高度結(jié)構(gòu)化的數(shù)字信息這一角度出發(fā),精心設(shè)計(jì)了約束向量提取網(wǎng)絡(luò),將其整合進(jìn)經(jīng)典文本識(shí)別算法的框架之中,利用監(jiān)督算法促使網(wǎng)絡(luò)從圖像中提取文本所蘊(yùn)含的語(yǔ)義信息,并將該信息用于解碼階段的循環(huán)神經(jīng)網(wǎng)絡(luò)中,使得解碼層不僅能夠利用圖像特征,同時(shí)能夠?qū)W習(xí)在約定的規(guī)范信息下,對(duì)解碼輸出的文本進(jìn)行更嚴(yán)格的格式審查和數(shù)值范圍約束,取得了相比經(jīng)典文本識(shí)別模型更高的準(zhǔn)確率和更嚴(yán)謹(jǐn)?shù)奈谋靖袷?,在后續(xù)應(yīng)用當(dāng)中,能夠?yàn)橹腔郯卜老到y(tǒng)提供高質(zhì)量的時(shí)間戳文本。