1.本技术涉及计算机视觉技术领域,特别是涉及一种在线考试作弊识别方法、装置、计算机设备和存储介质。
背景技术:
2.随着教育信息化相关技术的不断发展,越来越多的传统纸上考试都渐渐地挪到了线上,以此减少考试的组织成本,同时无纸化考试也符合国家绿色环保。考试从线下挪到线上,试卷从纸张挪到计算机、手机等设备上,则对如何识别和防止在线考试作弊、保证考试公平提出了新的挑战。
3.现有的在线反作弊方案,多通过视频截取图片,或直接通过视频,用人工对在智能设备上进行考试的人员进行监控和作弊识别,非常依赖于人工的监测和判断,由于人工在单位时间内所能识别的作弊视频有限,因此现有的在线考试作弊识别存在识别效率低下的技术问题。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种能够提高在线考试作弊识别效率的在线考试作弊识别方法、装置、计算机设备和存储介质。
5.一种在线考试作弊识别方法,所述方法包括:
6.获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像;
7.对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标;
8.基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果;
9.基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
10.在其中一个实施例中,还包括:基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定,获取眨眼判定结果;
11.基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果;
12.基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果;
13.根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
14.在其中一个实施例中,还包括:基于各单帧图像对应的单帧人脸坐标,计算待识别考生的眼睛长宽比;
15.若待识别考生的眼睛长宽比低于预设的眼睛长宽比阈值,输出待识别考生处于闭眼状态作为眨眼判定结果;
16.若待识别考生的眼睛长宽比大于或等于预设的眼睛长宽比阈值,输出待识别考生处于睁眼状态作为眨眼判定结果。
17.在其中一个实施例中,还包括:基于预设的通用三维人脸模型对所述单帧人脸坐标进行处理,获取所述单帧人脸坐标对应的二维人脸坐标;
18.获取拍摄待识别考生的面部视频的摄像头的相机参数;所述相机参数包括相机的焦距和光学中心;
19.将所述单帧人脸坐标、所述单帧人脸坐标对应的二维人脸坐标和所述相机参数输入预设的旋转量和偏移量计算公式,获取旋转量和偏移量作为单帧头部姿态判定结果。
20.在其中一个实施例中,还包括:将各单帧图像输入预设的堆叠沙漏网络模型进行处理,获取多个眼部关键点;
21.基于所述眼部关键点和各单帧图像对应的单帧人脸坐标对待识别考生进行单帧双眼注视角度判定,获取注视角度作为判定结果。
22.在其中一个实施例中,还包括:根据各单帧图像的眨眼判定结果,判断待识别考生是否处于睁眼状态;
23.若待识别考生处于闭眼状态,判定该单帧图像中的待识别考生未看屏幕;
24.若待识别考生处于睁眼状态,将单帧头部姿态判定结果和单帧双眼注视角度判定结果输入至预设的单帧作弊判定网络模型中,输出该单帧图像对应的作弊判定结果。
25.在其中一个实施例中,还包括:将各单帧图像的作弊判定结果按照时间序列进行排列,生成作弊判定结果序列;
26.获取所述作弊判定结果序列在预设时长的时间窗口内的作弊率;所述作弊率通过计算所述时间窗口内被判定为作弊的次数与总判定次数的比值获取;
27.基于各时间窗口的作弊率与预设的作弊率阈值,判定所述待识别考生是否在作弊。
28.一种在线考试作弊识别装置,所述装置包括:
29.图像获取模块,用于获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像;
30.坐标获取模块,用于对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标;
31.单帧判定模块,用于基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果;
32.综合判定模块,用于基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
33.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
34.获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像;
35.对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应
的单帧人脸坐标;
36.基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果;
37.基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
38.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
39.获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像;
40.对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标;
41.基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果;
42.基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
43.上述在线考试作弊识别方法、装置、计算机设备和存储介质,获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像,对单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果,最后基于各单帧图像对应的作弊判定结果,判定待识别考生是否在作弊,通过获取各单帧图像对应的作弊判定结果对待识别考生是否作弊进行判定,提高了对于在线考生作弊的识别效率。
附图说明
44.图1为一个实施例中在线考试作弊识别方法的应用环境图;
45.图2为一个实施例中在线考试作弊识别方法的流程示意图;
46.图3为一个实施例中获取的单帧人脸坐标示意图;
47.图4为一个实施例中单帧双眼注视角度判定步骤的流程示意图;
48.图5为一个实施例中单帧图像作弊判定步骤的流程示意图;
49.图6为一个实施例中在线考试作弊识别装置的结构框图;
50.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
52.本技术提供的在线考试作弊识别方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102和服务器104可分别单独用于执行本技术提供的在线考试作弊识别。终端102和服务器104也可用于协同执行本技术提供的在线考试作弊识别。例如,服务器104用于获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像;对所述单帧图像按照时间序列分
别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标;基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果;基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
53.其中,终端102可以但不限于能够获取待识别考生的面部视频的终端设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
54.在一个实施例中,如图2所示,提供了一种在线考试作弊识别方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
55.步骤202,获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像。
56.具体地,通过终端上的摄像头例如手机上的摄像头、电脑上的摄像头或其他外接摄像头,实时获取在线考试时待识别考生的面部视频;对于待识别考生的面部视频的视频分辨率应至少达到720p。获取面部视频之后,由于视频信息的冗余性,可以根据实际的情况和机器的承载力从视频序列中抽取采样帧,可以降低后续操作的计算量,做到系统性能与监考效果的平衡,按照预设的抽样周期对面部视频进行抽样处理,获取不少于一张单帧图像。单帧图像可根据需求从视频流中每隔固定的时间抽取,例如,可采用2帧/秒作为抽帧的采样率,也可视具体情况进行调整。
57.步骤204,对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标。
58.具体地,对单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标,单帧人脸检测处理用于确定单帧图像中待识别考生面部区域所在位置,是后续处理步骤的前提。对于单帧人脸检测处理的方法,可使用python dlib库中内置的人脸检测算法。图3为一个实施例中获取的单帧人脸坐标示意图,如图3所示,人脸关键点通常用来标记人脸上的关键部位的位置,包括眉毛、眼睛、笔记、嘴巴和轮廓。检测人脸关键点需要首先确定人脸的位置。之后,对于输入的人脸区域图像,使用python dlib库可以得到68个人脸关键点的二维位置坐标作为各单帧图像对应的单帧人脸坐标。
59.步骤206,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
60.具体地,获取各单帧图像和各单帧图像对应的单帧人脸坐标之后,根据各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。对各单帧图像中的待识别考生进行作弊判定时,通过样本数据训练生成一个单帧作弊判定网络模型,将从各单帧图像和各单帧图像对应的单帧人脸坐标提取的各特征输入至单帧作弊判定网络模型中,获取各单帧图像对应的作弊判定结果。
61.步骤208,基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
62.具体地,在获取各单帧图像对应的作弊判定结果以后,由于单帧图像只描述了在考试中一个局部或者说是一个极小的时间片段的情况,仅凭单帧图像对应的作弊判定结果做出判断有失公允,而且容易产生很多误报。通过对各单帧图像对应的作弊判定结果进行
结合进行综合判定将大大降低误判率。因此,通过基于各单帧图像对应的作弊判定结果进行统计分析,通过获取某段时间的作弊率判定待识别考生是否在作弊。例如,设定一个滑动的时间窗口,获取该时间窗口内各单帧图像的作弊率,若作弊率超过某一阈值则判定待识别考生在该时间窗口内作弊。
63.上述在线考试作弊识别方法中,获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像,对单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果,最后基于各单帧图像对应的作弊判定结果,判定待识别考生是否在作弊,通过获取单帧图像对应的作弊判定结果对待识别考生是否作弊进行判定,提高了对于在线考生作弊的识别效率。
64.在一个实施例中,所述基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果包括:
65.基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定,获取眨眼判定结果;
66.基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果;
67.基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果;
68.根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
69.具体地,基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定,获取眨眼判定结果;由于用户在考试过程中不可避免的会下意识的眨眼,当用户闭眼时,因为眼球消失,眨眼判定结果将被判定为闭眼,该单帧图像会被直接判定为没有看屏幕。基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果,单帧头部姿态估计判定单单帧图像中的头部相对于相机的方向角和位置,单帧头部姿态判定问题通常可以转化为perspective-n-point问题解决。只要有一个校准的相机,物体上n个三维点的位置和相应的投影到二维平面的投影点位置,就可以得到物体的姿态。图4为一个实施例中单帧双眼注视角度判定步骤的流程示意图,如图4所示,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果,单帧双眼注视角度判定对于输入的眼部图片,通过预设的深度学习网络可以充分的从中提取出相应的特征值。整个网络输出18张热力图,分别对应眼眶边缘和瞳孔的18个眼部关键点(其中,8个点位于眼眶周围,8个点位于瞳孔周围,1个眼球中心和1个瞳孔中心)。基于这18个眼部关键点和眼球模型,可以计算出每只眼睛的注视角度。最后,根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
70.本实施例中,通过基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼
判定,获取眨眼判定结果,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果,最后根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果,实现了对各单帧图像对应的作弊判定结果的获取,提高了对各单帧图像中待识别考生是否作弊判定的精度。
71.在一个实施例中,所述基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定,获取眨眼判定结果包括:
72.基于各单帧图像对应的单帧人脸坐标,计算待识别考生的眼睛长宽比;
73.若待识别考生的眼睛长宽比低于预设的眼睛长宽比阈值,输出待识别考生处于闭眼状态作为眨眼判定结果;
74.若待识别考生的眼睛长宽比大于或等于预设的眼睛长宽比阈值,输出待识别考生处于睁眼状态作为眨眼判定结果。
75.具体地,根据各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定时,我们需要通过68个人脸关键点的位置来确定双眼的位置,基于各单帧图像对应的单帧人脸坐标,计算待识别考生的眼睛长宽比,即眼睛周围的6个特征点{p1,p2,p3,p4,p5,p6}的长宽比可以用来判断是否眨眼,称为ear(eye aspect ratio,眼睛长宽比),眼睛长宽比的计算公式可参考如下公式:
[0076][0077]
当待识别考生的眼睛长宽比低于预设的眼睛长宽比阈值时,输出待识别考生处于闭眼状态作为眨眼判定结果;当待识别考生的眼睛长宽比大于或等于预设的眼睛长宽比阈值时,输出待识别考生处于睁眼状态作为眨眼判定结果。当用户睁眼时,ear会稳定在一定数值,此时判定为睁眼状态;而当用户闭眼时,ear会在短时间内快速下降,当ear小于预设的眼睛长宽比阈值(例如0.15)时,判定为闭眼状态。
[0078]
本实施例中,通过基于各单帧图像对应的单帧人脸坐标,计算待识别考生的眼睛长宽比,当待识别考生的眼睛长宽比低于预设的眼睛长宽比阈值时,输出待识别考生处于闭眼状态作为眨眼判定结果,当待识别考生的眼睛长宽比大于或等于预设的眼睛长宽比阈值时,输出待识别考生处于睁眼状态作为眨眼判定结果,提高了对于待识别考生进行眨眼判定的准确率。
[0079]
在一个实施例中,所述基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果包括:
[0080]
基于预设的通用三维人脸模型对所述单帧人脸坐标进行处理,获取所述单帧人脸坐标对应的二维人脸坐标;
[0081]
获取拍摄待识别考生的面部视频的摄像头的相机参数;所述相机参数包括相机的焦距和光学中心;
[0082]
将所述单帧人脸坐标、所述单帧人脸坐标对应的三维人脸坐标和所述相机参数输入预设的旋转量和偏移量计算公式,获取旋转量和偏移量作为单帧头部姿态判定结果。
[0083]
具体地,对待识别考生进行单帧头部姿态判定用于判断单帧图像中待识别考生的头部相对于相机的方向角和位置,本质属于姿态估计问题。姿态估计问题通常可以转化为perspective-n-point问题解决。在这个问题中,只要有一个校准的相机,物体上n个三维点的位置和相应的投影到二维平面的投影点位置,就可以得到物体的姿态。通过预设的通用三维人脸模型对单帧人脸坐标进行处理,获取单帧人脸坐标对应的二维人脸坐标;通过物体相对于相机的姿态,可以通过旋转和平移将世界坐标中的三维点转换为相机坐标中的三维点。单帧图像中二维坐标点的位置可以使用前文计算得到的68个人脸关键点的坐标,而这68个特征点对应的三维坐标可以通过一个通用三维人脸模型获取。获取拍摄待识别考生的面部视频的摄像头的相机参数,相机参数包括相机的焦距和光学中心,可以通过以像素为单位的图像宽度、图像的中心来近似,并假设不存在径向畸变。最后,将单帧人脸坐标、单帧人脸坐标对应的三维人脸坐标和相机参数输入预设的旋转量和偏移量计算公式,获取旋转量和偏移量作为单帧头部姿态判定结果。在opencv中,提供了函数solvepnp来计算perspective-n-point问题。其中,solvepnp函数需要输入以下参数:objectpoints:世界坐标系中的三维坐标点;imagepoints:对应的二维平面上的点;cameramatrix:相机参数,包括焦距和图像中光学中心;distcoeffs:畸变系数。solvepnp函数输出旋转向量和平移向量,此处输入dlib得到的人脸检测点中的部分二维平面点(鼻尖、下巴、左右眼、左右嘴角),就可通过计算得到对应的旋转和位移量。在本实施例中,将单帧人脸坐标、单帧人脸坐标对应的二维人脸坐标和相机参数输入预设的旋转量和偏移量计算公式,即可获取旋转量和偏移量作为单帧头部姿态判定结果。
[0084]
本实施例中,基于预设的通用三维人脸模型对单帧人脸坐标进行处理,获取所述单帧人脸坐标对应的二维人脸坐标,同时获取拍摄待识别考生的面部视频的摄像头的相机参数,最后将单帧人脸坐标、单帧人脸坐标对应的三维人脸坐标和相机参数输入预设的旋转量和偏移量计算公式,获取旋转量和偏移量作为单帧头部姿态判定结果,通过基于单帧人脸坐标、单帧人脸坐标对应的三维人脸坐标和相机参数进行单帧头部姿态判定获取旋转量和偏移量作为单帧头部姿态判定结果,提高了单帧头部姿态判定的精度。
[0085]
在一个实施例中,所述基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果包括:
[0086]
将各单帧图像输入预设的堆叠沙漏网络模型进行处理,获取多个眼部关键点;
[0087]
基于所述眼部关键点和各单帧图像对应的单帧人脸坐标对待识别考生进行单帧双眼注视角度判定,获取注视角度作为判定结果。
[0088]
具体地,将各单帧图像输入预设的堆叠沙漏网络模型进行处理,获取多个眼部关键点,即整个堆叠沙漏网络模型输出18张热力图,分别对应眼眶边缘和瞳孔的18个眼部关键点(其中,8个点位于眼眶周围,8个点位于瞳孔周围,1个眼球中心和1个瞳孔中心)。基于这18个眼部关键点和眼球模型,可以计算出每只眼睛的注视角度。基于眼部关键点和各单帧图像对应的单帧人脸坐标对待识别考生进行单帧双眼注视角度判定,获取注视角度作为判定结果。注视角度的计算公式可参考如下计算公式:
[0089]
[0090][0091]
其中,瞳孔中心为(u
i0
,v
i0
);眼球中心为(uc,vc);眼球半径为ruv;反余弦和反正弦中的数值会被裁剪到-1和1之间,以防止反三角函数不可计算。
[0092]
本实施例中,通过将各单帧图像输入预设的堆叠沙漏网络模型进行处理,获取多个眼部关键点,基于眼部关键点和各单帧图像对应的单帧人脸坐标对待识别考生进行单帧双眼注视角度判定,获取注视角度作为判定结果,实现了对于注视角度的获取,提高了获取的注视角度的效率。
[0093]
在一个实施例中,所述根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果包括:
[0094]
根据各单帧图像的眨眼判定结果,判断待识别考生是否处于睁眼状态;
[0095]
若待识别考生处于闭眼状态,判定该单帧图像中的待识别考生未看屏幕;
[0096]
若待识别考生处于睁眼状态,将单帧头部姿态判定结果和单帧双眼注视角度判定结果输入至预设的单帧作弊判定网络模型中,输出该单帧图像对应的作弊判定结果。
[0097]
其中,预设的单帧作弊判定网络模型是基于样本数据通过对支持向量机(support vector machine,svm)进行训练获取的;训练svm时,将样本图像提取的样本数据输入至初始化的svm中,输出对单帧图像的作弊判定结果,当训练达到预设的条件时,对svm的训练完成,获取单帧作弊判定网络模型。训练所使用的样本数据是9维的特征数据,包括待识别人员双眼的注视角度的平均值单帧头部姿态判定结果(r1,r2,r3);以及基于单帧人脸坐标获取的人脸框中心点坐标和长宽(x,y,w,h)。
[0098]
具体地,图5为一个实施例中单帧图像作弊判定步骤的流程示意图,如图5所示,首先根据各单帧图像的眨眼判定结果,判断待识别考生是否处于睁眼状态;当待识别考生处于闭眼状态时,判定该单帧图像中的待识别考生未看屏幕;当待识别考生处于睁眼状态时,将单帧头部姿态判定结果和单帧双眼注视角度判定结果转化为预设的单帧作弊判定网络模型所需的特征类型,包括待识别人员双眼的注视角度的平均值单帧头部姿态判定结果(r1,r2,r3);以及基于单帧人脸坐标获取的人脸框中心点坐标和长宽(x,y,w,h),并将上述特征数据输入至单帧作弊判定网络模型中,最后单帧作弊判定网络模型输出该单帧图像对应的作弊判定结果。
[0099]
本实施例中,通过根据各单帧图像的眨眼判定结果,对待识别考生是否处于睁眼状态进行判定,当待识别考生处于睁眼状态时,将单帧头部姿态判定结果和单帧双眼注视角度判定结果输入至预设的单帧作弊判定网络模型中,输出该单帧图像对应的作弊判定结果,实现了对单帧图像中待识别用户的作弊结果的判定,提高了对单帧图像进行作弊识别的准确率。
[0100]
在一个实施例中,所述基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊包括:
[0101]
将各单帧图像的作弊判定结果按照时间序列进行排列,生成作弊判定结果序列;
[0102]
获取所述作弊判定结果序列在预设时长的时间窗口内的作弊率;所述作弊率通过
计算所述时间窗口内被判定为作弊的次数与总判定次数的比值获取;
[0103]
基于各时间窗口的作弊率与预设的作弊率阈值,判定所述待识别考生是否在作弊。
[0104]
具体地,在获取各单帧图像对应的作弊判定结果以后,由于单帧图像只描述了在考试中一个局部或者说是一个极小的时间片段的情况,仅凭单帧图像对应的作弊判定结果做出判断有失公允,而且容易产生很多误报。通过对各单帧图像对应的作弊判定结果进行结合进行综合判定将大大降低误判率。将各单帧图像的作弊判定结果按照时间序列进行排列,生成作弊判定结果序列,获取作弊判定结果序列在预设时长的时间窗口内的作弊率,基于各时间窗口的作弊率与预设的作弊率阈值,判定待识别考生是否在作弊。例如,时间窗口可以取值15秒;作弊率阈值可以设定为30%;作弊率的计算公式可参考如下公式:
[0105][0106]
其中,cheat ratio是作弊率;∑
cheat frames
是时间窗口内被判定为作弊的次数;∑
frames
是总判定次数。
[0107]
当各时间窗口的作弊率超过预设的作弊率阈值时,判定该时间窗口待识别考生在作弊;当有预设数目的时间窗口被认定为待识别考生在作弊时,判定待识别考生作弊,并即可输出带视频编号、出现作弊情况的相对时点位置等信息,后续这些信息可自动判定作弊或作为人工二次审核的输入。
[0108]
本实施例中,通过将各单帧图像的作弊判定结果按照时间序列进行排列,生成作弊判定结果序列,获取作弊判定结果序列在预设时长的时间窗口内的作弊率,最后基于各时间窗口的作弊率与预设的作弊率阈值,判定待识别考生是否在作弊,实现了对待识别考生是否在作弊的判定,提高了对于在线考生作弊的识别效率。
[0109]
应该理解的是,虽然图2、4和5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4和5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0110]
在一个实施例中,如图6所示,提供了一种在线考试作弊识别装置,包括:图像获取模块601、坐标获取模块602、单帧判定模块603和综合判定模块604,其中:
[0111]
图像获取模块601,用于获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像。
[0112]
坐标获取模块602,用于对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标。
[0113]
单帧判定模块603,用于基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
[0114]
综合判定模块604,用于基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
[0115]
在一个实施例中,所述单帧判定模块603,还用于:基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定,获取眨眼判定结果;基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果;基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果;根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
[0116]
在一个实施例中,所述单帧判定模块603,还用于:基于各单帧图像对应的单帧人脸坐标,计算待识别考生的眼睛长宽比;若待识别考生的眼睛长宽比低于预设的眼睛长宽比阈值,输出待识别考生处于闭眼状态作为眨眼判定结果;若待识别考生的眼睛长宽比大于或等于预设的眼睛长宽比阈值,输出待识别考生处于睁眼状态作为眨眼判定结果。
[0117]
在一个实施例中,所述单帧判定模块603,还用于:基于预设的通用三维人脸模型对所述单帧人脸坐标进行处理,获取所述单帧人脸坐标对应的二维人脸坐标;获取拍摄待识别考生的面部视频的摄像头的相机参数;所述相机参数包括相机的焦距和光学中心;将所述单帧人脸坐标、所述单帧人脸坐标对应的二维人脸坐标和所述相机参数输入预设的旋转量和偏移量计算公式,获取旋转量和偏移量作为单帧头部姿态判定结果。
[0118]
在一个实施例中,所述单帧判定模块603,还用于:将各单帧图像输入预设的堆叠沙漏网络模型进行处理,获取多个眼部关键点;基于所述眼部关键点和各单帧图像对应的单帧人脸坐标对待识别考生进行单帧双眼注视角度判定,获取注视角度作为判定结果。
[0119]
在一个实施例中,所述单帧判定模块603,还用于:根据各单帧图像的眨眼判定结果,判断待识别考生是否处于睁眼状态;若待识别考生处于闭眼状态,判定该单帧图像中的待识别考生未看屏幕;若待识别考生处于睁眼状态,将单帧头部姿态判定结果和单帧双眼注视角度判定结果输入至预设的单帧作弊判定网络模型中,输出该单帧图像对应的作弊判定结果。
[0120]
在一个实施例中,所述综合判定模块604,还用于:将各单帧图像的作弊判定结果按照时间序列进行排列,生成作弊判定结果序列;获取所述作弊判定结果序列在预设时长的时间窗口内的作弊率;所述作弊率通过计算所述时间窗口内被判定为作弊的次数与总判定次数的比值获取;基于各时间窗口的作弊率与预设的作弊率阈值,判定所述待识别考生是否在作弊。
[0121]
上述在线考试作弊识别装置,获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像,对单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果,最后基于各单帧图像对应的作弊判定结果,判定待识别考生是否在作弊,通过获取各单帧图像对应的作弊判定结果对待识别考生是否作弊进行判定,提高了对于在线考生作弊的识别效率。
[0122]
关于在线考试作弊识别装置的具体限定可以参见上文中对于在线考试作弊识别方法的限定,在此不再赘述。上述在线考试作弊识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处
理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0123]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种在线考试作弊识别方法。
[0124]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0125]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0126]
获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像;
[0127]
对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标;
[0128]
基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果;
[0129]
基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
[0130]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定,获取眨眼判定结果;基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果;基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果;根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
[0131]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于各单帧图像对应的单帧人脸坐标,计算待识别考生的眼睛长宽比;若待识别考生的眼睛长宽比低于预设的眼睛长宽比阈值,输出待识别考生处于闭眼状态作为眨眼判定结果;若待识别考生的眼睛长宽比大于或等于预设的眼睛长宽比阈值,输出待识别考生处于睁眼状态作为眨眼判定结果。
[0132]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于预设的通用三维人脸模型对所述单帧人脸坐标进行处理,获取所述单帧人脸坐标对应的二维人脸坐标;获取拍摄待识别考生的面部视频的摄像头的相机参数;所述相机参数包括相机的焦距和光学中心;将所述单帧人脸坐标、所述单帧人脸坐标对应的二维人脸坐标和所述相机参数输入预设的旋转量和偏移量计算公式,获取旋转量和偏移量作为单帧头部姿态判定结果。
[0133]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将各单帧图像输入
预设的堆叠沙漏网络模型进行处理,获取多个眼部关键点;基于所述眼部关键点和各单帧图像对应的单帧人脸坐标对待识别考生进行单帧双眼注视角度判定,获取注视角度作为判定结果。
[0134]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据各单帧图像的眨眼判定结果,判断待识别考生是否处于睁眼状态;若待识别考生处于闭眼状态,判定该单帧图像中的待识别考生未看屏幕;若待识别考生处于睁眼状态,将单帧头部姿态判定结果和单帧双眼注视角度判定结果输入至预设的单帧作弊判定网络模型中,输出该单帧图像对应的作弊判定结果。
[0135]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将各单帧图像的作弊判定结果按照时间序列进行排列,生成作弊判定结果序列;获取所述作弊判定结果序列在预设时长的时间窗口内的作弊率;所述作弊率通过计算所述时间窗口内被判定为作弊的次数与总判定次数的比值获取;基于各时间窗口的作弊率与预设的作弊率阈值,判定所述待识别考生是否在作弊。
[0136]
上述计算机设备,获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像,对单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果,最后基于各单帧图像对应的作弊判定结果,判定待识别考生是否在作弊,通过获取各单帧图像对应的作弊判定结果对待识别考生是否作弊进行判定,提高了对于在线考生作弊的识别效率。
[0137]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0138]
获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像;
[0139]
对所述单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标;
[0140]
基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果;
[0141]
基于各单帧图像对应的作弊判定结果,判定所述待识别考生是否在作弊。
[0142]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于各单帧图像对应的单帧人脸坐标,对待识别考生进行眨眼判定,获取眨眼判定结果;基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧头部姿态判定,获取单帧头部姿态判定结果;基于各单帧图像和各单帧图像对应的单帧人脸坐标,对待识别考生进行单帧双眼注视角度判定,获取单帧双眼注视角度判定结果;根据各单帧图像的眨眼判定结果、单帧头部姿态判定结果和单帧双眼注视角度判定结果对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果。
[0143]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于各单帧图像对应的单帧人脸坐标,计算待识别考生的眼睛长宽比;若待识别考生的眼睛长宽比低于预设的眼睛长宽比阈值,输出待识别考生处于闭眼状态作为眨眼判定结果;若待识别考生的
眼睛长宽比大于或等于预设的眼睛长宽比阈值,输出待识别考生处于睁眼状态作为眨眼判定结果。
[0144]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于预设的通用三维人脸模型对所述单帧人脸坐标进行处理,获取所述单帧人脸坐标对应的二维人脸坐标;获取拍摄待识别考生的面部视频的摄像头的相机参数;所述相机参数包括相机的焦距和光学中心;将所述单帧人脸坐标、所述单帧人脸坐标对应的二维人脸坐标和所述相机参数输入预设的旋转量和偏移量计算公式,获取旋转量和偏移量作为单帧头部姿态判定结果。
[0145]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将各单帧图像输入预设的堆叠沙漏网络模型进行处理,获取多个眼部关键点;基于所述眼部关键点和各单帧图像对应的单帧人脸坐标对待识别考生进行单帧双眼注视角度判定,获取注视角度作为判定结果。
[0146]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据各单帧图像的眨眼判定结果,判断待识别考生是否处于睁眼状态;若待识别考生处于闭眼状态,判定该单帧图像中的待识别考生未看屏幕;若待识别考生处于睁眼状态,将单帧头部姿态判定结果和单帧双眼注视角度判定结果输入至预设的单帧作弊判定网络模型中,输出该单帧图像对应的作弊判定结果。
[0147]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将各单帧图像的作弊判定结果按照时间序列进行排列,生成作弊判定结果序列;获取所述作弊判定结果序列在预设时长的时间窗口内的作弊率;所述作弊率通过计算所述时间窗口内被判定为作弊的次数与总判定次数的比值获取;基于各时间窗口的作弊率与预设的作弊率阈值,判定所述待识别考生是否在作弊。
[0148]
上述存储介质,获取待识别考生的面部视频,按照预设的抽样周期对所述面部视频进行抽样处理,获取不少于一张单帧图像,对单帧图像按照时间序列分别进行单帧人脸检测处理,获取各单帧图像对应的单帧人脸坐标,基于各单帧图像和各单帧图像对应的单帧人脸坐标,对各单帧图像中的待识别考生进行作弊判定,生成各单帧图像对应的作弊判定结果,最后基于各单帧图像对应的作弊判定结果,判定待识别考生是否在作弊,通过获取各单帧图像对应的作弊判定结果对待识别考生是否作弊进行判定,提高了对于在线考生作弊的识别效率。
[0149]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0150]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例
中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0151]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
转载请注明原文地址:https://win.8miu.com/read-1052717.html