黃晨曦++郝泳濤
摘要:以手寫體數(shù)字的識別為研究中心,研究了針對手寫體數(shù)字的特征提取和特征識別。利用像素點統(tǒng)計特征,圖像結構交截特征,小波分析特征提取出了多維特征。介紹了級聯(lián)分類的思想,引入拒識率的概念。提出了基于改進BP神經(jīng)網(wǎng)絡和支持向量機級聯(lián)的手寫體數(shù)字識別系統(tǒng)。實驗驗證,該方法能有效提高字符分類的識別率。
關鍵詞:特征提??;小波分析;神經(jīng)網(wǎng)絡;支持向量機;級聯(lián)分類
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)20-0180-03
ABSTRACT:Taking handwritten numeral recognition as the research center, the feature extraction and feature recognition of handwritten numerals are studied. Based on the statistical characteristics of pixels, the cross section characteristics of image structure, the feature of wavelet analysis the feature is extracted. This paper introduces the idea of cascade classification, and introduces the concept of rejection rate. A handwritten numeral recognition system based on improved BP neural network and support vector machine cascade classifiers is proposed. Experimental results show that the proposed method can effectively improve the recognition rate of the character classification.
Key words: feature extraction , wavelet analysis, neural network , support vector machine , cascade classify
1 概述
手寫數(shù)字識別是光學字符識別的一個重要組成部分,是模式識別的一個經(jīng)典問題。其目的是將手寫的阿拉伯數(shù)字掃描入計算機中,再通過所建立的模式識別系統(tǒng),自動識別出所對應數(shù)字。手寫體數(shù)字識別涉及多個學科,包括模式識別,統(tǒng)計決策,圖像處理等等,是結合基礎研究與應用研究的一門綜合性技術。
2 手寫體數(shù)字分類訓練測試集的準備和評價指標
2.1 實驗準備
本文的實驗數(shù)據(jù)是基于 MNIST 手寫數(shù)字圖像集。該數(shù)據(jù)集是當前比較熱門的,共包含 60,000 訓練樣本和 10,000 個測試樣本。數(shù)據(jù)集中所有的手寫數(shù)字圖片的尺寸都標準化到 28×28 像素的大小,圖像類型是 bmp 圖片。提取出來的圖片分別裝在訓練集和測試集兩個文檔里面,以備方便實驗進行。但考慮到計算機的內(nèi)存和性能問題,在訓練集中我們分別對0到9個數(shù)字選取500張圖片,共5000張圖片;而在測試集中我們分別對0到9個數(shù)字選取200張圖片,共計2000張圖片。本文實驗所使用的編程工具是 matlabR2011b 版本,基于 OpenCV(Open Source Computer Vision Library)視覺庫開發(fā)。
2.2 評價指標
一般對分類性能的評價指標有正確識別率和誤識率,兩者相加應得到100%
(1)識別率:
識別率=正確識別樣本數(shù)/全部樣本數(shù)*100%
(2)誤識率:
誤識率=誤識樣本數(shù)/全部樣本數(shù)*100%
3 預處理和特征提取
3.1 基于像素點的粗網(wǎng)格統(tǒng)計特征的提取
所謂的粗網(wǎng)格特征,我們把圖像劃分成n×n的網(wǎng)格,然后計算每個n*n的網(wǎng)格內(nèi)白像素的個數(shù),網(wǎng)格特征就用我們得到的這個數(shù)值來表示。傳統(tǒng)的字符特征提取方法是將字符分割后的圖像一次性地分為n×n的網(wǎng)格,然后分別統(tǒng)計出每個網(wǎng)格中字符所占像素點個數(shù)與網(wǎng)格像素點總數(shù)之比,最后得到n×n維的統(tǒng)計向量,將得到的n×n維統(tǒng)計量作為神經(jīng)網(wǎng)絡的輸入量。由于不同的網(wǎng)格劃分方式劃分出的網(wǎng)格圖像大小不同,造成網(wǎng)格圖像有重疊,利用這種重疊特點對網(wǎng)格逐一進行特征提取,充分利用網(wǎng)格中字符所占像素點在網(wǎng)格中的分布位置特征,從單一字符圖像中提取到更多的字符特征信息。本文對64×64的像素點的圖片分別采用三種粗網(wǎng)格進行提取出70個粗網(wǎng)格統(tǒng)計特征。
3.2 基于圖像結構交截結構特征的提取
字符圖像的交截特征分為橫向交截特征和縱向交截特征,以及對角線交截特征。所謂交截特征即是指交截線和字符像素點的交點個數(shù),這是一種基于像素點結構的特征。對字符的交截特征,我們分別提取了豎直中線的交點數(shù),豎直1|4處的交點數(shù),豎直3|4的交點數(shù),水平中線的交點數(shù),水平1|4處的交點數(shù),水平3|4的交點數(shù),以及圖像的主對角線和次對角線,共得到8個基于圖像結構的交截特征。
3.3 基于小波分析的特征提取
在利用小波提取特征向量的方法中,提取的特征其實是統(tǒng)計特征和結構特征的綜合,小波分析能夠實現(xiàn)字符圖像的結構分析,小波的分解子圖能夠從不同的角度把字符圖像中的像素點之間的跳躍變化反映出來,在這里我們采取的是小波分解算法。
多分辨分析只對低頻空間進行進一步的分解,使頻率的分辨率變得越來越高。這里我們主要采取提取數(shù)字的低頻系數(shù)作為它的特征向量。
首先我們以0數(shù)字為例分別提取出它一級小波和二級小波的低頻系數(shù),水平高頻系數(shù),垂直高頻系數(shù),對角線高頻系數(shù)得到一級和二級小波的分解圖如圖:
從 64×64 的圖片中提取的特征矩陣為10×10,這樣我們就得到了100個基于小波的特征向量。
綜上所述,經(jīng)過基于像素的粗網(wǎng)格統(tǒng)計特征我們提取了70個特征,基于交截線的結構特征我們提取了8個特征,基于圖像小波分解的特征我們提取了100個特征,然后我們對上述70,8,100個特征進行融合得到178維的特征向量作為后續(xù)神經(jīng)網(wǎng)絡和機器學習分類器的輸入量。
4 基于級聯(lián)分類器的手寫體數(shù)字識別系統(tǒng)
4.1 級聯(lián)分類的思想
單級的分類器無法做到識別率和識別速度的兼顧,因而在使用推廣上,就有必要加以完善針對這種情況。其次不同的分類器級聯(lián)能夠互相彌補單個分類器上的弱點,有效提升分類準確率。我們在熟知各個分類器性能的基礎上提出一種基于級連分組網(wǎng)的手寫數(shù)字識別的新方法。這里我們將系統(tǒng)分為兩個級別。第一級根據(jù)拒識率和確信度的值選取出較難識別出的字符將其輸出到拒識出口。被拒識的字符進行第二級的精確分類。精確分類可以犧牲相對應的時間而獲取較大的準確識別率。因為進入細分類的字符個數(shù)已經(jīng)很少了。本文提出建立了基于BP神經(jīng)網(wǎng)絡與支持向量機的二級手寫體數(shù)字識別系統(tǒng)
4.2 拒識模式的概率統(tǒng)計
在這里我要引入兩個概念即確信度和拒識率,所謂確信度就是我們在神經(jīng)網(wǎng)絡中輸出的向量中我們選擇最大值的位置作為輸出,但是較易誤識的圖像往往是最大值和次大值相差較小的,所以這里我們設定一個相差值的閾值作為確信度。這個確信度應能讓拒識率控制在25%左右,也就是有25%的字符能輸出到精確分類器中。在本系統(tǒng)的識別階段,改進的BP神經(jīng)網(wǎng)絡分類器作為兩級分類器的粗分類器,其輸出結果根據(jù)預先設置的確信度r,來決策是否最終識別結果輸出或者是否需要進入支持向量機分類器來進行二類分類,即如果兩個最大概率結果之差小于確信度,則需要經(jīng)過細分類器的二級識別,反之,系統(tǒng)將粗分類器的最大識別結果作為最終結果輸出。這個確信度,就是根據(jù)神經(jīng)網(wǎng)絡學習訓練過程中的訓練結果和隨機森林分類器的訓練結果來預先設置的。
4.3 基于改進BP神經(jīng)網(wǎng)絡和支持向量機級聯(lián)的手寫體數(shù)字識別系統(tǒng)
我們得知BP神經(jīng)網(wǎng)絡分類器能達到80%的分類效果且在時間上較短,而支持向量機能達到89%但是時間較長,于是本文采取先利用BP神經(jīng)網(wǎng)絡進行粗分類。在BP神經(jīng)網(wǎng)絡的輸出值中我們是采取對輸出的列向量取其中的最大值并返回它所處位置的情況來判斷其值大小的,分析可知絕大多數(shù)的分類失誤率都出現(xiàn)在最大值不明顯的位置上。因此本文擬采用先用sort函數(shù)對其大小進行排序然后選取其最大值和次大值,并進行相減,并通過事先設置的閾值來判定是否對他進行分離出來進行支持向量機強分類。閾值的設定既不能太大也不能太小。太大了會導致在第一級拒識的數(shù)量太大,增大下一級支持向量機的分類壓力,從而增加了所用時間,而太小了的話則會導致第二級分類器的樣本較少,從而降低分類準確率。經(jīng)過本文的實驗當閾值設定小于0.2時,測試數(shù)據(jù)的拒識數(shù)達到974個,而當閾值設定小于0.1時時,測試數(shù)據(jù)的拒識數(shù)為523。所以我們設定的閾值為0.1。接著我們將被BP神經(jīng)網(wǎng)絡拒識的數(shù)據(jù)輸入到支持向量機中,利用網(wǎng)格參數(shù)尋優(yōu)方法對其進行分類,最后綜合比較級聯(lián)的分類效果。
二級分類器實驗步驟分為訓練階段和實驗階段。
訓練階段:
BP神經(jīng)網(wǎng)絡:
①將5000個包含178維特征向量的實驗數(shù)據(jù)輸入到BP神經(jīng)網(wǎng)絡訓練網(wǎng)絡的權重。
②將測試數(shù)據(jù)輸入到訓練好的BP神經(jīng)網(wǎng)絡里,分析分類錯誤的數(shù)據(jù)從而確定好拒識率的閾值。
支持向量機:
將較小的訓練數(shù)據(jù)集輸入到其中進行訓練,得到訓練好的支持向量機。
測試階段:
①將2000個包含178維特征向量的實驗數(shù)據(jù)輸入到BP神經(jīng)網(wǎng)絡中進行測試;
②分析BP神經(jīng)網(wǎng)絡測試后的輸出值,挑選閾值小于0.1的測試數(shù)據(jù)分流到下一級分類器中;
③將分流走的測試數(shù)據(jù)輸入到支持向量機中再進行分類;
④將級聯(lián)分類的測試結果綜合分析得到最后測試數(shù)據(jù)集的分類結果。
4.4 實驗結果對比分析
本章節(jié)采用二級級聯(lián)分類系統(tǒng)進行分類,我們可以看出采用BP神經(jīng)網(wǎng)絡和支持向量機的分類系統(tǒng)能夠得到88.3%的分類準確度,高于單獨使用BP神經(jīng)網(wǎng)絡的80%的識別率實驗證明本文提出的引入拒識率的二級級聯(lián)分類系統(tǒng)相比傳統(tǒng)單一的分類器性能要好。
5 結束語
針對分割后的字符,本文重點研究了手寫體字符識別。首先通過對基于統(tǒng)計,交截,小波,矩的四個特征進行提取,并對它們特征提取出的效果進行分析,最后以其中三個特征融合組成178維的特征向量作為分類器的輸入向量。并根據(jù)各種分類器的性能提出了二級級聯(lián)分類器,利用了BP神經(jīng)網(wǎng)絡分類器分類速度快的特點,引入拒識率的概念,在第一級中拒識出大概25%的數(shù)據(jù)進入到擁有強分類能力的支持向量機中,實驗證明通過兩級級聯(lián)的分類器比通過單一分類器的識別率有較大提升,能達到95%的識別率。
參考文獻:
[1] 陳軍勝.組合結構特征的自由手寫體數(shù)字識別算法研究[J].計算機工程與應用,2013,49(5):179-184,194.
[2] 金忠,胡鐘山,楊靜宇,等.手寫體數(shù)字有效鑒別特征的抽取與識別[J].計算機研究與發(fā)展,1999,36(12):1484-1489.
[3] 趙萬鵬,古樂野.基于 Adaboost的手寫體數(shù)字識別[J].計算機應用,2005,25(10):2413-2414,2417.
[4] 王有偉,劉捷.手寫體數(shù)字識別中一種新的傾斜校正的方法[J].計算機工程,2004,30(11):128-129,137.
[5] 吳茹石,彭力.基于量子神經(jīng)網(wǎng)絡的手寫體數(shù)字識別方法研究[J].計算機工程與設計,2007,28(18):4462-4465.
[6] 李瓊,陳利,王維虎,等.基于SVM的手寫體數(shù)字快速識別方法研究[J].計算機技術與發(fā)展,2014,(2):205-208.
[7] 鐘樂海,胡偉.手寫體數(shù)字識別系統(tǒng)中一種新的特征提取方法[J].四川大學學報:自然科學版,2007,44(5):1000-1004.
[8] 婁震,胡鐘山,楊靜宇,等.基于輪廓分段特征的手寫體阿拉伯數(shù)字識別[J].計算機學報,1999,22(10):1065-1073.