李若月 錢強(qiáng) 張瀚文
摘 要:為了對非固定樣式的手寫表格文檔進(jìn)行批量識別處理,實(shí)現(xiàn)自動錄入功能,首先通過空表識別生成單元格信息,分析版面結(jié)構(gòu);其次對圖片進(jìn)行去噪、傾斜校正、二值化等處理,對手寫內(nèi)容進(jìn)行分割;最后搭建識別手寫字符的卷積神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)結(jié)果表明,最終實(shí)現(xiàn)的識別系統(tǒng)能對不同格式的手寫表格進(jìn)行識別并生成數(shù)據(jù)格式文件?;诳毡碜R別得到單元格信息的手寫表格識別系統(tǒng)能對不同樣式的表格進(jìn)行批量識別處理,且通過CNN搭建識別模型,手寫漢字也能被識別,使系統(tǒng)通用性更好,便于應(yīng)用擴(kuò)展。
關(guān)鍵詞:手寫漢字識別;表格識別;卷積神經(jīng)網(wǎng)絡(luò);識別系統(tǒng)
DOI:10. 11907/rjdk. 191307
中圖分類號:TP303 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2019)005-0017-04
Abstract: In order to carry on the batch recognition processing to the non-fixed style handwritten documents and realize the function of automatic input, at first, the cell structure is generated by identifying the empty table, and the layout structure is analyzed. Then, the image is processed by denoising, skew correction, binarization, and the handwritten content is segmented. Finally, a convolutional neural network for handwritten character recognition is built. The experimental results show that the recognition system can recognize different handwritten forms and generate data format files. The handwritten form recognition system based on recognizing blank table and getting cell information can recognize different forms in batches, and the recognition model is set up by CNN, so handwritten Chinese characters can be recognized, which increases the generality of the system and easiness for application.
Key Words: handwritten Chinese character recognition; form recognition; convolutional neural network; recognition system
0 引言
紙質(zhì)表格是日常生活工作中應(yīng)用非常廣泛的文檔類型,其功能多樣、形式各異。為實(shí)現(xiàn)管理信息化,將紙質(zhì)表格上的信息轉(zhuǎn)換為電子數(shù)據(jù)是企業(yè)、單位的必要選擇。傳統(tǒng)人工數(shù)據(jù)錄入方法整理紙質(zhì)表格耗費(fèi)大量人力,且效率低下、成本高昂。尤其是手寫表格,由于每個人字跡不一,加大了人工錄入工作量,并且錄入錯誤率也較高。雖然已有自動表格錄入系統(tǒng),但這些系統(tǒng)多用于如發(fā)票等具有固定形式的表格,且識別對象多為手寫數(shù)字,難以對其進(jìn)行推廣應(yīng)用。
虞飛等[1]設(shè)計了一種通用機(jī)打發(fā)票識別系統(tǒng),使用傾斜檢測的方法對表格進(jìn)行處理,采用統(tǒng)計數(shù)字投影的方法識別數(shù)字;李彬等[2]提出一種特征目標(biāo)自動識別表格,通過對感興趣的區(qū)域進(jìn)行檢測,以此識別一張完整的考核測評表。但是上述系統(tǒng)只能針對具有特定或相似格式的表格進(jìn)行識別處理,是一種通過提取表格線完成模板匹配[3]的簡單的表格識別方法。文獻(xiàn)[4]提出了表格數(shù)據(jù)識別處理輸出規(guī)則概念,成功研發(fā)出一種手寫表格數(shù)字識別系統(tǒng);Coüasnon等[5]提出一種根據(jù)預(yù)定義模型對表格進(jìn)行分類識別處理的方法;Watanabe等[6]提出通過引入分類樹獲取版面結(jié)構(gòu)并識別多種表格文檔圖像布局結(jié)構(gòu)的方法;Kieninger[7]提出輸入單詞邊界框信息,再輸出文本塊邏輯單元,用于標(biāo)識表格環(huán)境和單元格;Zanibbi等[8]通過建立能定義表格的物理和邏輯結(jié)構(gòu)檢測表格;文獻(xiàn)[9]提出通過交點(diǎn)特征和交點(diǎn)軌跡法對表格單元進(jìn)行提取的方法。
除金融等行業(yè)具有固定格式的手寫表格外,在人事登記、醫(yī)療、教育等領(lǐng)域還有其它手寫表格。這些表格文檔數(shù)量大、形式不固定,而且待識別內(nèi)容不僅有手寫數(shù)字,還有識別難度更大的手寫漢字。為擴(kuò)大應(yīng)用范圍,手寫表格的錄入、管理以及數(shù)據(jù)存儲有重大研究意義。
表格自動錄入系統(tǒng)通常由4部分組成:表格分析、單元格提取、單元格內(nèi)容識別、數(shù)據(jù)錄入。由于本文研究對象不只局限于具有固定格式的表格,因此分析表格版面結(jié)構(gòu)成為系統(tǒng)工作基礎(chǔ)。一個表格文檔由不同大小、位置的單元格組成,通過分析表格版面結(jié)構(gòu),可以得到需要識別的單元格位置。在單元格提取階段使用位置信息提取其內(nèi)容,采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)進(jìn)行識別,最終將得到的結(jié)果生成數(shù)據(jù)格式文件,以便后期數(shù)據(jù)管理及系統(tǒng)推廣應(yīng)用。本文系統(tǒng)流程如圖1所示。
1 表格信息生成
現(xiàn)有表格識別軟件通常先進(jìn)行圖像處理,再進(jìn)行表格版面結(jié)構(gòu)分析,從而完成表格類型判斷[10]。由于現(xiàn)實(shí)中的手寫表格類型多樣、應(yīng)用廣泛,若采用該方法,僅能識別、處理少數(shù)固定形式的表格文檔,難以擴(kuò)大應(yīng)用范圍。本文采取生成表格信息的方法完成表格類型判斷,并得到其位置信息,該過程可通過空白表格識別完成。
空白表格一般含有兩種類型的單元格:有印刷文字的標(biāo)題單元格與待人工填寫的單元格。在獲取含需要識別手寫內(nèi)容的單元格過程中,主要難點(diǎn)在于手寫漢字或數(shù)字提取。因此本文首先依次判斷每個單元格內(nèi)是否含有文字,從而確定其屬性,即單元格類型,并將其記錄。
根據(jù)上述判斷,識別并記錄每個標(biāo)題單元格的印刷內(nèi)容,從而生成數(shù)據(jù)文件各標(biāo)題欄。與此同時,記錄每個標(biāo)題單元格對應(yīng)的待提取內(nèi)容單元格位置。內(nèi)容單元格的位置用二元組表示,用于描述其所在行及在該行的位置。定義代碼如下所示:
//記錄標(biāo)題格的屬性
int type_num;//表格的標(biāo)題數(shù)目
//記錄內(nèi)容單元格對應(yīng)的標(biāo)題和位置
int type;//內(nèi)容單元格對應(yīng)標(biāo)題
int x,y;//內(nèi)容單元格位置信息
2 表格處理
2.1 圖片預(yù)處理
一般情況下,表格圖片可通過拍照、掃描等方式得到,而設(shè)備、環(huán)境光線等諸多因素會影響最終成像圖片質(zhì)量,使圖片留存噪點(diǎn)。噪點(diǎn)是由圖像中亮度或顏色隨機(jī)變化引起的,會給圖像帶來錯誤或多余信息,造成圖像識別困難。
為了去除圖像中的噪點(diǎn),本文采用中值濾波法對表格圖像進(jìn)行處理。中值濾波是一種非線性平滑濾波,用待處理的像素及其鄰近的若干像素組成一個領(lǐng)域,將領(lǐng)域中的像素按照灰度等級進(jìn)行排序,選擇序列中值作為輸出像素值以代替原像素值。其抑制效果佳,可以基本保持畫面清晰度[11]。
在進(jìn)行光學(xué)掃描時,由于環(huán)境、光線等客觀原因,可能導(dǎo)致掃描的圖像位置不正,同樣會影響后期圖像識別效果。尤其對于表格文檔來說,如果表格框線傾斜會對框線檢測和單元格提取造成極大影響, 因此需進(jìn)行圖像校正。
本文采用透視變換(Perspective Transformation)的方法對表格圖像進(jìn)行角度校正[12]。透視變換可以將原始圖像投影到一個新的視平面,通過變換矩陣可以將任意一個四邊形變換為長方形。經(jīng)去噪和角度校正后的圖像與原始圖像對比如圖2所示。
通過攝像頭得到的圖片一般為彩色圖像,需要對其進(jìn)行灰度化處理。在RGB型彩色圖像中,若每一個像素點(diǎn)的3種顏色成分值相等,則為灰度圖像,其值也稱為灰度值?;叶葓D像和彩色圖像一樣,可以描述圖像整體、局部亮度與色度等級分布及特征。對獲得的灰度圖像進(jìn)行二值化處理,以便后期檢測與框線提取。圖像二值化指將圖像上各像素點(diǎn)灰度值設(shè)置為0或255,使整個圖像呈現(xiàn)黑白分明的效果。二值化算法即取一個閾值,圖像任一像素點(diǎn)陰影值高于閾值,則為黑色;陰影值低于閾值,則為白色。
常用全局二值化法極易受光線影響,因?yàn)殚撝倒潭?,如圖像有陰影,該區(qū)域則會出現(xiàn)全黑。因此本文采用自適應(yīng)二值化法處理圖像,其每一個像素點(diǎn)比對的閾值根據(jù)其鄰域其余各像素點(diǎn)灰度值獲得,因此處理后的圖片受環(huán)境光線影響更小[13]。二值化后的圖像如圖3所示。
2.2 單元格檢測及提取
表格圖片經(jīng)過上述預(yù)處理后,即可得到含有待識別單元格的表格圖像,在單元格提取過程中,將檢測并提取表格框架及單元格框線。本文采用數(shù)學(xué)形態(tài)學(xué)中腐蝕運(yùn)算和膨脹運(yùn)算進(jìn)行表格框線檢測[14]。
腐蝕運(yùn)算的目的是求圖像交集,即實(shí)現(xiàn)圖像白色部分“領(lǐng)域縮小”,使圖像光亮部分縮小,黑暗部分放大。膨脹運(yùn)算為求圖像并集,即實(shí)現(xiàn)圖像白色部分“領(lǐng)域擴(kuò)大”,使效果圖擁有比原圖更大的白色區(qū)域。通過先腐蝕后膨脹的方法,去掉表格中除了框線以外的其它部分,即可留下各單元格及其框線,提取表格框架。處理后的圖像如圖4所示。
3 內(nèi)容識別
3.1 分割
提取完單元格后可對單元格內(nèi)容進(jìn)行識別。字符識別的關(guān)鍵在于分割,分割準(zhǔn)確度在一定程度上決定識別成功率。投影法是進(jìn)行字符分割最簡單的方法,其原理是將二值化后的圖像在垂直方向進(jìn)行投影,根據(jù)投影后得到的極值判斷邊界以進(jìn)行分割[15]。本文使用水平投影和垂直投影實(shí)現(xiàn)字符分割。首先對圖像進(jìn)行橫向掃描,分割出每一行的內(nèi)容;再對每一行進(jìn)行縱向掃描,即可得到每一個字符。
由于投影法效果不是特別理想,可能會出現(xiàn)多個字符粘連的情況,因此本文還采用連通域分割法對字符進(jìn)行分割優(yōu)化。連通域分割法針對無粘連字符有很好的分割效果[16]。由于字符間沒有粘連,每個字符都是一個單獨(dú)的連通域。首先在二值化圖像中找到一個黑色像素,并將所有與之相連的黑色像素遍歷標(biāo)記,即可判斷出每個字符的分割位置。分割后的字符如圖5所示。
3.2 識別
在手寫數(shù)字識別方面已積累諸多研究成果,例如模糊邏輯方法[17]、粗糙集方法[18]、統(tǒng)計方法[19]、梯度與曲率方法[20]等。由于手寫表格文檔存在手寫漢字,且手寫漢字識別難度較大,因此本文采用卷積神經(jīng)網(wǎng)絡(luò)對分割后的字符進(jìn)行識別。識別手寫漢字的網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。12層網(wǎng)絡(luò)從上往下進(jìn)行,每一層的輸入為上一層的輸出。輸入層大小為96×96×1,使用32個3×3的卷積核對輸入圖像卷積,然后進(jìn)行大小為2×2的池化。手寫數(shù)字識別的網(wǎng)絡(luò)結(jié)構(gòu)與漢字識別的網(wǎng)絡(luò)結(jié)構(gòu)相比較為簡單,設(shè)置輸入層大小為28×28×1,使用32個4×4的卷積核對輸入進(jìn)行5層網(wǎng)絡(luò)的卷積即可。本系統(tǒng)使用的訓(xùn)練數(shù)據(jù)為mnist數(shù)據(jù)集和HWDB1.1數(shù)據(jù)集。
4 實(shí)驗(yàn)與應(yīng)用
在實(shí)際問題中的手寫表格文檔樣式各異,應(yīng)用場景也不同,沒有如發(fā)票等固定格式表格的普適性。但若能實(shí)現(xiàn)手寫表格自動識別與錄入,將會大幅提高工作效率。因此本文通過實(shí)驗(yàn),驗(yàn)證系統(tǒng)對不同類型表格識別的有效性。對某簽到表進(jìn)行識別處理,最終得到的數(shù)據(jù)格式文件如圖7所示。
為了驗(yàn)證系統(tǒng)對各種類型表格的處理效果,本文選取圖書借閱登記表進(jìn)行實(shí)驗(yàn)。首先識別空表,得到單元格描述信息。待批量處理的手寫表格圖像如圖8所示。
將上述圖像輸入本文系統(tǒng)中,通過圖片預(yù)處理、表格框線檢測與提取、字符分割、手寫字符識別等過程,最終得到數(shù)據(jù)格式文件如圖9所示。
由實(shí)驗(yàn)結(jié)果可以看出,本系統(tǒng)對不同格式的表格圖像均能進(jìn)行批量處理,并得到標(biāo)準(zhǔn)格式數(shù)據(jù)文件。本系統(tǒng)可生成為xlsx格式文件,根據(jù)不同的需求,還可對輸出文件格式進(jìn)行修改。
5 結(jié)語
本文設(shè)計了一個手寫表格文檔識別系統(tǒng)。通過識別空表得到單元格信息,因此可以對同類型表格進(jìn)行批量識別。從實(shí)驗(yàn)結(jié)果可以看到,本文系統(tǒng)可對不同類型的表格進(jìn)行批量處理和識別,并得到相應(yīng)數(shù)據(jù)格式文件。針對沒有粘連的字符,系統(tǒng)識別率達(dá)95%以上,能夠滿足一般實(shí)際應(yīng)用的需要。下一步研究內(nèi)容是如何提高分割算法準(zhǔn)確率和識別模型可靠性。
參考文獻(xiàn):
[1] 虞飛,皮佑國. 通用機(jī)打商業(yè)發(fā)票識別系統(tǒng)研究與實(shí)現(xiàn)[J]. 信息技術(shù),2013(6):36-40.
[2] 李彬,趙連軍, 劉帥. 表格圖像特征目標(biāo)識別技術(shù)的研究[J]. 科技視界,2016(23):105-106.
[3] 蔣東玉,田英鑫. 圖像中表格轉(zhuǎn)換成HTML表格的研究與實(shí)現(xiàn)[J]. 科學(xué)技術(shù)創(chuàng)新,2014(24):172-172.
[4] 王行榮,應(yīng)俊. 手寫表格識別系統(tǒng)研究和實(shí)現(xiàn)[J]. 計算機(jī)科學(xué), 2008,35(6):268-271.
[5] COüASNON B,LEMAITRE A. Handbook of document image processing & recognition[M]. Berlin:Springer,2014.
[6] WATANABE T,LUO Q,SUGIE N. Layout recognition of multi-kinds of table-form documents[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(4):432-445.
[7] KIENINGER T. Table structure recognition based on robust block segmentation[C]. Proceedings of the International Society for Optical Engineering, 1998:22-32.
[8] ZANIBBI R, BLOSTEIN D, CORDY J R. A survey of table recognition[J]. International Journal on Document Analysis and Recognition, 2004, 7(1):1-16.
[9] 劉昱. 印刷體表格識別的研究[D]. 哈爾濱:哈爾濱工程大學(xué), 2013.
[10] 張慧. 基于模型驅(qū)動的表格識別的研究[D]. 濟(jì)南:山東大學(xué), 2011.
[11] 高浩軍,杜宇人.中值濾波在圖像處理中的應(yīng)用[J].電子工程師,2004(8):35-36.
[12] LO R C,TSAI W H. Perspective-transformation-invariant generalized Hough transform for perspective planar shape detection and matching[J]. Pattern Recognition,1997,30(3):383-396.
[13] 江明,劉輝,黃歡.圖像二值化技術(shù)的研究[J].軟件導(dǎo)刊,2009,8(4):175-177.
[14] 戴青云,余英林.數(shù)學(xué)形態(tài)學(xué)在圖象處理中的應(yīng)用進(jìn)展[J].控制理論與應(yīng)用,2001(4):478-482.
[15] 楊曉娟,宋凱.基于投影法的文檔圖像分割算法[J].成都大學(xué)學(xué)報:自然科學(xué)版,2009,28(2):139-141.
[16] 郭麗, 孫興華. 一種基于連通域的版面分割方法[J]. 計算機(jī)工程與應(yīng)用,2003(5):105-107.
[17] HOUGH P V C. Method and means for recognizing complex patterns[P] .US Patent 3069654, 1962-12-16.
[18] GONZALEZ R C, WOODS R E. Digital image processing[M]. Second Edition. Beijing:Publishing House of Electronics Industry, 2006.
[19] WONG K Y,CASEY R G,WAHL F M. Document analysis system[J]. IBM Journal of Research and Development, 1982, 26(6):647-656.
[20] SHI M,F(xiàn)UJISAWA Y,WAKABAYASHI T,et al. Handwritten numeral recognition using gradient and curvature of gray scale image[J]. Pattern Recognition, 2002, 35(10):2051-2059.
(責(zé)任編輯:江 艷)