文獻標識碼: A
文章編號: 0258-7998(2015)03-0120-03
0 引言
目前,在字符識別的研究中,最常見的識別方法就是先建立字符庫,或儲存字符信息模板,或存儲字符特征信息,在進行識別時,將待識別字符與字符庫中的信息進行逐個比對,進而識別出待識別字符。由此衍生出來算法有兩種:基于模板匹配的字符識別法、基于特征統(tǒng)計匹配的字符識別法[1-3]。模板匹配算法的高速識別和特征統(tǒng)計匹配識別算法的簡單原理,讓這兩種算法得以廣泛應用,然而當面對批量圖書文字、字體種類繁多、識別字體模糊等問題時,以上兩種算法在識別準確率、程序魯棒性、適應性上都顯得不夠理想。
由此,本文運用一種新方法解決以上問題——基于感知機神經(jīng)網(wǎng)絡的字符識別法。通過仿真實驗,對算法進行改良、數(shù)據(jù)分析與比較,驗證了全新算法較目前常規(guī)算法的卓越性能優(yōu)勢。
1 字符識別器的設計
1.1 感知機網(wǎng)絡模型
感知機神經(jīng)網(wǎng)絡現(xiàn)在仍處于發(fā)展階段,主要應用在模糊識別領域中。在識別字符時,神經(jīng)元網(wǎng)絡先對待識別字符進行特征提取,然后用所獲得的特征來訓練神經(jīng)網(wǎng)絡分類器。它的優(yōu)點是識別器自身可進行學習訓練,識別器的容錯能力強,識別率高。
其基本思想是將一些類似生物神經(jīng)元的處理單元構成一個計算網(wǎng)絡,該網(wǎng)絡能夠自動學習如何對“模式”進行識別和分類。
感知機模型是一種具有權值元素的前饋網(wǎng)絡,通常由感知層S(Sensory)、連接層A(Association)和反應層R(Response)構成[4]。
1.2 感知機網(wǎng)絡的學習過程
如圖1所示,當輸入X時,經(jīng)過神經(jīng)元的計算,得出實際輸出值。這個實際輸出值與期望輸出值進行比較,并進行誤差計算,如果誤差為0,則輸出;如果誤差不為0,則進行學習,修改閾值t,其算法為e(t,0)[5]。
閾值被修改后,重復進行以上工作,直至實際輸出數(shù)據(jù)與期望輸出數(shù)據(jù)相同,學習結束。
2 字符識別器的實現(xiàn)
2.1 實例
設計并訓練一個印刷字符分類器。如圖2所示,用位圖形式表示的L和I印刷字符分別用白色和黑色象素表示0和1。分類器用一個離散雙極型感知機構成,有10個輸入權值,包括閾值在內。
2.2 字符識別器的學習步驟
(1)初始化
初始化突觸權值w,在連到神經(jīng)元k的突觸j上的輸入信號xj被乘以k的突觸權值wkj。突觸權值wkj在[-1,1]隨機產(chǎn)生,產(chǎn)生后固定不變。將A層至R層的連接權向量Wi及輸出單元的閾值t賦予[-1,+1]區(qū)間的隨機值[5]。
初始化印刷字符L和I的輸入值:
x1=[1 0 0 0;1 0 0 0;1 0 0 0;1 1 1 1];
//用矩陣x1表示印刷字符L
x2=[0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0;];
//用矩陣x2表示印刷字符I
初始化期望值:
y1=1;
y2=1;//變量y為程序希望輸出的值
初始化學習率:
a1=0.100000;
a2=0.100000;//a為程序每次學習的學習率
初始化連接權W:
r1=rand(3);//隨機矩陣[0,1]
w=2*r1-1;//隨機矩陣[-1,1];A~R層的權值;w隨
機產(chǎn)生,產(chǎn)生后固定不變
初始化閾值t:
r1=rand;//產(chǎn)生隨機數(shù)
t=r1*2-1;//閾值(隨機產(chǎn)生);t 隨機產(chǎn)生,產(chǎn)生后隨
學習而被修正
(2)隨機選取一輸入模式uk加到網(wǎng)絡的輸入端,用于求輸入信號被神經(jīng)元的相應突觸加權的和uk。這個操作構成一個線性組合器,如式(1)所示[6]:
(3)計算網(wǎng)絡的實際輸出:
式中,uki為第i次uk輸入;f(x)為雙極階函數(shù)(激活函數(shù)),用來限制神經(jīng)元輸出振幅。由于它將輸出信號壓制到允許范圍之內的一定值,故而激活函數(shù)也稱為壓制函數(shù)。通常,一個神經(jīng)元輸出的正常幅度范圍可寫成單位閉區(qū)間[-1,+1]:
(4)計算輸出層單元的期望輸出與實際輸出之間的誤差:
dk=yk-y(4)
(5)修正A層各單元與輸出層R之間的連接權與閾值:
式中dk;i=1,2,3…n;N為學習次數(shù);α、β為正常數(shù),稱學習率(0<α<1,0<β<1)。
(6)返回第(2)步,直到m個輸入模式全部計算完。
(7)返回第(2)步,反復學習,直到誤差 dk(k=1,2,…,m)趨于零或小于預先給定的誤差。
(8)學習結束。學習結束后網(wǎng)絡將學習模式分布記憶在連接權之中,當再給網(wǎng)絡提供已記憶的輸入模式時,網(wǎng)絡將計算出期望的輸出yk值,并可根據(jù)yk為+1或-1判斷出這一輸入模式屬于記憶中的哪種或接近于哪一種模式[7]。
3 仿真實驗與分析
3.1 實驗環(huán)境
實驗環(huán)境見表1。
3.2 實驗結果
(1)第1次學習
連接權w:-0.384 5-0.339 0-0.548 2
-0.197 50.888 6-0.658 6
0.141 8-0.210 5-0.344 7
閾值(第1次被修正):t=0.271 4;誤差(第1次被修正):d1=2;誤差(第1次被修正):d2=2。
(2)第2次學習
連接權w:-0.184 5-0.339 0-0.548 2
0.002 50.888 6-0.658 6
0.341 8-0.010 5-0.144 7
閾值(第2次被修正):t=0.471 4;誤差(第2次被修正):d1=2;誤差(第2次被修正):d2=0。
(3)第3次學習
連接權w:0.015 5-0.339 0-0.548 2
0.202 50.888 6-0.658 6
0.541 80.189 50.055 3
閾值(第3次被修正):t=0.671 4;誤差(第3次被修正):d1=2;誤差(第3次被修正):d2=0。
(4)第4次學習
連接權w:0.015 5-0.339 0-0.548 2
0.202 50.888 6-0.658 6
0.541 80.189 50.055 3
閾值(第4次被修正):t=0.671 4;誤差(第4次被修正):d1=0;誤差(第4次被修正):d2=0。
學習總次數(shù)為4次,最終確定的連接權矩陣W:
0.015 5-0.339 0-0.548 2
0.202 50.888 6-0.658 6
0.541 80.189 5 0.055 3
閾值:t=0.671 4;誤差:d1=0;誤差:d2=0。
程序每次執(zhí)行結果都不一樣,這是因為步驟(1)中w初始值不同。以上只是其中一種情況。
3.3 實驗分析
上述實驗經(jīng)過了4次學習之后,兩個印刷字符的閾值被鎖定為0.671 4,此時兩圖的學習誤差均為0,結果符合預期要求。
實驗結果表明,程序會根據(jù)隨機產(chǎn)生的連接權進行計算,通過有導師學習逐步改變閾值,并計算出每次學習的誤差,直到學習誤差為0時結束。
為了驗證這個實驗的準確性,本文對程序進行了4 000次的隨機測試,并對數(shù)據(jù)進行抽樣記錄。
根據(jù)統(tǒng)計可以看出,要識別出這兩個字符,最多進行10次學習,最少只需學習4次,平均學習6.95次。忽略兩極分布情況,大部分學習次數(shù)為[5,8],數(shù)據(jù)波動小,穩(wěn)定性較好。
在源代碼中,加入時間統(tǒng)計代碼“tic;toc;”,便可精確計算每次學習的運行時間,大部分實驗耗時0.004~0.09 s之間,平均耗時0.006 812 56 s。
根據(jù)實驗數(shù)據(jù)可以看出,感知機字符識別器要想識別兩個字符,平均學習6.95次,耗時0.006 8 s,每識別出一個字符,需耗時0.003 4 s。按此數(shù)據(jù)推算,完成一段字數(shù)為8 000字的文章字符識別,只需要耗時27.201 6 s。據(jù)統(tǒng)計,國人對漢字閱讀速度一般為400字/min[8],想要完成8 000字的閱讀,需耗時20 min,而掌握“速讀”技巧的人能以4 000字/min的速度閱讀書籍和資料,完成8 000字的閱讀也需要耗費2 min。通過對比得知,基于感知機網(wǎng)絡的字符識別器的識別速度是普通人的32.64倍數(shù),是頂尖閱讀學者的3.26倍,從識別速度的角度的來看,識別器完全達到了實際應用的要求。
通過實驗可以看出,基于神經(jīng)元網(wǎng)絡的字符識別器具有自我學習的能力,在每次的學習過程中,識別器會進行自我糾正;在實際的應用中,該識別器不需要預先建立數(shù)據(jù)庫,可以減少程序的體積;對字符的噪音、不完整、傾斜等都具有較強的適應能力,容錯能力和魯棒性都要優(yōu)于另外兩種常用方法;具有較高的并行分布能力和聯(lián)想存儲能力,大大提高了字符識別器的識別效率。
4 總結
本文詳細分析了基于神經(jīng)元網(wǎng)絡模型的字符識別器,并對這個識別器進行了4 000次的實驗與分析,通過與人腦閱讀速度相比,得出識別器的識別速度是普通人的32.64倍,是專業(yè)學者的3.62倍數(shù)。從識別率與識別速度兩方面來看,本次試驗達到了設計的要求。
在未來,字符識別它能大大提高信息采集的速度,減輕人們的工作強度?,F(xiàn)在市面上已經(jīng)有越來越多基于字符識別的產(chǎn)品出現(xiàn),例如:步步高點讀機等。隨著網(wǎng)絡的普及,大數(shù)據(jù)時代的來臨,字符識別技術在簽名識別、手寫體和印刷體字符識別、目標檢測與識別、車牌識別等領域都將會揮下重彩濃墨的一筆。
參考文獻
[1] 高慶一,逯鵬,劉馳,等.模擬視覺機制的隱蔽目標識別算法研究[J].儀器儀表學報,2012,33(2):11-15.
[2] 何灝,羅慶生,羅霄.基于強分類器的神經(jīng)網(wǎng)絡三維目標識別[J].計算機測量與控制,2012,20(7):26-32.
[3] 曹步清,金毆,賀建飚.基于BP神經(jīng)網(wǎng)絡的貨幣識別算法設計與實現(xiàn)[J].計算機測量與控制,2007,15(4):20-30.
[4] 韓英莉,顏云輝.基于BP神經(jīng)網(wǎng)絡的帶鋼表面缺陷的識別與分類[J].儀器儀表學報,2006,27(12):12-21.
[5] EBERLIN L S,DILL A L,IFA D R,et al.Cholesterol sulfateimaging in human prostate cancer tissue by desorption electrospray ionization mass spectrometry[J].Analytical Chemistry,2010,82(9):3430-3434.
[6] 張建華,祁力鈞,冀榮華,等.基于粗糙集和BP神經(jīng)網(wǎng)絡的棉花病害識別[J].農業(yè)工程學報,2012,28(7):33-39.
[7] 陳蕾,黃賢武,仲興榮,等.基于改進BP算法的數(shù)字字符識別[J].微電子學與計算機,2004,21(12):4-10.
[8] 黃志斌,陳鍛生.支持向量機在車牌字符識別中的應用[J].計算機工程,2003,29(5):21-25.