黄志威,宋鸿陟,司国东
(华南农业大学数学与信息学院,广州 510642)
一种在线考试中实时图像监考系统的设计与实现
黄志威,宋鸿陟,司国东
(华南农业大学数学与信息学院,广州 510642)
随着计算机网络技术的发展,采用在线考试的情况越来越多[1]。在线考试提供了便捷的考试方式和低廉的考试成本,也带来了一些新的问题,特别是作弊监控方面的不足。为了取得理想的成绩,考生可能利用监考教师的疏忽进行作弊。
目前,在线考试中的监考方式主要有两种:一是人工监考,监考教师验证考生真实身份并在考试过程中监控考生考试行为。二是视频录像监控,在人工监考的基础上,使用视频监控装置来监控整个考场。人工监考时考生作弊与否完全由监考教师主观判断,时间长、压力大,容易出现疏漏。考试完毕,难以保留可供后续复审的监考记录。而视频录像监控很难对不同位置的考生提供相同的监控力度,较易出现监控死角。
针对在线考试中一些常规的作弊行为以及考场视频监控存在的问题,本文采用Web实时技术实现考场的实时图像监控,综合运用人脸检测和人脸识别对考场图像进行处理和分析实现考生作答行为判别,设计并实现一个基于图像的在线考试作弊监控系统。该系统不仅可以有效地监控每个考生的考试情况,而且可以对他人替考、多人作答、擅自离开、中途换人等情况进行分析和判断。该系统能对在线考试的监考工作提供辅助和补充,具有一定的应用价值。
WebRTC是一项在浏览器内部进行实时视频和音频数据通信的技术[2]。该技术使得浏览器能作为实时视频和音频通信平台,通过浏览器提供JavaScript API接口调用本地媒体设备,从而屏蔽底层硬件实现或操作系统之间的差异。本文通过浏览器的WebRTC模块调用本地摄像设备。
WebSocket是一种新的浏览器与服务器之间的全双工通讯方式[3]。不同于基于HTTP协议的请求/响应的信息交互模式,WebSocket最重要特性是使得浏览器和服务器之间能够建立类似TCP Socket的持续、双向、有状态的连接。本文使用WebSocket技术实现浏览器和服务器之间的实时图像数据传输。
人脸检测是在给定任意图像中确定是否存在人脸,若存在则返回人脸图象的位置[4]。基于Adaboost算法的人脸检测方法[5],极大地提高了人脸检测的速度和精度,使人脸检测技术真正走向实用。
基于AdaBoost算法的人脸检测首先使用Haar特征表示人脸,并通过积分图实现特征数值的快速计算。然后使用AdaBoost算法挑选代表人脸的矩形特征 (弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器。最后将训练得到的若干强分类器串联组成一个级联结构层叠分类器。待检测图像依次通过分类器,最终检测出人脸图像。
为了得到水平对齐和相同裁剪尺度的人脸图像,本文根据人脸五官分布的先验知识[6],首先定位双眼的中心位置,然后通过双眼中心的连线与水平方向的夹角来确定人脸的旋转角度,最后通过水平和垂直方向的平移和仿射变换,得到最终的人脸图像。
人脸识别是将待识别人脸图像与若干已知身份的人脸图像进行对比,找出与之匹配的身份,从而达到身份识别与鉴定的目的[7]。人脸识别的过程主要包括两个方面:特征提取和特征分类。本文使用Fisherfaces方法[8]用作特征提取,使用基于余弦相似度的K最近邻算法[9]用作特征分类。
Fisherfaces方法首先采用PCA(Principal Component Analysis,主成分分析)将高维空间的样本投影到低维空间以保证类内散布矩阵是非奇异的,然后采用FLDA(Fisher Linear Discriminating Analysis,Fisher线性判别分析)得到人脸的最佳分类特征集。
基于余弦相似度的K最近邻算法通过已知训练集中样本与所属类别的对应关系,计算测试样本与训练集样本的余弦相似度,然后选择并统计训练集中最相似的前k个样本(最近邻)的类别,最终认为测试样本属于最多数类别。
本文提出的实时图像监考方案是对在线考试的监考工作的一种辅助和补充手段。根据考试进程的发展,该方案主要分为报名阶段和考试阶段。其中,考试阶段细分成三个环节:登录验证、持续监考、备份资料。各个环节随着考试时间的发展逐步推进。监考方案如图1所示。
图1 监考方案
筹备考试时,系统进入报名阶段。考生需要上传近期照片。这些照片用于考试现场的身份验证。发放认证书时,也以此照片为准。因此,照片中只能出现考生本人,并能清晰显示考生的正脸。考试工作人员需要核对上传照片,核实是否为考生本人。
考试开始前,系统进入登录验证环节,启动摄像设备,对考生进行自动拍照和身份验证。只有通过验证的考生,才允许参加考试。对于未通过验证的考生,监考老师可以现场核实,决定是否对该考生放行。
考试进行时,系统进入持续监考环节,摄像设备持续开启,直至考试结束。系统定时对考生进行自动拍照,根据照片监考老师可以实时查看每个考生的考试情况。另外,系统对抓拍照片进行分析,如果发现作弊,则缩短抓拍照片的采集间隔,并提示监考老师对该考生加强留意,核实是否存在作弊。
考试结束后,系统进入资料备份环节,关闭摄像设备,并将抓拍照片压缩打包上传,为复查审核工作提供证据。
结合Web实时技术和人脸图像处理技术,本文设计一种基于B/S架构的在线考试监控系统。该系统由考试端、服务端、监考端和中心服务器构成,系统的体系结构如图2所示。
图2 体系结构
考试端需要自动检测硬件接口,控制本地摄像设备的启动和关闭,对考生进行定时抓拍,并将抓拍照片上传到服务端。
服务端一方面将抓拍照片推送到监考端,令一方面分析抓拍照片中是否出现作弊。考生登录考试系统时,将登录时抓拍照片与考试报名时上传照片对比,验证考生身份并反馈结果,由监考教师作相应放行处理。随后的考试过程中,对抓拍照片进行人脸检测和人脸识别,分析和判断是否出现多人作答、擅自离开、中途换人,并及时向监考端反馈分析结果。
监考端实时呈现每个考试端的抓拍照片以及对应的作弊分析结果,可以在考试过程中调整每个考试端的图像采集时间间隔。
中心服务器与多个考场中的服务端相互连接,实现多考场监控。自动备份每个考生考试过程中的抓拍照片,方便考后复查。
实时图像监控要求考试端定时采集并提交考场图像到服务端,考试端与服务端、服务端与监考端之间需要建立实时的数据通道,从而实现图像数据实时传输。考虑主流浏览器对WebRTC和WebSocket接口支持的规范性,本文使用Chrome[10]作为考试端和监考端浏览器。考虑主流Web应用服务器对实时响应性和对WebSocket的支持,本文使用Tornado[11]作为服务端应用服务器。
考试端通过WebRTC模块的getUserMedia接口调用普通的PC摄像设备,对考生进行拍照。抓拍照片的图像格式为JEPG,尺寸为320×240像素,这样既能保证提供清晰考场画面,也能减少对网络带宽的占用。然后,根据JavaScript脚本的setInternal接口编写定时事件。定时事件主要实现定时拍照和上传图像数据。
定时拍照的时间间隔可以根据实际情况设定,对于监考要求高的考试应当设置较短的定时时间。为了避免同一个时刻多个考试端上传数据造成的传输压力,每个考试端的图像采集起始时间应该均匀分布。假设一个考场中考试端的数量为{m|m∈N},每个考试端的编号为{n|n∈[0,m],n∈N},图像采集的间隔为x秒,则每个考试端的图像采集起始时间为 {y|y∈n mod x}秒。
考试端的抓拍照片通过WebSocket模块的send接口实时上传到服务端。服务端通过Tornado的Web-SocketHandler类提供on_message接口监听来自考试端图像数据,图像数据经过备份后通过write_message接口实时向监考端器推送。监考端使用WebSocket模块的onmessage事件监听来自服务端的图像数据,实时呈现每个考试端的考试情况。
另外,为了进一步减低多个考试端同时与单个服务端交互的压力,本文采用基于Nginx的服务器反向代理技术[12],将网络负载均衡分配到多个WebSocket应用服务器实例中。
一般来说,考试时考生的头部运动相对静止,脸部正对屏幕而且表情较少,因此抓拍照片中能呈现完整的人脸。对于擅自离开或多人作答情况,抓拍照片中分别会有零或多个人脸。对于他人替考和中途换人的情况,抓拍照片中的人脸不同于注册时现场拍照中的人脸。本文使用基于AdaBoost算法的人脸检测提取抓拍照片的人脸,然后使用基于Fisherfaces方法的人脸识别得到人脸对应的考生身份。
通常,作弊是一个持续的考试行为。因此,本文首先对一段时间内的抓拍照片进行人脸检测,统计人脸的数量与抓拍照片总数量的比率。然后对这些人脸图像进行人脸识别,统计识别为本人的次数与和人脸识别总次数的比率。最后通过设定的阈值判断考生是否有作弊嫌疑。作弊行为和判别条件如表1所示。
表1 作答行为判别
假设考生在1分钟内的作答过程,称为一次作答行为。考试端在1分钟内对考生进行自动拍照,得到若干抓拍照片,服务端对这些抓拍照片进行处理和分析,判别考生在最近1分内的作答行为。考虑到环境因素、主观因素以及随机误差的影响,实践证明,当人脸数量比率少于50%时,可以认为是离开座位;当人脸数量比率大于50%而且小于120%时,可以认为是单人作答;当人脸数量比率大于120%时,可以认为是多人作答。在被判别为单人作答的前提下,当本人身份比率大于80%,可以认为是本人作答。
以实验室62台计算机作为测试工具,其中一台作为服务端兼中心服务器,一台作为监考端,其余60台笔记本计算机作为考试端。考试端和监考端的软硬件配置:内存为2GB;内置130万像素摄像头;操所系统为Windows 7;浏览器为Chrome。服务端的软硬件配置:处理器为主频2.5GHz的Intel i5处理器;操作系统为CentOS 6.5;内存为4GB。考试端、服务端、监考端都位于同一个局域网内,互相之间网络通信正常。
实验室光照均匀,有60名来自计算机科学与技术、地理信息科学、信息管理与信息系统等专业的本科生参与了实验,全部熟悉在线考试的考试流程并拥有在线考试系统的使用经验。考生在考试端通过浏览器登录在线考试系统进行考试,监考教师在监考端通过浏览器监控考试情况。
考生填写相关身份信息,使用浏览器进行20次自动拍照,照片自动上传到中心服务器。系统检测所有考生注册照片中的人脸,构建出有60个类别,每个类别有20个人脸图像的训练样本集。然后,系统提取并备份训练样本集中的人脸特征。
考试开始前,考生使用“账号+密码”登录系统,系统启动摄像头,并提示考生进行身份验证。考生点击“身份验证”按钮后,系统对考生拍照,并验证考生身份。考试端的身份验证界面如图3所示。
图3 考试端的身份验证界面
为了模拟他人替考的情况,随机选取30名考生以本人注册身份登录,其余30人以他人注册身份登录,进行10次重复实验,本人与他人的身份验证统计数据如表2所示。
表2 本人与他人身份录验证统计数据
由表2可知,考生以本人身份登录时验证通过率为95.7%,而以他人身份登录时验证通过率只有5.1%。如果出现多次被拒绝通过的“真考生”,监考老师可对其现场确认和人工放行。由于系统将在后续的持续监控中定时判断是否出现中途换人的情况,因此身份验证通过的 “假考生”很可能在后续的考试过程中被发现。对于在线考试来说,在“账号+密码”的身份验证方案基础上,引入人脸识别技术,能有效阻止他人替考的情况发生。
考试过程中,摄像设备持续对考生进行拍摄,摄像画面处于屏幕的左上方。考试端的考试界面如图9所示。
图4 考试端的考试界面
监考端呈现考场内所有考生的注册信息、抓拍图像、作弊分析结果,监考教师可以控制相应考生的放行情况,设置图像采集间隔,结合现场信息和抓拍照片加以判断是否发生作弊行。监考端的监控界面如图5所示。
图5 监考端的监控界面
为了模拟真实考试情况,安排有60名考生参加持续时间为30分钟的考试,要求每名考生在考试过程中的特定时间内的做出以下4种作答行为:(1)第0分钟至第5分钟,在本人座位上作答;(2)第6分钟至第17分钟,与两人或多人共同作答;(3)第18分钟至第23分钟,离开本人座位;(4)第24分钟至第29分钟,与他人交换座位。
根据默认设置,系统每隔1分钟就对抓拍照片进行一次作答行为判别,系统正确判别的统计数据如表3所示。
表3 作答行为的正缺判别统计数据
由表3可知,考试过程中的本人作答有95.3%被系统正确判断,多人作答有86.7%被系统正确判断,擅自离开98.3%被系统正确判断,擅自离开有97.8%被系统正确判断,中途换人有94.2%被系统正确判断。考试过程中,多人作答、擅自离开、中途换人这三种行为的动作幅度大,容易引起注意,真实情况下发生的几率不大。如果出现这三种作弊行为出现,系统能及时发现并保存证据,监考教师可以通过监考端查证。当然,系统也有错误判断,监考教师可以根据现场情况进行排除。在线考试的监测系统中使用人脸检测和人脸识别技术,能有效发现多人作答、擅自离开、中途换人等行为,为监考工作提供辅助。
本文通过WebRTC技术调用PC的摄像设备定时对考生拍照,由于摄像设备能与考生一一对应,可以对考场中的不同位置能提供相同的监控效果。同时使用WebSocket技术传输图像数据,可以实时呈现每个考生的考试现场情况。在实时图像监控的基础上,综合利用基于AdaBoost算法的人脸检测和基于Fisherfaces的人脸识别,对他人替考、多人作答、擅自离开、中途换人等情况进行分析和判断。不过,在在作答行为判别方面仍然可改进的空间。本文的研究对在线考试监考方式具有借鉴价值。
[1]教育部考试中心.2014年9月第40次全国计算机等级考试平稳举行[DB/OL].2014-09-25.http://sk.neea.edu.cn/jsjdj/infor.jsp infoid=54750&class_id=26_14_02.
[2]Nurminen J,Meyn A,Jalonen E,et al.P2P media streaming with HTML5 and WebRTC[C].Computer Communications Workshops (INFOCOM WKSHPS),2013 IEEE Conference on.IEEE,2013:63-64.
[3]Pimetel V,Nickerson B.Communicating and displaying real-time data with Web-Socket[J].IEEE Computer Society,2012,16(4): 45-53.
[4]Zhang C,Zhang Z.A survey of recent advances in face detection[R].Tech.rep.,Microsoft Research,2010.
[5]Viola P,Jones M.Robust real-time face detection[J].International journal of computer vision,2004,57(2):137-154.
[6]刘芳梅,杨云.网上报名照片的人脸自动检测和裁剪系统[J].山东科学,24(6):96-100.
[7]Pandya J,Rathod D,Jadav J.A survey of face recognition approach[J].International Journal of Engineering Research and Applications(IJERA),2013,3(1):632-635.
[8]Belhumeur P,Hespanha J,Kriegman D.Eigenfaces vs.Fisherfaces:recognition using class specific linear projection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1997,19(7):711-720
[9]刘应东,牛惠民.基于k-最近邻图的小样本KNN分类算法[J].计算机工程,2011,37(09):198-200.
[10]Google.WebRTC:Official Site[DB/OL].2014-04-18.http://www.webrtc.org/.
[11]Facebook.Tornado Web Server[DB/OL].2014-06-14.http://www.tornadoweb.org/en/stable/.
[12]Nginx.High Performance Load Balancer,Web Server,&Reverse Proxy[DB/OL].2014-03-04.http://www.nginx.com/.
Exam Monitoring;WebRTC;WebSocket;Face Detection;Face Recongnition
Design and Implementation of Real-time Image Monitoring System for Online Exam
HUANNG Zhi-wei,SONG Hong-zhi,SI Guo-dong
(College of Mathematics and Informatics,South China Agricultural University,Guangzhou 510642)
国家自然科学基金项目(No.60875045)
1007-1423(2015)19-0062-06
10.3969/j.issn.1007-1423.2015.19.016
黄志威(1989-),男,广东东莞人,研究生,研究方向为人机交互、计算机视觉
宋鸿陟(1972-),男,黑龙江大庆人,博士,教授,研究方向为人机交互、信息可视化
司国东(1972-),男,吉林长春人,硕士,讲师,研究方向为教育技术、人机交互
2015-05-05
2015-06-26
针对在线考试中一些常规的作弊行为以及当前视频监控方法存在的问题,提出一种基于图像的在线考试监考方案,设计并实现一个实时图像监考系统。该系统通过WebRTC技术调用PC的摄像设备定时对考生拍照,使用WebSocket技术实现图像数据实时传输,综合利用基于AdaBoost算法的人脸检测和基于Fisherfaces方法的人脸识别技术自动发现他人替考、多人作答、擅自离开、中途换人,及时保存证据并通知监考教师。通过仿真测试验证该系统的有效性,为在线考试的监控工作提供可行的辅助手段。
考试监控;WebRTC;WebSocket;人脸检测;人脸识别
Aiming at some conventional cheatings in online exam and the problems of current video monitoring method,presents the image based invigilation scheme.Designs and implements a real-time image based monitoring system for online exam.To realize taking photos regularly for examinees and images data real-time transmission,uses Web real-time technology such WebRTC and WebSocket.To auto discover the cheatings such as replaced by other,multiple answers,leave the seat,substitute examinee in midway,the AdaBoost based face detection and the Fisherfaces based face recognition are utilized comprehensively.Validates the feasibility of the system by simulation test.