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