摘 要: 針對(duì)手機(jī)等手持終端的客觀題自動(dòng)閱卷系統(tǒng),提出了一種基于區(qū)域生長的表格定位算法,該算法對(duì)表格外框的確定有較好的適應(yīng)性,并且對(duì)表格外噪聲數(shù)據(jù)有較強(qiáng)的抗干擾能力。測(cè)試表明,該算法提高了表格定位精度和閱卷準(zhǔn)確率。
關(guān)鍵詞: 表格識(shí)別; 模板匹配; OpenCV; Android
傳統(tǒng)的人工閱卷方式往往花費(fèi)大量的人力物力和時(shí)間,效率低下,卻不能得到一個(gè)很好的效果。因此,采用一種高效準(zhǔn)確的閱卷方式顯得尤為重要。參考文獻(xiàn)[1]提出了一種基于圖像識(shí)別的閱卷系統(tǒng),這種閱卷系統(tǒng)需要對(duì)現(xiàn)有的常用答題卷格式進(jìn)行改造,并且需要用掃描儀對(duì)學(xué)生的答題卷進(jìn)行掃描,這勢(shì)必會(huì)增加考試閱卷的復(fù)雜度。近年來,帶有照相機(jī)功能的智能手機(jī)等移動(dòng)終端快速增長且廣泛使用,為高效地自動(dòng)智能閱卷提供了很好的解決方案。
本文利用帶有照相機(jī)功能的智能手機(jī)設(shè)計(jì)實(shí)現(xiàn)自動(dòng)閱卷,教師只需將標(biāo)準(zhǔn)答案輸入Android智能手機(jī)中,然后對(duì)學(xué)生答題卷進(jìn)行拍照,如圖1所示,通過手機(jī)閱卷軟件便可以輕松得到學(xué)生客觀題的考試成績。這種閱卷方式可以降低人工評(píng)卷誤差,減少教師閱卷工作量。
1 智能手機(jī)自動(dòng)閱卷系統(tǒng)設(shè)計(jì)
各類考試的試卷中一般都會(huì)包括客觀題部分,大多數(shù)考試答題卷的客觀題部分都是由表格設(shè)計(jì)構(gòu)成的。本文重點(diǎn)介紹系統(tǒng)在Android平臺(tái)下識(shí)別表格圖像,實(shí)現(xiàn)智能手機(jī)自動(dòng)閱卷功能,具體流程如圖2所示。
1.1 圖像采集
與掃描儀獲取圖像資源相比,采用智能手機(jī)中的照相機(jī)獲取圖片的方式具有方便、快捷、應(yīng)用一體化等特點(diǎn)。通過Android操作系統(tǒng)自帶的照相機(jī)進(jìn)行圖像采集,并將采集到的圖像存儲(chǔ)到SD卡中等待后臺(tái)應(yīng)用程序進(jìn)行處理。
1.2 圖像預(yù)處理
照相機(jī)獲取的圖片攜帶了顏色特征,所以首先需要對(duì)圖像進(jìn)行二值化操作。除此之外,為了取得更好的字符定位效果和字符識(shí)別精度,還需要對(duì)圖像進(jìn)行傾斜校正等操作。
1.2.1圖像二值化
由于文檔圖片的顏色特征比較單一,因此本文采用參考文獻(xiàn)[2]提出的基于簡(jiǎn)單閾值的Ridler和Calvard的聚類算法,取得了較好的二值化效果。
1.2.2 圖像的傾斜校正
答題卷在被照相機(jī)拍照的過程中,或多或少都會(huì)存在一定的傾斜。傾斜會(huì)給字符的分割和識(shí)別帶來很大的影響,所以處理表格圖像很關(guān)鍵的一步是圖像的傾斜校正。
由參考文獻(xiàn)[3]可知,傳統(tǒng)的校正方法可通過Hough變化求出水平線的角度后,采用仿射變換調(diào)節(jié)圖像的角度。該方法因?yàn)椴捎昧薍ough變化,需要耗費(fèi)大量的時(shí)間。參考文獻(xiàn)[4]提出了一種基于縱坐標(biāo)投影峰值的表格圖像傾斜調(diào)整算法,通過計(jì)算峰值之間的距離來度量表格的傾斜度。本文采用這種方法來進(jìn)行傾斜矯正,該方法適用于帶有表格信息的二值圖像,其算法計(jì)算量較小,在實(shí)際中有一定的使用價(jià)值。
1.3 表格數(shù)據(jù)定位與拆分
往往一張答題卷分為多個(gè)部分,而客觀題部分只是其中一個(gè)模塊,所以表格數(shù)據(jù)定位拆分模塊主要負(fù)責(zé)表格邊框的定位,并且有效地對(duì)表格中的數(shù)據(jù)進(jìn)行拆分。
1.4 表格數(shù)據(jù)識(shí)別
答題卷的客觀題部分一般主要由答題序號(hào)(也就是印刷體數(shù)字)和答案(手寫體A、B、C、D)構(gòu)成。在進(jìn)行數(shù)字和字符識(shí)別之前,通過參考文獻(xiàn)[4]提供的方法可以使每個(gè)字符邊緣沒有空白區(qū)域,如圖3所示。
1.4.1 手寫字符特征提取算法
字符特征提取的好壞直接影響著最終的識(shí)別效果。參考文獻(xiàn)[5]提供了一些字符的特征提取應(yīng)遵循的規(guī)則。參考文獻(xiàn)[6]提出了一種針對(duì)手寫數(shù)字適應(yīng)性較強(qiáng)的模板法——13點(diǎn)特征提取法,該方法具有實(shí)時(shí)、快速和準(zhǔn)確等特點(diǎn),但是該方法遇到大小不一的圖片時(shí)就會(huì)難以識(shí)別。在此基礎(chǔ)上,本文采用此方法歸一化的結(jié)果來提取特征以適用于手寫英文字符的識(shí)別。
1.4.2 手寫體字符的識(shí)別
本文采用模板匹配進(jìn)行字符識(shí)別,將標(biāo)準(zhǔn)的書寫方式作為模板錄入模板庫中,利用圖像之間的最短距離作為判別函數(shù)。對(duì)于一個(gè)待測(cè)試的樣本X=(a1,a2,…,an)T,計(jì)算X和訓(xùn)練集中的某個(gè)樣本Xj(0<j<N, N為訓(xùn)練集中樣本的個(gè)數(shù))之間的距離循環(huán)求出待測(cè)樣本和。訓(xùn)練集中各個(gè)已知樣本之間的距離為dj,比較所有的dj值,找出最小的d作為X所屬的訓(xùn)練集類別。
2.3 算法描述
本文針對(duì)橫線集和豎線集中包含非目標(biāo)區(qū)域的表格線的問題以及橫線集與豎線集斷線的問題,改進(jìn)了表格框線檢測(cè)提取算法中的Hough變換算法和交叉點(diǎn)特征法[8],提出了一種基于區(qū)域生長的表格定位算法。算法具體流程如下。
(1)對(duì)傾斜校正過后的圖像表格線進(jìn)行檢測(cè),將檢測(cè)到的線條進(jìn)行歸類,得到橫線集與豎線集。設(shè)橫線集為U1,豎線集為U2,通過與操作可以粗略得到交點(diǎn)集C,而最終需要得到的表格線外區(qū)域由4點(diǎn)集B構(gòu)成。同時(shí)假設(shè)C中包含孤立交點(diǎn)為e。
(2)從C中選取4個(gè)相鄰交點(diǎn)作為R的起始節(jié)點(diǎn)或叫種子節(jié)點(diǎn),如圖5(a)所示,區(qū)域應(yīng)盡量小,且不包含其他交點(diǎn),并且a與d和b與c形成橫線關(guān)系,a與b和c與d形成豎線關(guān)系。
(3)生長區(qū)域選定,擴(kuò)充區(qū)域R進(jìn)行生長,這樣可以填充掉斷線區(qū)域。選定閾值T,將R區(qū)域向4個(gè)方向擴(kuò)充T個(gè)像素,如圖5(b)所示(T的選擇應(yīng)該適中,選擇過大,會(huì)導(dǎo)致區(qū)域錯(cuò)誤生長;選擇過小,區(qū)域不能正常生長)。
(4)迭代橫線集U1與豎線集U2中的線段,若線段L與生長區(qū)域相交,則R區(qū)域向線段L擴(kuò)充直至L末端為止,形成新的R區(qū)域,返回步驟(3)進(jìn)行新生長區(qū)域的選定;若不存在L與生長區(qū)域相交,則跳轉(zhuǎn)至步驟(5)。圖5(c)、圖5(d)、圖5(e)所示為表格生長區(qū)域的生長過程。
(3)由于算法假設(shè)中整個(gè)表格不可能出現(xiàn)完全斷裂(這里完全斷裂是指小模塊與表格其他線段的最小距離大于T),因此通過線段連通性可以證明區(qū)域多次擴(kuò)展后,最后的生長區(qū)域R在包含所有的表格區(qū)域后停止生長。
(4)由于假設(shè)中表格數(shù)據(jù)與表格外的數(shù)據(jù)之間存在一定的距離(假設(shè)距離大于T),則最終的生長區(qū)域不包含表格外數(shù)據(jù)。
3 測(cè)試結(jié)果及分析
本文采用三星i9300作為測(cè)試平臺(tái),Android 4.0.4的系統(tǒng)版本。本文采用OpenCV2(版本號(hào)為2.4.5)作為圖像處理的庫。
3.1 幾種常見定位算法的對(duì)比
對(duì)帶有表格外噪聲數(shù)據(jù)的考試試卷(如圖6所示)運(yùn)用不同表格框線檢測(cè)算法進(jìn)行表格數(shù)據(jù)定位。分別通過Hough變換表格框線檢測(cè)算法[8]、交點(diǎn)特征提取算法[9]、由鄭秀清等人提出的一種改進(jìn)的自動(dòng)表格框線檢測(cè)算法[10]和本文提出的基于區(qū)域生長的表格定位算法得到的結(jié)果如圖7所示。
Hough變換檢查直線算法輸入原始圖片后,可以檢測(cè)到圖像中的所有直線。將這些直線中的橫線與豎線選擇出來,可以構(gòu)成檢測(cè)結(jié)果,如圖7(a)所示。由結(jié)果可以看出,Hough算法得到的線段除表格框線外,還存在表格外的直線,利用算法得到的直線集很難區(qū)分出哪些是表格線,哪些是非表格線,因此很難對(duì)表格區(qū)域進(jìn)行有效的定位。
交點(diǎn)特征提取算法將橫線與豎線的交點(diǎn)作為特征,通過交點(diǎn)可以大體描繪出表格區(qū)域。然而由于圖像采集中光線不均勻與圖像預(yù)處理的誤差,容易出現(xiàn)漏檢短框線的問題,從而會(huì)直接影響到交點(diǎn)的檢測(cè),如圖7(b)中出現(xiàn)部分交點(diǎn)漏檢的情況。
鄭秀清等人提出的改進(jìn)的自動(dòng)表格框線檢測(cè)算法主要應(yīng)用數(shù)學(xué)形態(tài)學(xué)來對(duì)表格框線進(jìn)行處理,對(duì)表格線進(jìn)行了斷點(diǎn)補(bǔ)償,很好地去除噪聲帶來的困擾,但是同樣不能過濾掉表格外的孤立交點(diǎn),如圖7(c)所示。
通過區(qū)域定位算法則可以很好地進(jìn)行斷線補(bǔ)償并且過濾掉表格區(qū)域以外的孤立交點(diǎn),如圖7(d)所示,采用該方法可以得到表格數(shù)據(jù)的交點(diǎn)集,對(duì)表格數(shù)據(jù)進(jìn)行有效的定位。
隨機(jī)選取20種常見的不同類型的表格型試卷,通過圖像采集得到80張圖片作為圖像庫,分別用不同方法進(jìn)行答題區(qū)域的分割,結(jié)果如表1所示。對(duì)比結(jié)果表明,基于區(qū)域生長的表格定位算法在圖片較清晰、滿足算法假設(shè)條件的情況下有較高的定位準(zhǔn)確率。
傳統(tǒng)的考試答題卷客觀題部分主要存在于表格中,針對(duì)這種答題卷,本文針對(duì)Android移動(dòng)終端設(shè)計(jì)了一種高效易用的自動(dòng)閱卷方案,包括圖像的采集、預(yù)處理、表格圖像的識(shí)別和字符識(shí)別等。針對(duì)表格圖像定位與手寫字符識(shí)別算法進(jìn)行了優(yōu)化,實(shí)驗(yàn)結(jié)果表明,該自動(dòng)閱卷方案具有高效、簡(jiǎn)單易用、便于推廣的優(yōu)點(diǎn)。
參考文獻(xiàn)
[1] 張站,劉政怡.基于圖像識(shí)別的閱卷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 微型機(jī)與應(yīng)用, 2011,30(4):44-47.
[2] RIDLER T W, CALVARD S. Picture thresholding using an iterative threshold selection method[J]. IEEE Transactions on Systems, Man and Cybernetics, 1978,8(8):630-632.
[3] 謝亮. 表格識(shí)別預(yù)處理技術(shù)與表格字符提取算法的研究[D].廣州:中山大學(xué), 2005.
[4] 巨志勇, 鄭應(yīng)平. 二值表格圖像傾斜校正算法[C]. 第一屆中國高校通信類院系學(xué)術(shù)研討會(huì)論文集, 2007.
[5] 許雁飛, 陳春玲, 陳夏梅. 基于 OpenCV 的脫機(jī)手寫字符識(shí)別技術(shù)[J]. 信息與電腦(理論版), 2011
(8):39.
[6] 鐘樂海, 胡偉. 手寫體數(shù)字識(shí)別系統(tǒng)中一種 新的特征提取方法[J]. 四川大學(xué)學(xué)報(bào) (自然科學(xué)版), 2007(5):15.
[7] KIRYATI N, ELDAR Y, BRUCKSTEIN A M. A probabilistic Hough transform[J]. Pattern Recognition,1991, 24(4):303-316.
[8] ILLINGWORTH J, KITTLER J. A survey of the Hough transform[J].Computer Vision, Graphics,and Image Processing, 1988,44(1):87-116.
[9] WENYIN L, DORI D. From raster to vectors: extracting visual information from line drawings[J]. Pattern
Analysis & Applications, 1999,2(1):10-21.
[10] 鄭秀清,付茂名.一種改進(jìn)的自動(dòng)表格框線檢測(cè)方法[J].中國民航飛行學(xué)院學(xué)報(bào), 2004,15(4): 30-32.