王 群,楊美程
(鄭州大學物理工程學院,河南 鄭州 450001)
手寫數(shù)字識別研究
王 群,楊美程
(鄭州大學物理工程學院,河南 鄭州 450001)
圖像中手寫數(shù)字的識別一直被人研究探索,目前國內外提出的識別方法大致分為兩種:基于BP神經(jīng)網(wǎng)絡統(tǒng)計特征識別算法、基于幾何形體結構特征識別算法。文章在前人探索的形體結構特征算法基礎上進行改進優(yōu)化,利用孔洞、端點、交叉點等特征進行識別外,同時發(fā)現(xiàn)新的特征、新的方法:離心率、行列掃描區(qū)域數(shù)量、區(qū)域骨架搜索。組合這些形體特征和方法,可完成手寫數(shù)字的識別。實驗證明手寫數(shù)字識別在識別準確率上優(yōu)于先前傳統(tǒng)形體結構特征方法。
手寫數(shù)字識別;形體結構特征;離心率;行列掃描區(qū)域數(shù)量;區(qū)域骨架搜索
目前,手寫數(shù)字有兩種經(jīng)典方法:基于BP神經(jīng)網(wǎng)絡統(tǒng)計特征識別算法和基于幾何形體結構特征識別算法,其中神經(jīng)網(wǎng)絡算法優(yōu)點在于通過大量統(tǒng)計訓練,可以實現(xiàn)較高識別率,但它對特征向量的選取有較高要求,需要大量樣本,仍存在如何提高學習效率、算法收斂性的問題。第二種形體結構特征算法中,是通過圖像中的數(shù)字具有的一些結構特征進行分類區(qū)分。但由于手寫數(shù)字的隨意性,有些數(shù)字并不存在這些特征,造成誤識,所以在前人探索的形體結構算法上,擴充了數(shù)字的形體結構特征和方法進行組合,實現(xiàn)手寫數(shù)字的識別。本文將以樣本—試卷中的學號為例主要分析數(shù)字識別方法。
1.1 獲取學號圖像
用攝像頭對學號區(qū)域內的手寫體數(shù)字進行掃描采集,此過程中會受外界因素的影響,增加了識別的難度,為了解決這些問題,需要 對圖像進行預處理,方便數(shù)字的識別。
1.2 圖像預處理
預處理包括灰度化、二值化、 膨脹細化、分割裁剪等操作,將圖像帶來的外無干擾排除,得到清晰圖像。
彩色圖像使用:RGB=B×0.114+G×0.587+R×0.299公式進行灰度化處理;對于試卷學號這種背景色比較單一的圖像采用全局閾值二值化處理效果比較好,速度快,噪聲小;由于算法會使用數(shù)字骨架特征,對膨脹細化要求較高。主要的步驟包括:首先將圖像進行使用圓形結構元素的膨脹,使邊界更圓滑,減少多余分支。然后用過函數(shù)bwmorph進行細化,參數(shù)選擇為‘thin’和n=‘Inf’;對于數(shù)字分割,本文采用的方法為垂直投影法,利用每個數(shù)字之前存在空白間隙灰度值之和為0,將數(shù)字分割;圖片裁剪同樣采用垂直和水平投影法,找出每個數(shù)字的上下左右界限,進行裁剪。
1.3 數(shù)字識別
分割并裁剪了數(shù)字之后進行識別工作,提取的結構特征均在下面所述的過程中介紹:
新方法一:行列掃描區(qū)域數(shù)量,在工具MATLAB中的bwboundaries函數(shù)能夠提取區(qū)域邊界,掃描行列區(qū)域(在8連接邊界下,相互連接的一組像素)數(shù)量,函數(shù)目的如圖1所示,同時此函數(shù)還可以搜索孔洞及孔洞的數(shù)量和位置。
有孔洞的數(shù)字可能為0,2,3,4,6,8,9,一般數(shù)字8孔洞數(shù)為2;因為每張圖片均是沿數(shù)字邊界裁剪,所以數(shù)字0的孔洞在上下邊界均有像素;部分數(shù)字2、部分數(shù)字8、數(shù)字6的孔洞只在下邊界有像素,如圖2所示,3個數(shù)字再通過端點特征進行區(qū)分。
將圖像分成4宮格區(qū)域,如圖3所示,在區(qū)域4里存在端點的數(shù)字只可能是數(shù)字2;數(shù)字6在1或2區(qū)域只能存在一個端點;數(shù)字8在1或2區(qū)域則會有兩個端點。
部分數(shù)字2,3,4的孔洞在中間部分,如圖4中(1)—(3)所示。
圖1 函數(shù)目的
圖2 下邊界有像素的數(shù)字
圖3 4宮格區(qū)域
圖4 部分數(shù)字2,3,4的孔洞在中間部分
圖5 數(shù)字4的4交叉點結構形成的模板
首先通過bwboundaries函數(shù)找到孔洞右邊界,對右邊界右側進行垂直投影法,灰度值之和為0即為數(shù)字4;剩余數(shù)字2,3通過端點位置區(qū)分,若4區(qū)域存在端點則為數(shù)字2;若端點均在2,3區(qū)域則為數(shù)字3。
對于圖4(4)—(9)的數(shù)字通過端點數(shù)、交叉點模板和行列存在區(qū)域數(shù)量進行區(qū)分。
首先,數(shù)字4有4交叉點結構,經(jīng)大量數(shù)據(jù)的證明,得到上面圖5模板,如圖6所示,如果匹配到圖5中(1)—(7)任意兩個模板或圖5中(8)—(12)其中一個模板,即可識別;像弧度較大的數(shù)字4,如圖6(圖4細化而來)所示。圖6中(6)—(7)則無這些結構,只需和圖6中的(9)區(qū)分,通過對整體圖像進行孔洞上下邊界范圍內的行掃描,數(shù)字4最多存在3個區(qū)域,而數(shù)字9最多存在兩個區(qū)域。以上為有孔洞的數(shù)字分析過程,以下分析無孔洞數(shù)字。
圖6
圖7
部分數(shù)字4,5存在4個端點,如圖7所示,部分數(shù)字5可能有4交叉點存在的部分模板(圓圈標出),因此利用列區(qū)域數(shù)量進行區(qū)分:從右側開始進行列掃描,數(shù)字5最多存在3個區(qū)域,數(shù)字4一般只會存在一個區(qū)域,極限會出現(xiàn)兩個。
新方法二:區(qū)域骨架搜索,在行列掃描下得到所有區(qū)域,以區(qū)域為起點中心,開始時為定向骨架搜索,隨后在九宮格中存在連接點則繼續(xù)搜索,直到與其他區(qū)域重合或搜索到盡頭(端點),以圖8體現(xiàn)其過程。
圖8 區(qū)域重合或搜索到端點
圖9 數(shù)字2,3,5未裁剪
數(shù)字2,3,5,如圖9(未裁剪),通過端點位置、行列掃描法和區(qū)域骨架搜索進行區(qū)分:將圖分成1,2,3,4區(qū)域,只有數(shù)字2[(除圖9(2)]的端點會出現(xiàn)在4區(qū)域;數(shù)字3的端點均在2或3區(qū)域;數(shù)字5和極少部分數(shù)字2(圖9(2))的端點會出現(xiàn)在1區(qū)域:首先從右側開始進行列掃描,直到搜索到3個區(qū)域,然后區(qū)域骨架搜索:數(shù)字2最下面的區(qū)域向右進行搜索時可以搜索到盡頭(端點),數(shù)字5則相反。
新方法三:離心率,指圓錐曲線上的一點到平面內一定點的距離與到不過此點的一定直線的距離之比,圖像越扁長,離心率越大。
經(jīng)過大量數(shù)據(jù)得出:數(shù)字1,7離心率均大于0.970 0,并且當離心率大于0.997 0時必為數(shù)字1;通過求3/4圖像上半部分的離心率和灰度值之和區(qū)分數(shù)字1,7,當離心率大于0.960 0且灰度值之和等于其高度時則為數(shù)字1;否則為數(shù)字7。對于圖9(7)—(8)的數(shù)字9同樣無孔洞,取1/2圖像下半部分求離心率,當離心率大于0.970 0時則為數(shù)字9。
綜上,文章通過孔洞、端點、交叉點、離心率、行列掃描區(qū)域數(shù)量、區(qū)域骨架搜索等特征和方法進行組合設計一套算法。在針對本方法的功能測試試驗中,筆者選取了500個人手寫學號作為樣本進行試驗。其中,數(shù)字拒識率為4%,原因是數(shù)字粘連問題。排除后識別率均達到了99.167%以上。采用傳統(tǒng)組合形體結構算法方法對其進行識別時,對于像圖4(7)—(9)和橫線有斜度的數(shù)字等均會誤識;采用拓撲特征構造算法時對于本文所示數(shù)字2,3,4,8等數(shù)字也會誤識;通過統(tǒng)計或輪廓進行神經(jīng)網(wǎng)絡訓練深度學習的方法對其進行識別時,在經(jīng)過大量樣本和時間訓練后,所有數(shù)字能達到99.3%以上的識別率。
本文既有前人好方法的繼承,也有自己的一些想法和創(chuàng)新,能夠很好彌補傳統(tǒng)方法的不足?,F(xiàn)在唯一的缺點就是不能分割識別粘連的數(shù)字,需要再進行研究探索。
[1]岡薩雷斯,理查德.國外電子與通信教材系列:數(shù)字圖象處理(MATLAB版)[M].2版.阮秋琦,譯.北京:電子工業(yè)出版社,2014.
[2]郝夢琳.手寫體數(shù)字識別方法的研究與實現(xiàn)[D].太原:太原科技大學,2013.
[3]陳軍勝.組合結構特征的自由手寫體數(shù)字識別算法研究[J].計算機工程與應用,2013(9):179-184.
[5]梁淑芬.基于深度學習的數(shù)字識別模塊在安卓系統(tǒng)的實現(xiàn)[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
鄭州大學大學生創(chuàng)新創(chuàng)業(yè)訓練計劃資助項目(國家級項目);項目名稱:基于機器視覺的試卷統(tǒng)分登分及成績分析系統(tǒng);項目編號:201610459047 。
王群(1995— ),男,河北唐山。