郝聚濤 段靜文 陳超 陳鴻龍
(1.上海電機(jī)學(xué)院電子信息學(xué)院 上海市 201306 2.上海思賢信息技術(shù)有限公司 上海市 200233)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展創(chuàng)新,辦公也逐漸進(jìn)入了信息化時(shí)代,紙質(zhì)文檔數(shù)字化由于其便于存儲(chǔ)和傳輸已被廣泛應(yīng)用。但是,大中型的企業(yè)由于文檔數(shù)量龐大,陷于難以梳理的困境。對大量以圖像或者pdf 格式存儲(chǔ)的文檔,進(jìn)行管理需要能夠智能化進(jìn)行文檔的組織和歸流,方便用戶按照類型進(jìn)行查找,有效提高工作效率。
文檔圖像的版面分析是文檔信息處理系統(tǒng)的重要組成部分,以及復(fù)雜文檔OCR(Optical Character Recognition)必不可少的環(huán)節(jié),它是實(shí)現(xiàn)紙質(zhì)文檔數(shù)字化的重要環(huán)節(jié)。文檔版面分析是一個(gè)將文檔圖像分解成不同區(qū)域塊并且進(jìn)行文本、圖像、表格和數(shù)學(xué)公式等分類的過程。版面分析在信息檢索、機(jī)器翻譯、光學(xué)字符識(shí)別以及從文檔中提取結(jié)構(gòu)化數(shù)據(jù)都有著廣泛應(yīng)用。
版面分析包含三個(gè)主要步驟:
(1)檢測感興趣的文檔塊;
(2)提取特征;
(3)對文檔塊進(jìn)行分類。
傳統(tǒng)的自頂向下、自底向上和混合的塊檢測方法被用于文檔塊的分割。然后,使用基于塊、基于像素或基于連接組件的技術(shù)從塊中提取特征。最后引入機(jī)器學(xué)習(xí)算法來分類文檔塊。
近年來,深度學(xué)習(xí)在文檔布局分類中得到了廣泛的研究。Kang將CNN 引入到使用自定義網(wǎng)絡(luò)進(jìn)行文檔分類的任務(wù)中與傳統(tǒng)的基于特征的方法相比,顯著降低了錯(cuò)誤率。
本文中的標(biāo)題檢測就是對文檔進(jìn)行邏輯版面分析的一種特定應(yīng)用,首先將文檔圖像分割幾何區(qū)域,進(jìn)行文本行識(shí)別。然后對文本行進(jìn)行語義類別劃分,劃分為標(biāo)題和非標(biāo)題。對標(biāo)題文本區(qū)域進(jìn)行OCR 識(shí)別,為后續(xù)進(jìn)行文檔自動(dòng)分類和檢索提供支持。
本文提出的文本圖像標(biāo)題檢測模型主要由三個(gè)部分組成,第一部分為文本檢測模塊(Connectionist Text Proposal Network,CTPN),即對輸入的文本圖像(Text images)進(jìn)行文本塊的檢測,獲取圖像中文本的位置信息;第二個(gè)部分是特征設(shè)計(jì)(Feature design),對得到的文本塊位置信息進(jìn)行特征設(shè)計(jì),轉(zhuǎn)化為分類器所需要的特征向量;第三個(gè)部分是分類器,對文本圖像中的每個(gè)文本塊進(jìn)行分類,判斷該本塊是否屬于標(biāo)題,最后得到輸入文本圖像的標(biāo)題概率分布。
CTPN(Connectionist Text Proposal Network)認(rèn)為預(yù)測文本的縱向位置(邊框的上下邊界)比橫向位置(邊框的左右邊界)更容易,因此CPTN 的基本想法就是去預(yù)測文本的縱向位置,水平方向的位置不做預(yù)測。由此提出了一個(gè)縱向錨點(diǎn)(vertical anchor)的方法,該方法與Faster RCNN 中的錨點(diǎn)類似,但不同的是,縱向錨點(diǎn)的寬度都是固定的16 個(gè)像素大小。而高度則從11 像素到273 像素變化,總共10個(gè)錨點(diǎn)。 同時(shí),同一文本線上不同字符可以互相利用上下文,將長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory LSTM)引入到了網(wǎng)絡(luò)里面,并且和卷積神經(jīng)網(wǎng)絡(luò)無縫對接,發(fā)揮LSTM 的記憶作用,根據(jù)前后的錨點(diǎn)序列來提取這種相互之間的關(guān)系特征,輸出給全連接層,給每個(gè)錨點(diǎn)打分,最后用文本行構(gòu)造法,將錨點(diǎn)連接起來,得到文本行。這兩大亮點(diǎn)使得CTPN 在文本行檢測的精確度方面有了很大的提升。
標(biāo)題與正文在排版以及字體大小等方面往往存在差別,可以利用這種差異性構(gòu)建標(biāo)題識(shí)別模型特征向量。只考慮圖像的文本信息,任何一張文本圖像都是由若干個(gè)文本塊組成,假設(shè)該文本圖像共有n 個(gè)文本塊,以第i 個(gè)文本塊text_block_i 為例闡述標(biāo)題識(shí)別模型特征向量的構(gòu)建。該文本塊上邊界離文本圖像上邊界的距離為vti,離文本圖像下邊界的距離為vbi;文本塊左邊界離文本圖像左邊界的距離為hli;文本塊右邊界離文本圖像右邊界的距離為hri;文本塊的高度為fi;第i 文本塊之上和之下分別存在的文本塊數(shù)量為m 和k,且m+k+1=n;該文本塊的特征向量為:
表1:文本圖像001_1.jpg 生成的訓(xùn)練集
其中hl=hli,hr=hri,h_ratio=hli/hri,vt=vti,vb=vbi,v_ratio=vti/vbi,front_ratio=m/n,back_ratio=k/n,
以文本圖像001_1.jpg 為例(見表1),該圖像存在8 個(gè)文本塊,可以生成8 個(gè)訓(xùn)練樣本,其中 用于說明該文本塊是否屬于標(biāo)題,如果是標(biāo)題則為1,反之為0,每張圖片生成的訓(xùn)練樣本數(shù)目取決于該圖片文本塊數(shù)量。這里選取了300 張文本圖像,生成9647 個(gè)樣本,其中正負(fù)樣本比例為1:13??紤]到實(shí)際情況下,同樣式下不同圖像的文本塊的相對位置會(huì)存在一定程度的左右偏移或者上下偏移;利用該特性,通過對每個(gè)特征變量引入偏移量 ,其中 ,生成偽樣本,使得正負(fù)樣本比例為1:1,得到最終樣本數(shù)目為18617,訓(xùn)練集和測試集比例為7:3。
將樣本數(shù)據(jù)輸入給模型進(jìn)行訓(xùn)練前,需要將其進(jìn)行歸一化或者標(biāo)準(zhǔn)化預(yù)處理,從而消除各特征量綱的影響。本文對訓(xùn)練數(shù)據(jù)特征預(yù)處理采用python 的sklearn 模塊的StandardScaler 方法。選取sklearn 自帶的7 種主流分類算法,即隨機(jī)森林(Random Forest,RF)、支持向量機(jī)(Support Vector Machine,SVM)、邏輯回歸(Logistics Regression,LR)、梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)、輕量梯度提升機(jī)(Light Gradient Boosting Machine,LGBM)、自適應(yīng)提升(Adaptive boosting,AdaBoost)、 極 端 梯 度 提 升(Extreme Gradient Boosting,XGBoost),分別作為本文的標(biāo)題二分類分類模型,分類器參數(shù)均采用sklearn 默認(rèn)值。
如表2 所示,各分類器均具有較優(yōu)性能,其原因是本文涉及到的文本標(biāo)題特征較為鮮明,即標(biāo)題所處位置、大小和非標(biāo)題文本存在交大差異,使得整個(gè)檢測場景變的簡單,而事實(shí)上這是一個(gè)在文檔中普遍存在的合理的現(xiàn)象。本文最終選取RF 作為文本圖像的標(biāo)題檢測分類器。
表2:分類器性能
對數(shù)據(jù)進(jìn)行StandardScaler 預(yù)處理,采用RF 分類器進(jìn)行訓(xùn)練,同時(shí)對樣本的各個(gè)特征進(jìn)行重要性排序,可知文本塊所在的上下位置信息對該文本塊為標(biāo)題的貢獻(xiàn)較大,特別的,該文本塊上方存在的文本塊數(shù)量與總文本塊數(shù)量比率貢獻(xiàn)最大,這個(gè)也是合理的,常見文檔中,標(biāo)題一般出現(xiàn)在第一行或者前幾行。
為了更好說明本文所提出的文本圖像標(biāo)題檢測方法的有效性,從網(wǎng)絡(luò)上隨機(jī)下載了1000 份文本圖像,標(biāo)題檢測準(zhǔn)確率~96%,驗(yàn)證該算法具有強(qiáng)魯棒性。同時(shí),本方法也存在一定局限性,例如對豎直、干擾嚴(yán)重的標(biāo)題檢測失效。
本文提出一種基于CTPN 的文本圖像標(biāo)題檢算方法,首先檢測文本圖像中文本塊,將每個(gè)文本塊位置信息轉(zhuǎn)化為標(biāo)題檢測模型所需的特征向量,并形成訓(xùn)練樣本集,利用RF 分類器學(xué)習(xí)樣本分布,再利用訓(xùn)練好的RF 分類器參數(shù)對未知文本圖像的標(biāo)題進(jìn)行檢測。傳統(tǒng)基于規(guī)則的文本圖像標(biāo)題檢測算法存在因?yàn)橐?guī)則覆蓋率有限導(dǎo)致算法泛化能 力差的問題。本文所提出的方法,結(jié)合了神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林分類器,算法泛化能力強(qiáng),同時(shí)在給定樣本分布下,訓(xùn)練得到分類器的精準(zhǔn)率、召回率、F 值、準(zhǔn)確率均接近于1,說明本文提出的標(biāo)題檢測算法具有較優(yōu)的性能,可用于一般場景下文本圖像標(biāo)題檢測。雖然該方法能較好的自動(dòng)檢測文本圖像的標(biāo)題,但是當(dāng)文本標(biāo)題周圍存在較強(qiáng)或者手寫字與打印字體識(shí)別置信度差異,構(gòu)建新特征,進(jìn)一步提高標(biāo)題檢測算法的魯棒性和性能,這都是值得進(jìn)一步開展研究的。干擾,例如手寫字或者文本標(biāo)題以垂直樣式出現(xiàn),該方法準(zhǔn)確率下降,因此后續(xù)可以考慮引入字符串語義信息。