马燕芹,陈海田,张振峰,王健

(1.南京工业职业技术大学,江苏南京 210023;2.中国电子科技集团公司第五十八研究所,江苏南京 214000)

0 引言

考试是学校教育检查学生知识掌握效果的重要形式,是所有教学过程中的一个重要环节,是与教育同生共存的,是检查教学质量高低和教学目标实施过程中的重要手段[1]。随着互联网技术、人工智能技术以及计算机视觉技术的快速发展和落地应用,在线考试逐步替代传统的纸质考试[2-3]。

尤其是受近年来新冠疫情的影响,教育方式的变革迫在眉睫,对远程、线上教育的需求越来越高[4-5],传统的纸质化考试形式也受到了挑战。随着信息技术飞速发展、计算机技术的更新迭代以及人工智能技术的广泛应用,在线考试以其可靠、公开、安全、公正、高效的特点正逐步成为教育现代化、信息化的重要组成部分[6],也将逐步替代纸质考试,成为主要的考试方式之一。

高校计算机等级考试作为无纸化的考试方式之一,其有区别于在线考试管理系统,该系统属于离线无纸化考试系统,通过考生的账号和密码就可以登录考试系统,考试试题是在题库中随机抽取的,而且考试管理系统不能联Internet 网,在一定程度上避免了考生在考试过程中作弊的可能性,另外,考试的阅卷是系统自动批阅,大大降低了教师的工作量。但是计算机等级考试的监考也由教师参与,不能实现在线智能监考。

在线考试系统一般需要网络化的环境,使得考试可以网络上进行,极大方便了教师组卷和组织考试,学生端的在线考试系统不但可以远程进行,也可以在局域网环境下进行。另外经过精细设计数据库,可以使得上千人同时访问。

在线考试系统一般要包含三大模块:管理员模块、学生模块和教师模块。管理员模块要对学生进行管理,由此涉及学生所述学院、专业、班级等信息,而且管理员要对考试信息进行管理和发布,同时要对考试在线监考的日志信息进行管理等。教师端模块要对试题的题库进行删除、添加和编辑的需求,对试卷的生成和批阅管理,以及对试卷的智能分析的需求。学生端模块最主要的功能是能实现在线智能考试,而且系统能够智能监考,防止学生在线考试作弊。与此同时,错题库功能和学生本人成绩的分析功能也需要考虑。总而言之,在线考试系统是一个相对复杂的软件应用。

1 功能设计分析

实现在线考试的智能化是本系统设计的基本思想,基本目的推进学校在线考试管理的信息化建设。本系统主要根据实际纸质化考试的要求,依托先进的云服务技术[7]、人工智能技术和计算机视觉技术等相关理论支持,提高了在线考试的效率[8],降低了在线考试的工作量,同时保证在线考试的智能性[9]。

本论文参考微服务架构风格和云原生架构思想。采用Nacos 作为服务中心以及配置中心。使用Spring Cloud Gateway作为服务网关搭建集群,接收各端的请求。通过技术中台的认证服务进行鉴权。同时通过Ribbon/Sentinel 做服务转发、熔断和限流。人工智能采用Mediapipe、TensorFlow、OpenCV 等技术在Python端实现,通过flask 进行开放接口。Devops 采用git、docker、jenkins、k8s 进行持续集成与发布。考试服务中核心功能的数据库表结构:该结构的核心表是文本内容表,使用该表存储题目、选项、试卷内容、任务内容等json 数据。而文本表的内容使用MongoDB 进行存储,用于后续查询使用。题目表必须包含学科信息和学院名称。将试卷存储到文本内容中只需要存储题目id和题目的大标题如选择题、多选题、简答题等。用户的答卷信息使用用户答卷表和用户答卷题目表进行存储。如图1 所示,系统的权限管理采用RBAC(Role-Based Access Control),即基于角色的访问控制,是一种权限设计思想。将用户信息以及菜单权限信息等绑定对应的角色。从而通过角色拥有的权限进行统一认证和鉴权。

图1 考试服务数据库表结构

从在线考试系统的功能方面来讲,本文将在线考试的3大核心功能进行深入研究和完善,大大提高了系统的实用性和智能性[9]。教师端:组卷可以实现智能化组卷,教师编辑好组卷的逻辑,系统会自动生成符合要求的试卷,降低了教师的工作量。同时阅卷可以实现一键完成,大大提高阅卷效率。与传统的纸质考试相比,教师在考试前、考试中以及考试后的工作量都得到大大缓解,也可以解决考试周学校教室安排拥挤的状况。学生端:智能监考主要基于计算机视觉的相关技术,实现摄像头实时监控考生在线考试过程的人脸动作,当考生存在作弊可疑动作时,系统会给予提醒,提醒次数达到设定的阈值,系统会强制考生交卷。

2 系统功能

本系统完善的系统管理机制,主要功能模块包含3 部分:教师端、学生端、管理端,如图2 所示。首先,可靠的系统运维功能,各功能模块统筹规划且支持独立运行,并提供完备的数据安全和运维保障服务。完全响应式布局(支持电脑、平板、手机等所有主流设备)Maven 多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块;另外,系统具备完备的角色管理功能,分层级的独立组织架构和角色权限管理,满足学校所有专业在线考试需求。

图2 系统的功能模块

2.1 教师端系统

教师端模块的主要功能包含3 方面:高效的题库管理、多样化的组卷和多样化的阅卷方式。

题库管理:多样化试题类型包含:选择、填空、判断、简答、论述和分析等多种题型。负责教师可以通过网络对题库进行管理,如新增试题、编辑试题和删除试题等。其中,新增试题可以手动单个录入或者通过模板进行试题的自动批量导入。新增试题时,可以设置试题的难度、分值和答案,试题难易分1~5级。

多样化的组卷:手动组卷和智能组卷。手动组卷:主要由组卷教师根据考试需求,手动从试题库中选取试题,组合成符合要求的试卷。手动组卷效率低、人为因素干扰大,而且容易造成试题的泄露。智能组卷:教师可以通过设置试卷的组成分布、试题难易程度、组卷逻辑以及考试时长等,系统根据组卷要求从试题库中自动抽取试题组合产生试卷。智能组卷效率高、试题选取的随机性大,在一定程度上降低了试题的泄露风险。在智能组卷中点击自定义按钮,会显示下列自定义选项,可根据用户需求,选择题目难度、题型、题目数量和题目分数。点击“生成”,会根据自定义需求生成考题。

多样化的阅卷方式,考试系统具有自动阅卷和手动阅卷两种方式,教师可以选择手动阅卷,自主进行试卷的批阅,也可以使用自动阅卷,实现一键阅卷。考试的自动阅卷根据不同类型的试题,阅卷原理存在差异,如图3所示。考试的试题主要包含客观题和主观题:单选题、多选题、判断题、填空题、简答题。客观题(单选题、多选题、判断题)的批阅通过直接与正确答案进行匹配,如果完全匹配则给分,否则不给分;而主观题(填空题、简答题)的批改采用TF 特征向量和simhash 算法计算中文文本的相似度,从而根据相似度给定对应分值。使用simhash算法比较两个特征向量的相似性时,采用了汉明距离。智能阅卷和成绩分析,选择题和判断题直接进行比较答案,从而实现试卷自动批阅。另外,教师端还可以对学生的考试成绩进行全方位的分析:考试分析、考情分析和考生分析。

图3 智能阅卷原理

成绩分析:教师端可对考试成绩进行全方位的分析,如图4所示,包含考试分析、考情分析和考生分析。考试分析主要针对考试时间、考试班级、考试人数、考试成绩分布(包含平均分、分数段占比、最高分、最低分)、考试成绩档次分布(优秀率、良好率、及格率和不及格率)等进行统计管理;考情分析主要分析试题分析(试题类型、占比)、试题正确率、错题分布;考生分析主要针对每一个考生进行考试时长、考试成绩、成绩档次、班级排名等进行分析。

图4 成绩多维度分析页面

2.2 学生端系统

学生端模块的主要功能而且也是本系统的核心功能之一为在线考试防作弊功能。本系统采用两种方式来防止考生作弊,实现智能监考,如图5所示。一是考试机监控,通过前端js的功能将禁止键盘复制粘贴、切屏以及实现考试过程全屏的方式避免web考试时的作弊行为;二是考生监控,通过Mediapipe、OpenCV 和tensorFlow 等方式实现考试系统登录人脸识别校验和考试过程中的人脸实时监测。考试前,不但需要用户和密码,还基于虹软AI提供的ArcFace 技术,通过比对人脸库中的考生的人脸信息和考生登录的人脸信息,人脸匹配成功后才可以进入考试系统。

图5 智能监考原理

考试中,人脸检测作弊判定依据主要归结为2 种类型。具体而言,1)基于ArcFace 技术的人脸实时识别。考试全程开启摄像头,定时采集考生人脸信息进行识别。如果考试过程出现人脸遮挡、人脸移出摄像头区域或者摄像头拍摄到非考生的人脸图像,且时间超过2s,系统判定考生有潜在作弊行为,给予提醒。2)基于Mediapipe 虹膜跟踪模型的双眼深度测量,即监测考生的两眼距离考试屏幕的距离。根据该数据判定考生是否东张西望、远离(靠近)摄像头。正常考试情况下,考生的两眼距离考试屏幕的距离在一定的范围内,如果考生在考试过程中出现东张西望或者人脸远离考试机屏幕的动作时,且动作持续超多2s,系统根据检测到的左眼虹膜和右眼虹膜的深度值,判定考生有潜在作弊行为,给予提醒。

同时,考试过程中考试机的智能监控包含通过设置试卷全屏初步防止考生考试过程中的切屏行为;鼠标监控主要监测考生考试过程中鼠标是否在考试机屏幕的有效区域内动作来防止考生通过第二屏幕作弊;键盘监控主要监控考试在考试过程中是否使用了禁止使用的快捷键,如切屏、复制/粘贴(考试过程禁用了复制/粘贴功能)、缩放等。如考试过程考生有上述无效考试行为,将进行提醒,并累计提醒次数,当提醒次数到设定阈值,将强制考生交卷。

Mediapipe 虹膜跟踪模型的原理图如图6 所示。对大部分人来说,人眼的水平虹膜直径基本保持在i=11.7±0.5 mm 范围内。根据针孔摄像头的成像模型,虹膜与相机之间的距离d可以通过相机的焦距f估计得出。

图6 虹膜跟踪模型

焦距则可以使用相机的相关拍摄API 或直接从拍摄图像的EXIF 元数据中获取,也可以通过其他相机内参数获取。确定焦距后,虹膜图像大小可以从根据相机图像中直接读取,然后转化成物理尺寸,记为h。则虹膜与相机之间的距离d:

考试过程,通过考试机的摄像头定时采集考生脸部图像,进行识别和监控,一旦人脸移出摄像头的拍摄范围、拍摄到非考生的人脸或者考生人脸被遮挡超过2s,系统会给予提醒。其次,考生虹膜的实时跟踪。通过MediaPipe Iris虹膜跟踪模型,该模型还能够在不使用深度传感器的情况下确定相对误差小于10%的考生双眼到和考试机摄像头之间的距离,当测量到的双眼到摄像头的距离超出合理的范围,且时间持续2s,系统会给予提醒。当提醒次数或时长超过设定范围,将强制考生交卷。

如图7 所示,系统会根据实际计算的距离判断考试学生是否东张西望或人脸距离摄像头太远(近)。当离开课桌、东张西望、退出全屏等作弊行为发生,将进行提醒。超过三次强制交卷,并判断为作弊。

图7 虹膜跟踪模型判断考生动作状态

2.3 管理员端系统

本系统的管理员模块主要包含通知公告和系统管理。管理员可以在通知公告部分发布系统更新和修改的一些公告,并且考试通知也由管理员在此发布。系统管理模块主要是对学生、教师等用户信息进行维护,如学生所属学院,所属专业以及所在班级等。通过用户信息的管理,可以将学生和考试相关信息进行关联。

3 结束语

本文搭建的智能在线考试系统是基于人工智能技术、微服务、云原生服务等新媒体技术开发的新一代在线考试系统。系统基于在线教学平台构建的考试功能体系,涵盖了目前各类院校的常用考试流程和功能使用需求,针对教考分离模式进行深化设计,各功能模块统筹规划且支持独立运行,并提供完备的数据安全和运维保障服务。考试结束可自动生成的全方位的考试分析数据,由此可以让教师更全面地掌握学生的学习情况,让考试不仅局限于教学效果的验收,而是伴随教学全过程,促进教学改革,提升教学效率。