方浩東 鮑敏
關鍵詞:預處理;形態(tài)學檢測;Tesseract-OCR;表格框架;動態(tài)掩膜
中圖分類號:TP391 文獻標識碼:A
1 引言(Introduction)
當前,我國的大部分軸承生產企業(yè)處于向數(shù)字化[1]、智能化演進的階段。在這個大趨勢下,一部分企業(yè)已經開始實施數(shù)據(jù)自動化接入工作,但出于對成本、工具及工作效率等因素的考慮,通常在原料入廠檢驗及現(xiàn)場首檢、抽檢環(huán)節(jié)仍然使用了較多的需要人工手寫的表格。
常見的原料檢測數(shù)字化方式包括直接在上位機或App上錄入數(shù)據(jù),但是這兩種方式存在效率低和數(shù)據(jù)兼容性問題。馬致遠等[2]提出基于Faster-RCNN(區(qū)域生成網(wǎng)絡)的表格檢測算法,將文檔中的表格信息提取出來。毛尚偉等[3]提出基于Transfer-crf神經網(wǎng)絡實現(xiàn)對電子表格結構的識別。潘煒等[4]設計一種基于光學字符識別技術和TensorFlow深度學習框架的表格文本識別模型,可以實現(xiàn)對表格的批量識別。然而,深度學習對海量數(shù)據(jù)集訓練出最佳算法模型,對企業(yè)硬件要求高,增加成本的同時會導致訓練時間過長?;诖?,本文設計一套字符識別系統(tǒng):基于形態(tài)學[5]提取表格框架,設計動態(tài)掩膜結合角點檢測實現(xiàn)單元格分割,基于Tesseract-OCR[6]訓練專用字庫對單元格內字符進行識別,主要包括表格圖像預處理模塊、表格提取和單元格分割模塊及字符識別三大模塊。
2 表格圖像預處理模塊(Preprocessing module ofform image)
本研究要處理的表格圖片總共分為七類,依次為熱處理、正標套圈大圈、正標套圈小圈、軸承成品、非標套圈、聯(lián)軸器、鋼球檢驗報告單。
2.1 消噪處理
噪聲的存在對圖像的質量有著很大的影響,它會使圖像模糊、丟失關鍵信息等。噪聲主要有兩個來源方式,分別是在獲取和傳輸過程中會產生噪聲。在獲取圖像時會受材料特性、環(huán)境因素和電子元器件等因素的影響而產生各種噪聲,在傳輸過程中會受傳輸設備或傳輸介質等因素的影響而產生噪聲。常見的噪聲主要有椒鹽噪聲、高斯噪聲、泊松噪聲、乘性噪聲四種。
本文采用高斯濾波[7]的方法對圖像進行消噪處理。高斯濾波是一種線性的平滑濾波,它將頻域處理和時域處理相結合。對需要識別的圖像進行平均加權計算,使得圖像上每一個像素點都是由它本身和相鄰其他像素點值計算得到,從而實現(xiàn)將噪聲信息過濾掉,對圖像起到一個平滑作用。
一維高斯函數(shù)分布式:
二維高斯函數(shù)分布式:
高斯函數(shù)是單值函數(shù),它在所有的方向上都是單調遞減的,其中心點像素不會受到距離中心點較遠處像素過大的影響,從而能保證中心點和邊緣處的特性;并且,二維高斯函數(shù)是旋轉對稱的,它在各個方向上的平滑程度都是相同的,因此使用高斯濾波能有效消除待處理圖像中的噪聲影響。
2.2 二值化處理
在對圖像進行數(shù)字化處理的過程中,二值化處理[8]是不可或缺的步驟,它將灰度圖像轉化為二值圖像,能顯著減少圖像中的干擾信息。圖1(a)為輸入樣本圖,是由眾多像素點組成,而像素點又是通過RGB(紅綠藍)三原色表現(xiàn)的,二值化就是讓圖像像素點矩陣中的值為255(白色)或0(黑色),即讓整個圖像呈現(xiàn)出只有黑色和白色的效果。本文使用自適應閾值二值化cv2.adaptiveThreshold函數(shù)對圖像進行二值化處理,該函數(shù)在去除背景和提取前景的有用信息方面更加有效,如圖1(b)所示。
2.3 傾斜矯正
由于紙質數(shù)據(jù)在拍攝時難免存在傾斜現(xiàn)象,會對后期表格處理存在干擾,尤其對文字不能分割成單個字符時,會降低識別的準確率,因此對傾斜的圖像進行校正,會對識別準確率有很大程度的提高。
圖像進行灰度化和二值化處理后,對傾斜圖像校正的關鍵問題在于要準確找到它的傾斜角度,本文采用霍夫變換,其基本實現(xiàn)原理是首先識別圖像中的幾何圖形,從中檢測到對應的直線,然后通過計算直線的傾斜角度判斷圖形的傾斜度數(shù),最后進行旋轉校正;而表格圖像的框線是橫平豎直的,所以使用霍夫變換對表格圖像進行傾斜校正,能獲得一個很好的識別結果。
對圖像進行矯正計算得到角度脫粒圖像及直線圖像,如圖3所示。
3.3 動態(tài)掩膜
由于待識別表格復雜且表格上有很多信息是固定的,因此全部進行識別會大大增加識別時間,而且會降低識別精度。為了解決上述問題,本文提出一種基于傳統(tǒng)圖像掩膜方式的動態(tài)掩膜方法,將不感興趣的區(qū)域遮蔽。圖像掩膜是借鑒制作PCB(印制電路板)的過程,計算機中則是將圖像當作一個矩陣,圖像掩膜即制作一個模板圖像,對需要保留有用信息的部分置為“1”,而無用信息部分置為“0”進行過濾處理,之后對待處理圖像操作就是將掩膜圖像矩陣與待處理圖像矩陣進行乘積運算,從而得到最后需要處理的圖像,掩膜過程如圖6所示。
因為不同的表單固定區(qū)域是不同的,所以會先對不同的表格定義其需要掩膜內容的坐標交點信息,并存入數(shù)組中,再根據(jù)得到的表單類型到mylisty和mylistx數(shù)組中匹配對應的交點位置信息,以交點位置定位繪制掩膜圖像,將掩膜圖像與目標圖像實施與運算操作,動態(tài)掩膜流程圖如圖7所示。
未掩膜操作如圖8(a)所示,對輸入樣本圖片掩膜并提取單元格信息如圖8(b)所示。
由圖8可知,經過掩膜后單元格明顯減少,識別內容也會相應減少。
4 字符識別模塊(Character recognition module)
本文基于Tesseract-OCR[11]完成表格內文字的識別,由于表單上的字符含有數(shù)字、英文、中文、特殊字符等,但Tesseract-OCR自帶的字庫存在識別效率低、識別精度不高的問題,所以利用jTessBoxEditor工具訓練專門針對原料檢驗單識別的字庫,訓練步驟如下。
(1)準備訓練樣本圖片,分別準備手寫和印刷數(shù)字、英文、中文、特殊符號共10萬余張照片數(shù)據(jù)集,進行灰度化處理后將文件保存到待訓練文件夾下。
(2)合并樣本圖片,使用jTessBoxEditor將所有樣本圖片合并成一個tif文件。
(3)生成box文件,執(zhí)行tesseract langyp.figen.exp0.tiflangyp.figen.exp0 -lbatch.nochopmakebox命令,生成tif文件對應的box文件,其中l(wèi)angyp為語言名稱,figen為生成的字體名稱。
(4)修改box文件,針對生成的box文件,會出現(xiàn)一些錯誤識別和字符切分出錯的問題,例如兩個字符在一個字符識別框中,如圖9所示。
使用jTessBoxEditor工具將合并在一起的字符識別框分割為兩個部分,如圖10所示。
(5)生成font_properties文件,執(zhí)行echo figen 0 0 0 0 0后生成,其中figen為訓練的字體名。
(6)生成tr訓練文件,執(zhí)行l(wèi)angyp.figen.exp0.tr命令訓練文件。
(7)生成字符集文件,執(zhí)行unicharset_extractor langyp.figen.exp0.box命令。
(8)生成shape文件,執(zhí)行shapeclustering -F font_properties -U unicharset -O langyp.unicharset langyp.figen.exp0.tr命令。
(9)生成聚集字符特征文件,執(zhí)行mftraining -F font_properties -U unicharset -O命令。
(10)生成字符正?;卣魑募?,執(zhí)行cntraining langyp.figen.exp0.tr命令。
(11)合并訓練文件,執(zhí)行combine_tessdatafigen命令。
完成訓練后,將字庫拷貝放入工程項目doc/fonts目錄下,當表格單元格分割完畢后,需要對單元格內的字符信息進行識別,由于需要對識別后的信息再填充進新的數(shù)字表格中,因此對單元格的左上角坐標進行標記,調用訓練的字庫將字符識別完畢后存入對應的空表格內。
5 實驗結果分析(Analysis of results)
本文對樣本表格在原生Tesseract-OCR、未進行掩膜實驗、騰訊OCR和掩膜實驗進行識別實驗對比,結果詳見表1。
實驗硬件環(huán)境:CPU為第九代英特爾酷睿i7處理器,顯卡為NVIDIA GeForce GTX 1650,內存為16 GB。軟件環(huán)境:python 3.6.8,Windows 10 64位操作系統(tǒng)。實驗證明,原生Tesseract-OCR識別字符準確率很低,難以達到識別精確度的標準;騰訊OCR比未進行掩膜實驗的識別速度快且精度也高,但是該OCR引擎不能對參數(shù)進行設置,只能對整張表格進行識別;而掩膜實驗識別所需時間比未掩膜實驗少一半且比騰訊OCR快1.36 s,識別準確率也提高了1%。
6 結論(Conclusion)
本文利用形態(tài)學檢測原理及Tesseract-OCR字符識別技術,結合角點檢測方法實現(xiàn)對原料手寫表格的識別,描述了對圖像預處理的過程,以及動態(tài)掩膜及單元格分割與字庫訓練步驟。將本文所提手寫表格識別系統(tǒng)與市場主流騰訊OCR技術進行對比實驗,證明本文所提系統(tǒng)對原料表格識別速度更快、準確率更高,同時該識別系統(tǒng)可以部署到企業(yè)的所有上位機中,能很好地運用到企業(yè)的實際生產過程中,降低生產成本、提高工作效率和實現(xiàn)數(shù)據(jù)的二次利用率。
作者簡介:
方浩東(1997-),男,碩士生.研究領域:數(shù)字化及自動化.
鮑敏(1977-),男,博士,副教授.研究領域:智能制造,生產過程數(shù)據(jù)分析.