本发明涉及智慧教育技术领域,特指一种面向无人监考的防止虚拟摄像头作弊系统。
背景技术:
随着互联网技术的深入应用,采用远程网络考试/在线考试的需求越来越迫切,由于不能较好地解决防止作弊的难题,在线考试的应用和发展一直受到制约。人们开始利用摄像头获取考生图像,以达到监考的目的。
专利201110173907.4《远程教育培训、考试中采用抓拍成像技术防止作弊的方法》中提到了使用USB摄像头,抓拍考生的图像。专利201210202592.6《在线考试智能监控方法》,以及专利201110173907.4《远程教育培训、考试中采用抓拍成像技术防止作弊的方法》均提到了利用摄像头采集考生图像。
但是市面上有一种简单易行的虚拟摄像头技术,在考生电脑上安装一个虚拟摄像头软件,即可以欺骗监控软件,使其误认为虚拟摄像头提供的图像是真实的图像。虚拟摄像头可以播放任意的图片、动态图、录像等,在目前的摄像头检测机制下,无法区分是真实的摄像头,还是虚拟摄像头。即使是用肉眼观看摄像头提供的图像,也无法区分是实时图像,还是录像。而现有技术中,未发现有对此虚拟摄像头进行检测和防止的方法。
技术实现要素:
本发明的目的是针对典型的在线考试系统,检测是否在前端设备使用虚拟摄像头作弊,并且通过相应技术手段防止这类作弊的产生。
针对虚拟摄像头作弊的问题,本发明提出一种面向无人监考的防止虚拟摄像头作弊方法,其利用虚拟摄像头只能进行重复播放图像、不能实现动态交互的特性对其进行检测,有效防止考生利用虚拟摄像头进行作弊。
本发明的具体技术方案是:
一种面向无人监考的防止虚拟摄像头作弊系统,包括前端设备和后台服务单元,所述前端设备为带平面显示的智能终端,用于实现用户的输入交互和考试内容的展现;所述后台服务单元包括用户管理模块、考试管理模块,所述系统还包括客户端软件或浏览器控件、以及防止虚拟摄像头作弊模块。
作为本发明技术方案的进一步改进,所述客户端软件包括内置的浏览器,所述客户端软件或浏览器控件设有视音频采集模块,所述视音频采集模块用于采集前端设备上的语音、视频。
作为本发明技术方案的进一步改进,所述防止虚拟摄像头作弊模块工作流程具体包括以下步骤:
Step1:检索当前前端设备所有的摄像头数量;
Step2:如果摄像头数量>=预定义数量,则表明系统中有多余摄像头,这是考试不允许的,提示考生并且强制退出考试;
Step3:检索当前前端设备的虚拟摄像头名称或标识符,发现有与常见虚拟摄像头软件如VCam、SoftCam等相同或类似的标识符,认定有虚拟摄像头存在,提示考生并强制退出考试;
Step4:获取当前视频图像的分辨率大小,设其长度为length,宽度为width。设length和width中较小的数为min,在30到min之间取一个随机数,设其为random;
在random到length减random之间,取一个随机数,设为x,在random到width减random之间,取一个随机数,设为y;
以左下角为原点,在当前视频图像中的(x,y)坐标位置,以random为边长画出一个方框或以random为直径画出一个圆,要求考生调整其人脸位置,使得人脸显示在该方框或该圆之内;检测当前图像中的人脸位置,其人脸矩形应该在上述方框或圆之内;
Step5:等待预先设定的时间M秒,如果考生未在限定时间内实现将人脸置于方框之内,则认定为有虚拟摄像头存在的嫌疑;
Step6:对Step4-Step5步骤重复进行N次,N>=1,嫌疑次数达到预定的数量,则认定有虚拟摄像头存在,提示考生并强制退出考试;
Step7:如果嫌疑未达到预定的次数,认定为没有虚拟摄像头,允许考生继续考试,但需锁定屏幕与键盘直到考试结束,防止考生后续安装一个新虚拟摄像头软件。
与现有技术相比,本发明的有益效果是:
1、发现了在线考试中,可以利用虚拟摄像头作弊的漏洞,针针对该漏洞设计了多种方法,综合检测虚拟摄像头的存在;
2、采用随机动态交互的方法,检测虚拟摄像头。关键在两点,一是检测规则要随机,包括人脸位置与大小,二是要有时间限制。否则虚拟摄像头也可以预先做出符合检测规则的录像。另外,时间足够长的话,录像中人脸不停移动位置,也总能移动到检测方框中。
3、采用锁屏或锁键盘的方法,防止检测通过之后,考生安装一个新虚拟摄像头。
附图说明
图1为本发明实施例检测虚拟摄像头流程图。
图2为本发明实施例在线考试系统示意图。
具体实施方式
现结合说明书附图对本发明实施例进行详细介绍。
本发明检测前端设备(包括手机、平板等带平面显示的智能终端,以下同)中是否存在虚拟摄像头,防止考生利用虚拟摄像头进行作弊。通过一种防止虚拟摄像头作弊的方法,利用虚拟摄像头只能进行重复播放图像、不能实现动态交互的特性对其进行检测。
典型的在线考试系统主要包括前端设备与后台服务,所述前端设备可以是电脑、平板、手机等带平面显示的智能终端,前端设备主要完成用户的输入交互,以及考试内容的展现,一般通过浏览器完成。后台主要包括用户管理、考试管理等模块,采用后台服务形式完成。
如图2所示,本发明的一种面向无人监考的防止虚拟摄像头作弊系统在典型在线考试系统基础上,增加了前端的客户端软件或浏览器控件,主要包括视音频采集模块、防止虚拟摄像头作弊模块等,使得该考试系统具备有防止虚拟摄像头作弊的功能。
根据考试机构的需求,首先决定在前端设备是采用客户端软件,还是采用浏览器控件形式。如果是客户端软件,则用户需要下载安装一个客户端软件,该客户端软件运行后会调用客户端软件内置的浏览器,通过该内置的浏览器,进行典型的在线考试。如果是采用浏览器控件形式,则直接在浏览器中下载安装并运行该浏览器控件,然后也是通过浏览器进行在线考试。
考生在考试过程中,客户端软件或浏览器控件会调用视音频采集模块,获取前端设备上的语音、视频,以供防止虚拟摄像头作弊模块使用。
防止虚拟摄像头作弊模块的具体操作流程如下:
Step1:检索当前前端设备所有的摄像头数量;
Step2:如果摄像头数量>=预定义数量(一般为2),则表明系统中有多余摄像头,这是考试不允许的,提示考生并且强制退出考试;
Step3:检索当前前端设备的虚拟摄像头名称或标识符,发现有与常见虚拟摄像头软件如VCam、SoftCam等相同或类似的标识符,认定有虚拟摄像头存在,提示考生并强制退出考试;
Step4:获取当前视频图像的分辨率大小,设其长度为length,宽度为width。设length和width中较小的数为min,在30到min之间取一个随机数,设其为random;
在random到length减random之间,取一个随机数,设为x,在random到width减random之间,取一个随机数,设为y;
以左下角为原点,在当前视频图像中的(x,y)坐标位置,以random为边长画出一个方框或以random为直径画出一个圆,要求考生调整其人脸位置,使得人脸显示在该方框或该圆之内;检测当前图像中的人脸位置,其人脸矩形应该在上述方框或圆之内;
Step5:等待预先设定的时间M秒,如果考生未在限定时间内实现将人脸置于方框之内,则认定为有虚拟摄像头存在的嫌疑;
Step6:对Step4-Step5步骤重复进行N次,N>=1,嫌疑次数达到预定的数量,则认定有虚拟摄像头存在,提示考生并强制退出考试;
Step7:如果嫌疑未达到预定的次数,认定为没有虚拟摄像头,允许考生继续考试,但需锁定屏幕与键盘直到考试结束,防止考生后续安装一个新虚拟摄像头软件。
经上述流程检测之后,如果没有发现虚拟摄像头,则调用内置浏览器,访问相应的考试网站,进入后续考试流程。
如果以插件、或者动态链接库形式运行,则程序是被其宿主程序所调用,程序同样检测当前前端设备上是否有虚拟摄像头,并且将检测结果返回给调用者。由调用者决定后续操作。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则的内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围内。