《电子技术应用》

基于计算机视觉的自动阅卷系统的设计

2014年微型机与应用第13期 作者: 王 杉,丁 磊
2015/5/26 20:37:00

  摘  要: 基于计算机视觉技术设计了一个自动阅卷系统,为解决试卷填涂信息识别问题和自动判卷问题,提出了基于感知哈希技术的试卷填涂信息识别算法和基于图像比较近似度结果的判卷算法。通过系统实现与测试,系统拥有较快的处理速度、较高的准确性和易用性。

  关键词: 计算机视觉;自动阅卷;感知哈希算法

  目前在试卷自动批阅系统中,绝大多数都是采用光电管扫描技术,也就是常说的机读卡和光标阅读机。在一张带格式的机读卡上填涂相应位置的空格,通过光标阅读机扫描填涂标记获得信息。因为机读卡的特殊性质,在使用中要求不能折叠、必须用2B铅笔填涂、标记填涂必需呈矩形等,造成了这种系统设备成本、印刷成本较高,并且使用不便,易造成由于填涂不规范引起的误读[1]。

  计算机视觉技术目前被广泛地运用在各工业和制造业领域,在工业检测、统计、定位匹配等工作中用计算机视觉技术取代人工,可以提供生产效率和产品质量。将计算机视觉技术运用到试卷自动批阅系统中,可在一定程度上解决上述问题,在易用性、处理速度和成本控制上可有较大改进。

  1 系统结构与技术路线

  本系统基于计算机视觉和计算机图像处理技术,对试卷的客观题进行自动阅卷,并辅助教师进行主观题阅卷。系统基本结构示意图如图1所示。

001.jpg

  系统使用高速扫描仪将学生完成的试卷扫描形成计算机图像,然后利用图像匹配算法,将试卷图像与标准空白试卷图像进行对比,获得学生写于试卷上的答案填涂信息。根据学生在客观题选项位置的答案填涂标记、数据库记录的判卷规则和题目答案,系统通过判卷算法处理可直接计算客观题的成绩。

  为解决试卷填涂信息的识别问题,系统基于图像感知哈希技术设计了试卷填涂信息识别算法。算法主要思路是对原始空白试卷模板进行分析,获得答案填涂位置的子图集合,然后将扫描的试卷图像进行灰度处理,对相同填涂位置的子图与空白试卷模板填涂位置的子图进行图像比较,若相同位置的两个子图比较结果差异比高于某一阈值,则可认为该位置被填涂,以此获得填涂在试卷上的标记位置。

  在识别填涂信息的基础上,系统通过判卷算法进一步对试卷进行判卷处理。其主要思路是在分析空白试卷模板时,通过对数据库中题库答案的判别,获得标准答案所在选项的填涂位置,形成正确填涂位置的子图集合,与试卷图像填涂结果相比较,若某一题试卷图像被填涂位置与正确填涂位置相同,则认为该题回答正确。

  系统通过上述两个算法对一份填写好的答卷进行处理,获得该试卷的填涂信息并进行答卷分析,完成对试卷的判卷,再结合题库中的评分标准,计算试卷成绩,最终实现对试卷的机器自动阅卷。

  2 系统主要算法

  系统使用计算机视觉技术解决自动阅卷问题,提出了基于感知哈希技术的图像比较算法和基于图像比较近似度结果的判卷算法。

  2.1 基于感知哈希技术的试卷填涂信息识别算法

  感知哈希算法(Perceptual Hash Algorithm)是目前较为流行的计算机图像比较算法,被广泛地运用在图像比较和图像搜索领域,Google和百度的“以图搜图”或“搜索网络中相似图片”等系统就使用了感知哈希算法。其主要思路是为图片生成一个指纹(字符串格式),若两张图片的指纹越接近,则说明两张图片越相似。感知哈希算法在进行图像比较时速度非常快,特别适合进行大数据量的图像比较[2]。

002.jpg

  在本系统中,实现对试卷填涂答案的识别的核心思路就是比较扫描试卷图像中的答案选框区域图像与空白试卷图像中的相应位置答案选框区域图像是否相似,以此来判断该答案选框是否被填涂。

003.jpg

  如图2所示,虚线围绕部分即为答案选框区域。空白试卷的答案选框为空心矩形框,图3所示答卷图像的一部分答案选框被进行了填涂,表示答题者所选的答案。若两张图片相同位置的答案选框区域图像比较结果相似(如选框a和选框a′),则可认为该选框未被填涂;若两张图片相同位置的答案选框区域图像比较结果有较大差别(如选框a和选框a′′),则可判定该选框被进行了填涂。对所有答案选框区域进行图像比较后,即可获得整张答卷的填涂结果,再结合试题答案和评分规则后,就能够得到试卷的评判结果。

  根据以上思路,设计了基于感知哈希技术的试卷填涂信息识别算法,其主要步骤如下。

  (1)扫描空白试卷,获得空白试卷图像Gm;设定答案选框形状为空心矩形(也可设为其他简单的空心几何形状),并将该空心矩形设为Gm的子图sm;对Gm进行子图搜索,获得Gm中所有与sm相同的子图和每一个子图在Gm中的位置坐标及子图尺寸(位置坐标和尺寸作为子图对象的属性,设为x,y,w,h),形成子图对象集合SM={sm1,sm2,sm3,…,smi,…,smn}。把这一过程称为“学习”,空白试卷图像称为“模板”。在图2中,虚线条围绕的选框图形即子图集合SM。

  (2)扫描答卷,获得答卷图像Ge;遍历集合SM,得到每一个sm的位置坐标和尺寸;按每一个sm的位置坐标和尺寸在Ge中截取相同位置和尺寸的Ge的子图,获得Ge的子图对象集合SE={se1,se2,se3,…,sei,…,sen},其中smi.x==sei.x;smi.y==sei.y;smi.w==sei.w;smi.h==sei.h.把这一过程称为“定位”。图3显示了对答卷进行定位的结果,蓝色线条围绕区域即为SE。

  (3)应用图像感知哈希技术,首先将smi缩小为8×8的尺寸,总共64个像素,并转换成灰度图像。然后计算所有64个像素的灰度平均值,将图像中每个像素的灰度与平均值进行比较,大于或等于平均值,记为1;小于平均值,记为0。接着将比较结果组合在一起,构成了一个64位的整数,得到smi的哈希值,即“指纹”。在本系统中,由于空白选项框图像基本一致,故无需对SM中的所有子图都进行指纹计算,将smi的指纹作为所有SM子图的指纹。可进一步降低图像比较算法的时间复杂度。

  (4)计算得到SE中的所有子图sei的指纹,依次与smi的指纹进行比较。若两者的汉明距离小于等于10,则表示该sei与smi基本一样,可认为该子图sei所表示的选项框未被填涂;若汉明距离大于10则表明该sei与smi有较大差距,可认为该子图sei所表示的选项框被进行了填涂。将所有汉明距离大于10的sei形成新的集合SS,该集合记录了答卷上所有被填涂的选项框子图的位置与尺寸,也即选项框的填涂信息。

004.jpg

  图4截取了空白试卷的一个选项框子图和答卷的一部分。在图4中,sm1为空白选项框,其哈希指纹为“0000000001111110011111100111111001111110011111100111111000000000”。se2的哈希指纹为00000000011111 00011111000111110001111110011111100111111000000000,与sm1哈希指纹的汉明距离为3,可看出这两张图基本一致,因此认为se2未被填涂;se3,se4,se6,se8,se9,se10, se11,se14,se15计算的汉明距离也皆小于6,认作未被填涂。se1的哈希指纹为“1111111010000110100000001000 000011000010100000001001111011111110”,与sm1哈希指纹的汉明距离为48,大于10,因此认为se1被填涂;se5,se7,se12,se13计算的汉明距离分别为38,32,37,44,皆大于10,故认作被填涂。

  在图4所示答卷中,可以看出,特意使用了不规则的标记填涂选项框,如se5,se7,se12,但算法均能识别出相应的填涂状态。而一般的光标阅读机要求填涂尽可能规则,因此使用该算法可提高不规则填涂的识别率,降低对使用者的填涂要求。

  2.2 基于图像比较近似度结果的判卷算法

  在通过算法2.1完成了填涂信息的识别后,得到被填涂子图集合SS,结合题库答案和规则后,完成判卷。该算法基本思路为:

  (1)在对空白试卷的学习中,对SM中的子图按答题卡布局进行选项框与题目进行“绑定”,将一组子图划归某一道题目,例如sm1,sm2,sm3,sm4绑定为单选题的第一小题的ABCD 4个选项。在系统建立试题对象时,把对应的子图对象设置为试题对象的“TrainImage”属性的值。

  (2)定义题目的答题规则。对于判断和单选题来说,需要规定只能有一个选项框被填涂,不填或多填为无效;而多选题则可填涂多个选项框,并规定完全与答案一致可得分,或者答对一部分给分。为了快速进行规则判断,提出了“规则字符串”,用一个字符串来表示填涂规则。规则字符串分为3个部分:第一部分为整数,表示被选项数量;第二部分为符号,“>”表示唯一选择、“:”表示至多选择、“!”表示不能选择;第三部分也为整数,表示选择项数量。复合规则用“&”和“|”表示与和或。例如“4>1&4!0”表示该题只能四选一,不能多选,也不能不选;“4:0|4:4”表示可选择0项或4项。规则字符串设置为试题对象的“Rule”属性的值。

  (3)通过对答卷的定位和扫描,能获得答卷选项框子图集合SE和被填涂集合SS。由于smi==sei,所以可设置在答卷中单选题的第一小题的ABCD 4个选项将分别对应se1,se2,se3,se4 4个选项框。然后根据该题规则,对SS进行搜索,找出SS中对se1,se2,se3,se4的填涂记录,结合题库答案进行逻辑判断后,可获得该题的答题结果。例如单选题的第一小题的答案为A,并且规则为唯一单选,可由图5看出在答卷中答题者选择并填涂的也是A选项。那么在填涂结果集SS中,se1∈SS(即se1被填涂),且se2?埸SS,se3?埸SS,se4?埸SS(该题无其他项被填涂),又由于se1对应的是A选项,因此可判断答题者该题回答正确。

  该算法可实现自定义规则的灵活判题,并且对结果的判定只需要一次对象搜索和简单的逻辑处理,处理速度较快。

  3 系统的设计与实现

  系统采用Microsoft Visual Studio 2008开发环境,开发语言使用C#。由于数据存储量不大,因此选择Access或MySQL作为数据库管理系统。整个系统主要分为试卷管理模块、图像处理模块和试卷结果处理模块3个部分。

  试卷管理模块主要负责处理对试卷题库、答案、试卷布局的增加和修改等操作。同时该模块负责建立考试,当新建一次考试时,从题库中出题并新建一份试卷,该试卷包括电子试卷数据和纸质试卷。其中电子试卷数据包括题目的电子数据、题型、分值、评分规则、试卷图像信息等。当纸质试卷完成印刷后,由图像处理模块将试卷进行图像学习,建立考试图像模板和相关考试数据。

  图像处理模块主要负责试卷图像的获取和处理任务,包括连接和调用扫描仪、空白试卷的学习、答卷的定位和答卷填涂信息的识别。试卷管理模块和试卷结果处理模块均向该模块请求服务。

  试卷结果处理模块主要负责将答卷的填涂信息进行判断处理,结合试卷的题型分值、标准答案和评分规则为试卷评分,统计各题目分数,最终完成判卷,并生成一次考试的所有成绩的数据报表。

  4 系统性能分析

  设计了一次考试对系统进行性能测试,这次考试试卷有10道判断题、20道单项选择题、10道多项选择题,答卷数量为100份。处理计算机为CPU:Intel i5 2.6 GHz,内存4 GB,Windows7操作系统。测试分别使用两台扫描仪进行了一次完整的阅卷,目的是分析扫描仪硬件对系统性能的影响,一台为Canon 6050C,扫描速度为单面60 ppm;一台为Canon C125,扫描速度为单面25 ppm。并且为与光标阅卷机进行比较,同时填涂了100张机读卡,交由光标阅卷机进行操作。测试结果如表1所示。

  由表1可以看出,本系统的处理速度很大程度上取决于扫描仪的性能,也通过软件测试了对一张答卷的图像处理和判卷运算时间,为340 ms,综合速度能达到2~3张/s。

  在测试中,特意使用了铅笔、黑色记号笔、蓝色记号笔、红色记号笔、黑色中性笔、钢笔等书写工具对试卷和机读卡进行填涂,并不规则地填涂选项框,还折叠了部分试卷及机读卡。在这种情况下,本系统的卡纸率为0,仅出现3次选项误读,且无论使用任何颜色的笔进行填涂,系统均能识别;而光标阅卷机出现了一次卡纸和近40次误读,集中在红、蓝色记号笔填涂和不规则填涂上。

  同时本系统的试卷印制成本较低,无需专用答题卡,试卷纸张可多样化,甚至可印刷背景图案,这些都是阅卷答题卡无法做到的。

  因此相比较光标阅卷机,本系统不仅可在速度上与之相近,还在填涂要求、制卷成本等方面有较大优势,比较结论如表2所示。

006.jpg

  参考文献

  [1] 翟长波.光标阅读机OMR原理的设计与实现[J].工业控制计算机,2010,23(4):61-62.

  [2] KRAWETZ N. Looks like IT[N/OL]. http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html.2011.


继续阅读>>