国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

神經(jīng)網(wǎng)絡(luò)和模板匹配在自動打分系統(tǒng)中的應(yīng)用

2015-02-24 05:14:26徐富新黃玉秀
計算機工程與應(yīng)用 2015年5期
關(guān)鍵詞:字符識別實驗報告字符

徐富新,王 晶,黃玉秀,王 洲

中南大學(xué) 物理與電子學(xué)院,長沙 410083

1 引言

隨著計算機和信息技術(shù)的快速發(fā)展,數(shù)據(jù)的計算處理技術(shù)突飛猛進,手工輸入數(shù)據(jù)的速度和準確度顯然已經(jīng)不能夠滿足需要,這樣就促使自動識別技術(shù)快速發(fā)展。對于數(shù)據(jù)內(nèi)容有雜物或者印刷質(zhì)量不好的數(shù)據(jù),字符特征的提取成了關(guān)鍵點,而特征提取的好壞直接影響到識別率的高低[1]。傳統(tǒng)模式識別方法的發(fā)展遇到了前所未有的困難,而神經(jīng)網(wǎng)絡(luò)的并行性、容錯能力和學(xué)習(xí)性能,使它在解決識別問題上不再拘泥于選取特征參數(shù),而對綜合的輸入模式進行訓(xùn)練和識別,針對字符的平移、旋轉(zhuǎn)和尺度變化,可以通過構(gòu)造具有不變性結(jié)構(gòu)的網(wǎng)絡(luò)模型,或者用神經(jīng)網(wǎng)絡(luò)提取字符的不變性特征及BP學(xué)習(xí)算法,利用圖像識別原理,將需要識別的數(shù)據(jù)先轉(zhuǎn)化為圖像文件,對圖像處理、進一步識別出結(jié)果并輸出,就顯得靈活方便[2-3]。

目前,實驗報告一般采用等級評分制度,比如采用1~5五個等級,當(dāng)這五個等級不夠用的時候會在數(shù)字后面加上一個加號“+”或減號“-”表示優(yōu)于或次于該成績,如4+、5-,故本文將系統(tǒng)加以改進,使其能識別擴展等級這樣的數(shù)字字符。

2 系統(tǒng)整體設(shè)計

從過去實驗報告成績錄入效率低的角度出發(fā),本課題在系統(tǒng)的總體結(jié)構(gòu)設(shè)計上,首先采用圖像處理將采集到的字符圖片特征提取出來[4],然后利用改進神經(jīng)網(wǎng)絡(luò)算法將字符識別出來,并驗證它的可執(zhí)行性。該系統(tǒng)主界面是采用基于MFC的Visual C++面向?qū)ο蠡幊陶Z言編寫的。該自動打分系統(tǒng)的整體設(shè)計框架見圖1。

圖1 系統(tǒng)整體設(shè)計框圖

圖片采集可以利用掃描儀、照相機、CCD攝像機等電子設(shè)備將識別的數(shù)據(jù)轉(zhuǎn)換成圖像文件,本實驗中利用CCD攝像機將成績報告輸入到電腦中。首先下載安裝CCD攝像機驅(qū)動,裝好后用USB數(shù)據(jù)線將CCD攝像機連接到電腦,將實驗報告朝下放在CCD攝像機上,點擊“CCD攝像機和照相機向?qū)А保募袷竭x擇.bmp,選擇圖片保存位置,便可得到報告成績的圖片。實驗報告中學(xué)號、成績的每個字符大小長8 mm,寬5 mm。

該自動打分系統(tǒng)的實現(xiàn)過程分兩部分,圖像預(yù)處理和數(shù)字字符識別模塊。先是對圖片進行預(yù)處理,然后對提取出來的數(shù)字、字符特征進行識別,輸出識別結(jié)果并保存到數(shù)據(jù)庫,此部分主要在VC++6.0軟件上實現(xiàn)。

3 圖像預(yù)處理

獲取的成績報告圖片處理的總體流程框圖如圖2。

圖2 圖像處理總流程框圖

3.1 圖像二值化

該識別系統(tǒng)是針對實驗報告成績識別的設(shè)計。識別前,先要對圖片二值化處理[5],本系統(tǒng)采用給定閾值法,設(shè)置圖像處理的固定閾值為128(取0~255的中間值),逐行掃描圖片中各點像素值,大于固定閾值的將其強制設(shè)定為255,小于固定閾值的將其強制設(shè)定為0。

3.2 去離散噪聲

在實驗報告掃描或者傳輸過程中會出現(xiàn)一些雜亂的離散點,可能是由于儀器等原因造成的。這些離散點并不是所需要的數(shù)據(jù)信息,并且會妨礙對數(shù)據(jù)信息的提取,所以要進行去噪聲處理。在本系統(tǒng)中,直接掃描圖片中離散的黑點,逐行逐列掃描整個圖像,當(dāng)掃描到黑點時,就判斷它與周圍黑點的連接關(guān)系,如果與它連接的周圍的黑點的個數(shù)大于特定數(shù)值時,就判定它不是離散點,否則就判定它是離散點。如果檢測到離散點就刪除,也就是將其像素值強制賦值為255,即白色。

3.3 圖像分割

從實驗報告上獲取的圖片是關(guān)于學(xué)號和成績,是一串的數(shù)字字符,這樣不利于分別對每個數(shù)字字符進行特征值提取。當(dāng)把每個數(shù)字字符都分割[4]成單獨的圖片后,提取其特征值就是該數(shù)字字符的特征值信息。首先從上往下逐行掃描,當(dāng)遇到黑點時,把此行定為字符大致頂端。說大致是因為并不是所有字符的上端都在同一水平線上。再從圖片底部逐行向上掃描,當(dāng)遇到黑點時,將此行定為字符的大致底端。第二步是在確定的大致頂部和底部之間,逐列從左往右搜索。當(dāng)搜索到黑點時,將此列作為該字符的左端;繼續(xù)向右搜索,當(dāng)掃描到某一列沒有黑點時,將前一列作為該字符的右端。重復(fù)上述搜索過程,直到搜索到最后一個字符的右端。接下來是確定每個字符確切的上下邊緣,方法類似以上搜索過程,在每個字符已經(jīng)確定的左右邊緣內(nèi),從上往下逐行掃描,當(dāng)遇到黑點時,將此行作為該字符的確切上邊緣;同樣從下往上逐行掃描,當(dāng)掃描到黑點時,將此行作為該字符的確定下邊緣。重復(fù)上述步驟,直到找到所有字符的確切上下邊緣。到此為止,已經(jīng)掃描出了每個字符相對確定的上下左右邊緣,為了不至于損壞字符邊緣的像素值,需要將各邊緣分別向外擴一個像素點作為各字符新的邊緣。

圖3是進行字符分割后的圖片,處理后的圖片中,在分割后的字符周圍加上了藍色的外框,主要是為了方便觀察,其不影響之后其他的圖像處理過程。

圖3 字符分割后處理后的字符

3.4 歸一化調(diào)整

實驗報告中的學(xué)號和成績均為手寫字符,可能有大有小,分割之后雖然確定了其邊界,但大小依然不一。由于數(shù)據(jù)結(jié)構(gòu)不一樣,使得特征值提取就不能夠統(tǒng)一。將圖片中各像素值按一定的比例關(guān)系插值映射到新的圖像中去。新圖像的尺寸是統(tǒng)一確定的尺寸,新圖像的尺寸可以根據(jù)自己的需要來設(shè)定。

圖4 標(biāo)準歸一化處理后的字符

3.5 特征提取

本系統(tǒng)中采用的是逐像素特征提取法,這種方法比較簡單且運行速度快,就是對圖像逐行逐列進行掃描,當(dāng)掃描到黑點時就記錄該點像素值為1,當(dāng)掃描到白點時就記錄該點像素值為0。直到掃描完整個圖像,就統(tǒng)計完了所有的特征值,特征值數(shù)量與圖像中像素點數(shù)量相同,掃描結(jié)果存儲在一個二維數(shù)組中,便可得到所需要的數(shù)字圖像特征。

4 成績識別及存儲

本文采用了BP神經(jīng)網(wǎng)絡(luò)識別和模塊識別兩種識別方式。

4.1 BP神經(jīng)網(wǎng)絡(luò)識別

BP神經(jīng)網(wǎng)絡(luò)也即反向傳播神經(jīng)網(wǎng)絡(luò),它是多層網(wǎng)絡(luò)[6],一般至少有3個層,一個輸入層、一個輸出層、一個或多個隱含層,它主要包括信號正向傳播和誤差信號反向傳播兩部分,正向傳播:輸入信號從輸入層經(jīng)過隱含層傳向輸出層,此過程中網(wǎng)絡(luò)權(quán)值固定不變,當(dāng)期望輸出值與網(wǎng)絡(luò)系統(tǒng)輸出值差別較大時,進入誤差的反向傳播階段;反向傳播:輸入層向隱含層再向輸入層傳輸誤差信息并調(diào)整網(wǎng)絡(luò)權(quán)值,反復(fù)反饋調(diào)整,使輸出層輸出逐漸逼近期望輸出值[7]。

4.1.1 BP算法的改進

(1)信號正向傳播過程

設(shè)輸入層、隱含層和輸出層結(jié)點數(shù)分別為m、n和l,則感知器的輸出為:

其中netk為輸出層第k個神經(jīng)元的輸入加權(quán)和[8]。

那么,當(dāng)網(wǎng)絡(luò)的輸出與期望輸出不相等時,及存在輸出誤差,則定義網(wǎng)路的第k個輸出神經(jīng)元的誤差函數(shù)Ek為:

其中dk為第k個神經(jīng)元期望的輸出結(jié)果。

網(wǎng)絡(luò)的能量函數(shù)(總的輸出誤差)為:

(2)誤差反向傳播過程

利用誤差反饋,通過調(diào)整權(quán)值和閾值,使網(wǎng)絡(luò)在能量達到最小時趨于穩(wěn)定狀態(tài)[9]。

根據(jù)前面推導(dǎo),能量函數(shù)和輸出層之間權(quán)值關(guān)系為:

可見能量函數(shù)E是各層權(quán)值wjk和wij的函數(shù),調(diào)整權(quán)值即可改變誤差E,使用梯度下降法對其進行調(diào)整,取常數(shù)η(0<η<1)為調(diào)整的步長,及網(wǎng)絡(luò)訓(xùn)練中的學(xué)習(xí)速率,則可以得到網(wǎng)絡(luò)權(quán)值的調(diào)整量:

其中δk表示輸出層的誤差,δj表示隱含層的誤差。

(3)加動量項

在修正網(wǎng)絡(luò)權(quán)值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響,標(biāo)準BP算法在權(quán)值調(diào)整中,只按t時刻誤差的梯度方向調(diào)整[10],而沒有考慮t時刻以前的梯度方向,從而常使訓(xùn)練過程發(fā)生振蕩,收斂變慢。為提高網(wǎng)絡(luò)的訓(xùn)練速度,可以在權(quán)值調(diào)整公式中增加一動量項。

式中,α稱為動量系數(shù),一般有0<α<1。從前一次權(quán)值調(diào)整中取出一部分疊加到本次調(diào)整量中,α影響這個調(diào)整量的大小,對于t時刻的調(diào)整起到阻尼的作用。

4.1.2 手寫數(shù)字及“+-”字符的識別

BP神經(jīng)網(wǎng)絡(luò)數(shù)字識別的實現(xiàn)主要包括樣本訓(xùn)練、字符特征輸入以及識別等過程,首先輸入一個樣本參數(shù),讓網(wǎng)絡(luò)系統(tǒng)學(xué)習(xí)并記憶數(shù)據(jù)信息中各特征值。樣本的選擇要有代表性,在程序中采用樣本圖片的形式,訓(xùn)練完后即可用它對數(shù)字及字符進行識別。

其具體流程如圖5所示。

圖5 BP神經(jīng)網(wǎng)絡(luò)數(shù)字識別過程流程圖

4.2 模板匹配識別

模板匹配法是圖像識別中最具有代表性的方法之一。本文為待識別的樣品提取25個特征值[11],輸送到分類器跟已有的標(biāo)準模板特征值進行比較,用最小距離法判定所屬類。這種最小距離是依據(jù)近鄰原則,是依據(jù)同類物體在空間中具有聚類特性的原理進行區(qū)分的[12],是一種最簡捷的分類方法。

4.2.1 圖像的最短距離法

利用圖像之間的最短距離作為判別函數(shù)的原理為:對于一個待識別的樣本X=(a1,a2,…,an),計算X與訓(xùn)練集中某樣本Xj(0<j<m,m為訓(xùn)練集中的樣本個數(shù))之間的距離:

待計算完所有的樣品和模板的距離后,找出最小的距離值所對應(yīng)的模板類別,樣本所屬的類別判別為此類別。

對于加減號“+-”的識別,根據(jù)計算的特征值,首先判斷是否存在加減符號,當(dāng)最后一個字符的左右邊界相差不超過1的時候,程序判斷為缺省加減符號。若是存在加減符號,判斷特征值是是否大于0.3,若大于0.3,符號判別為加號,反之判斷為減號[13]。

系統(tǒng)分類器所使用的訓(xùn)練集特征庫,是通過數(shù)字模板添加功能建立的。這也意味著,系統(tǒng)的訓(xùn)練集特征庫是可增加的,并不是一成不變的。一般樣品庫的個數(shù)為特征數(shù)的5~10倍,這里特征總數(shù)為5×5=25,每一種數(shù)字就需要至少75個標(biāo)準樣品,可想而知數(shù)目已經(jīng)不少了。如果N值過小,不利于不同物體間的區(qū)別。樣品的處理方法和實際應(yīng)用是一樣的,先定位字符的上下左右邊界,再對此范圍進行5×5的分割,計算小范圍黑色像素所占的比值[14]。

程序首先獲取需要添加模板的數(shù)字,然后判斷該數(shù)字是否已經(jīng)擁有250個樣品了,如果是則放棄添加樣本,否則在該數(shù)字已有樣本數(shù)目加1,然后把該字符的25個特征值增加到數(shù)字對應(yīng)的位置。

4.2.2 圖像顯示與抓取的軟件實現(xiàn)

在進行此功能模塊開發(fā)時,第一步創(chuàng)建一個視頻預(yù)覽窗口。在創(chuàng)建視頻捕捉窗口之后,將其顯示在系統(tǒng)人機交互界面的對話框中的適當(dāng)位置。先在對話框中預(yù)放置一個圖片控件,調(diào)整其大小和位置,然后將視頻捕捉窗口放置在該控件的位置處[15]。

對于視頻幀的截取,將數(shù)據(jù)拷貝到剪貼板上,再通過DIB(Device Independent Bitmap)操作獲取內(nèi)存中圖像數(shù)據(jù)首地址,進行后續(xù)的圖像數(shù)據(jù)處理。系統(tǒng)中顯示的效果如圖6所示。

圖6 圖像采集效果

4.3 系統(tǒng)測試及兩種方法識別結(jié)果的比較

經(jīng)過實驗可以看到,BP神經(jīng)網(wǎng)絡(luò)和模板匹配兩種方法的字符識別系統(tǒng)都可以對數(shù)字及加減號“+-”進行正確識別。識別效果如圖7所示,識別結(jié)果在圖下方的學(xué)號、成績欄給出。

圖7 系統(tǒng)識別的實現(xiàn)圖

隨機選取了5 000份實驗報告進行檢測,無論是學(xué)號的識別還是成績的識別,利用神經(jīng)網(wǎng)絡(luò)識別正確率高達99.3%,且識別一份成績報告需30 s左右,使用同一樣本,而模塊匹配識別的在保證正確率91.4%的基礎(chǔ)上,從圖像采集到識別結(jié)果的顯示大約使用時間3 s,較神經(jīng)網(wǎng)絡(luò)速度提到了10倍。另一方面,人工輸入一份實驗報告成績至少需要1 min,而可見實驗報告自動打分系統(tǒng),大幅提高了數(shù)據(jù)輸入的工作效率和準確率,具有一定的實用性。

4.4 學(xué)號成績的存儲

設(shè)置兩個字段studentnumber和score,分別代表學(xué)號和成績,然后在操作系統(tǒng)中創(chuàng)建要使用的ODBC數(shù)據(jù)源,在程序中添加與此數(shù)據(jù)庫相關(guān)聯(lián)的MFC ODBC類,調(diào)用CRecordView類的AddNew成員函數(shù)把學(xué)號與成績增加到記錄中。如圖8,即是識別結(jié)果的保存。

圖8 識別結(jié)果的保存

5 總結(jié)

本文中設(shè)計的系統(tǒng)是針對實驗報告中手寫學(xué)號和成績字符的識別,設(shè)計過程先對獲取的實驗報告字符圖片進行一系列的預(yù)處理,然后用BP神經(jīng)網(wǎng)絡(luò)和模板匹配方法對其進行識別,最后對設(shè)計好的系統(tǒng)進行實驗。在整個系統(tǒng)的設(shè)計以及實現(xiàn)過程中,識別圖像預(yù)處理和識別的方法在現(xiàn)階段無論是原理還是實現(xiàn)都已經(jīng)很成熟了,字符的定位是最關(guān)鍵的一步,也是最難的一步。本文所用的字符定位起始位置修改參數(shù)是經(jīng)過多次實驗得出來的,符合大部分拍攝情況實驗結(jié)果表明,該識別系統(tǒng)已經(jīng)能在很大程度上進行手寫數(shù)字和簡單字符的識別,識別率比較高,相對手動輸入成績速度有了很大的提高。該自動成績錄入系統(tǒng)經(jīng)驗證已經(jīng)可以應(yīng)用到高校實驗室的試用階段。

[1]蘇彥華.Visual C++數(shù)字圖像識別技術(shù)典型案例[M].北京:人民郵電出版社,2004.

[2]馬耀名,黃敏.基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)字識別研究[J].信息技術(shù),2007(4):87-88.

[3]杜選,高明峰.人工神經(jīng)網(wǎng)絡(luò)在數(shù)字識別中的應(yīng)用[J].計算機系統(tǒng)應(yīng)用,2007(2):21-22.

[4]周妮娜,王敏,黃心漢,等.車牌字符識別的預(yù)處理算法[J].計算機工程與應(yīng)用,2003,39(15):220-221.

[5]朱小燕,史一凡,馬少平.手寫體字符識別研究[J].模式識別與人工智能,2000,13(2):174-180.

[6]王春,劉波,周新志.采用BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法研究[J].中國測試技術(shù),2005,31(1):26-28.

[7]武強,童學(xué)鋒,季雋.基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)字字符識別[J].計算機工程,2003(14):174-180.

[8]湯茂斌,謝渝平,李就好.基于神經(jīng)網(wǎng)絡(luò)算法的字符識別方法研究[J].微電子學(xué)與計算機,2009,26(8):91-93.

[9]楊慶雄.基于神經(jīng)網(wǎng)絡(luò)的字符識別研究[J].信息技術(shù),2005(4):92-96.

[10]陳蕾,黃賢武,仲興榮,等.基于改進BP算法的數(shù)字字符識別[J].微電子學(xué)與計算機,2004,21(12):127-130.

[11]顧晨勤,葛萬成.基于模板匹配算法的字符識別研究[J].通信技術(shù),2009,42(3):220-222.

[12]王軍,王員云.基于模板匹配的聯(lián)機手寫數(shù)字識別[J].現(xiàn)代計算機,2008,25(3).

[13]荊鐘,何明.基于最小錯誤率的貝葉斯決策在手寫英文字母分類識別中的應(yīng)用[J].遼寧工業(yè)大學(xué)學(xué)報,2009.

[14]湯群芳,俞斌.基于神經(jīng)網(wǎng)絡(luò)和DSP技術(shù)的離線數(shù)字識別系統(tǒng)[J].電子測試,2009,12(6):16-20.

[15]楊淑瑩.圖像模式識別:VC++技術(shù)實現(xiàn)[M].北京:清華大學(xué)出版社,2005.

猜你喜歡
字符識別實驗報告字符
尋找更強的字符映射管理器
字符代表幾
一種USB接口字符液晶控制器設(shè)計
電子制作(2019年19期)2019-11-23 08:41:50
實驗報告
消失的殖民村莊和神秘字符
數(shù)據(jù)挖掘算法對于提高實驗報告質(zhì)量的作用探討
一種改進深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)的英文字符識別
儀表字符識別中的圖像處理算法研究
基于CUDA和深度置信網(wǎng)絡(luò)的手寫字符識別
基于CUDA和深度置信網(wǎng)絡(luò)的手寫字符識別
甘德县| 中宁县| 杂多县| 会东县| 弋阳县| 昌吉市| 潜山县| 昆明市| 阿城市| 会宁县| 凤翔县| 碌曲县| 鸡泽县| 广灵县| 阳高县| 肃宁县| 云和县| 盱眙县| 嘉善县| 泰兴市| 山阴县| 彩票| 潮安县| 宝山区| 海淀区| 蕉岭县| 天台县| 柞水县| 塔河县| 平远县| 清苑县| 西华县| 民丰县| 兴城市| 惠东县| 乐至县| 台中县| 鹰潭市| 岢岚县| 天柱县| 新宁县|