1.本发明涉及机器学习视觉技术领域,尤其涉及一种基于随机森林的线上考试监考方法。
背景技术:2.随着在线学习不断普及,在线考试也受到越来越多人的欢迎。然而,在线考试的一个主要挑战是如何以有效且可靠的方式在线监考。根据调查显示,约有74%的学生表示在线考试很容易作弊,近29%的学生在线考试时曾作弊。这些作弊行为会损害在线考试的公信力,这使得在线监考对于进一步扩大线上考试的应用至关重要。
3.研究人员提出了许多不同的在线监考方法,通常可以分为三类:手动监考、全自动监考和半自动监考。手动监考,即监考人要查看所有考生的考试视频,这项工作耗时且劳动密度高。与之相反,全自动监考是电脑基于机器学习技术分析考生考试期间的行为,自行检测可疑行为并直接将其分类为作弊或非作弊。然而,现有的全自动监考方法往往难以达到非常高的准确度,常有误判情况发生。半自动监考方法结合了机器学习方法和监考人员的进一步手动确认,在降低劳动密度的同时提高了线上监考效率。
4.目前使用的监考软件有较高模型成本,操作复杂,使其对用户不太友好,并且常常需要外部设备,例如眼动追踪仪。但是在远程监考中,不可能为所有应试者配备此类设备,实际考试中很难大规模投入使用。
技术实现要素:5.本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于随机森林的线上考试监考方法,该方法只需借助网络摄像头,从而降低对设备的需求,有助于推进线上考试的发展。
6.为了实现上述目的,本发明采用了如下技术方案:
7.一种基于随机森林的线上考试监考方法,具体步骤如下:
8.s1:在获得视频帧的图片后,利用改进的mtcnn方法进行人脸检测,特征提取和人脸对齐;
9.s2:基于面部特征点计算头部姿态;
10.s3:基于随机森林,融合头部姿态和面部特征进行视线估计;
11.s4:对作弊行为进行判断。
12.优选地,在步骤s1中,具体步骤如下:
13.s101:使用lapa数据集对mtcnn网络模型进行训练,得到人脸边界框信息以及106个特征点标注;
14.s102:对识别出的人脸进行对齐处理;
15.s103:将对齐后的人脸图像进行归一化处理。
16.优选地,在步骤s2中,利用已得到的面部特征点计算头部姿态,具体步骤如下:
17.s201:选用aflw数据集,将训练集中的图片水平翻转φ度,增广数据;
18.s202:调整旋转之后,重新定位新边框的顶点如下:
19.设原始边框的坐标为(x
min
,x
max
,y
min
,y
max
),图像中心的坐标为(xc,yc);
20.将原始图像的顶点绕(xc,yc)旋转φ度,得到新的边框顶点坐标:
21.x
′
min
=min{x cosφ+y sinφ}+x022.x
′
max
=max{x cosφ+y sinφ}+x023.y
′
min
=min{-x cosφ+y sinφ}+y024.y
′
max
=max{-x cosφ+y sinφ}+y025.其中:
26.xo=xc(1-cosφ)-y
c sinφ
27.yo=x
c sinφ+yc(1-cosφ)
28.s203:根据上述变换,可以求得水平旋转矩阵如下:
[0029][0030]
s204:求得欧拉角如下,其中α表示俯仰,β表示偏航,γ表示滚转;
[0031][0032]
β
′
=sin-1m31
[0033][0034]
优选地,在步骤s3中,具体步骤如下:
[0035]
s301:选用cart回归树,用最小二乘法作为节点分裂的依据:
[0036]
在实际操作中,传统的cart回归树选取最小均方差作为节点分裂的依据,若到达叶节点的样本个数较多且数值相差较大时,会导致模型训练和预测的准确度严重下降,因此提出用最小二乘法改进节点的分类属性。最小二乘法是一种曲线拟合方法,其基本思想是误差平方和最小化原则,找出数据的最佳函数匹配,具体算法步骤如下:
[0037]
(1)初始时刻将训练集中数据分配到根节点,训练数据集中的离差平方和,公式如下:
[0038][0039]
其中,yi表示第i个样本的目标函数,y表示m个样本的目标函数平均值;
[0040]
(2)对每一个属性的xi的所有值进行排序,取同一属性的相邻两个样本的均值x
i,k
,将其作为阈值将训练集分为左右两部分,计算两部分的离差平方和d
i,r
,d
i,l
;
[0041]
(3)找到使δd=d
i-d
i,r-d
i,l
最大化的x
i,k
作为分类点,将样本分为s
i,l
,s
i,r
两部分,对这两个子集重复相同步骤直到当前子集满足分裂终止法则,将到达叶节点的所有目标值拟合成函数表达式,对回归树剪枝,获得规则集;
[0042]
s302:针对过拟合的问题,采用l2正则项进行优化,提高模型泛化能力;
[0043]
为提高系统泛化能力,解决过拟合问题,常用的一种方法是加入正则化项,对模型进行约束,这里选择加入权值向量的l2范数。
[0044]
其中假设随机森林的初始损失函数为l0,优化后的损失函数为:
[0045][0046]
s303:将眼部特征点信息以及头部姿态信息输入到训练好的随机森林视线估计模型中,输出视线估计结果。
[0047]
优选地,在步骤s4中,具体步骤如下:
[0048]
s401:在开始眼动追踪之前,视线估计模型提供9个校对点,系统通过用户点击校对点收集注视点信息,并且通过收集的凝视数据检测屏幕角,屏幕角x,y轴的计算如下:
[0049]
x
min
=(x1+x7)/2
[0050]
x
max
=(x3+x9)/2
[0051]ymin
=(y1+y3)/2
[0052]ymax
=(y7+y9)/2
[0053]
假设眼睛注视坐标为(g
x
,gy),若g
x
<x
min
|g
x
>x
max
|gy<y
min
|gy>y
max
,则认为考生没有看屏幕;
[0054]
s402:考试期间,逐帧记录注视点,若在连续20s内,考生视线在屏幕外的时间大于50%则标记为异常,向考生发出警示,并且在考试结束将完整的视线记录生成可视图发送给监考员,监考员可以选择对异常时间段内考生的作弊行为进行人为判断。
[0055]
与现有技术相比,本发明具有以下有益效果:
[0056]
1、本发明使用基于迁移学习的人脸检测方法可以在人脸存在较大角度偏转以及暗光条件下很好的检测到人脸,在佩戴眼镜的情况下也可以准确获取到特征点信息。
[0057]
2、本发明采用l2正则化优化损失函数可以解决过拟合问题。
[0058]
3、本发明采用最小二乘算法优化分类属性,可以提高训练和预测的准确度。
[0059]
4、本发明在训练头部姿态模型时,水平翻转增广数据集,可以进一步减少头部姿态对注视点的影响。
[0060]
5、本发明只需借助网络摄像头,从而降低对设备的需求,有助于推进线上考试的发展;能够实时检测考生作弊情况,减少作弊行为发生的概率。
附图说明
[0061]
图1为本发明的流程图;
[0062]
图2为本发明中面部特征点标注图;
[0063]
图3为本发明中视线估计框架图;
[0064]
图4为本发明中视线校准点图。
具体实施方式
[0065]
下面结合附图将对本发明实施例中的技术方案进行清楚、完整地描述,以使本领域的技术人员能够更好的理解本发明的优点和特征,从而对本发明的保护范围做出更为清
楚的界定。本发明所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066]
如图1所示,一种基于随机森林的线上考试监考方法,具体步骤如下:
[0067]
s1:在获得视频帧的图片后,利用改进的mtcnn方法进行人脸检测,获取人脸图像区域,然后对检测到的人脸区域进行人脸对齐,以此获得人脸的关键特征信息;
[0068]
s101:使用lapa数据集对mtcnn网络模型进行训练,获得人脸边界框信息以及106个特征点标注,其中假设瞳孔中心坐标为(x0,y0)。特征点如图2所示;
[0069]
s102:对识别出的人脸进行对齐处理;
[0070]
s103:将对齐后的人脸图像进行归一化处理,采用归一化后的欧式距离作为评价标准,具体计算方法如下:
[0071][0072]
其中n表示特征点个数,表示第i个特征点的预测坐标,表示第i个特征点的真实坐标,d
io
表示左右外眼角的距离,e为所求误差值,表示对齐精度。
[0073]
s2:利用已得到的面部特征点计算头部姿态;
[0074]
s201:选用aflw数据集,按8:2分为训练集和测试集,将训练集中的图片水平翻转φ度,增广数据;
[0075]
s202:调整旋转之后,重新定位新边框的顶点如下:
[0076]
设原始边框的坐标为(x
min
,x
max
,y
min
,y
max
),图像中心的坐标为(xc,yc);
[0077]
将原始图像的顶点绕(xc,yc)旋转φ度,得到新的边框顶点坐标;
[0078]
x
′
min
=min{x cosφ+y sinφ}+x0[0079]
x
′
max
=max{x cosφ+y sinφ}+x0[0080]y′
min
=min{-x cosφ+y sinφ}+y0[0081]y′
max
=max{-x cosφ+y sinφ}+y0[0082]
其中,
[0083]
xo=xc(1-cosφ)-y
c sinφ
[0084]yo
=x
c sinφ+yc(1-cosφ)
[0085]
s203:根据上述变换,可以求得水平旋转矩阵如下:
[0086][0087][0088]
s204:求得欧拉角如下:
[0089]
β
′
=sin-1m31
[0090][0091]
s3:基于随机森林,融合头部姿态和面部特征进行视线估计;
[0092]
s301:选用cart回归树,用最小二乘法作为节点分类的依据;
[0093]
在实际操作中,传统的cart回归树选取最小均方差作为节点分裂的依据,若到达叶节点的样本个数较多且数值相差较大时,会导致模型训练和预测的准确度严重下降,以此提出用最小二乘法改进节点的分类属性。最小二乘法是一种曲线拟合方法,其基本思想是误差平方和最小化原则,找出最佳的匹配函数,具体算法步骤如下:
[0094]
(1)初始时刻将训练集中数据分配到根节点,训练数据集中的离差平方和,公式如下:
[0095][0096]
其中,yi表示第i个样本的目标函数,y表示m个样本的目标函数平均值;
[0097]
(2)对每一个属性的xi的所有值进行排序,取同一属性的相邻两个样本的均值x
i,k
,将其作为阈值将训练集分为左右两部分,计算两部分的离差平方和d
i,r
,d
i,l
;
[0098]
(3)找到使δd=d
i-d
i,r-d
i,l
最大化的x
i,k
作为分类点,将样本分为s
i,l
,s
i,r
两部分,对这两个子集重复相同步骤直到当前子集满足分裂终止法则,到达叶节点的所有目标值拟合成函数表达式,对回归树剪枝,获得规则集;
[0099]
s302:针对过拟合的问题,采用l2正则项进行优化;
[0100]
为提高系统泛化能力,解决过拟合问题,常用的一种方法是加入正则化项,对模型进行约束,这里选择加入权值向量的l2范数。
[0101]
其中假设随机森林的初始损失函数为l0,优化后新的损失函数为:
[0102][0103]
在选择参数λ时,如果λ过小,则正则化无效,无法解决过拟合的问题,反之,若取值过大会出现欠拟合问题。实验发现在λ=1.5时效果最佳。
[0104]
s303:将眼部特征点信息以及头部姿态信息输入到训练好的随机森林视线估计模型中,输出视线估计结果,视线估计框架图如图3所示。
[0105]
s4:对作弊行为进行判断;
[0106]
s401:在开始眼动追踪之前,视线估计模型提供9个校对点,系统通过用户点击校对点收集注视点信息,并且通过收集的凝视数据检测屏幕角,校对点分布如图4所示。屏幕角x,y轴的计算如下:
[0107]
x
min
=(x1+x7)/2
[0108]
x
max
=(x3+x9)/2
[0109]ymin
=(y1+y3)/2
[0110]ymax
=(y7+y9)/2
[0111]
假设眼睛注视坐标为(g
x
,gy),若g
x
<x
min
|g
x
>x
max
|gy<y
min
|gy>y
max
,则认为考生没有看屏幕;
[0112]
其中用户需要对每个校对点点击5次进行确认,视线估计模型取5次视线点信息的平均值作为真正的注视点;
[0113]
s402:考试期间,逐帧记录注视点,若在连续20s内,考生视线在屏幕外的时间大于50%则标记为异常,向考生发出警示,并且在考试结束将完整的视线记录生成可视图发送给监考员,监考员可以选择对异常时间段内考生的作弊行为进行人为判断。
[0114]
综上所述,本发明只需借助网络摄像头,从而降低对设备的需求,有助于推进线上考试的发展;能够实时检测考生作弊情况,减少作弊行为发生的概率。
[0115]
本发明中披露的说明和实践,对于本技术领域的普通技术人员来说,都是易于思考和理解的,且在不脱离本发明原理的前提下,还可以做出若干改进和润饰。因此,在不偏离本发明精神的基础上所做的修改或改进,也应视为本发明的保护范围。
技术特征:1.一种基于随机森林的线上考试监考方法,其特征在于,具体步骤如下:s1:在获得视频帧的图片后,利用改进的mtcnn方法进行人脸检测,特征提取和人脸对齐;s2:基于面部特征点计算头部姿态;s3:基于随机森林,融合头部姿态和面部特征进行视线估计;s4:对作弊行为进行判断。2.根据权利要求1所述的一种基于随机森林的线上考试监考方法,其特征在于,在步骤s1中,具体步骤如下:s101:使用lapa数据集对mtcnn网络模型进行训练,得到人脸边界框信息以及106个特征点标注;s102:对识别出的人脸进行对齐处理;s103:将对齐后的人脸图像进行归一化处理。3.根据权利要求1所述的一种基于随机森林的线上考试监考方法,其特征在于,在步骤s2中,利用已得到的面部特征点计算头部姿态,具体步骤如下:s201:选用aflw数据集,将训练集中的图片水平翻转φ度,增广数据;s202:调整旋转之后,重新定位新边框的顶点如下:设原始边框的坐标为(x
min
,x
max
,y
min
,y
max
),图像中心的坐标为(x
c
,y
c
);将原始图像的顶点绕(x
c
,y
c
)旋转φ度,得到新的边框顶点坐标:x
′
min
=min{x cosφ+y sinφ)+x0x
′
max
=max{x cosφ+y sinφ}+x0y
′
min
=min{-x cosφ+y sinφ}+y0y
′
max
=max{-x cosφ+y sinφ}+y0其中:x
o
=x
c
(1-cosφ)-y
c
sinφy
o
=x
c
sinφ+y
c
(1-cosφ)s203:根据上述变换,可以求得水平旋转矩阵如下:s204:求得欧拉角如下,其中α表示俯仰,β表示偏航,γ表示滚转;β
′
=sin-1
m
31
4.根据权利要求1所述的一种基于随机森林的线上考试监考方法,其特征在于,在步骤s3中,具体步骤如下:
s301:选用cart回归树,用最小二乘法作为节点分裂的依据,具体步骤如下:(1)初始时刻将训练集中数据分配到根节点,训练数据集中的离差平方和,公式如下:其中,y
i
表示第i个样本的目标函数,y表示m个样本的目标函数平均值;(2)对每一个属性的x
i
的所有值进行排序,取同一属性的相邻两个样本的均值x
i,k
,将其作为阈值将训练集分为左右两部分,计算两部分的离差平方和d
i,r
,d
i,l
;(3)找到使δd=d
i-d
i,r-d
i,l
最大化的x
i,k
作为分类点,将样本分为s
i,l
,s
i,r
两部分,对这两个子集重复相同步骤直到当前子集满足分裂终止法则,将到达叶节点的所有目标值拟合成函数表达式,对回归树剪枝,获得规则集;s302:针对过拟合的问题,采用l2正则项进行优化,提高模型泛化能力;其中假设随机森林的初始损失函数为l0,优化后的损失函数为:s303:将眼部特征点信息以及头部姿态信息输入到训练好的随机森林视线估计模型中,输出视线估计结果。5.根据权利要求1所述的一种基于随机森林的线上考试监考方法,其特征在于,在步骤s4中,具体步骤如下:s401:在开始眼动追踪之前,视线估计模型提供9个校对点,系统通过用户点击校对点收集注视点信息,并且通过收集的凝视数据检测屏幕角,屏幕角x,y轴的计算如下:x
min
=(x1+x7)/2x
max
=(x3+x9)/2y
min
=(y1+y3)/2y
max
=(y7+y9)/2假设眼睛注视坐标为(g
x
,g
y
),若g
x
<x
min
|g
x
>x
max
|g
y
<y
min
|g
y
>y
max
,则认为考生没有看屏幕;s402:考试期间,逐帧记录注视点,若在连续20s内,考生视线在屏幕外的时间大于50%则标记为异常,向考生发出警示,并且在考试结束将完整的视线记录生成可视图发送给监考员,监考员可以选择对异常时间段内考生的作弊行为进行人为判断。
技术总结本发明涉及机器学习视觉技术领域,尤其涉及一种基于随机森林的线上考试监考方法,包括以下步骤:S1:在获得视频帧的图片后,利用改进的MTCNN方法进行人脸检测,特征提取和人脸对齐;S2:基于面部特征点计算头部姿态;S3:基于随机森林,融合头部姿态和面部特征进行视线估计;S4:对作弊行为进行判断。本发明使用基于迁移学习的人脸检测方法可以在人脸存在较大角度偏转以及暗光条件下很好的检测到人脸,在佩戴眼镜的情况下也可以准确获取到特征点信息。本发明只需借助网络摄像头,从而降低对设备的需求,有助于推进线上考试的发展;能够实时检测考生作弊情况,减少作弊行为发生的概率。减少作弊行为发生的概率。减少作弊行为发生的概率。
技术研发人员:徐慧 赵晨薇 尹必才 王惠荣
受保护的技术使用者:南通大学
技术研发日:2022.07.01
技术公布日:2022/11/1