摘" 要: 為了降低光標(biāo)閱讀機(jī)使用成本與實(shí)現(xiàn)答題卡自動(dòng)化識(shí)別,設(shè)計(jì)并實(shí)現(xiàn)了一種基于機(jī)器視覺(jué)的答題卡自動(dòng)識(shí)別系統(tǒng)。首先對(duì)答題卡圖像進(jìn)行濾波、灰度變換、二值化等預(yù)處理操作;然后采用Hough變換實(shí)現(xiàn)雙直線檢測(cè),基于該直線對(duì)答題卡進(jìn)行矯正及區(qū)域分割;最后通過(guò)填涂區(qū)域的幾何屬性及像素點(diǎn)值實(shí)現(xiàn)選項(xiàng)識(shí)別判斷。測(cè)試結(jié)果表明,系統(tǒng)界面友好、靈活、使用方便、成本低廉,答題卡識(shí)別準(zhǔn)確率、效率高,具有一定的應(yīng)用價(jià)值。
關(guān)鍵詞: 機(jī)器視覺(jué); 答題卡; 圖像識(shí)別; 評(píng)分
中圖分類(lèi)號(hào):TP311.25" " " " " 文獻(xiàn)標(biāo)識(shí)碼:A" " " 文章編號(hào):1006-8228(2023)12-180-04
Design and implementation of automatic scoring system for
answer sheet based on machine vision
Gao Qiang1, Pan Jun2, Liu Wei1, Gao Wenli3
(1. Guangzhou Railway Polytechnic, Guangzhou, Guangdong, 511300, China; 2. Guangzhou Civil Aviation College;
3. Shangrao Children's Normal College)
Abstract: In order to reduce the cost of using cursor readers and realize automatic identification of answer sheets, an automatic identification system of answer sheets based on machine vision is designed and realized. Firstly, preprocessing operations such as filtering, grayscale transformation and binarization are performed on the answer sheet image. Then the Hough transform is used to achieve double line detection, based on which the answer sheet is corrected and segmented. Finally, option identification and judgment are achieved through the geometric attributes and pixel values of the filled area. The test results show that this system has a friendly interface, flexibility, easy to use, low cost, high accuracy and efficiency in answering sheet identification, and has certain application value.
Key words: machine vision; answer sheet; image identification; scoring
0 引言
在高校教學(xué)過(guò)程中,考試占有重要地位。為了降低教師批改試卷工作強(qiáng)度、提高試卷批閱效率,目前許多高校采用答題卡閱卷方式。
使用答題卡閱卷的方式在一定程度上可以提升閱卷效率、降低教師工作強(qiáng)度,但也存在一些不足:①答題卡需要專(zhuān)門(mén)的光標(biāo)閱讀機(jī)(OMR)設(shè)備完成答題卡批改,提高了答題卡使用成本;②學(xué)生需要使用專(zhuān)門(mén)的鉛筆進(jìn)行答題卡填涂,填涂若不規(guī)范容易造成光標(biāo)閱讀機(jī)錯(cuò)誤批改,從而導(dǎo)致答題卡評(píng)分不準(zhǔn)確。
隨著機(jī)器視覺(jué)、數(shù)字圖像處理技術(shù)的飛速進(jìn)步,基于這兩種技術(shù)的答題卡設(shè)計(jì)、自動(dòng)識(shí)別也開(kāi)始逐漸興起。如高強(qiáng)[1]提出了一種基于SVG的可定制答題卡生成系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)方法來(lái)提高答題卡對(duì)不同應(yīng)用場(chǎng)景的適應(yīng)性。林恒青[2]提出一種基于局部自適應(yīng)閾值分割和Hough變換的答題卡識(shí)別方法,該方法對(duì)于答題卡的識(shí)別準(zhǔn)確率高、使用方便,具有一定的應(yīng)用價(jià)值。程淑紅[3]等人提出的一種視覺(jué)的答題卡自動(dòng)評(píng)分系統(tǒng),通過(guò)縱向同步頭和模板匹配的方法進(jìn)行定位,能快速精確定位答題區(qū),識(shí)別率較高。郝平[4]提出耦合模板定位答題卡識(shí)別,通過(guò)人機(jī)交互劃定感興趣區(qū)域,并通過(guò)圖像處理算法定位填涂位置、評(píng)價(jià)填涂結(jié)果。韋溢輝[5]等人提出利用OpenCV來(lái)實(shí)現(xiàn)答題卡生成及批閱,將識(shí)別結(jié)果與設(shè)定的答案信息進(jìn)行比對(duì),得出考試結(jié)果。要曙麗[6]提出一種魯棒的客觀題識(shí)別算法,可以適用于不同排版類(lèi)型的答題卡客觀題識(shí)別,魯棒性強(qiáng),識(shí)別精度高。李清[7]提出圖像識(shí)別的網(wǎng)上閱卷系統(tǒng),系統(tǒng)運(yùn)用Hough變換,提出一種新的圖像傾斜角檢測(cè)算法,并采用優(yōu)化的鄰域探測(cè)輪廓跟蹤算法識(shí)別OMR標(biāo)記,提高了系統(tǒng)的檢測(cè)率。關(guān)世奎[8]提出一種使用計(jì)算機(jī)視覺(jué)技術(shù)為算法核心設(shè)計(jì)開(kāi)發(fā)的一種智能閱卷系統(tǒng),包括試卷圖像預(yù)處理、試卷版面相關(guān)內(nèi)容檢測(cè)、試卷目標(biāo)區(qū)域信息識(shí)別和系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。吳翔[9]提出設(shè)計(jì)一種利用數(shù)字圖像處理的方法自動(dòng)生成答題卡模板,利用這種方法可以在計(jì)算機(jī)上實(shí)現(xiàn)能夠閱讀多種答題卡的程序。
上述文獻(xiàn)研究?jī)?nèi)容主要集中在答題卡模板生成、識(shí)別算法領(lǐng)域,部分文獻(xiàn)提出的答題卡批閱系統(tǒng),其待批閱答題卡錄入方式單一且不支持批量設(shè)置題目分值。因此,本文提出一種答題卡自動(dòng)評(píng)分系統(tǒng),支持待評(píng)分答題卡逐張、批量導(dǎo)入兩種模式,同時(shí)可對(duì)題目分值自定義設(shè)置,有效提高了答題卡評(píng)分系統(tǒng)的靈活性。
1 基于機(jī)器視覺(jué)的答題卡自動(dòng)評(píng)分方法
本文所采用的答題卡自動(dòng)評(píng)分方法流程如圖1所示,首先通過(guò)相機(jī)或掃描儀采集答題卡的原始圖像,并對(duì)其進(jìn)行圖像預(yù)處理操作。接下來(lái)對(duì)預(yù)處理圖像進(jìn)行雙重Hough直線檢測(cè)和區(qū)域分割。然后將信息區(qū)域及分割后的答題區(qū)域圖像分別進(jìn)行高斯濾波處理并通過(guò)Canny算子進(jìn)行邊緣檢測(cè),對(duì)最大輪廓ROI區(qū)域進(jìn)行開(kāi)運(yùn)算形態(tài)學(xué)處理。接下來(lái)對(duì)開(kāi)運(yùn)算后的ROI區(qū)域進(jìn)行非零像素點(diǎn)檢測(cè),得到非零像素點(diǎn)二維數(shù)組,依據(jù)該數(shù)組提取學(xué)號(hào)及各題選項(xiàng)答案。最后根據(jù)參考答案完成評(píng)分。
⑴ 圖像預(yù)處理。答題卡自動(dòng)評(píng)分系統(tǒng)是將攝像頭等圖像采集設(shè)備獲得的答題卡圖像傳輸給計(jì)算機(jī)。受環(huán)境、設(shè)備等因素影響,所獲取答題卡圖像容易產(chǎn)生噪聲,從而影響評(píng)分的準(zhǔn)確性。因此,要對(duì)獲取到的圖像進(jìn)行預(yù)處理操作,然后對(duì)其進(jìn)行均值濾波、灰度變換、自適應(yīng)二值化、開(kāi)運(yùn)算形態(tài)學(xué)處理及二值化圖像反轉(zhuǎn)等,圖像預(yù)處理結(jié)果如圖2所示。
⑵ Hough直線檢測(cè)與區(qū)域分割。Hough直線檢測(cè)可以矯正答題卡方向及計(jì)算最長(zhǎng)直線以對(duì)答題卡進(jìn)行區(qū)域分割。答題卡的有效信息位于圖像中的特定區(qū)域,主要包括準(zhǔn)考證號(hào)區(qū)域、答題區(qū)域?qū)@些區(qū)域精準(zhǔn)定位就可以獲取答題卡中的有效信息。本文采用了基于直線的邊界檢測(cè)和區(qū)域分割的方法,將答題卡化分為信息區(qū)域和答題區(qū)域兩部分。答題卡Hough直線檢測(cè)效果如圖3所示。
⑶ Canny邊緣檢測(cè)。首先將分割后的信息區(qū)域、答題區(qū)域圖像進(jìn)行高斯濾波處理,然后通過(guò)Canny算子進(jìn)行邊緣檢測(cè),對(duì)檢測(cè)出來(lái)的最大輪廓ROI區(qū)域進(jìn)行開(kāi)運(yùn)算形態(tài)學(xué)處理。Canny邊緣檢測(cè)效果如圖4所示。
⑷ 非零像素點(diǎn)檢測(cè)。通過(guò)檢測(cè)ROI區(qū)域的像素點(diǎn)值來(lái)判斷學(xué)生的填涂信息,即像素點(diǎn)位非0值的選項(xiàng)為填涂結(jié)果,通過(guò)計(jì)算填涂位置的像素點(diǎn)值形成非零像素點(diǎn)二維數(shù)組,依據(jù)該數(shù)組提取學(xué)號(hào)及各題選項(xiàng)答案。
⑸ 評(píng)分。如圖5所示,非零像素點(diǎn)二維數(shù)組中第[i]個(gè)一維數(shù)組從左至右代表第[i]題四個(gè)選項(xiàng)“A、B、C、D”,非零值像素點(diǎn)即為學(xué)生填涂了該選項(xiàng),然后逐題將學(xué)生填涂結(jié)果與參考答案進(jìn)行比對(duì),并根據(jù)公式⑴、公式⑵進(jìn)行評(píng)分。
[correcti=1," examineei=answeri0," examineei≠answeri]" ⑴
[score=incorrecti×si]" ⑵
其中,[correcti]表示學(xué)生第[i]題填涂結(jié)果是否正確,[examineei]為學(xué)生第[i]題的填涂答案,[answeri]為第[i]題正確答案,[score]為學(xué)生所有答對(duì)題目分值總和,[si]為第[i]題的分值。
2 答題卡自動(dòng)評(píng)分系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)設(shè)計(jì)
2.1.1 系統(tǒng)功能設(shè)計(jì)
答題卡自動(dòng)評(píng)分系統(tǒng)主要功能包括登錄、題目分值設(shè)置、答題卡錄入方式、導(dǎo)出成績(jī)和退出系統(tǒng),其中,“題目分值設(shè)置”支持批量設(shè)置題目分值;“答題卡錄入方式”分為“從攝像頭拍取”和“從文件夾導(dǎo)入”兩種方式,“從攝像頭拍取”實(shí)現(xiàn)答題卡逐份拍照錄入,“從文件夾導(dǎo)入”可將現(xiàn)有答案答題卡、學(xué)生答題卡圖片文件錄入系統(tǒng)中;“導(dǎo)出成績(jī)”可以保存評(píng)分結(jié)果。系統(tǒng)功能如圖5所示。
2.1.2 系統(tǒng)操作流程設(shè)計(jì)
如圖6所示,輸入用戶名、密碼登錄系統(tǒng)后,首先批量設(shè)置題目序號(hào)及分值,然后選擇答案答題卡錄入方式,完成答案答題卡錄入后,按照同樣的方式,選擇學(xué)生答題卡錄入方式并完成錄入。當(dāng)答案以及學(xué)生答題卡均完成錄入后,系統(tǒng)自動(dòng)完成答題卡評(píng)分,待系統(tǒng)完成評(píng)分后,可以導(dǎo)出學(xué)生成績(jī)。
2.2 系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)在DELL Precision3571移動(dòng)工作站開(kāi)發(fā)、運(yùn)行,平臺(tái)配置為CPU:i7-12700H、主頻2.3GHz、內(nèi)存16GB,操作系統(tǒng)Windows 10,開(kāi)發(fā)語(yǔ)言、工具主要采用Python3.8+Pycharm2020.1+OpenCV 3.4+PyQt5.9+Mysql 5.7.31。
輸入合法用戶名和密碼后,進(jìn)入系統(tǒng)主界面。在系統(tǒng)主界面設(shè)置題號(hào)及分值,然后選擇答題卡錄入方式,如以“從文件夾導(dǎo)入”為例,依次從文件夾錄入答案答題卡和學(xué)生答題卡后,點(diǎn)擊“完成錄入”按鈕,系統(tǒng)將自動(dòng)完成評(píng)分,如圖7所示。
最后點(diǎn)擊“導(dǎo)出成績(jī)”按鈕,系統(tǒng)將對(duì)成績(jī)做平均值等簡(jiǎn)單統(tǒng)計(jì)。
3 結(jié)論
本文采用均值濾波、二值化算法、形態(tài)學(xué)處理、Hough變換檢測(cè)、Canny邊緣檢測(cè)等機(jī)器視覺(jué)技術(shù),實(shí)現(xiàn)了答題卡學(xué)號(hào)、答案選項(xiàng)等關(guān)鍵信息提取。基于軟件工程的思想,通過(guò)Python、PyQt5、OpenCV、Pycharm等工具、庫(kù),設(shè)計(jì)并實(shí)現(xiàn)了界面友好、功能靈活的答題卡自動(dòng)評(píng)分系統(tǒng),為后續(xù)開(kāi)發(fā)答題卡智能化綜合閱卷系統(tǒng)提供了思路或借鑒。本文答題卡自動(dòng)評(píng)分系統(tǒng)對(duì)光照比較敏感,后續(xù)將進(jìn)一步優(yōu)化本系統(tǒng)答題卡識(shí)別算法,提升算法的魯棒性。
參考文獻(xiàn)(References):
[1] 高強(qiáng),黃宇飛,潘俊.基于SVG的可定制答題卡生成系統(tǒng)設(shè)計(jì)
與實(shí)現(xiàn)[J].軟件,2023,44(3):84-89.
[2] 林恒青,戴立慶.基于局部自適應(yīng)閾值分割和Hough變換的
答題卡識(shí)別算法[J].桂林航天工業(yè)學(xué)院學(xué)報(bào),2021,26(3):280-286.
[3] 程淑紅,尚果超.基于視覺(jué)的答題卡自動(dòng)評(píng)分系統(tǒng)設(shè)計(jì)[J].
計(jì)量學(xué)報(bào),2018,39(6):804-810.
[4] 郝平.圖像處理耦合模板定位的答題卡識(shí)別研究與應(yīng)用[J].
計(jì)算技術(shù)與自動(dòng)化,2015,34(4):105-109.
[5] 韋溢輝,劉漢英.基于OpenCV的答題卡生成及批閱分析
系統(tǒng)[J].電腦知識(shí)與技術(shù),2020,16(29):23-27.
[6] 要曙麗,王少榮,蓋孟等.一種答題卡客觀題識(shí)別算法[J].
圖學(xué)學(xué)報(bào),2019,40(5):900-907.
[7] 李清.基于圖像識(shí)別的網(wǎng)上閱卷系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)與優(yōu)化[D].
吉林:東北師范大學(xué),2013.
[8] 關(guān)世奎.基于計(jì)算機(jī)視覺(jué)的智能輔助閱卷系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[D].
北京:北京工業(yè)大學(xué),2020.
[9] 吳翔,夏英杰,李金屏.一種答題卡的自動(dòng)閱讀方法[J].濟(jì)南
大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,28(4):246-250.