基于指纹识别的通用考试系统的设计与开发

时间:2022-08-25 08:15:57

基于指纹识别的通用考试系统的设计与开发

摘要本文针对在线考试和身份验证的需求,设计了一个基于指纹识别的通用在线考试系统,系统采用C/S和B/S的混合结构;介绍了系统总体结构以及指纹识别的关键算法、试卷的实时保存等,试验表明系统具有较好的通用性。

关键词在线考试 指纹识别 J2EEAjax

中图分类号:G424文献标识码:A

1 前言

随着信息技术的飞速发展,考试方式已经从计算机辅助考试发展到了基于网络的在线考试,目前,常见的在线考试,采用用户名和密码进行登陆,由监考人员根据相关证件上的照片进行核实,很容易出现代考的现象,本文结合指纹识别技术,结合C/S和B/S技术,设计一个通用的在线考试系统,利用该系统,完成对考试信息的管理和对考生指纹的识别。

2 系统简介

为了使系统具有通用性,系统的要求为:一份试卷中可以有多个科目的题目,可以有多种题型,可以分配给不同的考生进行考试,试卷中的题目在考生进行考试的时候按照设定题型、科目、题量的约束随机生成,对于单选、多选、判断等客观题,在考生提交试卷时,自动进行评分。系统主要功能如图1所示。

图1―系统功能结构图

(1)考生信息管理:录入考生的基本信息,包含指纹的采集、指纹特征的保存。

(2)课程信息管理: 管理课程的信息,题目按课程进行分类。

(3)题库管理: 题目分为客观题(单选、多选、判断)和主观题(填空题、简答题),支持单个题目的录入和批量从word 中导入。

(4)试卷管理:设置试卷的基本信息(标题、试卷总分、时长、有效时间),分配题型、考试科目、考试人员、评分老师。

(5)在线考试:通过输入指纹进行身份的验证,通过后,随机出题,考生交卷后,自动计算客观题的分数。

(6)在线评分:对主观题进行评分。

(7)成绩统计与打印:统计考生的成绩,导出到Excel表中,并能将考生的试卷打印。

(8)在线监控:对当前登陆的考生进行监控,列出在线考生,可以对舞弊的考生,强行踢出考试系统。

3 系统设计

该系统采用三层的C/S和B/S混合体系结构设计如图2所示。

图2―系统主体结构图

第一层是数据层,采用独立的两台服务器;第二层应用层,是采用Web Service实现中间层的应用服务;第三层是用户界面层,分别由B/S结构的Web网站和C/S结构的管理端与考场端组成。其中,考生指纹的注册和考试时身份的验证采用C/S结构,实现指纹的采集、特征识别和匹配;教师出题时的题库管理和智能组卷、考完试后主观题的人工改卷,以及考生查分数和分散式考试中的考生报名等,主要采用B/S结构实现。

为了提高速度和并发能力,考生在线答题部分采用Ajax引擎,Web服务器部分基于MVC设计模式,由JSP负责生成动态网页,JavaBean负责业务逻辑,Servlet负责流程控制。

4 系统关键技术的实现

4.1 指纹特征的提取

对于考生,预先提取指纹,将指纹特征模版存放到服务器中,当考生考试时,按下指纹,进行匹对,找出该考生的身份。指纹特征提取过程如图3所示。

图3―指纹特征提取过程图

通过指纹采集仪获取原始指纹图像后,经过分割、增强、二值化、细化、特征提取后获得某指纹的特征点。本文指纹分割采用基于多级分割的算法,指纹图象增强采用传统的傅立叶变换, 在进行二值化时,通过对最大类间方差法(Otsu)的改进,采用局部递归分割算法,利用目标与背景的差异决定递归的次数和每次分割进行的局部区域,在阈值的选取时,为保持类间距离最大、类内聚性好,获得最佳的分割效果, 采用公式(1):

其中Pa代表目标部分的比例,Pb代表背景部分的比例,Wa代表目标灰度均值,Wb代表背景灰度均值。当式(2)取最大值时所对应的灰度级即为所求的最佳阈值t*,即

然后,进行细化算法时采用经典的OPTA算法。经过上述处理后,生成只含指纹纹理的清晰的二值图像,如图4所示。

(a) 原始指纹(b)二值化(c)细化

图4 指纹处理对比图

最后,采用脊线跟随算法最后得到该条脊线上的特征。

4.2 指纹识别

指纹识别就是根据从所采集到的指纹图像中所提取的细节特征点集合P={p1,p2,…,pm}和模板中的细节特征点集合Q={q1,q2,…,qn},判断该两组特征点集合是否来自于同一枚手指。采用一种基于三角形全等的指纹特征点快速匹配算法,算法的基本思路如下:

(1)通过特征点坐标找出离指纹图像中心较近的6个像素点,组成20个不同的三元组;

(2)在特征模板中逐个查找对应的三元组,在采集到的指纹特征和待匹配的指纹模板之间查找全等三角形;

(3)根据查找到的两个三角形的相对位置,通过平移和旋转操作,使两个三角形在误差允许的范围内重叠,求出相应的平移和旋转参数;

(4)根据前面所求出的平移和旋转的相关参数,对全部指纹特征点进行平移和旋转操作,根据两组指纹特征中所有特征点的在误差允许的范围内重叠程度确定该两组指纹是否来自同一手指。

4.3 试卷的定时保存

在考试过程中,当遇到交卷失败、网络中断等意外情况时,通常会造成外导致考试中断,考生也可以重新登录继续考试,原先 数据的丢失,实时保存考生的答题情况非常必要。该考试系统采用Ajax技术由JavaScript代码在后台为用户定时存盘,一旦系统出现故障,再次进入考试系统时,可根据保存的信息在故障点处继续进行考试,原来考试的信息可以从服务器端一次性加载。

5 系统实现与实验分析

系统采用J2EE架构实现考生基本信息的采集和系统管理员的管理模块,指纹采集和识别模块采用Delphi7.0编写的客户端,系统运行在HP ProLiant DL380 G6服务器(2GHz /2GB),服务器OS,采用Solarise 10 64位操作系统,数据库管理系统采用Oracle 10g,WEB应用服务器软件采用Tomcat6.0.

系统在实验环境下,使用了本学院近3000枚指纹样本作为考生指纹进行测试,各个功能的具体测试结果数据如表1。

表1 系统测试结果

通过对测试结果分析,系统能正确完成考生指纹的采集,指纹模板库的建立,考生指纹的匹配,性能指标都符合基本要求。

6 小结

本文利用指纹识别技术改进现有的在线考试系统,系统综合采用 C/S和B/S结构的优势,考生只需手指在指纹采集仪器上轻轻划过,即可确认用户身份,而不需要传统的出示一大堆证件等繁琐步骤;本系统运行速度快,指纹采集验证时间在1 s之内完成, 实际运行结果证明本系统具有很强的实用价值。

题目源于:九江学院校级课题《基于生物特征识别的考试系统的研究与实现》

参考文献

[1]王蓉,汪诗林.基于J2EE架构的网络考试系统的设计与实现[J].计算机工程与应用,2005(28):211~214.

[2] 丁振凡.Ajax技术在网络考试分析中的应用[J].华东交通大学学报,2007(5):75~76.

[3]蔡燕柳; 贾振红.基于改进的Otsu准则的递归图像分割算法.激光杂志[J].2008.4.

[4]梁广民,蔡学军.OPTA算法的改进及其在指纹图像细化中的应用.计算机工程与设计[J].2006.23.

[5]赵应丁,刘金刚.基于嵌入式应用的指纹处理模块板的设计与实现[J].计算机工程,2006.4.

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:浅析当前高校国家助学金评定及发放的影响 下一篇:公共政策的价值分析