基于网络平台的分布式考试防作弊系统和防作弊方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于网络平台的分布式考试防作弊系统和防作弊方法
作者:熊华东莫华陈虹卢燕
来源:《科技创新与应用》2016年第01期
摘要:随着网络学习平台在企业培训中的应用,网络考试质量评价显得尤为突出,只有严把网络考试质量关,才能对网络学习的质量进行准确地评价。
因此,有必要研发专门针对网络学习平台的分布式考试防作弊技术。
关键词:网络考试;分布式;防作弊
1 开发背景
网络学习平台在我国还处于新兴事物阶段,由于不受时间、地点、空间限制,且支持移动(手机登录)学习模式,受到广大用户的喜爱,已成为当今最热门的企业内部培训模式。
随着网络学习平台在企业培训中的应用,网络考试质量评价日益突出,只有把好网络考试质量关,才能对网络学习的质量进行准确地评估。
因此,研发专门针对网络考试平台的分布式考试防作弊技术具有重要意义。
2 系统分析
网络考试防作弊技术与在考场集中考试的防作弊技术有许多相同的地方,都需要用到摄像机采集图像信号,通过音频采集部件和话筒采集现场的语音信号。
对于考场来说,可以通过控制器来控制摄像机采集图像信号,以及控制话筒采集现场的语音信号,并对其进行压缩抒包处理,然后通过网络接口向外部发送。
同时,控制器还能通过网络接口接收远端控制中心发出的控制指令,并根据控制指令,通过焦距控制器和视角控制器实现对摄像机焦距和视角进行控制。
然而,在分布式网络考试中所用的摄像机是学员自带笔记本或台式机上的摄像头,话筒是笔记本或台式机上的麦克风。
这就无法在服务器端控制学员的摄像机焦距和视角,在防作弊操作上存在缺陷。
针对现有技术所存在的不足,提供一种基于网络平台的分布式考试防作弊系统和防作弊方法。
2.1 分布式考试防作弊系统构想
基于网络平台的分布式考试防作弊系统,包括相互连接的用户端和服务端。
其中,服务端接收用户端传输的考试登陆验证信息并处理后反馈至用户端,用户端向服务端发送考试信息并存储在服务端中。
用户端包括考前登录模块、网页摄像模块、网页录音模块、网页异步提交模块。
考前登录模块分别与网页摄像模块、网页录音模块连接,网页摄像模块、网页录音模块连接分别与网页异步提交模块连接;考前登录模块验证用户的考试登录信息并通过网页摄像模块、网页录音模块发送至服务端,网页摄像模块、网页录音模块分别采集图像信息、语音信息传输至网页异步提交模块并通过网络传输至服务端。
服务端包括服务端语音处理模块、服务端图像处理模块、用户考试记录数据库、作弊查阅和验证模块:
服务端语音处理模块、服务端图像处理模块与用户考试记录数据库、作弊查阅和验证模块连接,作弊查阅和验证模块与用户考试记录数据库连接;服务端语音处理模块、服务端图像处理模块接收用户端发送的考试登录信息并传输至作弊查阅和验证模块,作弊查阅和验证模块验证考试登录信息并反馈至用户端;服务端语音处理模块、服务端图像处理模块处理服务端接受的图像信息、语音信息并存储在用户考试记录数据库中;作弊查阅和验证模块,调取用户考试记录数据库中的图像信息、语音信息判定是否作弊。
2.2 分布式考试防作弊方法构想
基于网络平台的分布式考试防作弊方法,包括如下步骤:
考前登录模块检测防作弊考试环境并验证用户信息,网页异步提交模块控制网页录音模块、网页摄像模块实时采集用户的考试信息发送至服务端。
服务端语音处理模块、服务端图像处理模块分别对接收的用户语音信息、图像信息预处理并存储在用户考试记录数据库中。
管理员通过作弊查阅和验证模块查阅预处理后的语音信息和图像信息验证用户的考试信息。
图1 分布式考试防作弊系统的结构示意图
3 系统实现
3.1 用户端实现
3.1.1 图像信息采集
用户在登录页面上输入登录信息时,该登录页面中的JavaScript程序会调用录音函数、摄照函数控制用户端的摄像头、麦克风随机拍照/录像或录音,得到随机拍摄的照片/一小段录像
和录下的一小段录音。
当用户提交登录页面时,所录下的声音数据和所拍的照片数据/录像数据一同传送到服务端。
考虑到网络传输速度差异,采用定时拍照传输图片的方式。
兼顾用户作弊的动作速度及网页异步传输的速度,拍照的时间间隔定为3秒较合适。
利用定时获取的图片,在服务端由机器辅助管理员随时判断用户是否作弊,而不是监考员在考场监视或集中监视,避免干扰用户自主考试。
图像信息采集实现:在考试页面添加JavaScript定时模块:setTimeout(function()(要执行的代码),3000),其中3000的单位是毫秒,即每隔3秒执行一次function的代码。
采用Flash来实现网页的图像采集和语音采集功能,为此需要使得JavaScript可以调用Flash的函数。
Flash的AddCallback方法允许JavaScript调用其时间上的函数,基本的调用语法如下:
External Interface.addCal lback(functionID:String, instance:Object,functionName:Function)。
与call方法类似,它也是一个静态方法,有三个参数:functionID为从JavaScript 调用ActionScript函数时可使用的名称。
此名称不必与ActionScript方法的实际名称匹配;instance是在该方法中被解析成的对象。
此对象不一定是在其上可找到该方法的对象,可以指定任何对象(或null);functionName为要从JavaScript调用的ActionScript方法。
图像信息采集时,主要用到Flash的Camera类,加入以下代码实现图像信息采集功能:myCam=Camera. get();myCam. setMode(400,300,10);my_video.attachVideo (myCam)。
再通过以下代码实现视频的扑捉:
function saveCamera(){
lv.bm = new Flash.display.BitmapData(400, 300,true,0);
lv.bm. draw(camera);
var tempObj=_root.createEmptyMovieClip("photo",100);
tempObj._x=400; tempObj._y=300;
tempObj.attachBitmap(lv. bm,1);
}
3.1.2 音频信息采集
为使服务端并行处理录音文件,同时可分段对是否作弊进行校验,采用定时录音并发送的方式。
兼顾用户作弊的交谈时长及网页异步传输的速度,录音时长为30秒较合适。
语音信号
在服务端由机器判断用户是否有作弊嫌疑,避免干扰用户自主考试。
另外,考试开始前提示用户选择相对安静的环境考试,避免服务端误判作弊。
语音信息采集实现:在考试页面上的JavaScript调用Flash的下列类来实现用户语音信息采集功能:
import org.as3wavsound.WavSound;
import org.bytearray.micrecorder.MicRecorder;
import org.bytearray.micrecorder.encorder.WaveEncoder;
import org.bytearray.micrecorder.events.RecordingEvent;
import Flash.display.MovieClip;
var recorder:MicRecorder=new MicRecorder(new WavEncoder());
var player:WavSound;
recorder.addEventListener(RecordingEvent.RECORDING,onRecording);
recorder.addEventListener(PLETE,onRecordComplete);
recorder.record();
recorder.stop();
new WavSound(recordar.output);
3.1.3 图像、音频信息传输
用户在考试页面上答题的时间一般较长,以3秒作为记录时长的图像信息文件和语音信息文件需要及时送到服务端,而不能先暂时保存在页面数据中。
因此,每张考试网页中都包含用AJAX写的异步JavaScript脚本,其功能是将定时采集到的照片和语音信息推送到服务端。
AJAX指的是异步JavaScript及XML(Asynchronous JavaScript And XML)。
AJAX是一种独立于Web服务器软件的用于创建更好、更快,以及交互性更强的Web应用程序的技术。
AJAX应用程序独立于浏览器和平台并被所有的主流浏览器支持,可使因特网应用程序更小、更快、更友好。
AJAX能够涉及广大的用户、更易安装及维护,也更易开发。
在AJAX中很好地定义了使用的Web标准,AJAX基于下列Web标准:JavaScript、XML、HTML和CSS。
通过使用AJAX,用户的考试页面可通过JavaScript的XML Http Request对象直接与服务器进行通信。
通过这个对象,用户考试页面中的JavaScript脚本程序在定时器的作用下,定时获得该时长内的语音数据和图像数据,而后建立要连接的URL,打开到具有给URL的服务器的连接,并设置服务器在接收完数据后要运行的函数,最后发送请求。
3.2 服务端实现
服务端存储有每个用户考试的录音文件和图片文件,并且还存有服务端语音处理模块和服务端图像处理模块理过的文件,作弊查阅可从语音信息和图像信息两方面来进行。
3.2.1 音频处理
音频信息采用定时录音并发送的方式,可使服务端并行处理录音文件,同时可分段校验是否作弊。
兼顾用户作弊的交谈时长及网页异步传输的速度,录音时长为30秒较合适。
考虑到音频信号会带入背景噪音,利用这些帧的倒谱系数平均值作为背景噪声倒谱系数估计值;计算每帧信号的倒谱系数,计算每帧信号的倒谱系数与噪声倒谱系数估计值的倒谱距离;按各帧倒谱距离得到倒谱距离轨迹;然后利用近似能量方法中门限判决的方法检测语音段和噪声段;最后处理得到语音的起始点和终止点,通过中值滤波作处理;将处理过的波形数据连同原始录音数据一同存入对应数据库中的表单内。
用户在考试期间的所有录音文件按时间先后顺序,以时间轴上的轮廓模式展示在页面中,极大地方便管理员查找用户在考试时是否有作弊的行为。
目前,语言边界检查算法有许多,鉴于倒谱被认为是语音信号一种较好的时频表示,故采用倒谱系数法。
倒谱系数包含线性预测倒谱系数(LPC2CEP)或Mel刻度倒谱系数(MFCC),这里用MFCC倒谱向量取代简单特征参数作为语音端点检测的判决特征向量。
信号倒谱可以看成是信号能量谱密度函数S(w)的对数的傅里叶级数展开:
(1)
其中,Cn是倒谱系数,它是实数,且Cn=C,logS(?棕)是信号能量谱密度函数。
(2)
其中,C0为倒谱系数,d?棕表示对角速度进行积分运算。
对于一对谱密度函数S(?棕)和S'(?棕),应用Parsavel定理可用倒谱距离来表示对数谱的均方距离:
式中,Cn和C'n 为对应于谱密度函数S(?棕)和S'(?棕)的倒谱系数。
倒谱距离测量法根据每个信号帧与噪声帧的倒谱距离的轨迹进行检测,它采用门限判决的方法,其过程如下:
(1)假定抽样信号的前几帧信号是背景噪声。
利用这些帧的倒谱系数C0的平均值作为背景噪声倒谱系数的估计值,用向量C表示。
(2)计算每帧信号的倒谱系数,然后用式(4)计算每帧信号的倒谱系数与噪声倒谱系数估计值的倒谱距离:
式中:C'n为对应于Cn的倒谱系数;P为倒谱系数的阶数。
(3)由步骤(2)计算的各帧倒谱距离得到倒谱距离轨迹。
然后利用近似能量方法中门限判决的方法检测语音段和噪声段。
(4)为使背景噪声倒谱系数的估计值C能够适应噪声的变化,采用一个平滑处理过程。
背景噪声倒谱估计C利用已经检测过的上一信号帧的倒谱向量,按照下式进行更新:
C(k)=?滓C(k)+(1-?滓)C(k-1)(5)
其中,k为信号帧帧号,C为上一信号帧倒谱向量,?滓为一个时间调整因子,并且这一帧被认为是非语音帧。
(5)最后处理得到语音的起始点和终止点,通过中值滤波作处理后,再将处理过的波形数据连同原始语音数据一同存入该用户在用户考试记录数据库中的表单内。
3.2.2 图像处理
图像信息采用定时拍照传图片的方式。
兼顾到用户作弊的动作速度及网页异步传输的速度,拍照的时间间隔定为3秒较合适,即每隔3秒执行一次function的代码。
图像采集传输至服务端处理,由机器辅助随时判断用户是否在作弊。
服务端图像处理模块在服务端对接收的图像缩放处理过程是这样的:原图像长为400像素,宽为300像素,现缩小到长为80像素,宽为60像素。
将接收到的每张图像分割成多个小区域,这个小区域的长为5像素,宽为5像素;找出每个小区域中每个像素点RGB值;对小区域中的像素点RGB值求平均值得到新的RGB值,进一步通过小区域中各像素的R(红)值之和、G(绿)值之和以及B(蓝)值之和,采用取平均值的方法求出该点的RGB值;将新的RGB值按照小区域的位置重新排列得到缩放后的图片;将缩放后的图片依序存储在该用户在用户考试记录数据库中的表单内。
具体算法的语义描述如下:
For (w=0;w
For (h=0;h
Sum=0;
For (i=0;i
Sum+=rb[w*5+I,h*5]+rb[w*5+I,h*5+1]+rb[w*5+I,h*5+2]+rb[w*5+I,h*5+3]+
rb[w*5+I,h*5+4];
Nb[w,h]=sum/25;
}
3.2.3 管理员查验
服务端存储了每个用户考试期间的录音、图片原文件和处理过的缩小文件。
管理员可以从图像信息、语音信息两方面检查考生是否存在作弊嫌疑。
首先,管理员可以查看用户的录音处理文件,查看用户被处理过的语音图形信息,服务端将用户考试期间经倒谱处理后的坐标图形呈现在管理员的显示屏上,它展现为时间轴上的轮廓信息,坐标上有用户语音的地方呈凸起图形。
若有凸起的轮廓,说明用户在交谈,管理员可认为此时用户存在作弊嫌疑,点击这个凸起区域,可进一步调取原始录音文件进行验证。
管理员可听到用户此刻的原音回放,以此来验证用户是否在交谈。
其次,管理员可以查看用户考试期间的图像信息,由于图片做了缩放,服务端一次就将256张小图片呈现在管理员的显示屏上。
管理员可按PgDn键来看下一屏的256张小图片,按PgUp键来看上一屏的256张小图片。
用户一个小时考试的图片仅需5个满屏就可全部浏览完(用户每隔3秒拍摄一幅图片),相当快捷方便。
通过浏览图片,就可回放用户考试现场的情形,从而发现用户是否存在作弊。
综上,通过实时采集用户的图像信息和音频信息,有效防止网络用户在自主考试时作弊,间接促使用户切实从提高自身技能方面来加强网络学习,杜绝投机、侥幸考试现象发生,客观反映每位用户的技能水平,从而有效提高网络学习平台的使用效能。
参考文献
[1]董爽,于丽娟.基于B_S模式的物业管理信息系统的设计与实现[J].中国管理信息化,2010(6).
[2]蔡明朝.教育考试防作弊技术之人脸识别技术的应用探讨[J].关爱明天,2015(3).
[3]徐巧枝,刘东升.网络考试防作弊系统的研究与设计[J].计算机教育,2010(5).
[4]刘思尧.在线考试系统防作弊策略研究[J].软件导刊,2013,12(10).
[5]张艳军.基于在线考试系统防作弊策略[J].2010,6(33).。