王軍等
摘 要: 該設(shè)計(jì)實(shí)現(xiàn)了一種新型的試卷分?jǐn)?shù)求和器,利用攝像頭直接獲取手寫試卷分?jǐn)?shù)欄信息,實(shí)現(xiàn)分?jǐn)?shù)求和功能且能夠自動(dòng)適應(yīng)不同的求分欄數(shù)目。求和器首先利用攝像頭對(duì)試卷實(shí)時(shí)采樣并對(duì)其進(jìn)行二值化、圖像定位和圖像分割等預(yù)處理,然后利用BP神經(jīng)網(wǎng)絡(luò)對(duì)分割出的字符進(jìn)行數(shù)字識(shí)別,最后將識(shí)別出的數(shù)字加和顯示在GUI界面中。實(shí)驗(yàn)表明,該求和器能夠以較高概率實(shí)現(xiàn)對(duì)手寫試卷分?jǐn)?shù)的自動(dòng)求和,具有較大的應(yīng)用前景。
關(guān)鍵詞: 手寫試卷; 分?jǐn)?shù)求和器; 圖像處理; 分值識(shí)別; BP神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào): TN919?34; G741 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)08?0022?04
Design and implementation of A novel score summer system for handwritten test paper
WANG Jun1, SUO Yue2, XIAO Zhen?dong1, ZHANG Min1, QIAO Xiao?lin1
(1.Weihai Branch, Harbin Institute of Technology, Weihai, 264209, China; 2. Skyworth LCD Co., Ltd, Shenzhen 518000, China )
Abstract:A novel score summer system for handwritten test paper is proposed in the paper. The summer system acquires the score information of handwritten test paper by digital camera, and then can automatically output the summation and can adap itself to different number of score?lines. The summer firstly captures the image of test paper by digital camera and then preprocess the image including binaryzation, image positioning and segmentation. The BP neural network is employed to accomplish the score value recognition based on the preprocessed result, and then the summation is displayed on GUI interface. The experiments based on real system show the proposed score summer system can implement automatic summation of handwritten test paper in high probability.
Keywords: handwritten test paper; score summer system; image processing; score value recognition; BP neural network
0 引 言
手寫試卷分?jǐn)?shù)求和工作量非常大且容易出錯(cuò),找到一種能降低人為錯(cuò)誤和提高效率的求和方法具有現(xiàn)實(shí)應(yīng)用意義。本文主要研究試卷分?jǐn)?shù)求和器的設(shè)計(jì)與實(shí)現(xiàn),以期能設(shè)計(jì)出一種快捷、有效的試卷分?jǐn)?shù)自動(dòng)求和器系統(tǒng),可減少人工工作量并能夠提高效率。該分?jǐn)?shù)求和器對(duì)批改好的手寫試卷分?jǐn)?shù)進(jìn)行數(shù)字識(shí)別,然后自動(dòng)計(jì)算出總分,能大大提高教師試卷批改的效率?,F(xiàn)在的試卷批改方法大體有兩種:手工的傳統(tǒng)方法,耗時(shí)長(zhǎng),同時(shí)有一定的錯(cuò)誤率;利用炭對(duì)紅外的電敏感性實(shí)現(xiàn)的電腦讀卡法,需要專門的填寫和專業(yè)的讀卡設(shè)備,這種方法效率高、準(zhǔn)確率高,但成本也高[1]。
本求和器首先利用數(shù)字?jǐn)z像頭對(duì)手寫試卷分?jǐn)?shù)信息進(jìn)行獲取,然后利用手寫體數(shù)字識(shí)別方法進(jìn)行圖像處理,以實(shí)現(xiàn)對(duì)手寫的試卷分?jǐn)?shù)自動(dòng)求和功能。
1 圖像信息處理
本求和器系統(tǒng)組成框圖如圖1所示,核心是利用圖像處理方法對(duì)攝像頭獲取的圖像進(jìn)行處理,實(shí)現(xiàn)分?jǐn)?shù)求和。
圖1 系統(tǒng)框圖
在圖像信息處理中,求和器系統(tǒng)實(shí)現(xiàn):利用攝像頭實(shí)現(xiàn)圖像采集、圖像預(yù)處理、圖像定位和圖像分割。
1.1 圖像采集
圖像采集利用Matlab的Image Acquisition Toolbox工具箱。將攝像頭固定在試卷上方,通過(guò)Matlab查詢視頻設(shè)備,直接調(diào)用攝像頭,打開預(yù)覽窗口,對(duì)試卷進(jìn)行瞬時(shí)抓拍,并將所采集的圖像進(jìn)行存儲(chǔ)。在本系統(tǒng)中需要采集的對(duì)象為手寫試卷計(jì)分欄,圖2所示??梢钥闯?,在采集的圖像中,有很多與分?jǐn)?shù)無(wú)關(guān)的文字和線條。利用Matlab軟件實(shí)現(xiàn)圖像采集的流程圖如圖3所示。
圖2 需要采集的對(duì)象
圖3 圖像采集流程圖
1.2 圖像預(yù)處理
采集圖像后,通過(guò)imread函數(shù)將圖像讀取為二維矩陣數(shù)據(jù),然后對(duì)其進(jìn)行灰度化、二值化、取反、規(guī)范化[2]等預(yù)處理,圖4是將圖2所示原始采集圖像進(jìn)行預(yù)處理之后的結(jié)果。
圖4 原圖像灰度化及二值化后圖像、取反后圖像
1.3 圖像定位
要實(shí)現(xiàn)對(duì)分?jǐn)?shù)的識(shí)別,需要對(duì)預(yù)處理后圖像進(jìn)行定位,通過(guò)定位確定分?jǐn)?shù)圖像的位置。在本系統(tǒng)中,圖像的評(píng)分欄定位采用了攝像頭定位與投影法相結(jié)合的方法,畫出取反后圖像的垂直投影及水平投影,如圖5所示。
圖5 取反后圖像的水平投影及垂直投影
對(duì)其投影分析可知,評(píng)分欄圖像的橫坐標(biāo)約在60~370之間,縱坐標(biāo)約在145~275之間。由于攝像頭獲取圖像可能會(huì)存在些微的位置誤差,因此,截取圖像時(shí)將坐標(biāo)范圍適當(dāng)擴(kuò)大,選取了橫坐標(biāo)55~380之間,縱坐標(biāo)在140~280之間,以此區(qū)間實(shí)現(xiàn)對(duì)從預(yù)處理圖像中對(duì)評(píng)分欄進(jìn)行定位,定位后的分?jǐn)?shù)欄圖像如圖6所示[3]。
圖6 定位后圖像
1.4 圖像分割
在定位后圖像中,根據(jù)評(píng)分欄進(jìn)行圖像分割實(shí)現(xiàn)不同題目的分?jǐn)?shù)圖像分離在本設(shè)計(jì)中具有非常重要的意義。本設(shè)計(jì)中的分割涉及到兩次邊框分割和一次字符分割。每一次分割均采用投影法,通過(guò)判斷投影值選取圖像的起止點(diǎn),分割出所需圖像[4]。第一次投影分割過(guò)程如下:首先畫出圖像的水平投影圖,如圖7所示。
圖7 定位后圖像的水平投影
在評(píng)分欄圖像的水平投影圖上的橫向從左側(cè)到右側(cè)依次檢測(cè)每1個(gè)坐標(biāo)的投影數(shù)值,將檢測(cè)到的投影數(shù)值出現(xiàn)第1個(gè)大于等于150時(shí),那么將這個(gè)投影數(shù)值所屬的像素點(diǎn)即看做是第1行區(qū)域的上邊界限。然后繼續(xù)向右檢測(cè),將檢測(cè)到的投影數(shù)值出現(xiàn)第1個(gè)大于等于150時(shí),那么將這個(gè)投影數(shù)值所屬的像素點(diǎn)即看做是第1行區(qū)域的下邊界限。投影算法流程圖如圖8所示。
圖8 圖像分割流程圖
根據(jù)圖8所示圖像分割流程,設(shè)計(jì)Matlab程序,實(shí)現(xiàn)對(duì)圖像的分割,第1次分割后的圖像圖9所示。從圖中可以看出,經(jīng)過(guò)一次分割后,不同計(jì)分欄中的分?jǐn)?shù)已經(jīng)實(shí)現(xiàn)分離,但其中包含了不是分?jǐn)?shù)的文字信息,如在圖9中的第一張子圖中出現(xiàn)漢字“分?jǐn)?shù)”。
圖9 第一次分割后圖像
與第1次圖像分割同理,第2次及第3次分割也以此流程進(jìn)行分割。第2次及第3次分割后圖像如圖10、圖11所示。其中第3次分割的目的是若某一題的分?jǐn)?shù)為兩位數(shù),則對(duì)圖像進(jìn)行第三次分割,將兩位數(shù)字分割成單個(gè)的數(shù)字,為實(shí)現(xiàn)數(shù)字分?jǐn)?shù)識(shí)別[5]做準(zhǔn)備。
圖10 第二次分割后圖像
圖11 第三次分割后圖像
進(jìn)行三次分割后,對(duì)分割出來(lái)的圖像進(jìn)行特征提取,如圖12所示,以便于后續(xù)的數(shù)字識(shí)別[6?8]。
圖12 第三次分割后圖像的特征提取
2 數(shù)字識(shí)別
在本分?jǐn)?shù)求和器系統(tǒng)中,基于特征提取結(jié)果,利用BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫體數(shù)字的識(shí)別。
2.1 BP神經(jīng)網(wǎng)絡(luò)法
手寫體數(shù)字識(shí)別系統(tǒng)主要由訓(xùn)練過(guò)程與識(shí)別過(guò)程兩部分組成,訓(xùn)練過(guò)程和識(shí)別過(guò)程兩部分均包括預(yù)處理、特征提取和模式識(shí)別三部分。本課題采用BP神經(jīng)網(wǎng)絡(luò)方法對(duì)手寫數(shù)字進(jìn)行識(shí)別。BP神經(jīng)網(wǎng)絡(luò)又稱誤差反向傳遞神經(jīng)網(wǎng)絡(luò),它是一種依靠反饋值來(lái)不斷調(diào)整節(jié)點(diǎn)之間的連接權(quán)值而構(gòu)建的一種網(wǎng)絡(luò)模型[9]。它的整個(gè)體系結(jié)構(gòu)分為輸入層、隱藏層和輸出層,其中隱藏層根據(jù)具體情況的需要,可以是一層結(jié)構(gòu)也可為多層結(jié)構(gòu)。BP網(wǎng)絡(luò)屬于前向神經(jīng)網(wǎng)絡(luò),給多層網(wǎng)絡(luò)的訓(xùn)練提供了比較有效的辦法,加之多層前向神經(jīng)網(wǎng)絡(luò)能逼近任意線性函數(shù),在科學(xué)技術(shù)領(lǐng)域中有廣泛的應(yīng)用,因此,該算法一直受到人們的廣泛關(guān)注。
2.2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
將數(shù)字圖像的特征向量作為神經(jīng)網(wǎng)絡(luò)的輸入,所以神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元個(gè)數(shù)等于特征向量的維數(shù),即70×50=3 500個(gè)輸入神經(jīng)元。因?yàn)橐R(shí)別10個(gè)數(shù)字,因此輸出選擇為10×1的矩陣,即輸出節(jié)點(diǎn)數(shù)為10。當(dāng)數(shù)字圖像0~9輸入神經(jīng)網(wǎng)絡(luò)后,在輸出神經(jīng)元對(duì)應(yīng)的位置上為1,其他的位置為0。如果輸人數(shù)字0,第1個(gè)輸出神經(jīng)元為1,其他輸出神經(jīng)元為0;如果輸入數(shù)字1,第2個(gè)輸出神經(jīng)元為1,其他輸出神經(jīng)元為0;依次類推。
建立一個(gè)前向BP神經(jīng)網(wǎng)絡(luò)函數(shù),主要程序如下:
net = newff(minmax(alphabet),[S1 S2],{′logsig′ ′logsig′},′traingdx′);
其中:minmax(alphabet)為神經(jīng)網(wǎng)絡(luò)對(duì)它的3 500個(gè)輸入元素的最大值和最小值的限制;alphabet為訓(xùn)練樣本集合;[S1 S2]為該神經(jīng)網(wǎng)絡(luò)的層結(jié)構(gòu);{′logsig′ ′logsig′}為該神經(jīng)網(wǎng)絡(luò)各層的轉(zhuǎn)移函數(shù),均設(shè)置為對(duì)數(shù)S型激活函數(shù)。訓(xùn)練函數(shù)采用traingdx,即梯度下降BP算法訓(xùn)練函數(shù)。最后通過(guò)train函數(shù)對(duì)目標(biāo)樣本進(jìn)行訓(xùn)練,通過(guò)sim函數(shù)進(jìn)行仿真,輸出神經(jīng)元最大值,即識(shí)別出的數(shù)字[10?13]。
3 系統(tǒng)實(shí)現(xiàn)
實(shí)現(xiàn)手寫試卷分?jǐn)?shù)求和器的實(shí)際系統(tǒng)如圖13所示,基于實(shí)際系統(tǒng)進(jìn)行題數(shù)可選功能和報(bào)警功能的測(cè)試,對(duì)識(shí)別正確率進(jìn)行了統(tǒng)計(jì)。
圖13 實(shí)際系統(tǒng)
3.1 題數(shù)可選功能
本系統(tǒng)具有題數(shù)可選擇功能,七、八、九題均可,選擇出要識(shí)別的試卷的題數(shù),即可進(jìn)行識(shí)別,并在總分處顯示出總分。實(shí)現(xiàn)方法為:在GUI設(shè)計(jì)中,在GUI界面上放置三個(gè)按鈕,分別命名為“七道題”、“八道題”、“九道題”,每個(gè)按鈕內(nèi)均包括第2次分割、第3次分割、識(shí)別及結(jié)果顯示的程序語(yǔ)句,不同之處僅在于第2次分割時(shí),所分割出的圖片數(shù)不同,顯示出的圖片數(shù)也不同。實(shí)際系統(tǒng)效果如圖14~圖16所示。
圖14 識(shí)別后GUI界面(七道題)
圖15 識(shí)別后GUI界面(八道題)
圖16 識(shí)別后GUI界面(九道題)
3.2 報(bào)警功能
本系統(tǒng)設(shè)計(jì)具有報(bào)警功能,若所識(shí)別的圖像某一大題處為空白,會(huì)在總分上面顯示出“there is an enpty!”進(jìn)行報(bào)警,效果如圖17所示。
實(shí)現(xiàn)方法:對(duì)每道題的圖片取垂直投影histcol3,令mm=sum(histcol3),即對(duì)垂直投影histcol3求和,若mm<8,則說(shuō)明框內(nèi)基本無(wú)內(nèi)容,即框內(nèi)空白,則在總分上方的坐標(biāo)系區(qū)域內(nèi)顯示“There is an empty!”的圖片,實(shí)現(xiàn)報(bào)警[14]。
圖17 空白報(bào)警GUI界面
3.3 系統(tǒng)準(zhǔn)確率
對(duì)手寫分?jǐn)?shù)的識(shí)別準(zhǔn)確率是衡量系統(tǒng)的重要指標(biāo),它決定了系統(tǒng)是否具有實(shí)際應(yīng)用價(jià)值。本設(shè)計(jì)中共取20個(gè)分?jǐn)?shù)欄圖像作為訓(xùn)練樣本,每個(gè)圖像中含有10個(gè)手寫體數(shù)字,共200個(gè)測(cè)試樣本對(duì)系統(tǒng)進(jìn)行性能測(cè)試。測(cè)試結(jié)果如表1所示。由表1中的數(shù)據(jù)可知,總體數(shù)字識(shí)別的正確率為93.25%,正確率較高。就本設(shè)計(jì)而言,數(shù)字識(shí)別準(zhǔn)確率與攝像頭獲取圖像的亮度、手寫數(shù)字的間距等均有關(guān),因此,在實(shí)際運(yùn)用中,還應(yīng)對(duì)圖像獲取、數(shù)字位置等都有準(zhǔn)確規(guī)定,以獲得更高的準(zhǔn)確率。
表1 求和器準(zhǔn)確率
4 結(jié) 論
本文根據(jù)手寫試卷評(píng)分特征,利用圖像分割理論和BP神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)了試卷分?jǐn)?shù)求和器系統(tǒng)設(shè)計(jì)。求和器能夠自動(dòng)實(shí)現(xiàn)對(duì)手寫試卷分?jǐn)?shù)的總分計(jì)算,減少了人工統(tǒng)計(jì)計(jì)算成本;求和器所具有的題數(shù)可選功能和對(duì)空白分?jǐn)?shù)欄的報(bào)警提示功能,提高了系統(tǒng)適應(yīng)性,能對(duì)試卷評(píng)分欄進(jìn)行檢查,排除分?jǐn)?shù)漏統(tǒng)計(jì)風(fēng)險(xiǎn)。經(jīng)過(guò)實(shí)際測(cè)試表明,本分?jǐn)?shù)求和器的準(zhǔn)確率達(dá)到93.5%,這表明基于本系統(tǒng)設(shè)計(jì)理論的手寫分?jǐn)?shù)求和器具有實(shí)際應(yīng)用意義。通過(guò)對(duì)圖像分割和數(shù)字識(shí)別算法進(jìn)行改進(jìn),可進(jìn)一步提高系統(tǒng)準(zhǔn)確率,將本系統(tǒng)實(shí)際應(yīng)用于手寫試卷評(píng)分領(lǐng)域。
參考文獻(xiàn)
[1] 郝夢(mèng)琳.手寫體數(shù)字識(shí)別方法的研究與實(shí)現(xiàn)[D].太原:太原科技大學(xué),2013.
[2] 康明.手寫體數(shù)字識(shí)別技術(shù)研究[D].武漢:武漢理工大學(xué),2010.
[3] 張彤,肖南峰.基于BP網(wǎng)絡(luò)的數(shù)字識(shí)別方法[J].重慶理工大學(xué)學(xué)報(bào):自然科學(xué)版,2010,24(3):59?63.
[4] 王巖松.手寫體數(shù)字識(shí)別中的關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2009.
[5] 姜天戟,袁曾任.基于BP和統(tǒng)計(jì)的混合法前饋型神經(jīng)網(wǎng)絡(luò)及其應(yīng)用[J].軟件學(xué)報(bào),1996(6):379?384.
[6] 孫少林,馬志強(qiáng),湯偉.灰度圖像二值化算法研究[J].價(jià)值工程,2010(5):142?143.
[7] 李強(qiáng).圖像分割中的閾值法研究[J].銅仁職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2008(6):52?54.
[8] 戴建輝.自由手寫體數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[EB/OL].[2010?12?15].http://wenku.baidu.com.
[9] 薛智勇,婁雪芳.基于BP神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識(shí)別[J].儀器儀表與分析監(jiān)測(cè),2009(2):25?30.
[10] 張新峰,沈蘭蓀.模式識(shí)別及其在圖像處理中的應(yīng)用[J].測(cè)控技術(shù),2004,23(5):28?32.
[11] MAN Zhi?hong, LEE Kevin, WANG Dian?hui, et al. An optimal weight learning machine for handwritten digital image recognition [J]. Signal Processing, 2013, 93(6):1624?1638.
[12] CARDOSO Angelo, WICHERT Andreas. Handwritten digit recognition using biologically inspired features [J]. Neurocomputing, 2013, 99(1):575?580.
[13] KUSSUL Ernst, BAIDYK Tatiana. LIRA neural classifier for handwritten digit recognition and visual controlled microassembly[J]. Neurocomputing, 2006, 69(16):2227?2235.
[14] 孫祥,徐流美,吳清.Matlab 7.0基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2005.