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