劉艷菊,伊鑫海,李炎閣,張惠玉,劉彥忠
1.南京特殊教育師范學(xué)院 數(shù)學(xué)與信息科學(xué)學(xué)院,南京210038
2.齊齊哈爾大學(xué) 計(jì)算機(jī)與控制工程學(xué)院,黑龍江 齊齊哈爾161000
文字是人類記錄信息并將信息文明久遠(yuǎn)傳遞的方式和工具[1]。隨著時間的推移,大量的文字需要被轉(zhuǎn)換為數(shù)字形式存儲,于是文字識別技術(shù)開始被提出并發(fā)展。文字識別技術(shù)就是計(jì)算機(jī)利用不同算法識別出文字內(nèi)容的技術(shù)。常見的如光學(xué)字符識別(optical character recognition,OCR)[2]。早期的OCR技術(shù)就是將含有光學(xué)字符的圖片或文檔中的字符轉(zhuǎn)換為字符格式。隨著對文字識別的需求日益復(fù)雜,對自然場景下的文字識別的需求也愈發(fā)強(qiáng)烈。場景文字識別(scene text recognition,STR)成為研究熱點(diǎn)。它是OCR 的一個子問題,主要任務(wù)是將自然場景中的文字提取出來并轉(zhuǎn)化成字符形式[3]。相較于傳統(tǒng)OCR 技術(shù),STR 具有更多的挑戰(zhàn),例如字體多樣性、多尺度、任意形狀、光照、背景、模糊等[4]。深度學(xué)習(xí)在STR中的應(yīng)用有效解決了上述問題。
傳統(tǒng)的文本檢測方法多利用手動設(shè)計(jì)的特征捕捉場景文本的屬性,通常無法解決復(fù)雜背景、光照、遮擋、曲線文字、旋轉(zhuǎn)文字等對檢測結(jié)果的影響[5],而在基于深度學(xué)習(xí)的方法中,有效的特征是直接從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)的,該方法的出現(xiàn)突破了上述瓶頸,使得檢測方法更加靈活。目前的場景文本檢測方法大致可分為基于回歸的檢測方法和基于分割的方法,以及將兩者有效結(jié)合的方法。
該類方法通常先初始化默認(rèn)檢測邊框參數(shù),通過回歸的方法不斷學(xué)習(xí)參數(shù)值來擬合文本實(shí)例區(qū)域。通常基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)的檢測方法是將多個預(yù)測得到的候選區(qū)域輸入到CNN進(jìn)行特征提取,并通過分類確定候選區(qū)域是否包含目標(biāo)實(shí)例。文獻(xiàn)[6]基于全卷積網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)[7]和YOLO(you only look once)[8]的思想,提出了一種霍夫投票的變體,利用平移不變性將局部預(yù)測器作為CNN 的最后一層,模型同時密集地預(yù)測各像素的類別標(biāo)簽以及基于該像素的預(yù)測邊界框的參數(shù),顯著提高了檢測性能。但是整個網(wǎng)絡(luò)結(jié)構(gòu)仍然過于復(fù)雜,嚴(yán)重影響了訓(xùn)練時間,且不能很好地檢測旋轉(zhuǎn)文本。文獻(xiàn)[9]中的深度匹配先驗(yàn)網(wǎng)絡(luò)(deep matching prior network,DMPNet)首次提出用四邊形檢測旋轉(zhuǎn)文本。該模型首先利用四邊形滑動窗口粗略地召回文本。然而利用滑動窗口定位文本的方法,通常無法避免不必要的滑動窗口與文本實(shí)例之間的區(qū)域重疊甚至信息丟失。為此提出了一種共享蒙特卡羅方法,使得在計(jì)算重疊區(qū)域面積時更加高速和精準(zhǔn)。該模型摒棄了傳統(tǒng)的矩形檢測框,有效解決了檢測旋轉(zhuǎn)文字時的背景冗余和信息缺失等問題。但是DMPNet 所使用的滑動窗口是人工設(shè)定的,在檢測某些極端角度的文字時不夠靈活。模型直接預(yù)測矩形框的頂點(diǎn)坐標(biāo),這樣會出現(xiàn)坐標(biāo)的順序混淆問題。Liu等人[10]進(jìn)一步將預(yù)測邊框離散化為關(guān)鍵邊緣,然后利用一個多分類器學(xué)習(xí)得到正確的文本匹配。但是這種基于參數(shù)回歸的方式檢測旋轉(zhuǎn)文本存在邊界間斷的問題。
Liao等人[11]提出的TextBoxes是一種基于單例多框檢測器(single shot multibox detector,SSD)[12]的全卷積網(wǎng)絡(luò)模型。由于文字往往有較大的長寬比,SSD在檢測橫縱比較大的單詞時會出現(xiàn)失誤。為此文中設(shè)計(jì)了多個不同比例的默認(rèn)框,并且為每個默認(rèn)框設(shè)置了垂直偏移量,以避免各框之間豎直方向過于稀疏而導(dǎo)致檢測性能變差。而且TextBoxes 只能檢測水平方向的文字,在不規(guī)則場景文本的檢測上,如處理彎曲、旋轉(zhuǎn)程度較大等問題時,成比例的單一矩形框已經(jīng)不能滿足需求。為此,文獻(xiàn)[13]對TextBoxes 進(jìn)一步地優(yōu)化,不再使用傳統(tǒng)的單一矩形框作為檢測文本的預(yù)測邊框,而是通過回歸文本多邊形的端點(diǎn)坐標(biāo)來檢測多向文本,使用四邊形或旋轉(zhuǎn)的矩形有效解決了旋轉(zhuǎn)文字的檢測問題。在測試階段使用非最大值抑制來合并所有文本框?qū)拥慕Y(jié)果。但是整個網(wǎng)絡(luò)步驟繁雜,訓(xùn)練時間較長。Zhou等人[14]優(yōu)化了檢測流程,僅包括兩個階段:FCN 階段對輸入圖像進(jìn)行特征提取,提取出不同水平的特征映射,其結(jié)構(gòu)如圖1所示;非最大值抑制階段則對特征進(jìn)行自頂向下的合并。模型可以對旋轉(zhuǎn)文本進(jìn)行檢測,預(yù)測邊框可以是任意四邊形。該模型減少了候選框建議、單詞劃分等中間步驟和組件,有效提高了處理效率和性能。但是EAST(efficient and accurate scene text detector)模型的感受野受到網(wǎng)絡(luò)接收域大小的限制,在檢測長文本時性能不佳。為此,文獻(xiàn)[15]通過在特征金字塔上構(gòu)造雙向卷積來將多尺度特征映射到尺度不變的空間,使得模型對多尺度文本的檢測更加魯棒,對長文本或小文本的檢測性能也更好。但是模型并沒用舍棄后處理步驟,在訓(xùn)練時間上不如EAST。
圖1 FCN模型結(jié)構(gòu)Fig.1 Architecture of FCN
自底向上的檢測方法在檢測彎曲文本和長文本時的性能遠(yuǎn)比自頂向下的方法好,但是檢測場景密集文字時效果不佳,且后處理復(fù)雜。Shi等人[16]提出的SegLink是一種自底向上的檢測方法。該方法基于分段(segment)-鏈接(link)的思想,其中segment是覆蓋單詞或文本行一部分的多方向邊框,link 鏈接兩個segment 表示它們屬于同一文本內(nèi)容。最終根據(jù)它們的置信度得分將相關(guān)的segment融合為最終的文本行。該模型有效擺脫了人工設(shè)定的默認(rèn)框比例對結(jié)果的限制,使網(wǎng)絡(luò)可以成功檢測多方向文字和長文本行文字。但是該模型不能檢測曲形文本和字符間距較大的文本行。為此,文獻(xiàn)[17]進(jìn)一步將分塊之間的關(guān)系明確為吸引鏈接或排斥鏈接,以輔助分離密集的文本,并利用實(shí)例感知損失函數(shù)對檢測不良的檢測區(qū)域和鏈接給予更多的損失權(quán)重,實(shí)現(xiàn)了后處理。但是模型缺少語義信息,在文本行方向的判斷上容易出現(xiàn)失誤,進(jìn)而導(dǎo)致檢測失敗。文獻(xiàn)[18]利用基于圖卷積網(wǎng)絡(luò)的鏈接關(guān)系預(yù)測模塊生成多個不相交的分段,這種方法可以充分利用文字的上下文關(guān)系,對大小間距的文本都能很好地檢測,避免了鏈接過程中過度分解的問題。文獻(xiàn)[19]生成一批有角度的四邊形框定位場景文本,但是生成的預(yù)測邊框仍然是高度重疊的,五參數(shù)法容易因?yàn)榻嵌戎芷谛詥栴}而出現(xiàn)邊界不連續(xù)的問題。
文獻(xiàn)[20]首先利用不同尺度的錨點(diǎn)生成候選區(qū)域,然后在Fast R-CNN[21]階段回歸出更精確的文本框。Zhang 等人[22]發(fā)現(xiàn)對于檢測較長文本,“只看一次”可能只會看到文本行的一部分,由此提出一種多次處理文本實(shí)例區(qū)域的模型LOMO(look more than once)。該模型通過直接回歸器(direct regressor,DR)生成一個粗略的覆蓋目標(biāo)區(qū)域的四邊形檢測框,但是因?yàn)楦惺芤暗南拗?,DR很難把長文本檢測完整,故提出了迭代優(yōu)化模塊(iterative refinement module,IRM)。IRM 不斷優(yōu)化迭代來自CNN 和自身提取的特征,并引入端點(diǎn)注意力機(jī)制回歸每個端點(diǎn)的坐標(biāo)偏移量,使得模型可以完整地檢測到整個文本行。IRM 的具體結(jié)構(gòu)如圖2 所示。最后通過形狀表達(dá)模塊,根據(jù)場景文本的幾何屬性重構(gòu)出更加靈活、接近文本的文字區(qū)域表達(dá)。LOMO模型擺脫了傳統(tǒng)的基于四邊形檢測框表示目標(biāo)區(qū)域的方法,有效擬合了復(fù)雜文本的區(qū)域邊界,并分別利用IRM模塊解決超長文本檢測問題,利用形狀表達(dá)模塊解決了曲線文本檢測問題。但是文獻(xiàn)[20,22]都面臨著一個共同的問題:它們都是利用一個基于實(shí)例掩碼預(yù)測的模塊來為每個彎曲文本預(yù)測一個更精確的檢測框,但是這種方法在檢測長曲型文本時檢測框建議高度重疊,有可能在非最大值抑制階段被錯誤地抑制,最終召回率會受到影響。文獻(xiàn)[23]提出的多尺度形狀回歸模型(multi-scale shape regression,MSR)同樣解決了對曲線文本的檢測問題。該模型將文本區(qū)域每個像素回歸到該像素最近邊界生成密集的邊界點(diǎn),并鏈接邊界點(diǎn)以生成預(yù)測區(qū)域邊界,避免了在回歸稀疏頂點(diǎn)過程中預(yù)測長文本時造成較大的回歸誤差。多尺度的網(wǎng)絡(luò)特征提取和融合,規(guī)避了文本尺度比例異常或較大時對預(yù)測結(jié)果的影響。
圖2 IRM模型結(jié)構(gòu)Fig.2 Architecture of IRM
基于回歸的檢測方法的回歸方式、檢測文本類型及優(yōu)缺點(diǎn)如表1所示。
表1 基于回歸的場景文本檢測方法Table 1 Natural scene text detection methods based on regression
基于分割的場景文本檢測方法通常利用語義分割的基本思想,將文本檢測問題視為一種對文本/背景的分類問題,該類方法常用經(jīng)典的FCN、全卷積實(shí)例感知網(wǎng)絡(luò)(fully convolutional instance aware,F(xiàn)CIS)[24]等方法預(yù)測像素級別的文本/背景標(biāo)簽。Long等人[25]提出的TextSnake模型以一種更加靈活的方式表示文本的幾何屬性。該模型以圓環(huán)為基礎(chǔ),通過FCN 不斷預(yù)測文本中心線和文本區(qū)域,以及這些圓環(huán)的表征屬性,堆疊多個圓環(huán)構(gòu)成的序列表示文本行的幾何特征。表示方法如圖3 所示。每個圓環(huán)的圓心位于文本區(qū)域的中心軸線上,并有確定的大小和方向。TextSnake 可以很好地解決不規(guī)則場景文本的檢測問題,但是該方法是在“蛇形”文本行實(shí)例的前提下進(jìn)行檢測的,即文本行有唯一的起始點(diǎn)和終止點(diǎn),對于多文本行之間有連接或重疊情況的,就可能出現(xiàn)檢測誤差。文獻(xiàn)[26]基于TextSnake的思想,把識別問題轉(zhuǎn)換成一個技術(shù)問題,將累計(jì)的類預(yù)測和標(biāo)簽標(biāo)注看作所有類的概率分布,并利用交叉熵比較這兩種概率分布,使用了一系列局部四邊形來定位復(fù)雜的文本。但是文獻(xiàn)[25-26]同樣對字符間和字符內(nèi)間距是敏感的,在檢測間距較大的文本時容易出現(xiàn)過度分割的情況。
圖3 TextSnake模型結(jié)構(gòu)Fig.3 Architecture of TextSnake
文獻(xiàn)[27]提出了一種基于分割的漸進(jìn)尺度擴(kuò)張網(wǎng)絡(luò)(progressive scale expansion network,PSENet)。該網(wǎng)絡(luò)首先將圖像輸入到特征金字塔網(wǎng)絡(luò),提取不同尺度的特征再融合特征。然后通過基于廣度優(yōu)先搜索的漸進(jìn)尺度擴(kuò)展算法根據(jù)核的尺度由小到大逐步擴(kuò)增,直到核與原文本實(shí)例大小相等,最小的核可以把原本緊靠的文本實(shí)例分開。最終根據(jù)文本形狀應(yīng)用相應(yīng)方法獲得最終的邊界框。PSENet對密集文本的文本行分割和字符間分割更加準(zhǔn)確,并且對任意形狀都是魯棒的。但是該模型網(wǎng)絡(luò)結(jié)構(gòu)以及后處理過程復(fù)雜,導(dǎo)致處理時間較長。為此,文獻(xiàn)[28]提出的像素聚合網(wǎng)絡(luò)(pixel aggregation network,PAN)進(jìn)一步降低了計(jì)算成本以及后處理的復(fù)雜程度。該網(wǎng)絡(luò)模型使用輕量級的CNN 進(jìn)行特征提取,但是輕量級網(wǎng)絡(luò)提取到的特征感受野較小且表達(dá)能力較弱。隨后PAN利用分割頭對特征進(jìn)行細(xì)化處理,解決了上述問題。分割頭包括兩個主要模塊:特征金字塔增強(qiáng)模塊是一個U形可級聯(lián)模塊,可以通過融合不同層級信息增強(qiáng)不同尺度的特征深度和表達(dá)。特征融合模塊將不同深度的特征融合為最終的分割特征。最后,提出了一種可學(xué)習(xí)的基于聚類思想的像素聚合方法,將文本實(shí)例像素聚合到正確的核以重建完整的文字實(shí)例,抑制相鄰文字的粘連與重疊。PAN 模型極大地提升了檢測效率,而且對長文本、密集文本的檢測性能非常好。
文獻(xiàn)[29]提出利用文本中心-邊界概率和文本中心方向檢測文本,充分利用了文本實(shí)例內(nèi)部的關(guān)聯(lián)關(guān)系,擺脫了感受野的限制。然后利用與文獻(xiàn)[14]相似的方法回歸文本框,并且其中有兩條邊可能是彎曲的,可以更好地檢測曲線文本。但是該模型要針對文本實(shí)例區(qū)域中逐像素地生成標(biāo)簽,在實(shí)際應(yīng)用過程中訓(xùn)練標(biāo)簽的生成速度較慢。Liao等人[30]借助邊框?qū)W習(xí)的思想,提出了一個可微的二值化(differentiable binarization,DB)模型,并將其插入到分割網(wǎng)絡(luò)中進(jìn)行聯(lián)合優(yōu)化,在優(yōu)化過程中對每個像素點(diǎn)自適應(yīng)地學(xué)習(xí)得到魯棒的二值化閾值,以更好地區(qū)分文本區(qū)域和背景區(qū)域,大大簡化了后處理的負(fù)擔(dān)。該模型的主干網(wǎng)絡(luò)無論是ResNet-50還是輕量級的ResNet-18,都可以達(dá)到極佳的檢測性能,且在ResNet-18的情況下可以達(dá)到實(shí)時推理。但是當(dāng)文本實(shí)例正好位于另一個文本實(shí)例的中心區(qū)域時,它會失敗,這是基于分段的場景文本檢測器的一個常見限制。
基于分割的方法通常需要多信息分割、融合的操作,影響了檢測速度,但檢測方式靈活,更適合不規(guī)則文本的檢測?;诨貧w的方法檢測多文本尺寸不夠魯棒,但能夠檢測小文本。因此綜合兩種方法的優(yōu)勢往往可以更好地檢測不規(guī)則文本。文獻(xiàn)[31]提出了一種基于Mask R-CNN[32]的金字塔掩碼文本檢測器(pyramid mask text detector,PMTD)。該模型不再進(jìn)行像素級二進(jìn)制分類,而是將形狀和位置信息編碼到監(jiān)督中,并為每個文本實(shí)例預(yù)測一個軟文本掩碼。PMTD 模型又將二維軟掩碼重構(gòu)到三維空間,并提出了一種平面聚類算法,從這些三維點(diǎn)回歸出最優(yōu)金字塔。但是該模型仍然使用四邊形檢測框表示文本實(shí)例區(qū)域,在檢測不規(guī)則文本時效果不佳。
文獻(xiàn)[33]主要針對檢測曲線文本問題,提出了一種基于特征金字塔網(wǎng)絡(luò)和分割思想的監(jiān)督金字塔文本檢測網(wǎng)絡(luò)(supervised pyramid context network,SPCNet)。該模型還通過引入上下文語義信息和對所有預(yù)測文本實(shí)例的重新評分機(jī)制,有效地抑制了誤報(bào)問題?;陬愃茊栴},Wang等人[34]提出了ContourNet模型。該模型提出一種對尺度不敏感的自適應(yīng)區(qū)域提議網(wǎng)絡(luò),通過只關(guān)注預(yù)測邊界框和真實(shí)邊界框之間的交集值來生成初步文本區(qū)域提議,提高了文字候選區(qū)域生成質(zhì)量。又將傳統(tǒng)邊緣算子思想融入到局部正交紋理感知模塊中,用一組輪廓點(diǎn)來表示文本實(shí)例區(qū)域。隨后采用方向解耦思想的重新評分算法,利用水平和豎直方向模塊分別預(yù)測目標(biāo)文字實(shí)例的輪廓,兩者融合,有效提升了檢測正確率。
復(fù)雜場景中的文字通常帶有重疊、遮擋等問題,文獻(xiàn)[35]利用深度置信網(wǎng)絡(luò)提取到的文字紋理特征進(jìn)行分類,并提出了針對重疊文本的檢測方法。該方法將復(fù)雜場景圖像分解成若干個單一背景圖像,利用級聯(lián)Adaboost 分類器得到最終的文本實(shí)例區(qū)域。Adaboost分類器是多個弱分類器組成的一個強(qiáng)分類器,因?yàn)楦鱾€弱分類器采用級聯(lián)的方式組合,所以大部分的分文本連通分量會在前幾個弱分類器中被剔除,這樣有效解決了文字重疊的問題。但是單一的特征在解決復(fù)雜背景問題時往往效果不佳,可以從紋理特征、邊緣特征和顏色特征相結(jié)合的角度提升文本定位的精度。
文獻(xiàn)[36]主要針對自然場景中的不均勻光照、模糊問題,通過融合積分通道特征和特征池的思想,并使用卷積策略整合圖像的特征表達(dá),讓整個模型對光照不敏感,可以更加關(guān)注文字的本質(zhì)特征。但是模型使用經(jīng)驗(yàn)的方式對文本實(shí)例區(qū)域和背景區(qū)域設(shè)置一些二值化閾值,當(dāng)文字邊緣與背景出現(xiàn)粘連問題,尤其是文字處于一塊復(fù)雜背景區(qū)域時,模型存在嚴(yán)重的漏檢情況。
基于回歸的文本檢測方法通常分為“自頂向下”和“自底向上”的方式。而“自頂向下”的方法通常先生成粗略的候選框建議,然后利用回歸的方式生成更精確的文本實(shí)例區(qū)域的表達(dá)。近幾年的研究大部分都是回歸出預(yù)測邊框的端點(diǎn)坐標(biāo),這樣就存在坐標(biāo)順序的混淆問題?!白缘紫蛏稀钡姆椒梢员苊夂蜻x框建議的限制,這種方法通常將檢測到的文字或句子片段根據(jù)添加的屬性合并成完整的文本。但是對于字符間隔較大的文本或字符本身較大的情況,就有可能出現(xiàn)過度分割的問題。
基于分割的方法通過預(yù)測像素級的文本實(shí)例,可以檢測多角度的文本,但是由于后期處理復(fù)雜,這種基于分割的方法通常要消耗大量的時間。對于文本重疊的情況,這種方法很難精確地分別檢測出來。
場景文字識別技術(shù)在計(jì)算機(jī)視覺和機(jī)器智能領(lǐng)域受到越來越多的關(guān)注,識別場景文本對于場景理解具有重要意義。在近幾屆的國際文檔分析與識別大會中(International Conference on Document Analysis and Recognition,ICDAR),針對識別場景文字的問題,基于深度學(xué)習(xí)的識別方法在性能上遠(yuǎn)遠(yuǎn)超過傳統(tǒng)的文本檢測方法,體現(xiàn)出了應(yīng)用深度學(xué)習(xí)的優(yōu)勢[37]。在不受約束的環(huán)境中識別文本仍然是當(dāng)下面臨的最具挑戰(zhàn)的問題,通過研究者們的不懈努力,已經(jīng)有了很多針對上述問題的基于深度學(xué)習(xí)的文字識別模型。
連接主義的時序分類(connectionist temporal classification,CTC)[38]機(jī)制通常被用在預(yù)測階段,CTC通過累加條件概率將CNN 或RNN 輸出的特征轉(zhuǎn)換為字符串序列。在文本識別技術(shù)中的應(yīng)用可以解決時序類文本的對齊問題,即確保預(yù)測文本序列與實(shí)際文本序列順序一致,長度相同。
He 等人[39]提出了深層文本循環(huán)網(wǎng)絡(luò)(deep-text recurrent network,DTRN)識別模型。該模型將CNN和RNN 放在一個網(wǎng)絡(luò)中進(jìn)行端到端的聯(lián)合訓(xùn)練,把場景文本識別問題視為序列標(biāo)記問題。DTRN首先利用32×32 大小的滑窗滑動截取圖像,并依次輸入到Maxout[40]CNN 進(jìn)行提取特征,然后由RNN 進(jìn)行解碼,最后通過CTC將長短記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[41]的序列輸出映射到其目標(biāo)字符串中,對結(jié)果進(jìn)行調(diào)整。RNN 對結(jié)構(gòu)信息的理解能力很強(qiáng),但是也使得模型的并行性更差,效率更低。
Shi 等人[42]在2017 年提出了卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(convolutional recurrent neural network,CRNN)。該網(wǎng)絡(luò)在深度雙向LSTM中堆疊多個雙向LSTM的結(jié)果,并將CTC 模型連接在雙向LSTM 網(wǎng)絡(luò)的最后來實(shí)現(xiàn)端到端的文字識別。CRNN模型由卷積層、循環(huán)層和轉(zhuǎn)錄層三部分組成。其結(jié)構(gòu)如圖4 所示。循環(huán)層由一個深度雙向LSTM構(gòu)成并設(shè)計(jì)于卷積層的頂部,用來預(yù)測特征序列的標(biāo)簽分布。轉(zhuǎn)錄層將RNN所做的每幀預(yù)測轉(zhuǎn)換成標(biāo)簽序列。CRNN 網(wǎng)絡(luò)可以在無字典或基于字典的任務(wù)中使用,并且不涉及水平歸一化或限制長度等操作,大大提高了識別性能。但是由于字符位置的不確定性,在循環(huán)層對字符的多個預(yù)測值的累加操作就會導(dǎo)致模型的計(jì)算量大大增加,而且如果對數(shù)據(jù)集進(jìn)行字符級坐標(biāo)的標(biāo)注也需要消耗大量的人力。整個網(wǎng)絡(luò)未考慮特征間的關(guān)聯(lián)關(guān)系就可能導(dǎo)致CNN學(xué)習(xí)到的特征不如人意,最終識別失敗。
圖4 CRNN網(wǎng)絡(luò)架構(gòu)Fig.4 Structure of CRNN
目前主流的場景文本識別模型都是基于編碼器-解碼器框架的,而傳統(tǒng)的編碼器-解碼器框架只能將輸入序列編碼成一個固定長度的向量表示。引入Attention機(jī)制的編碼器輸出的是不定長向量組成的序列,對目標(biāo)數(shù)據(jù)以及相關(guān)數(shù)據(jù)賦予更大的權(quán)重,使得解碼器的“注意力”集中到目標(biāo)數(shù)據(jù),獲取到更多的細(xì)節(jié),并且可以學(xué)到較長輸入序列的合理向量表示。注意機(jī)制通常與RNN結(jié)合作為預(yù)測模塊。
文獻(xiàn)[43]提出了一種具有自動矯正功能的魯棒文本識別器(robust text recognizer with automatic rectification,RARE)。該模型包括一個空間變換網(wǎng)絡(luò)(spatial transformer network,STN)[44]和一個序列識別網(wǎng)絡(luò)(sequence recognition network,SRN)。其中STN 利用薄板樣條(thin-plate splines,TPS)[45]變換對帶有不規(guī)則文字的輸入圖像進(jìn)行矯正,矯正后的字符沿水平線排列,更適合于SRN 的識別。SRN 則將矯正后的結(jié)果作為輸入,將識別問題建模為基于Attention機(jī)制的序列識別問題,使得整個模型可以進(jìn)行端到端的識別。SRN由編碼器和解碼器組成,編碼器采用了卷積-遞歸結(jié)構(gòu),解碼器對各步驟的Attention機(jī)制所確定的內(nèi)容進(jìn)行解碼,并循環(huán)生成輸入圖像的字符序列。該模型大大提高了自然場景下不規(guī)則文本的識別性能。但是RARE 模型采用非線性函數(shù)tanh作為最后全連接層的激活函數(shù),雖然保證了采樣點(diǎn)在圖片之內(nèi)采樣,但是減緩了收斂速度。定位網(wǎng)絡(luò)獲取控制點(diǎn)的圖片略大,導(dǎo)致預(yù)測時需要更多的參數(shù)。為此,文獻(xiàn)[46]對RARE模型進(jìn)行了改進(jìn),提出了具有靈活校正功能的注意力場景文本識別器(attentional scene text recognizer with flexible rectification,ASTER)。該模型仍然包括空間變換網(wǎng)絡(luò)和序列識別網(wǎng)絡(luò)兩部分,通過TPS變換對不規(guī)則文本進(jìn)行矯正,并利用雙向長短記憶網(wǎng)絡(luò)(bidirectional long short-term memory,Bi-LSTM)[47]和Attention 來做端到端的聯(lián)合訓(xùn)練。與RARE不同的是,在最后一個全連接層中并沒有使用tanh 作為激活函數(shù),而且對采樣器中的值進(jìn)行裁剪,既降低了反向傳播過程中梯度的保留,又確保了有效采樣。同時,ASTER 在STN 中使用不同大小的圖像用于定位網(wǎng)絡(luò)和采樣網(wǎng)絡(luò),定位網(wǎng)絡(luò)將從更小的圖片中獲取控制點(diǎn),減少了預(yù)測所需的參數(shù)。ASTER 在解決不規(guī)則場景文本識別任務(wù)上表現(xiàn)出了良好的性能,但是基于校正的方法往往受到字符幾何特征的限制,并且模型更容易被背景噪聲影響。為了克服這個問題,Luo等人[48]提出了多目標(biāo)矯正注意力網(wǎng)絡(luò)(multi-object rectified attention network,MORAN)。MORAN 由多目標(biāo)矯正網(wǎng)絡(luò)和基于Attention 機(jī)制的序列識別網(wǎng)絡(luò)構(gòu)成。其中矯正網(wǎng)絡(luò)是一個像素級矯正網(wǎng)絡(luò),該網(wǎng)絡(luò)生成一個與輸入圖像相同大小的偏移圖,偏移圖中的每個值表示對應(yīng)輸入圖像位置像素相對于原始位置的偏移量。序列識別網(wǎng)絡(luò)的主要結(jié)構(gòu)是CNN-BLSTM-Attention 框架。此外,還提出了一種分?jǐn)?shù)拾取方法來擴(kuò)展基于注意力的解碼器的視野。該矯正網(wǎng)絡(luò)不受幾何約束,因此比仿射變換更加靈活,但是缺點(diǎn)也很明顯,它只能對橫排文字進(jìn)行矯正,無法解決豎排文字的畸變。MORAN網(wǎng)絡(luò)雖然可以處理不規(guī)則文本識別問題,但是對于曲線角度過大的情況,會識別失敗。文獻(xiàn)[49]在解決不規(guī)則文本的識別問題時同樣采用矯正的思想,模型將文本圖像分成幾個不重疊切片,小的切片更容易被矯正,但是直接利用仿射變換在合成完整圖像時容易出現(xiàn)嚴(yán)重的不連續(xù)問題,隨后模型利用網(wǎng)絡(luò)投影來平滑變換圖像,最終合成完整圖像的文字更加平滑、完整。但是模型利用幾個全連接層預(yù)測仿射變換參數(shù),參數(shù)量大大增加。
Cheng等人[50]發(fā)現(xiàn)在處理低像素/復(fù)雜的圖像時,基于注意力機(jī)制的方法表現(xiàn)不佳,主要是由于注意力網(wǎng)絡(luò)無法將這種特殊圖像中字符的注意中心準(zhǔn)確地集中到對應(yīng)的目標(biāo)區(qū)域的中心,并稱這種現(xiàn)象為“注意力偏移”。因此,文獻(xiàn)提出了一種聚焦注意力網(wǎng)絡(luò)(focusing attention network,F(xiàn)AN)。FAN 首先通過注意力網(wǎng)絡(luò)計(jì)算出目標(biāo)區(qū)域與特征區(qū)域的對齊因子,將注意中心與目標(biāo)區(qū)域?qū)R。然而,計(jì)算出的注意中心通常是不準(zhǔn)確的。然后FAN又通過聚焦網(wǎng)絡(luò)來檢測并矯正注意力中心,有效解決了“注意力偏移問題”。但是FAN 網(wǎng)絡(luò)將二維特征展平為一維連續(xù)特征向量,破壞了各像素之間的空間和結(jié)構(gòu)聯(lián)系,像素之間的全局上下文和字符之間的潛在依賴性被忽略,特別是對于自然場景文本識別問題,筆畫結(jié)構(gòu)是區(qū)分字符的一個關(guān)鍵因素。而且它還需要額外的字符集邊界框注釋來訓(xùn)練,成本大大增加。
基于Attention 機(jī)制的識別網(wǎng)絡(luò)通常依賴于傳入的解碼信息,因?yàn)锳ttention 機(jī)制與解碼信息的耦合關(guān)系,解碼信息的誤差必然會累計(jì)和傳播,所以傳統(tǒng)的Attention機(jī)制總是出現(xiàn)嚴(yán)重的對齊問題。Wang等人[51]將傳統(tǒng)注意力機(jī)制的解碼器解耦為卷積對齊模塊和去耦解碼器。該模型在識別長文本、手寫體文本時表現(xiàn)出很好的性能,但是仍然無法避免噪聲的影響,即使是類似文本的噪聲也會盡力對齊文本。Lu等人[52]認(rèn)為在基于RNN的局部注意機(jī)制下,編碼特征之間的高度相似性會導(dǎo)致注意力混亂,因此這種方法總是存在注意力偏移問題。于是提出了一種多方向的非局部自我注意模塊。而且在訓(xùn)練階段有所調(diào)整,通過創(chuàng)建下三角形掩碼矩陣,解碼器可以同時輸出所有時間步長的預(yù)測,提高了訓(xùn)練過程的并行性,訓(xùn)練時間也大大縮減。文獻(xiàn)[53]顯著提高了每個時間步長的對齊因子的準(zhǔn)確性。而且通過相互引導(dǎo)的方式解決了模糊、不規(guī)則文本的難題,但是該模型只是針對26個英文字母和10個阿拉伯?dāng)?shù)字的識別問題,面臨大規(guī)模標(biāo)簽種類的數(shù)據(jù)集性能會大大降低。
基于Attention的識別方法的主要思想、檢測文本類型及優(yōu)缺點(diǎn)如表2所示。
表2 基于Attention機(jī)制的場景文字識別方法Table 2 Natural scene text recognition methods based on Attention mechanism
由于Attention 機(jī)制生成的是預(yù)測文本序列與實(shí)際文本序列對齊的概率,可能增加對齊誤差,CTC 機(jī)制則可以引導(dǎo)Attention 更好地對齊,因此兩者結(jié)合往往可以相互促進(jìn),提高識別性能。文獻(xiàn)[54]融合了CTC 和Attention的思想,提出了選擇性上下文注意力文本識別器(selective context attentional text recognizer,SCATTER)。SCATTER首先使用TPS變換對輸入圖像進(jìn)行矯正。堆疊多個Bi-LSTM 編碼器,用CTC 的輔助訓(xùn)練設(shè)計(jì)了一個級聯(lián)的Attention 的選擇性注意力解碼器。通過采用二步一維注意力機(jī)制同時解碼CNN 層的視覺特征和Bi-LSTM層計(jì)算的上下文特征。SCATTER利用堆疊的思想成功訓(xùn)練了更深的Bi-LSTM 編碼器,識別性能大大提高,通過中間監(jiān)督、選擇性解碼器使得整個網(wǎng)絡(luò)更加穩(wěn)定、魯棒。盡管Bi-LSTM 可以有效地對文本上下文進(jìn)行建模,但它的計(jì)算量大且耗時,并且在訓(xùn)練中它可能會導(dǎo)致梯度消失/爆炸。文獻(xiàn)[55]同樣使用混合思想,利用Attention 去監(jiān)督CTC 做更好的識別,提出了CTC 指導(dǎo)訓(xùn)練模型(guided training of CTC,GTC),有效解決了文獻(xiàn)[42]中缺乏聚焦于局部區(qū)域能力的問題。GTC模型將提取到的特征分別傳入CTC解碼器和注意力指示器。其中注意力指示器利用Attention 機(jī)制并使用CE 損失函數(shù)不斷優(yōu)化STN 模塊的矯正和CNN層的特征提取。CTC 解碼器在LSTM 層前增加了圖卷積網(wǎng)絡(luò)來利用空間上下文相關(guān)性,并且將從更好的特征表示中不斷更新自己,以解碼出更準(zhǔn)確的識別結(jié)果。
近幾年還有學(xué)者認(rèn)為語義、語料也是文本識別的一個重要因素。文獻(xiàn)[56]提出用一個預(yù)訓(xùn)練好的語言模型,把它集成到識別器去做聯(lián)合優(yōu)化,能比較好地提升它的識別效果,但是這樣又增加了訓(xùn)練負(fù)擔(dān)。語義模型中存在全連接層,也意味著輸入圖像需要被縮放到固定大小,這樣就會導(dǎo)致一部分信息的丟失。
文獻(xiàn)[57]以全監(jiān)督和弱監(jiān)督結(jié)合的方式訓(xùn)練模型,有效利用了弱標(biāo)注文本的40萬大規(guī)模數(shù)據(jù)。為了從弱標(biāo)注數(shù)據(jù)中挖掘豐富的信息,模型在監(jiān)督學(xué)習(xí)框架下設(shè)計(jì)了一個在線建議匹配模塊,通過共享參數(shù)來定位關(guān)鍵詞區(qū)域進(jìn)行端到端的訓(xùn)練。模型加入弱監(jiān)督輔助訓(xùn)練之后的識別性能明顯好于全監(jiān)督訓(xùn)練,但是利用大量的數(shù)據(jù)集將帶來更大的計(jì)算成本。文獻(xiàn)[58]針對序列域遷移問題提出了一種序列域自適應(yīng)網(wǎng)絡(luò)模型,域自適應(yīng)可以更好地利用無標(biāo)注數(shù)據(jù)集減少序列域的偏移。該模型還引入了一個新的門控注意相似單元,采用門控函數(shù)控制模型聚焦于最有效的字符級特征,而不是通過全局特征來執(zhí)行域自適應(yīng)。該模型應(yīng)用范圍廣泛,可以應(yīng)用到自然場景文本、手寫體文本甚至公式識別中。
目前大部分的研究都是針對場景文本檢測或者識別的單個任務(wù),端到端的識別方法則是一個模型可以同時完成以上兩個任務(wù)。
為了解決復(fù)雜場景中極端光照對邊緣檢測效果不理想的問題,文獻(xiàn)[59]對訓(xùn)練樣本的顏色信息進(jìn)行判斷,對預(yù)處理得到的圖像進(jìn)行高斯濾波處理,消除了部分噪聲,通過先驗(yàn)概率和SVM模型剔除非文本區(qū)域,進(jìn)而確定文本實(shí)例區(qū)域。在文本識別階段,模型將傳統(tǒng)的LeNet-5[60]中的輸出神經(jīng)元增加到65 個,并且在改變神經(jīng)元數(shù)量的同時對應(yīng)調(diào)整訓(xùn)練樣本的種類分布。該模型在復(fù)雜場景中尤其是極端光照情況下可以達(dá)到較高的識別精確率,魯棒性較好。但是在目標(biāo)區(qū)域由于磨損導(dǎo)致其斷裂粘連時,相應(yīng)的分割提取方法仍可以進(jìn)一步改進(jìn),而且模型結(jié)構(gòu)復(fù)雜,處理時間較長。
文獻(xiàn)[61]提出用三階自適應(yīng)貝塞爾曲線對文本矯正,然后在參數(shù)空間里面去回歸這些控制點(diǎn),而不是在圖像上回歸文本框,因此在檢測多方向多尺度文本時它的檢測框更加平滑,并且速度很快。識別階段采用CNN+Bi-LSTM+CTC 結(jié)構(gòu),最終實(shí)現(xiàn)端到端場景文字識別。但是模型是通過合成數(shù)據(jù)集訓(xùn)練的,在測試時文本漏檢問題較嚴(yán)重。文獻(xiàn)[62]利用分割建議網(wǎng)絡(luò)解決了其過去版本[63]嚴(yán)重依賴手動設(shè)計(jì)錨點(diǎn)的問題。此外,由分割建議網(wǎng)絡(luò)生成的精確建議可以解耦相鄰文本實(shí)例,因此該模型可以避免背景噪聲、模糊問題對檢測性能的影響,最后利用一個空間注意力模塊對檢測到的文本實(shí)例區(qū)域進(jìn)行識別,并且對極端長寬比文字的識別也是魯棒的。但是基于分割的方式后期維護(hù)代價(jià)高,且計(jì)算成本也較高。文獻(xiàn)[64]在檢測階段利用局部四邊形回歸和中心線分割的思想處理任意形狀的文本。在識別階段引入了一種基于CNN 和CTC 機(jī)制,讓框架無需標(biāo)注字符位置,并且識別效率要比傳統(tǒng)的基于Faster RCNN[65]+Attention的模型要高很多,但是模型仍然很難應(yīng)用到實(shí)時識別的任務(wù)中。
CTC機(jī)制通常預(yù)測一維的特征序列,通過累加所有文本可能性的概率預(yù)測出最終的文字序列,可以最大化輸出序列的正確性。但是CTC 的計(jì)算方式復(fù)雜,計(jì)算成本高,而且很難對二維特征進(jìn)行預(yù)測,這就損失了很多場景文本的空間屬性。
Attention 機(jī)制使得解碼器可以更關(guān)注與目標(biāo)文本相關(guān)的信息,并且更容易擴(kuò)展到二維預(yù)測問題。但Attention機(jī)制生成的是對齊概率,特別是對于長文本識別問題,有可能出現(xiàn)對齊誤差,即“注意力偏移”現(xiàn)象。將Attention 機(jī)制應(yīng)用到場景文字識別任務(wù)中是當(dāng)下的一個熱點(diǎn)方向,但是目前很少有Attention模型是針對標(biāo)簽種類較多的數(shù)據(jù)集的,如何減少在大規(guī)模標(biāo)簽種類識別任務(wù)中的計(jì)算成本是下一步應(yīng)解決的問題。
端到端的識別方法可以共享文本檢測與識別的信息,并且可以對其進(jìn)行聯(lián)合優(yōu)化,避免了級聯(lián)檢測與識別模塊方式的誤差累計(jì)。端到端模型的整體推理速度要比級聯(lián)方式更快,但是如何維護(hù)檢測與識別間收斂時間與難度的平衡仍然是一個挑戰(zhàn)。
目前較常用的場景文本檢測與識別的數(shù)據(jù)集包括:水平數(shù)據(jù)集ICDAR2013[66]、ICDAR2015[67]、SVT[68]、KAIST[69]等,任意形狀數(shù)據(jù)集MSRA-TD500[70]、OSTD[71]、COCOText[72]、SCUT-CTW1500[73]等,多語言數(shù)據(jù)集ICDAR2017-MLT[74]、ICDAR2019-MLT[75]、EvArEST[76]等,中文數(shù)據(jù)集ICDAR2019-LSVT[77]、ICDAR2019-ReCTS[78]、CTW[79]、ShopSign[80]等。上述數(shù)據(jù)集的詳細(xì)信息如表3所示。
表3 場景文本檢測與識別常用數(shù)據(jù)集Table 3 Common datasets of natural scene text detection and recognition
文字是人們信息傳遞的載體,通過對文本檢測與文字識別技術(shù)的分析,可以看出隨著深度學(xué)習(xí)在文本檢測與識別技術(shù)中的應(yīng)用,所能解決的問題也越來越復(fù)雜,但是同樣存在大量的問題需要被解決,如對密集文本和不規(guī)則文本的檢測性能仍遠(yuǎn)遠(yuǎn)低于檢測水平文本的性能。對多語言(非拉丁文)檢測與識別技術(shù)的需求日益提升。無論對文本的檢測還是識別,其目的都是提取圖片中的文字并利用其文本含義,因此對文本視覺問答技術(shù)的研究尤為重要。綜上所述,場景文本檢測與識別技術(shù)可以從以下幾方面進(jìn)一步擴(kuò)展。
(1)密集文本、曲線文本的檢測與識別
當(dāng)前針對復(fù)雜文本檢測問題的模型多是通過回歸邊框的方式確定文本實(shí)例區(qū)域,如TextBoxes、TextBoxes++,如果可以通過回歸文本位置的控制點(diǎn)替代回歸文本框端點(diǎn),則可以讓最終的文本框的表達(dá)更加靈活、精確。很多學(xué)者對不規(guī)則文本識別的研究是先矯正再識別,如RARE、ASTER,而字符級的矯正相對于其他矯正方式來說,旋轉(zhuǎn)角度較小并且更容易被識別,如果可以設(shè)計(jì)一個好的字符級的檢測識別器,就可以極大地提升不規(guī)則文本的識別率。
(2)提高模型的性能與泛化能力
算法的迭代旨在增強(qiáng)算法的實(shí)用性、易用性以及輕量化。隨著互聯(lián)網(wǎng)的發(fā)展和大數(shù)據(jù)時代的來臨,大量的數(shù)據(jù)需要被處理,這就使得在保證識別性能的基礎(chǔ)上識別效率的提升尤為重要。如EAST模型、PAN模型都在簡化模型結(jié)構(gòu)的基礎(chǔ)上提升了檢測性能。另外,從參數(shù)空間的角度提升模型性能也是很好的解決方法。過去的研究多是定義一組文本框最終標(biāo)識檢測到的文本,如果將這種二維的方法拆解成一維的表達(dá)方式,則可以簡化問題并且減少計(jì)算量。雖然目前利用合成數(shù)據(jù)集訓(xùn)練的算法在標(biāo)準(zhǔn)數(shù)據(jù)集的評估上表現(xiàn)出了比較好的性能,但是它對多尺度、多樣式的文本適應(yīng)能力較差,除了豐富訓(xùn)練數(shù)據(jù)的樣式外,怎樣提升模型的泛化能力仍是一個挑戰(zhàn)??梢詮奈淖直旧韼в械幕緦傩匀缯Z義、結(jié)構(gòu)等方面進(jìn)行研究。
(3)多語言場景檢測與識別
近幾年ICDAR發(fā)表的數(shù)據(jù)集都有一個多語言的版本,如2017-MLT、ICDAR2019-MLT,這也預(yù)示著多語言文本的檢測與識別的地位日益提升,對多語言文本的檢測與識別技術(shù)的需求也日益增加。當(dāng)前的數(shù)據(jù)集中存在部分注釋不完善的問題,例如不規(guī)范的標(biāo)點(diǎn)符號或者不區(qū)分外文字母大小寫,還應(yīng)該為這些數(shù)據(jù)集提供新的更全面的注釋,如字符級、像素級的注釋。利用合成數(shù)據(jù)進(jìn)行訓(xùn)練,然后在標(biāo)準(zhǔn)數(shù)據(jù)集上評估是目前模型的一個趨勢,如何讓合成數(shù)據(jù)集對模型的訓(xùn)練更有價(jià)值是比較重要的問題,另外提出一個更好的數(shù)據(jù)擴(kuò)充方法也是需要思考的問題。
(4)對無約束的場景文字的檢測
由于場景文本檢測與識別技術(shù)都將應(yīng)用在實(shí)際場景中,無約束的場景通常帶有強(qiáng)烈光照、模糊、遮擋等問題,雖然當(dāng)前的場景文本檢測技術(shù)已經(jīng)達(dá)到較好性能,但是針對無約束場景的性能較差。有些模型只是針對某個數(shù)據(jù)集的檢測效果很好甚至過擬合,因此可以在訓(xùn)練模型時多增加一些對抗樣本讓模型更魯棒。
(5)中文數(shù)據(jù)集和檢測識別方法
中國是個多民族國家,目前針對中文以及各民族文字的數(shù)據(jù)集和識別方法數(shù)量有限。建立公開的中文數(shù)據(jù)集、少數(shù)民族文字?jǐn)?shù)據(jù)集對中文檢測與識別技術(shù)有重大的意義。
(6)語義、語料在場景文本識別方法中的應(yīng)用
由于場景文字通常帶有語義信息,目前已經(jīng)有相關(guān)的研究如SEED用一個預(yù)訓(xùn)練好的語言模型,然后把它集成到識別器去做聯(lián)合優(yōu)化。用語義信息去監(jiān)督場景文字識別通??梢蕴嵘R別準(zhǔn)確率。
光學(xué)字符識別技術(shù)已經(jīng)十分成熟,對自然場景下文本的檢測與識別是當(dāng)今的熱點(diǎn)問題。本文分別對場景文本檢測技術(shù)和文字識別技術(shù)進(jìn)行了分析。文本檢測技術(shù)中基于分割的方法可以更加靈活地檢測不規(guī)則文本,但是對于小文本區(qū)域的召回率較低。而基于回歸的方法能夠檢測到小文本,然而不能適應(yīng)文本的多尺度?;旌戏椒ńY(jié)合兩者的優(yōu)點(diǎn),通??梢赃_(dá)到更好的性能。文本識別方法中CTC機(jī)制有效解決了目標(biāo)文本序列與實(shí)際文本序列的對齊問題,但由于CTC 損失函數(shù)和字符位置的不確定性,且未考慮特征間的關(guān)聯(lián)關(guān)系,對長文本的識別可能出錯。Attention 機(jī)制使得解碼器可以更關(guān)注與目標(biāo)文本相關(guān)的信息,但Attention機(jī)制生成的是對齊概率,有可能出現(xiàn)對齊誤差。CTC與Attention的結(jié)合可以相互監(jiān)督以提升識別性能。