1.一种在线学习专注度检测方法,其特征在于,包括如下步骤:S1、提取在线学习者视频流数据的帧图像数据;
S2、对帧图像数据进行面部特征提取,获得人脸特征点、以及眼部图像;其中人脸特征点包括眼部特征、嘴部特征、头部特征;
S3、根据眼部特征,计算眼睛纵横比;根据嘴部特征,计算嘴部纵横比;根据头部特征,计算头部姿态欧拉角;以眼部图像为输入、对应的眼睛视线方向为输出构建并训练视线估计模型;
所述眼睛纵横比,按如下公式计算:
其中,P
嘴部纵横比,按如下公式计算:
对应的头部姿态欧拉角按如下步骤S301至S305获得:S301、将世界坐标系UVW转换到相机坐标系XYZ,如下式:其中,(X,Y,Z)表示相机坐标系的点,(U,V,W)表示世界坐标系的点,R表示旋转矩阵,T表示平移向量;
S302、由相机坐标系XYZ转换到像素坐标系xy,如下式:其中,(x,y)表示像素坐标系的点,f
S303、像素坐标系和世界坐标系的关系如下式:
S304、用直接线性变换法结合最小二乘进行迭代求解上述函数,得到图像中心坐标系到像素坐标系公式如下式:S305、然后得到旋转矩阵后求头部姿态欧拉角如下式:其中,r
视线估计模型包括视线高分辨率网络、以及与该视线高分辨率网络连接的图像帧生成模块、以及视线帧网络;
视线高分辨率网络作为主干网络,是视线估计模型的特征提取网络,采用HRNet网络架构,该主干网络包括若干个分支,各个分支用于提取不同分辨率的眼部图像的特征,且各个分支交互进行特征融合,获得热力图、标记点坐标、注视点半径,并将热力图、标记点坐标输入至图像帧生成模块,图像帧生成模块生成新的图像帧融合了眼睛形状和瞳孔位置信息,视线帧网络包括依次连接的第一卷积层、第二卷积层、第三卷积层、以及一个全连接层,第一卷积层作为视线帧网络的输入端接收新的图像帧,之后经过第二卷积层、第三卷积层后与视线高分辨率网络中得到的注视点的半径进行拼接,最后通过全连接层进行线性回归得到最终的视线估计二维值;
S4、根据眼睛纵横比、嘴部纵横比、头部姿态欧拉角、以及视线估计模型,构建并获得注意力检测模块,具体为:分别设置眼睛纵横比、嘴部纵横比、头部姿态欧拉角、眼睛视线方向的得分,结合各个得分,设置注意力检测模块阈值,大于等于阈值判断为注意力分散,小于阈值为注意力集中;
S5、实时采集在线学习者在线学习视频流数据,然后执行步骤S1至步骤S2;之后执行步骤S3计算眼睛纵横比、嘴部纵横比、头部姿态欧拉角,并应用视线估计模型获得眼睛视线方向,然后应用步骤S4的注意力检测模块,判断在线学习者注意力。
2.根据权利要求1所述的一种在线学习专注度检测方法,其特征在于,步骤S2包括以下子步骤:S201:初始化Dlib人脸检测器,然后创建面部标志物预测;
S202;获得脸部位置检测器;
S203:获得脸部特征位置检测器;
S204:获取左右眼面部标志的索引;
S205、对本地摄像头采集的视频流数据的帧图像数据进行灰度化处理,得到预设数量的人脸特征点。
3.根据权利要求1所述的一种在线学习专注度检测方法,其特征在于,视线高分辨率网络进行特征提取具体为:将眼部图像输入至主干网络,主干网络特征融合的输入输出如下式:输入={X
其中,{X
其中Y
其中,上采样是通过一个卷积核大小为1×1的卷积层然后经过批归一化层,最后经过最邻近插值上采样直接放大n倍;下采样每下采样两倍都要增加一个卷积核大小为3×3,步长为2的卷积层,最后经过一个批归一化层;视线高分辨率网络最后一层的卷积层用于生成预测结果,视线高分辨率网络的输出为热力图、标记点坐标、注视点半径。
4.根据权利要求3所述的一种在线学习专注度检测方法,其特征在于,第一层卷积层根据输入图像是否为高分辨率图像来界定第一层卷积层步长的大小,如果是高分辨率图像,那么步长为2,否则步长为1,每一个卷积层后面都连接归一化层和relu激活函数。
5.根据权利要求4所述的一种在线学习专注度检测方法,其特征在于,视线高分辨率网络的损失函数由热力图损失、标记点损失、半径损失构成,都使用均方误差损失,计算预测值和真实值之间的误差,如下式:其中,
视线帧网络的损失函数使用角度损失函数,计算预测值和真实值标签之间的角度差,损失函数就是所有样本角度差的平均值,如下式:其中,t(·)表示将角度转换为单位向量的函数,ξ′表示视线预测值,ξ表示视线真实值。