朱命冬,劉小杰,王鮮芳,張建霞
(1.河南工學(xué)院 計算機科學(xué)與技術(shù)學(xué)院,河南 新鄉(xiāng) 453003;2.新鄉(xiāng)市智能工業(yè)大數(shù)據(jù)應(yīng)用工程技術(shù)研究中心,河南 新鄉(xiāng) 453003; 3.河南工學(xué)院 智能工程學(xué)院,河南 新鄉(xiāng) 453003)
圖文識別具有廣泛的應(yīng)用場景,如圖像檢索、圖像標(biāo)注、實體識別、語義理解、跨模態(tài)查詢等。面向主題的圖文識別可以自動識別圖片中針對某一主題的關(guān)鍵信息,例如圖書封面中的書名信息、商品圖片上的品牌信息和旅游圖片中的景點信息等。
面向主題的圖文識別與傳統(tǒng)的自然場景下文字識別有一定的相似性,都是從圖片中識別文本,但它們存在本質(zhì)上的區(qū)別:一方面自然場景下文字識別是識別圖片中所有的文字,不考慮文字和主題之間的關(guān)系,容易識別出很多與當(dāng)前主題不相關(guān)的文本信息;另一方面,自然場景下文字識別只識別場景中的文本片段,而不考慮這些文本片段之間的關(guān)系,很難給出一個具有完整語義的文本表述。由此可見,面向主題的圖文識別具有更強的實用性。
實現(xiàn)準(zhǔn)確地面向主題的圖文識別主要面臨兩個挑戰(zhàn):首先,針對某一特定的主題,往往缺乏大規(guī)模的訓(xùn)練數(shù)據(jù)集,人工修正的成本較高,訓(xùn)練數(shù)據(jù)集中容易包含臟數(shù)據(jù);其次,只識別出文字片段,不具備獨立完整的語義,難以被理解和應(yīng)用,因此需要識別出文字片段與主題之間的相關(guān)性,以及各個文字片段之間的語義語序關(guān)系,才能構(gòu)建具有完整語義的文本?;谏鲜鎏魬?zhàn),本文提出了一種高效的面向主題的圖文識別方法 (Subject-oriented Text Recognition based on Weakly supervised learning,STRW),該方法結(jié)合區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region Convolutional Neural Network, RCNN)和基于注意力機制的長短記憶模型(Long Short Term Memory,LSTM),通過弱監(jiān)督學(xué)習(xí)方法和基于位置信息的全局連接層,實現(xiàn)準(zhǔn)確完整地識別圖片中的主題文本信息。首先,本文提出一個基于弱監(jiān)督學(xué)習(xí)面向主題的圖文識別框架,該框架可以有效處理面向特定主題的復(fù)雜數(shù)據(jù)集;其次,該框架整合了基于位置信息的全局連接層,可以有效識別出與主題相關(guān)的文本,并對連貫的文本進行連接,生成完整語義;最后,實驗環(huán)節(jié)從網(wǎng)絡(luò)上采集圖書封面數(shù)據(jù),并整理出訓(xùn)練集和測試集,通過與現(xiàn)有方法進行對比,驗證了所提方法的有效性。
圖文識別從技術(shù)角度可以分成文字檢測和文字識別兩個階段。傳統(tǒng)圖文識別方法中兩個階段的模型往往獨立構(gòu)建,但隨著深度學(xué)習(xí)等技術(shù)的發(fā)展以及可用數(shù)據(jù)集規(guī)模越來越大,端到端同步構(gòu)建方法被廣泛采用[1,2]。端到端同步構(gòu)建方法可以有效捕捉兩個模型之間的內(nèi)部聯(lián)系,提高識別的準(zhǔn)確率。根據(jù)圖片中文本的排版方式,相關(guān)研究工作可以分為規(guī)則化圖文識別和非規(guī)則化圖文識別兩類。
規(guī)則化圖文識別方法主要針對圖片中需要識別的文本大小一致并且排版單一的情況。Li等人[3]提出了第一種基于深度學(xué)習(xí)的端到端規(guī)則化圖文識別方法,該方法通過兩階段框架和興趣區(qū)(Region of Interest,ROI)池結(jié)構(gòu)來聯(lián)合檢測和識別特征[4]。文獻[5]和[6]采用無錨機制以提高訓(xùn)練和推理速度,分別采用文本對齊和ROI旋轉(zhuǎn)作為采樣策略,從四邊形檢測結(jié)果中提取文本特征。
非規(guī)則化圖文識別方法主要針對圖片中需要識別的文本排版不統(tǒng)一的情況,如橫豎混排和字體大小不一等。為了檢測不規(guī)則形狀的圖形文本,文獻[7]提出了一個掩文本識別方法,基于掩碼區(qū)域卷積神經(jīng)網(wǎng)絡(luò)并使用字符級監(jiān)督同時檢測和識別字符和實例掩碼。該方法顯著提高了檢測不規(guī)則形狀文本的性能。文獻[8]提出了使用ROI遮罩將注意力集中在不規(guī)則形狀的文本區(qū)域上,但該方法容易受到異常像素的影響,另外,擬合多邊形過程還會帶來額外的計算代價。可見,圖文識別相關(guān)研究是當(dāng)前的研究熱點并取得了一定的研究成果,但對訓(xùn)練數(shù)據(jù)規(guī)模存在較高的依賴,同時主要集中于文字形式上的識別而忽略了文本的語義信息。
圖1是STRW的框架圖。該方法主要由四個模塊組成,分別是區(qū)域生成網(wǎng)絡(luò)(Region Proposal Networks,RPN)模塊、ROI對齊模塊、卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(Convolutional Recurrent Neural Network,CRNN)文本識別模塊和基于位置的序列生成模塊。下面分別對各個模塊進行詳細介紹。
圖1 STRW方法架構(gòu)圖
RPN模塊主要用于生成候選文本區(qū)域。該模塊采用基于ResNet50[9]的特征金字塔網(wǎng)絡(luò), 該網(wǎng)絡(luò)采用自上而下的網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建單張圖片不同尺寸的具有高級語義信息的特征圖,可以有效提高識別準(zhǔn)確率。RPN模塊采用錨點的方法。為了有效處理不同大小和不同長寬的詞條,分別設(shè)置區(qū)域分辨率為162、322、 642、1282、和2562, 并且每個階段都使用了0.2、0.5、1、2和4五個長寬比。
ROI對齊模塊可抽取出文本建議框的區(qū)域特征。傳統(tǒng)的興趣區(qū)池方法也可以完成這個操作,但是由于其計算過程取整,易造成特征粗糙,故對小目標(biāo)的檢測效果不好。為解決避免這種情況,本框架采用ROI對齊方法。ROI對齊模塊除了需要使用ROI對齊進行文本建議區(qū)域篩選以外,還需要使用快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)進行區(qū)域文本分類和區(qū)域位置回歸。
CRNN文本識別模塊主要識別文本區(qū)域中的文本內(nèi)容。采用CRNN模型[10],主要包括三層結(jié)構(gòu):(1)卷積層,作用是從輸入圖像中提取特征向量;(2)循環(huán)層,作用是預(yù)測從卷積層獲取的特征序列的標(biāo)簽分布;(3)轉(zhuǎn)錄層,作用是把從循環(huán)層獲取的標(biāo)簽分布通過去重、整合等操作轉(zhuǎn)換成最終的識別結(jié)果;基于聯(lián)接時間分類代價[10]計算損失函數(shù),如公式(1)所示:
L(S)=-lnΠ(x,z)sp(z|x)=-Σ(x,z)sln(ΣπF-1(z)p(π|x)
(1)
式中,S為訓(xùn)練集,x為輸入,z為輸出,F(xiàn)代表一種多對一的映射,將輸出路徑映射到標(biāo)簽序列l(wèi),p(π|x)代表給定輸入為x、輸出路徑為π的概率。
基于位置的序列生成模塊的主要功能是篩選出符合主題的文本內(nèi)容并對文本內(nèi)容進行整合,形成完整表達。該模塊通過位置信息和文本框內(nèi)容特征進行序列生成訓(xùn)練,該模塊是STRW方法的核心模塊。
圖文識別如果只能識別出圖片中各個區(qū)域的文字,這些文字無法組織成一個完整的語義,識別結(jié)果的可用性就會受到嚴(yán)重影響。而基于位置的序列生成模塊可以對各個文本框的內(nèi)容進行整合排序,形成一個面向主題的具有完整語義的文本。如圖2所示,該模塊主要由三層結(jié)構(gòu)組成,第一層是融合位置信息的文本嵌入表示層,第二層是雙層的LSTM結(jié)構(gòu),第三層是序列分類預(yù)測層。
圖2 基于位置的序列生成模塊結(jié)構(gòu)
融合位置信息的文本嵌入表示主要包含兩部分內(nèi)容,一部分是識別文本的嵌入表示,記為ET,ET可以通過語義嵌入方法獲得。另一部分是位置嵌入表示,記為EP。EP={Hs,Ws,He,We},Hs=onehot(|H1|*H,H),Ws=onehot(|W1|*W,W) ,He=onehot(|H2|*H,H),We=onehot(|W2|*W,W),其中onehot(x,X)表示維度為X的向量,該向量對應(yīng)索引位置的值為1,其他為0。H和W分別為定義的對應(yīng)高和寬的維度常量。H1、W1、H2、W2為對應(yīng)文本框的歸一化后的左上角和右下角的坐標(biāo)位置。EP中同時包含了位置和大小兩種信息。通過連接操作生成對應(yīng)文本框i的嵌入表示Xi如公式2所示:
Xi=Concat(ETi,EPi),
(2)
式中,i表示第i個文本框。
雙層的LSTM結(jié)構(gòu)可以結(jié)合整體文本內(nèi)容的語義進行當(dāng)前文本框的序列預(yù)測。如圖2所示,雙層LSTM結(jié)構(gòu)由兩排逆序的LSTM單元連接組成。LSTM單元的計算方法如公式(3)—(6)所示:
(3)
ct=ft⊙ct-1+itgt
(4)
ht=ot⊙tanh(ct)
(5)
yt=softmax(ht)
(6)
式中,it、ft、ot、gt、ct和ht分別是LSTM單元t的輸入狀態(tài)、遺忘狀態(tài)、輸出狀態(tài)、中間狀態(tài)、記憶和隱含狀態(tài),yt是序列預(yù)測輸出。
序列分類預(yù)測層根據(jù)LSTM單元的輸出ht計算出對應(yīng)文本框的序列,預(yù)測整數(shù)區(qū)間是[0,L],L是設(shè)定的最長序列,0表示該文本內(nèi)容和主題不相關(guān)。最后,通過多項邏輯斯特回歸函數(shù)進行分類計算得出該文本的序列。
為了驗證所提方法的有效性,本節(jié)將STRW與當(dāng)前主流方法TextSpotter[9]和PP-OCR[11]進行對比。數(shù)據(jù)集是從電商平臺網(wǎng)站上采集的圖書封面數(shù)據(jù)集,主題是圖書名稱。數(shù)據(jù)集的規(guī)模是23,000張圖片,具體包括生物類圖書封面4000張,文學(xué)類圖書封面2000張,經(jīng)濟類圖書封面4000張,語言類圖書封面3000張,數(shù)學(xué)類圖書封面4000張,哲學(xué)類圖書封面2000張,程序類圖書封面4000張。圖片的分辨率是200*200。模型實現(xiàn)主要分兩個階段:第一個階段為初始化階段,模型初始化采用預(yù)訓(xùn)練模型的參數(shù);第二個階段是微調(diào)訓(xùn)練階段。訓(xùn)練集、驗證集和測試集規(guī)模采樣比例是3:1:1。
實驗環(huán)境采用基于TitanXP顯卡的工作站,CPU i5-10400, 內(nèi)存64GB,硬盤512GB SSD, 操作系統(tǒng)是Ubuntu16.04。
首先驗證方法的準(zhǔn)確度,不同類別的圖書封面展示書名的特點不一樣,圖3給出了STRW方法處理不同類別圖書的識別準(zhǔn)確度,可以看出綜合準(zhǔn)確度達到80%。不同類的準(zhǔn)確度有一定的差別,這一方面和該類別的數(shù)據(jù)量有關(guān)系,往往訓(xùn)練數(shù)據(jù)越大參數(shù)相對就越準(zhǔn)確;另一方面和該類別的數(shù)據(jù)質(zhì)量有關(guān),例如語言類和數(shù)學(xué)類中考試輔導(dǎo)用圖書較多,采集圖片中營銷廣告信息對準(zhǔn)確識別造成了一定的干擾。圖4給出了三種方法綜合準(zhǔn)確度的比較,可以看出, STRW方法綜合準(zhǔn)確度最高。
圖3 分類準(zhǔn)確度
圖4 綜合準(zhǔn)確度對比
系統(tǒng)性能實驗主要驗證STRW方法的訓(xùn)練收斂性和識別推測的效率。圖5是STRW方法在迭代訓(xùn)練過程中模型準(zhǔn)確度變化圖,可以看出,由于采用了預(yù)訓(xùn)練模型和遷移方法,210次迭代后基本實現(xiàn)收斂,為了防止過擬合我們采用準(zhǔn)確度80%時的訓(xùn)練參數(shù)。圖6是STRW方法在推測時間方面和其他方法的對比,可以看出STRW方法平均用時最少,具有較好的推測效率。
圖5 STRW方法訓(xùn)練收斂性
圖6 識別推測的時間對比
圖7給出了STRW方法的部分識別樣例,圖書名稱被識別成多個文本塊的連接,文本塊前的序號是該文本塊在整個題目中的序列。圖片中方框標(biāo)注出了文本塊的位置。
圖7 部分圖書名識別樣例
現(xiàn)有的面向主題圖文識別方法在面對數(shù)據(jù)集較少且易含有噪音數(shù)據(jù)時,準(zhǔn)確度無法保證,針對這個問題,提出了一種基于弱監(jiān)督學(xué)習(xí)面向主題的圖文識別方法——STRW,該方法結(jié)合RCNN和基于注意力機制的LSTM,通過弱監(jiān)督學(xué)習(xí)方法和基于位置信息的全局連接層,能夠準(zhǔn)確識別圖片中的主題文本信息。實驗結(jié)果表明,所提方法可以有效解決面向主題的圖文識別問題。