发明内容:
有鉴于此,本发明提供了一种基于图像处理的可编辑答题卡系统及其实现方法。以解决背景技术中所述的现有答题卡的不足之处。具体技术方案如下:
首先,是本发明所述的基于图像处理的答题卡系统,包括一台可运行答题卡系统程序的计算机;所述计算机对外负责用户界面,应用流程,对内负责系统控制和数据、流程管理;所述计算机还包括:
一负责连接外部图像数据获取装置,获取外部图像信息的数据通讯模块;其作用是当系统不自带图像扫描或拍照部分的硬件时,通过它来获取外部的图像信息数据。
一包括模式识别子模块的图像处理模块;所述图像处理模块用于对标准答案图像和答卷图像进行滤波去噪,黑白灰度值转换,形态学“闭合”运算,以及边缘提取;所述模式识别子模块通过将标准答案图像和答卷图像对准,以便可以逐像素相减获得差别图像,继而从这两幅图像中提取的边缘图像来进行模式匹配;
一数据管理和显示模块,它包括一模板管理子模块、一数据格式转换子模块、一结果管理子模块和一数据库。
当然为了进一步完善上述系统,可以将诸如扫描仪、相机、照明光源等等机械设备融入系统进行整合。故作为优选方案,所述系统还设有一图像采集子系统,所述图像采集子系统包括一图像采集子模块,以及与它分别连接的一控制扫描设备的扫描控制子模块、一控制相机设备的相机控制子模块和一控制图像光源的光源控制子模块。上述这些控制模块以驱动程序的形式来控制这些外设硬件。
也就是说,该答题卡系统也可以不包括图像采集模块及其所连接控制的硬件如相机、照明光源和机械设备部分,这样扫描图像通过数据通讯模块来自外部设备,此时该系统则为纯数据处理系统。如果系统包含硬件,则图像采集子系统的这些模块则通过相应硬件驱动程序来控制这些硬件获取图像数据信息。
另外,基于上述本发明答题卡系统的实现方法具体方案如下:
本发明方法在上述系统平台基础之上,基于图像处理技术得出了一整套详细的工作实现过程,其核心包括能让用户通过人机对话方式使用该系统,跟随其应用流程(该流程包括答题卡创建,标准答案创建,结果管理和其中许多使用它的细节)。也包括这些流程背后的程序和算法的支持,这其中又包括许多图像处理、模式识别技术的应用。
所以,为了给用户提供了友好的人机对话界面,使用户可以实现以下目的:
i)自由创建、编辑、并安全地保存答题卡;
ii)自由创建、编辑、并安全保存答题卡标准答案;
iii)用机器判题,快速获得可靠结果,包括每个答卷的总分和全部试卷的结果;
iv)用系统软件提供的工具,对结果数据能分析、格式转换和安全保存。
本发明方法的基本流程是
i)用户启动答题卡系统程序;
ii)系统程序判断系统是否处带图像扫描子系统及相关硬件,如是则对图像扫描子系统进行初始化;初始化包括检查和设置系统硬件工作参数。
iii)用户使用答题卡系统程序视窗和工具库(模板库),用库中的答题卡中常用组件(内容)模板创建答题卡并保存完成的答题卡;常用组件包括标题,考试姓名,证件号码,使用说明,各种类型的答案等,在工具库中都有相应模板。
iv)用户在答题卡系统程序视窗内用计算机机屏幕位置指示件,例如鼠标(也包括触摸屏情况下的手指)选择正确答案,建立电子版标准答案文件;同时也支持用户用传统方法填写答题卡建立标准答案,并扫描其图像;然后在标准答案图像上确定参考点;当然,为了支持用户安全地保存标准答案图像,还包括给标准答案文件加密和设置密码,同时在图像处理过程中用包括黑白像素值转换和形态学“闭合”算子等方法将标准答案文件转换为黑白灰度图像文件。考试完毕后,用户通过答题卡系统程序,指示系统扫描全部答卷并判题;如果系统不自带图像扫描子系统,也支持用户上层从别处扫描的全部答卷;
需要特别强调的是,上述电子版标准答案文件在建立过程中,其本身的格式或形式不限,可以是图形学中的矢量形式,也可以是数字图像形式。其关键核心在于电子版答题卡标准答案在建立过程中不需要经过传统的扫描标准答卷这一步骤,让用户可以直接通过计算机界面选择、填写标准答卷,然后由计算机程序将标准答卷转化为黑白灰度图像形式的标准答案文件。
v)答题卡系统程序根据标准答案,用对准后的图像进行比对的方法判题,获得每份答卷的总分;
vi)汇总全部答卷判题结果。并继续支持用户使用、管理该结果包括结果显示,隐藏部分信息后产生报表,转换数据到其他程序下的格式,和保存等。
根据上述方案,所述步骤中进一步在答题卡系统程序视窗上,通过设立提供给用户一个模板库控件,模板库控件中包含了常用答题卡组成部分的模板,例如试卷名称,考生信息,试卷使用说明,需要考生选择涂写的证件号码和各种类型考题(如单选题、多选题、判断题)答案等模板。使得用户可以简单地以计算机机屏幕位置指示件例如鼠标,或在触摸屏情况下的手指拖拽的方式自由创建和修改答题卡中内容。
由于答题卡系统程序界面背后的支持程序算法是基于图像处理、模式识别技术的,使得用户可以自由安排、调整答题卡中内容的位置和方向。不需比对信息和需比对信息在答题卡中都可以自由安排。这样就能让用户为同一考题方便地产生有多种布局不同的答题卡,例如每个考试可以用A,B卷甚至更多的A,B,C,D卷,以增强考试防作弊效果。当然,该系统程序允许用户编辑出在给定范围内任意尺寸和颜色的答题卡。
同样是由于背后的支持程序算法是基于图像处理、模式识别的。答题卡系统程序可为标准答卷图像建立位置参考点,使得需比对信息包括证件号和正确答案位置都基于该参考点。此时传统答题卡中的为需比对信息定位的横向条形标记和纵向条形标记可有可无。此外,如果用户没有提供该参考点,答题卡系统程序为用户提供一个缺省的位置作为参考点。
另外,对于方法中标准答案图像和扫描答卷图像间比对判题的方法和步骤,包括:
i)对扫描答卷图像进行预处理,预处理包括滤波去噪如用3×3或更高阶的高斯核和图像卷积,按既定阈值对图像二值化,和黑白灰度转换,并且如果标准答案图像不是由电子版转换而来而是通过扫描获得的话,对标准答案图像进行同样的预处理;
ii)建立图像坐标参考,例如选择图像左上角;
iii)用模式识别中的归一化互相关算法将两幅图像对准;此时可以直接使用两幅原图像,也可使用从它们提取的边缘图像。边缘提取算法包括求图像梯度,如Sobel算子等;
iv)将两幅图像相减产生差别图像并取绝对值;准答案图像和扫描答卷图像间对准时,考虑到两幅图像间可能有相对缩放、相对转动的情况,以及相应的对策(包括将模板图像在一定范围之内缩放、旋转,然后用这一系列的模板到目标图像中搜寻);
v)求差别图像中连通域并且过滤掉较小的连通域;
vi)根据合格连通域在参考坐标系中位置,确定其对错以及所对应题目的得分、罚分属性;
vii)统计考卷总分;
viii)给下一份考卷判题或结束判题,汇总全部答卷结果;
ix)结果交由后续程序模块支持、管理。
除此以外,上述答题卡系统程序方案中,还为用户提供了丰富的结果管理功能,包括:
i)隐藏部分信息后产生报表并显示。隐藏信息包括证件号部分位数,报表中只可以看到最后几位数;
ii)从多种角度统计结果包括全体考生的考分分布和某题判分结果分布;
iii)将结果转换为其他商业软件下数据格式等,例如微软Office TM下的Excel TM格式或XML(EXtensible Markup Language)格式。
以上全部应用流程都集成于同一个答题卡系统软件之下,连为一体通过软件视窗中不同页面、控件让使用者使用。
由此可见,由本发明所述答题卡系统所创立的实现方法为用户提供了灵活的创建、修改、保存电子版标准答案的机制。用户只要用计算机上屏幕位置指示件例如鼠标或在触摸屏情况下手指,在程序提供的视窗中选择、编辑标准答案文件。然后系统程序用图像处理技术,将标准答案文件转化为图像形式,以便能和扫描答卷图像进行比对。由于背后使用了图像处理技术和数据库的支持,系统程序可对标准答案图像压缩,加密和安全保存。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
如图1a和图1b所示,作为本发明的实施方案之一,本发明的答题卡系统100包括一台计算机191和在其上运行的答题卡系统程序111和图像扫描子仪193。答题卡系统程序111是主控单元。计算机191可以是个人或工业计算机,也可以是嵌入式处理器加附件。图像扫描子系统可以是独立的图像扫描仪193,它和计算机191间可用通讯的办法联接,通讯方法可方法包括TCP/IP,USB,IEEE 1394b等;图像扫描子系统也可以是建构在系统之内的图像采集子系统,包括一个工业相机194和其前端的镜头195以及照明转置196,全部由计算机191上的答题卡系统程序111控制。相机194可以是线扫描CCD或CMOS相机,镜头195的选择由相机感光区域尺寸和工作视场决定。照明光源196可以是宽波段LED。扫描时答题卡相对相机移动,同时相机采集图像,如图1b中箭头197所示。
图1a中的答题卡系统程序111是核心部分,对外含有图形用户界面(GUI),负责支持答题卡的全部应用;对内管理和调用下属各相对独立模块。图形用户界面能让用户能通过人机对话方式创建所需答题卡,创建答案,扫描试卷,判卷和管理结果。所有答题卡相关的操作都从它开始其中的主界面开始。答题卡系统程序111直接下辖的子系统/模块包括:图像采集子系统120;数据通讯模块131;图像处理模块141,数据管理和显示模块151。
图像采集子系统120中又包含了图像采集模块121,其下又用到:扫描控制子模块122、相机控制子模块123和光源控制子模块124。它们在一起配合工作就能采集所需图像。
本发明所描述的答题卡系统是灵活的,它自身可以包括一个图像采集子系统,也可以不包括自己的图像采集子系统。即以数据通讯的方式从别处(例如一台自动馈纸式扫描仪)来获得考卷图像,或者从计算机191的硬盘中读入事先从别处扫描获得的答卷图像。
数据通讯模块131负责获取采集到答题卡扫描图像。本发明中答题卡设计灵活,图像采集模块120相对独立。它可以是系统自带的,也可以是外部的197。无论设置如何,数据通讯模块都负责获取图像。
图像处理模块141是系统的核心之一,负责对标准答卷图像和考生答卷间图像进行预处理、对准、比对。比对之前先就要将两幅图像进行对准,而图像对要用到其模式识别子模块142。准而图像对准和比对之前往往还要对图像进行预处理,包括滤波去噪,二值化和像素黑白灰的颠倒。
区别于传统答题卡装置,本发明中的答题卡系统在扫描前和扫描后的数据管理系统都更丰富,它体现在数据管理和显示模块151上。数据管理和显示模块151进一步包括模板管理子模块152,它为答题卡的设计提供了其中各组件模板,包括考试信息如标题和示例模板,考生信息如姓名和证件号码模板,考题类型如单选题、多选题、判断题模板。数据管理和显示模块151还包括答案管理子模块153,结果管理子模块155,和数据库系统156。数据管理中还包括格式转数据格式换子模块154,其作用是将判题结果例如考生姓名、证件号、得分等信息向其他软件如微软的Office软件中的Excel下的数据格式作转换。当然,数据也可以转换成XML格式。
目前的答题卡都大同小异,都包含一些需比对信息和无需比对信息。本发明中的答题卡系统卡的类型以及其中组建均没有限制。下面通过图2所示的一例答题卡设计,阐述本发明所包括的一些特征。答题卡201包含了一些组件,有无需比对信息的和需要比对信息。在此以及本文中其他地方所讲比对是指答题卡系统扫描图像,在计算机中进行两幅图像间的比对,而非人工比对。答题卡201中无需比对信息包括标题205,考生姓名、年级的文字部分210,使用说明230,日期260等。它们通常都不是必须的,出题人常根据具体考试情况增减和修改其标题和内容。答题卡中需要比对的部分包括证件号码信息(通常是考卷的的唯一性标识)220,以及答案部分。在答案部分,不同类型的试题是通常分开的,其中有多选题240、单选题245和判断题(二选一类型)250。图2中这些答案部分都是作为例子,每个也都不是必须的,有的试题可以只有单选题。信息和题目答案选择部分可以有颜色,可以各行/列使用不同的颜色或灰度,如223所示。通常选用浅色,以区别答案部分(通常用B2铅笔涂抹)。
答卷201右边是纵向条形序列标记202,中间在答题部分开始之前是水平方向(横向)条形序列标记203,它们用以常规答题卡装置扫描判题时对题目所在行定位,也可以给其他需比对部分例如证件号的选择定位。横向条形序列标记203也可以放在考卷底部。
由于本发明中答题卡系统是基于图像处理技术的,因此竖直和横向的条形序列标记都不是必须的。由于本发明中答题卡系统设计灵活,答题卡可以做得像传统答题卡一样,也可以做得和传统答题卡很不一样。
图3中的数据流图300,描述了本发明中的答题卡系统的工作方法的一个实例。这只是一个总体的使用方法流程图,其中许多实现细节将在后面更详细地描述。参照图3,用户首先启动计算机191上答题卡系统程序111,开始运行310。首先检测系统是否包括图像采集硬件131,如果是的话,需要对系统包含的硬件进行初始化312。系统硬件可以包括图2中的相机194,照明196,运动机械部分197,当然如果系统硬件状态参数显示系统硬件已经初始化过了,就不必再进行初始化了。通常在系统硬件初始化时,需要检查硬件是否处在正常工作状态,工作参数范围是否有效等。
下一步就是让用户使用系统提供的软件工具创建答题卡314。在本发明设计的答题卡系统100中则是由模板管理子模块152和答案管理模块153来分工负责的。本发明中的答题卡系统程序111会提供多种答题卡中组件模板。组件就是指答题卡中的信息考卷名称,考生姓名和证件号,使用说明,答案部分等。再参考图2显示的一例答题卡200,其中包括了考生姓名信息210模板,使用信息230模板,证件号信息220模板,答案信息240,245,250模板等。当然用户也可以启用事先创建并保留的整个答题卡的模板,或加以修改。用户完成答题卡设计后,准备下一步首先建立标准答案315。然后根据系统配置(看系统是否包括扫描硬件部分),决定是否需要扫描标准答案317。如有需要就要就扫描标准答案图像318。如前所述,由于系统设计灵活,可以不包括图像采集子系统即没有扫描硬件部分(此时本发明中的答题卡系统为纯软件系统),这时用户也可以上传从别处扫描的标准答案图像318。使用者可以先填写标准答卷,扫描获得准答案图像;本发明中的答题卡系统还有另一种方法,就是让用户建立完全电子的标准答案319。此时用户使用本发明中的系统程序111,在创建答题卡之后,在人机对话视窗中用计算机屏幕位置指示件例如鼠标键(如果计算机使用触摸屏,这相应的是手指),直接选择正确答案(未显示)。此时标准答案不是扫描图像,而是有一定规格的计算机数据。它作为图形显示于计算机屏幕上,也可以转化为图像保存319。在计算机上能把图形转化为图像的方法很多,只要确定每个像素的尺寸,然后把图形内容定为黑,把图形背景定为白色即可。在屏幕上显示图形之后,截屏也是一种转图形为图像的方法。
用户完成答题卡设计和标准答卷之后,就可以打印答题卡,使用答题卡进行考试。待考试完毕以后就就可以收集、扫描考卷320。如果系统包括图1(100)中图像采集模块120,则答卷扫描和评判可以由系统程序111控制一气呵成,否则用户上传别从处扫描的答卷,比对标准答案(通过图像处理、图像比较的方法,将在后面详述)来进行判题320。系统程序111给每份考卷判题,并根据考题设计算出总分322。每份答卷的总分可以根据既定正确答案的得分和错误答案的罚分之和获得。用户可以用答题卡系统程序111,对结果进行后处理并保存结果323。后处理包括按照曲线分布给出相对分数如美国学校常用的A,B,C,D,F制分数和做成统计表以便公布,表中部分信息可以隐藏以保护考生隐私,也包括为考方所用的统计数字包括每道题的对错率等。这样就完成了一例完整的答题卡系统应用325。
答题卡系统程序111为卡的创建和管理提供了图形用户界面(GUI)。如图4所示,它包括了一个软件视窗400。视窗上有菜单栏401,其中包括“创建答卷”402,“标准答案”403,“判卷”404,“结果管理”405和“帮助”406等子菜单。“创建答卷”子菜单402下有子目录4021,其中包括一系列为创建答卷服务的项目包括“创建”,“工具库”,“读入”,“编辑”,“保存”和“另存为”等选项。其中“创建”选项提供一空白答题卡页面408,“工具库”选项提供如图4中所示工具库控件410,实际上它是答题卡组件的模板库。其中进一步包括“标题”411,“有效证件”412,“姓名”413,“使用说明”414,“单选题”415,“多选题”416,“判断题”417,“其他信息”418等选项,他们对应于相应模板。图4中工具库410中的每个模板有名字和标示符(icon)。通常名字和标示符中只要有一个就够了。创建答题卡时用户可以拖拽的方式把其中一个模板标识拖入创建中的答题卡页面408中。工具库中工具项目的个数、名称和标识的图形都无特别限制,例如姓氏和名字是可以分开的。使用时,用户可以拖拽其中“其他信息”工具以产生关于考卷名称信息205;可以用其中“使用说明”选项以产生使用说明模板215;用户可以拖拽其中“有效证件”工具以产生证件号码信息模板220。本发明中的涉及答题卡设计是灵活的,卡中信息内容可以由上而下,也可以是转90°由右到左的,如图4中使用说明信息215所示。当然此时其他信息(但不一定包括答案部分)都是转90°,由右到左的。
菜单栏中“标准答案”403下有子菜单4031,包括“读入”,“参考点”,“定分”和“保存”等选项。其中用户可选用“读入”健来选择之前已经创建的答卷进行编辑。编辑包括拷贝,复制,修改等常用操作。“参考点”选项让用户选择答题卡某处例如通常是左上角为参考点。参考点是坐标原点,所有答案位置和需比对信息位置都可以它为参考点。因为位置都是相对的,因此坐标可以是右手系或左手系,没有限制,只要始终保持一致就行。“定分”子菜单下提供让用户给每一类题目定分的工具,通常为一弹出视窗(将在后面详述);“保存”子菜单则包括“保存”和“另存为”等选项。
菜单栏中“判卷”404下有子菜单4041,它包括“扫描”,“读入”和“保存原件”等选项。用户如选择“扫描”,则系统图像采集模块120扫描考生答题卡获得图像,利用数据通讯模块131,送给系统程序111。扫描一次对所有答卷连续扫描的。然后系统程序111调用图像处理模块141及其模式识别子模块进行比对、判题,获得结果并保存在计算机(内存)中。例如结果可以形成表格的形式,待数据管理和显示模块151来处理结果。用户可在下个子菜单栏“结果管理”405中查看结果并编辑、使用、保存结果。如果系统不带有图像采集模块120,子菜单4041中“扫描”选项可能为灰色表示未启用,用户可以选择子菜单4041中“读入”选项来读入从别处扫描获得的众考生答题卡获得图像,然后以同样的方式进行判卷并获得结果。子菜单4041中还有“保存原件”选项,让用户可以选择保存扫描众考生答题卡图像(以压缩图像的形式,例如以JPEG图像格式。保存到计算机191的硬盘中)。
和许多软件一样,如图4中答题卡创建视窗400还包括常见的“帮助”子菜单406,退出键407,水平滚动键425,垂直滚动键426。视窗400中也包括了两个可切换键,“创建”422和“结果”423。这里“创建”也包括答题卡创建和答案创建,都可以在其中实现。“结果”则是将扫描结果显示给用户。如图4中视窗显示的内容显示视窗“创建”状态。
“结果”状态下视窗400中的内容简单直观,就是姓名/证件号,得分等信息等,通常体现在一张表中。使用中,如果用户在没有获得结果的情况下选择“结果”健,视窗400中内容为空。
图5中显示在用户创建答题卡时,使用工具库410中证件模板412和使用姓名模板413的方法。这些都是需比对信息。由工具库产生的证件号模板220包括名称221和证件号222,下面需选择涂抹的多列0到9个数字223。其中用手书写部分222不是必须的。需选择涂抹的数字部分223是用于让机器扫描比对的。证件号可以是身份证号,学号,工号等具有唯一性的考生/考卷标识,本发明中涉及的答题卡对此并无限制。同样考生姓名模板2201也包括了其名称2202部分,手工填写部分2203,和多列需选择涂抹部分2204。其中手工填写部分2202也不是必须的。考生姓名对中国人来讲,可以用汉语拼音。姓氏和名字可以分别用两个姓名模板,也可以用一个可容纳字母较多的姓名模板,姓氏和名字间留一空格。
图6中进一步描述使用工具库中模板创建其他答题卡组件的方法。用工具库中其他信息模板418可以产生考试标题4110,姓名(手工填写而非扫描的方式)、年级4182和日期信息4180。这些信息都由答题卡创建者自由选择、改写,没有限制。用工具库中“使用说明”模板414可以创建使用说明信息4140,也就是图3中的230。
答题卡中最重要的部分之一还是答案部分。工具库410中的相应的单选题模板415,多选题模板416和判断题即二选一题型模板417可以为用户分别产生单选题答案部分4150(也是图2中240),多选题答案部分4155(也是图2中245)和判断题答案部分4160(也是图2中250)。每类题型中的题目个数由用户决定,都是从1开始。如果题目过多,答题卡自然延长到下一页,没有页数限制。扫描标准答案和答卷多不会受页数限制,由于使用图像处理技术,判题比对时也不需要答卷安顺序排列,图像处理模块141可以根据图像判断答卷所属的页数。各类题目中各题在横向和纵向间隔相同,使得它们可以拥有共同的条形序列标记202,203。竖直方向(纵向)条形序列标记202和横向条形序列标记203可由答题卡系统程序111根据答案位置自动产生,并且其中每条和答案在竖直和横向分别对齐。如前所述,条形序列标记202,203不是必须的。
整个答题卡中内容的安排可以是从上到下的竖直的,也可以是从右到左或从左到右横的(未显示)。每个模板在卡中都可以转动,例如姓名、年级信息4182和日期信息4180都是横向的。所有信息包括需比对部分都可以是横向的。这是由于较多地采用图像处理技术(后面将详述),使得设计可以十分灵活。更有甚者,同一套题可以很容易产生多套答题卡,例如对于一套试题,可以有A、B两种甚至更多种答卷,用户只用建立好的答题卡上改变一些信息(包括需比对信息和非比对信息)的位置即可,当然此时也需要有相应的两套或多套标准答案。它对于防作弊十分有帮助。
完成答题卡设计之后,用户就可以开始标准答案。本发明中的答题卡系统有至少两种建立标准答案的方法。常见的方法就是用户(使用者,出题者)像考生一样,涂写一份答卷,然后扫描保存其图像,将来可以和答卷图像比对来完成判题。其图像格式不限,常见的BMP,JPEG,PNG都可以。图像可上传由系统程序111接手管理。管理包括放入系统程序111下数据库156中,用户不能在普通计算机硬盘的文件夹里看到它,打开图像文件需要密码等保护措施。
本发明中的另一种标准答案的建立方法是无须扫描图像的,是全电子的,用户使用系统程序111提供的用户界面和方法就可以完成。这种方法更简便、更安全。图7描述了用户如何用答题卡系统程序111建立标准答案的方法。“标准答案”子菜单403下选项4031中包括“读入”选项,让用户读入已经创建并保存的答题卡来进行编辑。如果用户刚刚完成一个答题卡设计,则可以马上转入标准答案设计状态,不需使用该“读入”选项。如图7所示,此时答题卡系统程序111中答题卡创建和标准答案创建界面视窗400中已经有一个已经完成的答题卡设计408。用户可以使用计算机机屏幕位置指示件例如鼠标移动指示点501,在答案部分点击鼠标右键(未显示)选择答案502。一旦该答案选项被选择,其字母将被实心黑色或深色椭圆所覆盖,类似于手工用深色用铅笔涂盖该字母,如图7中503所示。答题卡系统程序111中还可以保存每道题的类型属性,根据用户选择来适当更新每道题的标准答案。例如果是单选题,如果用户已经选择过答案(A)了,一旦用户再选择该题的别的答案例如(D),系统程序111将自动放弃答案(A),软件视窗中答题卡408上将去掉其上的实心黑色/深色椭圆。这种情况同样适用于判断题类型,因为总是二选一的。用户也可以放弃已经选择的答案。此时用户只要移动计算机鼠标指到已经选择的答案上,点击右键,选择放弃答案504。
当用户通过系统程序111提供的用户界面,以人机对话的方式完成了图7中所示的电子版标准答案后,系统软件会将该标准答案其转换为适当文件行式以便保存。标准答案文件的行式可以有多种,可以是图形学中的矢量形式,也就是根据图形的一个参考点,描述图形中各圆、椭圆、多边形的中心和顶点位置以及属性例如填充和不填充。例如被选择的正确答案对应的椭圆需要填充(涂黑),未被选择的答案对应的椭圆则不填充。当需要和答卷比对时,该答卷需要先转化为图像,图形转化为黑白图像的方法很多,许多市场上的二维、三维图形学产品都有该功能,开源软件OpenGL和微软的DirectX也都有些功能,原理很简单,根据一定的缩放尺寸,把图形中的前景结构转化灰度值高的像素,把图形中的背景转化灰度值低的像素。矢量图形和图像之间的尺寸本身允许一个缩放因子。将来和扫描答卷进行图像对图像的比对时,需要有一定的缩放,以便二者尺寸相当。标准答案文件的行式也可以就是图像形式,也就是当用户完成答题卡标准答卷后,系统软件当场将其转化为图像形式保存,以后的修改,编辑,就直接在标准答案图像上进行。当需要和扫描答卷进行比对时,标准答卷图像通常仍需要缩放,以便二者尺寸相当。图像缩放功能是图像处理中常用的基本功能之一,再本发明中由图像处理模块141支持。标准答案如果是以图像形式保存,图像格式也不限,例如可以是BMP格式,也可以是JPEG2000格式(有损压缩,但在答题卡系统应用中不会影响图像质量)。
如前所述本发明中涉及答题卡不一定需要条形序列标记202,203,当然有它们也无妨。在这一步通常让用户选择答题卡左上角一点作为参考点505,以此为原点建立整个答题卡的坐标系。注意,为了和图像格式一致,以及和计算机行业流行的C类型语言(C,C++,C#.Net,Java)里的代表图像的二维数组形式一致,选用左手系,X轴由左向右,Y轴由上向下505。以后所有答案位置就以在该坐标系下的位置来决定。对于通过扫描图像建立的标准答案,可以选择答题卡左上角任意一点为参考点,然后通过扫描空白答卷和扫描标准答案答卷来比对,确定各答案在该坐标系中的位置。如果用户没有指定参考点,答题卡系统软件会自动产生一个缺省的位置为参考点。
完成每道题的答案选择以后,用户可以用“标准答案”子菜单403下选项4031中的“定分”选项。此时答题卡系统程序111将弹出对话框510,其中有各种类型题目的得分和罚分规则。答题卡系统程序111软件一开始可以提供缺省值,例如所有题目得分为1分,罚分为0分,以后用户可以自行修改。最后答题卡系统程序111统计出满分情况下的总分511。当然这只是原始得分,将来在结果管理部分,分数还可以转换成百分制等其它评分体系。
答题卡系统软件不仅保留每个正确答案位置,也保留答案所在题目的得分和罚分信息,以便将来统计总分。这只要在答题卡系统程序111内部保留一张表记录每个答案的位置和得分、罚分即可。
电子版标准答案易于创建、保存、修改,安全性高。当需要和答卷比对时,先将其转换为黑白图像,通常凡是其中的图形和文字部分都转为黑色,凡是其上的空白部分都转为白色。计算机中通常每个像素可以是8比特(bit)变量表示图像灰度变化,变化范围为0-255。因此全黑色像素值为0,白色像素值为255。
完成答题卡设计和标准答案后,用户就可以通过菜单4031中“保存”保存选项来保存标准答案。然后用户就可以使用答题卡,进行考试。答题卡系统程序111在保存标准答案会添加用户密码。
用答题卡完成考试后,用户收集答题卡,使用本发明中的答题卡系统进行判题。图8中的数据流图,详细描述了使用本发明中答题卡系统的判题步骤和方法。首先用户读入标准答案图像351。如果标准答案是电子版的,如前所述,答题卡系统程序111将其转换成8比特(bit)黑白灰度图像。
标准答案图像通常需要作一些预处理。如果标准答案图像是扫描获得而非由电子版转换过来的,通常要进行滤波,例如高斯平滑滤波(一种低通滤波)和/或中值滤波。例如常用的空域里的核为3×3的高斯滤波算子是
公式1
用它和图像卷积就达到滤波去噪的目的。根据图像噪声情况,高斯滤波算子也可以是5×5的或更高阶的。常用3×3的中值滤波算子是在该像素所在3×3领域(9个像素包括它自己)以中值取代该像素值。另外标准答案图像还可以进行形态学“闭合”运算。一次形态学“闭合”运算是一对形态学“扩张”(dilation)和“腐蚀”(erosion)运算组合,先扩张后腐蚀。以灰度图像3×3“扩张”和“腐蚀”运为例,“扩张”运算是用其3×3领域中9个像素中的灰度最大值取代该像素值,“腐蚀”运算是用其3×3领域中9个像素中的灰度最小值取代该像素值。如果标准答案图像是自电子标准答案转换而来,已经是黑白二值化的图像,则不需要滤波去噪和形态学运算了。
通常图像处理中,白色代表前景像素,黑色代表背景像素。因此标准答案图像以及答卷图像都需要黑白颠倒,在8比特(bit)灰度图像情况下,像素值转变为255减去当前像素值。
下面一步352就是扫描或读入一幅答卷图像。如果系统自带图像采集模块120就扫描获取一份答卷图像,否则就读入一幅别处扫描获得的答卷图像。答卷图像通常需要做预处理,包括滤波去噪,形态学“闭合”运算,二值化,和像素值黑白反转。其滤波去噪包括高斯平滑滤波和中值滤波,形态学“闭合”运算,和像素值黑白反转都和上述用于标准答案图像的算法相同。二值化操作比较简单,在8比特(bit)灰度图像情况下,根据一个既定阈值例如128,将像素值低于该阈值的像素值改为0,将像素值高于该阈值的像素值改为255。对于扫描的答卷图像,二值化操作和像素值黑白反转操作可以合并,此时将像素值低于该阈值的像素值改为255,将像素值高于该阈值的像素值改为0。
下一步353就是将答卷图像和标准答案图像进行对准(alignment),因为只有对准的图像才可以逐像素比对,否则如果两幅图像间有相对位移或相对转动都会影响比对的准确性。对准可以用图像处理中模式匹配的方法,首先在标准图像中选取两幅模板图像,如图9中所示,在答题卡左上角和右下角分别选取模板图像551和552。然后到需要比对的答卷图像中左上角区域和右下角区域分别寻找相似的匹配图像。搜寻区域通常比模板图像尺寸大,在垂直和横向都可以是模板图像尺寸的2倍。图像间相似度可用归一化互相关算法(NormalizedCross Correlation)方法计算,在空域中,用模板图像在目标图像搜索区域每次都计算:
公式2
其中M代表模板图像,T代表搜索区域中目标图像相应的部分,每次求和遍历模板图像/搜索区域中目标图像相应的部分全部像素。N是模板图像/搜索区域中目标图像相应的部分全部像素总个数。然后逐个像素移动,每次都用公式2中归一化互相关算法。于是在搜索区域运用归一化互相关公式2获得的值构成一个数组,其宽度/高度为:搜寻区域宽度/高度-模板图像宽度/高度+1。通常称之为互相关曲面(correlation surface),其峰值对应于最佳匹配或相似度最高点。实际运用中,通常需用互相关曲面峰值周围的点,做二次曲面拟合。为了提高运算速度,可以近似地有二次曲线
f(x)=ax2+bx+c 公式3
分别在X和Y方向,以峰值附近3点进行曲线拟合,以找到更加精确的亚像素的峰值位置。实际应用中,相似度r达到0.6以上就可以认为是图像间基本匹配的了。
另外还可以不直接使用标准答案图像和答卷图像进行模式匹配,可以用它们的边缘图像进行模式匹配,这样有益于某些标准答案图像和扫描图像间图像对比度差别比较比大情况。图像边缘可以用求图像梯度
公式4
获得。其中T代表图像,Gx和Gy分别代表为X和Y方向的梯度。求图像梯度的方法很多,如Sobel,Robert,Canny等方法。最通常的可以用3×3的Sobel算子来计算:
公式5
公式6
上述归一化互相关算法足以应付模板和目标图像间相对较小的相对缩放(根据图像内容有一定的变化,但通常2%以下,)和转动(2°以下,根据图像内容有一定的变化)。对于相对缩放较大或相对转动较大的情况,则要在上述模式匹配算法的基础上,产生一系列有缩放的模板和有转动的模板到,目标图像中搜索,找到最佳匹配。
一旦两个对角模板图像的模式匹配完成,标准答案图像和模板图像间相对位置,角度,缩放都可以确定。左上角和右下角两处匹配确定两点。其间距离可以确定缩放。标准答案图像中这两点定义了一条直线。同理,每份答卷图像中这两点也定义了一条直线.这个两条直线间的夹角(梯度之差)确定了标准答卷图像和扫描答卷间图像间的相对转动。如果标准答案图像和答卷图像间有平移,较小的转动或缩放,就要相应地改变答卷图像的尺寸、平移、转动它角度使之于标准答卷图像对准。匹配模板的选择,位置都没有限制,只要求其中有一些横向和纵向的特征。答题卡系统程序111也支持用户使用多个匹配模板,如图9中的第三个匹配模板553,但这通常没有必要。
上述模式匹配、图像对准算法在答题卡系统程序111内部,都是由计算机程序调用图像处理模块141,及其下属的模式识别模块142来完成。
完成图像对准以后,下一步354是将标准答案图像和答卷图像相减产生差别图像,并可对差别图像取绝对值使之全正。然后需要求非零像素的连通域(也就是图像处理领域里常说的Blob)356。非零像素联通有4领域的方法,即考察当前像素的正上方、正下方、正左方、正右方像素是否为非零,如果是就联通为同一个区域。非零像素联通也有8领域的方法,即不仅考察当前像素的正上方、正下方、正左方、正右方像素是否为非零,也考察当前像素的4个对角方向的像素是否为非零,如果是则也就联通为同一个区域。这里的连通域探测可以采用8领域联通方法。计算机软件赋予每个连通域同一个序列标号(index),并求出其中非零像素的个数和其外接矩形(bounding box)的尺寸。然后用既定阈值,过滤掉含非零像素较少的联通域。由于在前述创建标准答案或扫描标准答案图像时已经建立答题卡坐标系,因此所有正确答案的位置以及相应的得分、罚分规则也都已经确定。如果标准答案图像和某一答卷图像相减产生的差别图像在某个正确答案应该在的位置上没有连通域(blob),那么系统程序111就知道该题答错了,不加分或根据罚分从总分中扣分360。然后答题卡系统程序111统计该答卷总分361。
如果还有答卷需要判定361,则回到步骤352,扫描或读入下一幅答卷图像。否则答题卡系统程序111进入下一步364,即获得并显示答题卡系统程序111汇总全部答卷分数和相关信息如证件号码,考生姓名等,并将结果保存于数据库。在答题卡系统100中则是由结果管理子模块155和数据库模块156来分别负责的。数据库模块基于市场上流行的关系数据库如微软Office中的AccessTM或MySQLTM。然后该例答题卡系统判题过程结束365。
图10显示本发明中答题卡程序111数据管理方面的功能特征。软件界面400菜单栏401中子菜单“结果管理”405下属有一系列选项4051,包括“读入”,“信息加密”,“产生报表”,“保存”,“另存为...”和“打印”等。其中“读入”能让用户读入已经保存的某次考试结果。如果当前视窗400中已经有考试、判题结果,用户不需要读入已经保存得结果。当然,用户仍可以暂时放下当前结果,代以读入以前保存的结果。结果文件如果被调出,会包含考生信息如姓名,证件号,正确题数和总分信息,并显示于视窗400中。它通常是一张表格,如图10所示。用户可以选择“信息加密”来加密某列信息,例如对于证件号,可以隐藏其最后几位数字(如图10中605所示)。用户可使用“保存”选项将当前结果到计算机191的硬盘中。用户可使用“另存为”选项将当前结果存入另一个文件名下,或者将当前结果存入其他格式形式,也就是先进行格式转换,然后再存为其他软件下数据格式形式如微软的Office软件中的Excel数据格式形式(表格)或或XML(EXtensible Markup Language)格式。计算机不同软件下数据转换,对应常用数据类型如单字节类型(如byte,unsignedchar,char),双字节类类型(unsigned short,short),4字节类型(unsigned int,int),4字节浮点数类型(float)和双精度类型(double)在不同软件下都相同或有对应。文字部分只要使用国际标准的UNICODE就行。选项4051中还包括打印选项,以方便用户打印结果。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。