王 群,楊美程
(鄭州大學物理工程學院,河南 鄭州 450001)
手寫數字識別研究
王 群,楊美程
(鄭州大學物理工程學院,河南 鄭州 450001)
圖像中手寫數字的識別一直被人研究探索,目前國內外提出的識別方法大致分為兩種:基于BP神經網絡統計特征識別算法、基于幾何形體結構特征識別算法。文章在前人探索的形體結構特征算法基礎上進行改進優化,利用孔洞、端點、交叉點等特征進行識別外,同時發現新的特征、新的方法:離心率、行列掃描區域數量、區域骨架搜索。組合這些形體特征和方法,可完成手寫數字的識別。實驗證明手寫數字識別在識別準確率上優于先前傳統形體結構特征方法。
手寫數字識別;形體結構特征;離心率;行列掃描區域數量;區域骨架搜索
目前,手寫數字有兩種經典方法:基于BP神經網絡統計特征識別算法和基于幾何形體結構特征識別算法,其中神經網絡算法優點在于通過大量統計訓練,可以實現較高識別率,但它對特征向量的選取有較高要求,需要大量樣本,仍存在如何提高學習效率、算法收斂性的問題。第二種形體結構特征算法中,是通過圖像中的數字具有的一些結構特征進行分類區分。但由于手寫數字的隨意性,有些數字并不存在這些特征,造成誤識,所以在前人探索的形體結構算法上,擴充了數字的形體結構特征和方法進行組合,實現手寫數字的識別。本文將以樣本—試卷中的學號為例主要分析數字識別方法。
1.1 獲取學號圖像
用攝像頭對學號區域內的手寫體數字進行掃描采集,此過程中會受外界因素的影響,增加了識別的難度,為了解決這些問題,需要 對圖像進行預處理,方便數字的識別。
1.2 圖像預處理
預處理包括灰度化、二值化、 膨脹細化、分割裁剪等操作,將圖像帶來的外無干擾排除,得到清晰圖像。
彩色圖像使用:RGB=B×0.114+G×0.587+R×0.299公式進行灰度化處理;對于試卷學號這種背景色比較單一的圖像采用全局閾值二值化處理效果比較好,速度快,噪聲小;由于算法會使用數字骨架特征,對膨脹細化要求較高。主要的步驟包括:首先將圖像進行使用圓形結構元素的膨脹,使邊界更圓滑,減少多余分支。然后用過函數bwmorph進行細化,參數選擇為‘thin’和n=‘Inf’;對于數字分割,本文采用的方法為垂直投影法,利用每個數字之前存在空白間隙灰度值之和為0,將數字分割;圖片裁剪同樣采用垂直和水平投影法,找出每個數字的上下左右界限,進行裁剪。
1.3 數字識別
分割并裁剪了數字之后進行識別工作,提取的結構特征均在下面所述的過程中介紹:
新方法一:行列掃描區域數量,在工具MATLAB中的bwboundaries函數能夠提取區域邊界,掃描行列區域(在8連接邊界下,相互連接的一組像素)數量,函數目的如圖1所示,同時此函數還可以搜索孔洞及孔洞的數量和位置。
有孔洞的數字可能為0,2,3,4,6,8,9,一般數字8孔洞數為2;因為每張圖片均是沿數字邊界裁剪,所以數字0的孔洞在上下邊界均有像素;部分數字2、部分數字8、數字6的孔洞只在下邊界有像素,如圖2所示,3個數字再通過端點特征進行區分。
將圖像分成4宮格區域,如圖3所示,在區域4里存在端點的數字只可能是數字2;數字6在1或2區域只能存在一個端點;數字8在1或2區域則會有兩個端點。
部分數字2,3,4的孔洞在中間部分,如圖4中(1)—(3)所示。

圖1 函數目的

圖2 下邊界有像素的數字

圖3 4宮格區域

圖4 部分數字2,3,4的孔洞在中間部分

圖5 數字4的4交叉點結構形成的模板
首先通過bwboundaries函數找到孔洞右邊界,對右邊界右側進行垂直投影法,灰度值之和為0即為數字4;剩余數字2,3通過端點位置區分,若4區域存在端點則為數字2;若端點均在2,3區域則為數字3。
對于圖4(4)—(9)的數字通過端點數、交叉點模板和行列存在區域數量進行區分。
首先,數字4有4交叉點結構,經大量數據的證明,得到上面圖5模板,如圖6所示,如果匹配到圖5中(1)—(7)任意兩個模板或圖5中(8)—(12)其中一個模板,即可識別;像弧度較大的數字4,如圖6(圖4細化而來)所示。圖6中(6)—(7)則無這些結構,只需和圖6中的(9)區分,通過對整體圖像進行孔洞上下邊界范圍內的行掃描,數字4最多存在3個區域,而數字9最多存在兩個區域。以上為有孔洞的數字分析過程,以下分析無孔洞數字。

圖6

圖7
部分數字4,5存在4個端點,如圖7所示,部分數字5可能有4交叉點存在的部分模板(圓圈標出),因此利用列區域數量進行區分:從右側開始進行列掃描,數字5最多存在3個區域,數字4一般只會存在一個區域,極限會出現兩個。
新方法二:區域骨架搜索,在行列掃描下得到所有區域,以區域為起點中心,開始時為定向骨架搜索,隨后在九宮格中存在連接點則繼續搜索,直到與其他區域重合或搜索到盡頭(端點),以圖8體現其過程。

圖8 區域重合或搜索到端點

圖9 數字2,3,5未裁剪
數字2,3,5,如圖9(未裁剪),通過端點位置、行列掃描法和區域骨架搜索進行區分:將圖分成1,2,3,4區域,只有數字2[(除圖9(2)]的端點會出現在4區域;數字3的端點均在2或3區域;數字5和極少部分數字2(圖9(2))的端點會出現在1區域:首先從右側開始進行列掃描,直到搜索到3個區域,然后區域骨架搜索:數字2最下面的區域向右進行搜索時可以搜索到盡頭(端點),數字5則相反。
新方法三:離心率,指圓錐曲線上的一點到平面內一定點的距離與到不過此點的一定直線的距離之比,圖像越扁長,離心率越大。
經過大量數據得出:數字1,7離心率均大于0.970 0,并且當離心率大于0.997 0時必為數字1;通過求3/4圖像上半部分的離心率和灰度值之和區分數字1,7,當離心率大于0.960 0且灰度值之和等于其高度時則為數字1;否則為數字7。對于圖9(7)—(8)的數字9同樣無孔洞,取1/2圖像下半部分求離心率,當離心率大于0.970 0時則為數字9。
綜上,文章通過孔洞、端點、交叉點、離心率、行列掃描區域數量、區域骨架搜索等特征和方法進行組合設計一套算法。在針對本方法的功能測試試驗中,筆者選取了500個人手寫學號作為樣本進行試驗。其中,數字拒識率為4%,原因是數字粘連問題。排除后識別率均達到了99.167%以上。采用傳統組合形體結構算法方法對其進行識別時,對于像圖4(7)—(9)和橫線有斜度的數字等均會誤識;采用拓撲特征構造算法時對于本文所示數字2,3,4,8等數字也會誤識;通過統計或輪廓進行神經網絡訓練深度學習的方法對其進行識別時,在經過大量樣本和時間訓練后,所有數字能達到99.3%以上的識別率。
本文既有前人好方法的繼承,也有自己的一些想法和創新,能夠很好彌補傳統方法的不足。現在唯一的缺點就是不能分割識別粘連的數字,需要再進行研究探索。
[1]岡薩雷斯,理查德.國外電子與通信教材系列:數字圖象處理(MATLAB版)[M].2版.阮秋琦,譯.北京:電子工業出版社,2014.
[2]郝夢琳.手寫體數字識別方法的研究與實現[D].太原:太原科技大學,2013.
[3]陳軍勝.組合結構特征的自由手寫體數字識別算法研究[J].計算機工程與應用,2013(9):179-184.
[5]梁淑芬.基于深度學習的數字識別模塊在安卓系統的實現[J].五邑大學學報(自然科學版),2017(1):40-45.
Research on handwritten numeral recognition
Wang Qun,Yang Meicheng
(Physics and Engineering School of Zhengzhou University, Zhengzhou 450001, China)
Handwritten recognition in digital images has been studied at home and abroad, recognition methods proposed can be divided into two types:one is statistical feature recognition algorithm based on BP neural network, the other is structural feature recognition algorithm based on geometric structure. This paper improves and optimizes the algorithm based on the structure and feature of the previous researchers, takes advantage of holes, endpoint, cross point feature and discover new features and new method, such as eccentricity, the number of row scanning region and region skeleton search. The combination of these form characteristics and methods is able to complete handwritten numeral recognition. The experimental results show that the recognition accuracy of handwritten numeral recognition is better than that of the traditional form structure feature method.
handwritten numeral recognition; form structural feature; eccentricity; number of row scanning region; region skeleton search
鄭州大學大學生創新創業訓練計劃資助項目(國家級項目);項目名稱:基于機器視覺的試卷統分登分及成績分析系統;項目編號:201610459047 。
王群(1995— ),男,河北唐山。