陳 瑛,陳平平,林志堅(jiān)
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108)
近年來,場(chǎng)景文本識(shí)別逐漸成為計(jì)算機(jī)視覺任務(wù)中的一個(gè)重要過程,在智能交通駕駛、圖像搜索、產(chǎn)品識(shí)別等實(shí)際項(xiàng)目中得到了廣泛的應(yīng)用[1]。由于場(chǎng)景文本蘊(yùn)含著豐富的語義信息,對(duì)理解現(xiàn)實(shí)場(chǎng)景發(fā)揮著至關(guān)重要的作用。隨著場(chǎng)景文本檢測(cè)技術(shù)的不斷發(fā)展,在精準(zhǔn)的文本定位上如何實(shí)現(xiàn)精準(zhǔn)的文本識(shí)別被視為一個(gè)極具挑戰(zhàn)性的研究問題。
目前的多數(shù)工作都從更加有效的提取視覺特征這一角度進(jìn)行深入研究。例如,構(gòu)造更加強(qiáng)大的視覺特征提取骨干網(wǎng)絡(luò)、引入文本圖像矯正機(jī)制等,它們?cè)谝?guī)則、清晰的文本裁剪圖像上取得了一定的突破性進(jìn)展,但在應(yīng)對(duì)不規(guī)則、模糊等文本圖像時(shí),視覺特征的有效提取已無法滿足實(shí)際應(yīng)用中的精度需求。
為了構(gòu)建更加精準(zhǔn)高效的識(shí)別網(wǎng)絡(luò),本研究受到人類理解模式的啟發(fā)構(gòu)造了一種新的層次自注意力編碼器(Hierarchical Self-Attention Transformer,HSAT)用于場(chǎng)景文本識(shí)別任務(wù),在獲取視覺感知信息的基礎(chǔ)上結(jié)合有效的序列語義信息來推斷完整的文本內(nèi)容。通過聯(lián)合深度可分離卷積[2](Depth Separable Convolution,DS Conv)與自注意力[3](Self-Attention)來增強(qiáng)捕獲視覺感知與文本序列間的相關(guān)性,以此獲得更為魯棒的識(shí)別結(jié)果。本研究可實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)與Transformer的端到端結(jié)構(gòu),提升了模型的泛化能力。首先,通過輕量級(jí)特征提取網(wǎng)絡(luò)獲取視覺圖像的卷積嵌入映射圖;然后,采用HSAT對(duì)卷積嵌入塊進(jìn)行編碼預(yù)測(cè),利用視覺與序列特征間的互補(bǔ)性來學(xué)習(xí)更好的文本特征表示。實(shí)驗(yàn)結(jié)果表明,本文提出的算法在5個(gè)場(chǎng)景文本識(shí)別基準(zhǔn)數(shù)據(jù)集上均具備一定的優(yōu)勢(shì),并且以較高的識(shí)別速度在精度和效率間達(dá)到了更好的平衡。
早期的場(chǎng)景文本識(shí)別算法大都是基于文本圖像的特點(diǎn)進(jìn)行研究。通過傳統(tǒng)的數(shù)字圖像處理方法對(duì)單個(gè)字符進(jìn)行分割、匹配來識(shí)別字符。隨著背景日趨復(fù)雜的自然場(chǎng)景文本圖像的出現(xiàn),文本識(shí)別任務(wù)面臨更深層的技術(shù)挑戰(zhàn)。
近年來,依靠大量人工成本進(jìn)行文本識(shí)別的傳統(tǒng)方法[4]隨著深度學(xué)習(xí)的興起被逐漸取代。Le等人[5]最早提出用CNN進(jìn)行文本識(shí)別,該模型在手寫字符MNIST數(shù)據(jù)集上達(dá)到了99%的識(shí)別精確率,證明了CNN模型的有效性。目前,基于深度學(xué)習(xí)的場(chǎng)景文本識(shí)別算法大致可分為基于字符的識(shí)別方法、基于序列的識(shí)別方法和基于注意力的識(shí)別方法。
基于字符的識(shí)別方法[6]采用固定詞典模型并結(jié)合CNN網(wǎng)絡(luò)對(duì)文本圖像進(jìn)行掃描、分析,生成最終的識(shí)別結(jié)果。隨著更深入的研究,相關(guān)人員提出了基于序列的識(shí)別方法,例如CRNN[7]首先通過CNN提取一系列特征向量,然后輸入至循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)提取文本區(qū)域的字符序列,最后利用連接主義時(shí)間分類(Connectionist Temporal Classification,CTC)對(duì)序列數(shù)據(jù)進(jìn)行預(yù)測(cè)解碼,有效地解決了時(shí)序數(shù)據(jù)在分類上難以對(duì)齊的問題。為了提升不規(guī)則形狀場(chǎng)景文本的識(shí)別效果,受到自然語言處理(Natural Language Processing,NLP)領(lǐng)域機(jī)器翻譯算法的啟發(fā),RARE[8],ASRER[9],MORAN[10]等采用注意力機(jī)制對(duì)文本序列建模并解碼,通過關(guān)注更大范圍的上下文信息來獲得更好的文本序列特征。
在自然語言處理任務(wù)中,使用注意力機(jī)制能夠高效地提取稀疏數(shù)據(jù)的重要特征,因此被廣泛應(yīng)用在機(jī)器翻譯中。自注意力機(jī)制作為注意力機(jī)制的變體,不僅繼承了注意力機(jī)制能夠從大量信息中篩選并聚焦在重要信息這一本質(zhì)特點(diǎn),同時(shí)更加擅長(zhǎng)捕捉輸入數(shù)據(jù)間的內(nèi)部相關(guān)性,以此獲得更長(zhǎng)距離的序列信息?;谶@一特性,谷歌提出了基于Transformer的BERT[11]模型在NLP領(lǐng)域取得重大突破。自此,由多頭自注意力機(jī)制和前饋網(wǎng)絡(luò)組成的Transformer掀起了計(jì)算機(jī)視覺領(lǐng)域的研究熱潮。
ViT[12]將Transformer引入CV領(lǐng)域進(jìn)行圖像分類任務(wù),輸入序列化的圖像數(shù)據(jù)至Transformer模型中進(jìn)行編碼,舍棄了CNN中的歸納偏好問題,以更少的計(jì)算量達(dá)到了SOTA(State-of-the-art)的性能。DETR[13]將CNN與Transformer網(wǎng)絡(luò)相結(jié)合執(zhí)行目標(biāo)檢測(cè)任務(wù),通過CNN提取的二維表征轉(zhuǎn)換至一維表征,進(jìn)而輸入到Transformer的編解碼器中,利用表征間的相互關(guān)系來進(jìn)行全局推理,從而得到預(yù)測(cè)結(jié)果。另外,Transformer也被應(yīng)用于場(chǎng)景文本識(shí)別領(lǐng)域,VisSTR[14]采用ViT編碼器結(jié)構(gòu),在其基礎(chǔ)上對(duì)大規(guī)模的識(shí)別數(shù)據(jù)集進(jìn)行訓(xùn)練,通過并行的自注意力機(jī)制來進(jìn)行序列的建模和預(yù)測(cè),取得了相當(dāng)不錯(cuò)的性能。
本文設(shè)計(jì)了一種聯(lián)合CNN與Transformer的場(chǎng)景文本識(shí)別網(wǎng)絡(luò)。整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 整體網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Overall network architecture
采用MobileNetV2[15]的核心單元來構(gòu)造視覺特征提取網(wǎng)絡(luò),然后通過上采樣將視覺特征圖恢復(fù)至原圖尺寸的1/2,并將其輸入至HSAT中進(jìn)行視覺和序列特征間的全局交互以實(shí)現(xiàn)有效的字符預(yù)測(cè)。
考慮到識(shí)別算法需要滿足實(shí)時(shí)性需求,本文優(yōu)先采用輕量級(jí)的特征提取網(wǎng)絡(luò)。在MobileNetV2網(wǎng)絡(luò)結(jié)構(gòu)的啟發(fā)下,采用瓶頸殘差結(jié)構(gòu)(Bottleneck Residual Block,BRB)作為該特征提取網(wǎng)絡(luò)的基本構(gòu)成單元,在提取有效視覺特征的同時(shí)極大地減少了模型的參數(shù)量。具體來說,將調(diào)整尺寸后的圖像(224 pixel×224 pixel×1)數(shù)據(jù)輸入至由4個(gè)BRB堆疊的網(wǎng)絡(luò)中并輸出相應(yīng)的視覺特征圖。由于圖像尺寸太小容易丟失目標(biāo)位置信息,最后通過一個(gè)上采樣操作將該特征圖尺寸恢復(fù)至原圖大小的1/2,且保持通道維數(shù)不變(112 pixel×112 pixel×128)。
具體實(shí)現(xiàn)步驟如表1所示,Input表示輸入的尺寸(pixel × pixel)和維度,Operator表示相應(yīng)的操作,t表示BRB的擴(kuò)張倍數(shù),C表示輸出通道維數(shù)。
表1 視覺特征提取器的網(wǎng)絡(luò)結(jié)構(gòu)
圖2為BRB的內(nèi)部結(jié)構(gòu),由擴(kuò)張層、深度卷積層以及映射層組成,與一般的深度可分離卷積不同,它采用2個(gè)1×1的卷積結(jié)構(gòu)來平衡在低維和高維空間中提取特征與計(jì)算效率的問題。
圖2 BRB的內(nèi)部結(jié)構(gòu)Fig.2 Internal architecture of BRB
自然場(chǎng)景下的圖像通常包含復(fù)雜的背景噪聲,由于模型對(duì)文本區(qū)域的視覺特征不夠敏感,傳統(tǒng)的序列編解碼方法會(huì)導(dǎo)致文本識(shí)別結(jié)果出現(xiàn)較大的偏差。因此,本文構(gòu)建了一種更加強(qiáng)大的HSAT,有效地減緩了視覺特征不足對(duì)序列預(yù)測(cè)的影響,同時(shí)避免了多階段傳播后梯度可能消失的問題。與RNN的順序結(jié)構(gòu)不同,HSAT能夠以并行計(jì)算的方式關(guān)注文本序列的全局加權(quán)信息?;趥鹘y(tǒng)的Transformer編碼器結(jié)構(gòu),HSAT將深度可分離卷積融合到編碼器內(nèi)部,以替換原先的矩陣計(jì)算。
為了在自注意力層的并行計(jì)算中增加位置信息的可學(xué)習(xí)性,本文不再采用人工設(shè)置位置編碼,而是對(duì)視覺提取網(wǎng)絡(luò)輸出的特征圖進(jìn)行卷積操作,使輸入的Token map仍然保留二維空間的位置特性。
在傳統(tǒng)的Transformer中,編碼器端是由6個(gè)編碼塊堆疊而成。輸入每個(gè)編碼塊的Token個(gè)數(shù)取決于上一個(gè)編碼塊的輸出,且個(gè)數(shù)固定。而在HSAT中,Token的個(gè)數(shù)取決于卷積后的特征圖尺寸。為了降低自注意力層的計(jì)算復(fù)雜度,本文采用3層次結(jié)構(gòu),即每2個(gè)堆疊后采用深度可分離卷積來調(diào)整Token map的個(gè)數(shù)和維度。隨著網(wǎng)絡(luò)的加深,Token map個(gè)數(shù)則逐階段遞減,以此達(dá)到減少計(jì)算量的目的。HSAT的結(jié)構(gòu)如圖3所示,每個(gè)階段Token map的個(gè)數(shù)分別為56×56,28×28,14×14;維度變化分別為128,256,512。由于文本識(shí)別任務(wù)包含39個(gè)輸出分類,即26個(gè)大寫字母、10個(gè)數(shù)字、1個(gè)開始標(biāo)識(shí)符[GO]、1個(gè)結(jié)束標(biāo)識(shí)符[S]以及一個(gè)未知字符標(biāo)識(shí)符[UNK],最后利用全連接操作將輸出階段的Token個(gè)數(shù)調(diào)整至36,從而實(shí)現(xiàn)字符序列的預(yù)測(cè)。
圖3 HSAT結(jié)構(gòu)Fig.3 Architecture of HSAT
基于3種類型的合成文本數(shù)據(jù)集進(jìn)行訓(xùn)練,并在5種類型的場(chǎng)景文本識(shí)別基準(zhǔn)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)以評(píng)估識(shí)別算法的性能。
訓(xùn)練數(shù)據(jù)集由以下3類數(shù)據(jù)集組成,示例圖像如圖4所示,包括:
MJSynth(MJ)[16]:該數(shù)據(jù)集包含890萬個(gè)文本框圖像,對(duì)90 000個(gè)英語單詞應(yīng)用渲染、著色和投影畸變,與真實(shí)圖像進(jìn)行混合。
SynthText(ST)[17]:該數(shù)據(jù)集最初設(shè)計(jì)應(yīng)用在場(chǎng)景文本檢測(cè)任務(wù),本文對(duì)80 000張訓(xùn)練圖像的文本區(qū)域進(jìn)行裁剪來適應(yīng)文本識(shí)別任務(wù),大約包含700萬個(gè)帶有字符與單詞級(jí)的邊界框注釋實(shí)例。
SynthAdd(SA)[18]:該數(shù)據(jù)集是包含120萬個(gè)單詞框的合成文本圖像,其中增加了非字母、數(shù)字符號(hào),例如標(biāo)點(diǎn)符號(hào)等數(shù)據(jù)類型。
圖4 MJ,ST的示例圖像Fig.4 Image of datasets
5種類型的測(cè)試數(shù)據(jù)集覆蓋了規(guī)則文本和不規(guī)則文本,包括:
IIIT5K[19]:該數(shù)據(jù)集包含了5 000張?jiān)诠雀杷阉饕骐S機(jī)檢索的規(guī)則場(chǎng)景文本圖像。
SVT[20]:該數(shù)據(jù)集來源于谷歌街景圖像,包含904張規(guī)則的文本裁剪圖像。。
IC13[21]:該數(shù)據(jù)集包含1 863張單詞級(jí)注釋框的規(guī)則裁剪文本圖像。
SVTP[22]:該數(shù)據(jù)集由645個(gè)裁剪的單詞級(jí)圖像構(gòu)成,屬于不規(guī)則類文本圖像。
CUTE[23]:該數(shù)據(jù)集包含288個(gè)裁剪的單詞級(jí)圖像,以彎曲的文本圖像為主。
本文從識(shí)別的精確度以及識(shí)別速度2個(gè)方面對(duì)場(chǎng)景文本識(shí)別算法的性能進(jìn)行全面分析。為了公平比較,所有評(píng)估都是在相同的環(huán)境下進(jìn)行的,即所有評(píng)估實(shí)驗(yàn)均基于一張NVIDIA GeForce RTX 2080 Ti的GPU進(jìn)行。
對(duì)于識(shí)別精度(Text Recognition Accuracy,TRA)的評(píng)估,定義如下:
(1)
式中,T表示文本框的總數(shù)量;TP表示識(shí)別正確的文本框數(shù)量。
對(duì)于識(shí)別速度(Text Recognition Speed,WRS)的評(píng)估,時(shí)間以ms為單位,計(jì)算識(shí)別每張文本圖像所需要的平均時(shí)間,定義如下:
(2)
采用AdaDelta優(yōu)化器進(jìn)行訓(xùn)練,并使用以下訓(xùn)練參數(shù):衰減率為0.95,梯度下降步幅為5,Batch Size設(shè)置為128(其中,MJ,ST和SA訓(xùn)練數(shù)據(jù)集的采樣比分別為0.4,0.4,0.2),圖像尺寸統(tǒng)一調(diào)整至224 pixel×224 pixel。此外,本文不采用任何預(yù)訓(xùn)練方式,所有訓(xùn)練實(shí)驗(yàn)均使用Pytorch 3.6.0在2個(gè)型號(hào)為NVIDIA GeForce RTX 2080 Ti的GPU上并行訓(xùn)練,共訓(xùn)練10個(gè)epoch。
為了豐富文本數(shù)據(jù)的多樣性,使用了隨機(jī)縮放、旋轉(zhuǎn)和透視等數(shù)據(jù)增強(qiáng)手段。與常見的目標(biāo)檢測(cè)任務(wù)不同,該模型的輸出分類為36個(gè)符號(hào),分別為10個(gè)阿拉伯?dāng)?shù)字和26個(gè)不區(qū)分大小寫的字母符號(hào)。
將進(jìn)行2組消融實(shí)驗(yàn)來探究所提出方法的性能改進(jìn)以及關(guān)鍵貢獻(xiàn)的影響。為了公平,所有實(shí)驗(yàn)環(huán)境均相同。
3.4.1 BRB堆疊網(wǎng)絡(luò)的有效性
本組實(shí)驗(yàn)對(duì)BRB堆疊網(wǎng)絡(luò)的有效性進(jìn)行了探究,對(duì)單獨(dú)使用HSAT(方法1)、MobileNetV2-HSAT(方法2)以及本文所提出的模型進(jìn)行評(píng)估。結(jié)果如表2所示。
表2 采用不同視覺特征提取網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果
從表2可以看出,聯(lián)合BRB堆疊網(wǎng)絡(luò)與HSAT在多個(gè)數(shù)據(jù)集上的平均識(shí)別精度為85.6%,比方法1和方法2分別高出0.3%,4.7%。特別的是,本文所采用的BRB網(wǎng)絡(luò)由MobileNetv2核心單元堆疊而成,其復(fù)雜度遠(yuǎn)小于MobileNetv2的原始結(jié)構(gòu),但在該識(shí)別任務(wù)中卻獲得了相當(dāng)?shù)男阅堋?/p>
3.4.2 HSAT的有效性
為了驗(yàn)證HSAT的有效性,本文在視覺特征提取網(wǎng)絡(luò)相同的前提下對(duì)CTC(方法1)、Attention(方法2)以及本文的方法進(jìn)行探究。結(jié)果如表3所示。
表3 采用不同序列機(jī)制的結(jié)果
本文所使用的層次自注意力編碼器的識(shí)別精度遠(yuǎn)高于方法1和方法2,這得益于Transformer能進(jìn)行并行計(jì)算以獲取全局的序列特征。由于CTC和Attention的解碼結(jié)果在一定程度上依賴BiLSTM的編碼結(jié)果,但BiLSTM仍然受到超長(zhǎng)距離依賴問題的限制, 而Transformer的并行性有效地解決了該問題。
為了驗(yàn)證所提方法的有效性,本研究與其他較為先進(jìn)的5種算法進(jìn)行了比較,表4顯示了在III5K、SVT、IC13、SVTP以及CUTE五個(gè)數(shù)據(jù)集上的比較結(jié)果,其中加粗字體為最優(yōu)結(jié)果,下劃線表示次優(yōu)結(jié)果。
表4 不同基準(zhǔn)數(shù)據(jù)集的識(shí)別精度對(duì)比
通過對(duì)表4的分析可以看出,本文所提出的模型在III5K與CUTE數(shù)據(jù)集上達(dá)到最優(yōu),相較于次優(yōu)結(jié)果分別提升了0.8%,0.1%。在SVTP數(shù)據(jù)集上達(dá)到了次優(yōu)結(jié)果。對(duì)于規(guī)則文本,可以看出本模型在此類數(shù)據(jù)集上獲得了更為顯著的結(jié)果。對(duì)于不規(guī)則文本,盡管相較先前算法在識(shí)別精度上提升了近20%,但錯(cuò)誤比例相對(duì)較高。經(jīng)分析,主要原因在于這類文本圖像本身具有光照不均、部分遮擋以及彎曲等容易造成混淆的特點(diǎn)。因此,仍需進(jìn)一步探索識(shí)別此類樣本的有效解決方案。圖5展示了本方法識(shí)別的結(jié)果,綠色表示真實(shí)字符序列,黑色表示預(yù)測(cè)序列,紅色表示該字符預(yù)測(cè)錯(cuò)誤。
圖5 場(chǎng)景文本識(shí)別數(shù)據(jù)集識(shí)別結(jié)果Fig.5 Recognition results of scene text recognition datasets
同時(shí),該網(wǎng)絡(luò)的推理時(shí)間為6.24 ms,在識(shí)別效率上可以達(dá)到先進(jìn)的性能。
本文提出了一種自注意力混合卷積的場(chǎng)景文本識(shí)別網(wǎng)絡(luò)。在輕量級(jí)特征提取骨干的基礎(chǔ)上通過HSAT加強(qiáng)視覺特征信息與文本語義信息的關(guān)聯(lián)。多模態(tài)的全局交互能夠有效抑制復(fù)雜噪聲所帶來的影響,使得網(wǎng)絡(luò)在低分辨率等數(shù)據(jù)集上獲得更好的泛化能力。經(jīng)實(shí)驗(yàn),結(jié)果表明本模型在各個(gè)數(shù)據(jù)集上的性能均優(yōu)于大多數(shù)算法,平均識(shí)別精度在85%以上。此外,將進(jìn)一步考慮實(shí)現(xiàn)端到端的場(chǎng)景文本檢測(cè)識(shí)別算法,從而優(yōu)化在實(shí)際項(xiàng)目中的部署。