一种基于表情识别的风险学生预测方法

文档序号:27980494发布日期:2021-12-15 02:50阅读:178来源:国知局
一种基于表情识别的风险学生预测方法

1.本发明涉及计算机视觉技术,尤其涉及一种基于表情识别的风险学生预测方法。


背景技术:

2.近年来,随着社会竞争的加大学生的压力也逐渐加重,学生群体中出现学习的问题也越来越多,学习问题的增多引发学生的学习风险。当前针对学生学习问题而引发的学习风险还未找到行之有效的方法。随着深度学习的发展,人脸表情识别可以为学生风险预测提供有效帮助。人脸表情是人类表达内心情感和意图最普遍的信号之一,有研究表明在表达情感和态度时,面部表情所能传达的信息高达93%,将人脸表情识别用于风险学生检测中可以真实可靠的反映学生状态。


技术实现要素:

3.本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于表情识别的风险学生预测方法。
4.本发明解决其技术问题所采用的技术方案是:一种基于表情识别的风险学生预测方法,包括以下步骤:
5.1)将输入的学生人脸图像转为张量,将这些张量按比例分为训练集和测试集;
6.2)训练基于表情识别风险学生的学习模型,构造分为消极表情和非消极表情的二维高斯软标签,将训练集张量输入基于标签分布的学习模型,以预测标签分布和真实标签分布之间的差异最小化为目标训练学习模型;
7.所述基于表情识别风险学生的学习模型是基于卷积神经网络模型表征的n2n(negative and non

negative network)识别模型;
8.3)将测试集张量输入训练好的学习模型中进行特征提取和表情识别,将识别的结果存储到学生情绪库;
9.4)根据学生的表情识别的结果分析学生的情绪状态,判断该学生是否为风险学生。
10.按上述方案,步骤1)中将输入的人脸图像转为张量,具体如下,将人脸图像按照固定的尺寸进行随机分割,在图片的右上角,左上角,中心,左下角,右下角进行切割,并做镜像转换,图像数据扩大10倍,然后将这些图像数据进行几何归一化,转为张量tensor。
11.按上述方案,所述学习模型包括:
12.主干网络结构,包括13个由卷积层、batchnorm层和relu层组成的卷积模块,每一个卷积模块后面连接一个平均池化层,在第二、第四、第七、第十和第十三个平均池化层后分别连接一个最大池化层,最后连接一个全连接层;
13.主干网络结构的输入为张量图像,主干网络结构的输出维度为12的特征向量;
14.向量相似度计算模块,用于将给定两张面部表情图像(img1,img2)的维度为12的特征向量进行余弦相似度计算cos(img1,img2),以此代表表情图像之间的相似度,其中,
img1和img2分别为消极表情和非消极表情图像;
15.标签分布模块,用于以消极表情和非消极表情为x和y轴,将表情相似度作为z轴,将消极表情和非消极表情相似度按中心螺旋排序分布到三维坐标系中,服从高斯分布;
16.所述基本表情包括:开心:ha,惊讶:su,中性:ne,悲伤:sa,害怕:fe,厌恶:di,生气:an,其中开心:ha,惊讶:su,中性:ne为非消极表情,悲伤:sa,害怕:fe,厌恶:di,生气:an为消极表情;
17.标签学习模块,利用二维高斯分布来学习表情中消极情绪和非消极情绪的分布;
18.消极情绪和非消极情绪的高斯分布
19.g(img1,img2)=[1/(2*pi*o
’2)]*exp(

(img12+img22)/(2*o’2)
),
[0020]
其中,表示img1为消极表情(非消极表情)的语义特征,img2为非消极表情(消极表情)的语义特征,g(img1,img2)表示消极表情与非消极表情之间的高斯分布计算。
[0021]
用kl

loss计算损失
[0022]
其中,d
i
是真实标签分布,是预测的标签分布,j为样本空间中的第j个样本。
[0023]
按上述方案,所述训练学习模型的过程如下:
[0024]
步骤2.1)将训练集train_data按8:2比例分为真实训练集true_train_data和验证集vail_data;
[0025]
步骤2.2)选择adam优化器,利用kl散度作为损失函数,衡量学习获得的标签分布和真实标签分布的相似程度;
[0026]
步骤2.3)进行循环训练,将数据输入学习模型中前向传播,计算损失,然后反向传播,不断更新模型参数;
[0027]
步骤2.4)利用验证集选择模型的超参数。
[0028]
按上述方案,所述向量相似度计算模块中,真实标签分布与预测的标签分布的相似度计算过程如下:
[0029]
第i个卷积模块的输出f
l

[0030]
f
i
=rl(bn(w
i
×
f
i
‑1+b
i
))
[0031]
其中,f
i
‑1表示上一层的输出,i∈[1,13]的整数,当i=1时f
i
‑1=img,即为原输入图片;w
i
表示第i层的权重,b
i
表示第i层的偏置;
[0032][0033][0034][0035]
[0036]
其中,a
i
表示卷积层多维输出中一个维度,a={a1,a2,
……
a
m
};μ
a
为卷积层输出的平均值;为卷积层输出的方差;γ、β和∈为需要学习的超参数。
[0037]
rl(b)=max(0,b)
[0038]
其中,b表示batchnorm层的输出;
[0039]
fc(img)=linear(f
13
)
[0040]
其中,linear()表示全连接层,fc(img)∈r
batch_size
×
12

[0041][0042]
按上述方案,所述步骤3)中识别结果获取具体如下:
[0043]
将测试集张量test_data输入由训练集训练好的标签分布学习模型前向传播,输出大小为12的一维向量,最后通过一个全连接层得到各种表情分数分布情况,将表情分数最高的表情作为识别结果。
[0044]
按上述方案,所述步骤4)中风险学生的判断为:当学生在选定时间段内表情识别结果消极情绪次数c大于设定阈值k时判定学生在选定时间段内为风险学生。
[0045]
本发明产生的有益效果是:
[0046]
本发明设计了新的学习模型并将表情分为积极表情和消极表情利用二维标签来学习表情进行表情识别,抑制了表情识别的不确定性,提升了识别准确性,可根据学生真实的长期状态有效预测风险学生,可应用于智慧教育并及时对风险学生进行干预。
附图说明
[0047]
下面将结合附图及实施例对本发明作进一步说明,附图中:
[0048]
图1是本发明实施例的方法流程图;
[0049]
图2是本发明实施例的数据预处理示意图;
[0050]
图3是本发明实施例的学习模型结构示意图。
具体实施方式
[0051]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0052]
如图1所示,一种基于表情识别的风险学生预测方法,包括以下步骤:
[0053]
1)将输入的学生人脸图像转为张量,将这些张量按比例分为训练集和测试集;
[0054]
如图2,本实施例中,将输入的人脸图像转为张量为将人脸图像按照固定的尺寸进行随机分割,在图片的右上角,左上角,中心,左下角,右下角进行切割,并做镜像转换,图像数据扩大10倍,然后将这些图像数据进行几何归一化,转为张量tensor。
[0055]
2)训练基于表情识别风险学生的学习模型,构造分为消极表情和非消极表情的二维高斯软标签,将训练集张量输入基于标签分布的学习模型,利用预测标签和真实标签之间的kl

loss来训练学习模型;
[0056]
本实施例中基于表情识别风险学生的学习模型是基于卷积神经网络模型表征的n2n识别模型;
[0057]
本实施例中学习模型包括:
[0058]
主干网络结构,包括13个由卷积层、batchnorm层和relu层组成的卷积模块,每一个卷积模块后面连接一个平均池化层,在第二、第四、第七、第十和第十三个平均池化层后分别连接一个最大池化层,最后连接一个全连接层;
[0059]
表1主干网络结构及参数
[0060]
[0061]
[0062][0063]
主干网络结构的输入为张量图像,主干网络结构的输出是维度为12的特征向量,表示4种消极表情和3种非消极表情构成的二维高斯分布;
[0064]
向量相似度计算模块,用于将给定两张面部表情图像(img1,img2)的维度为12的特征向量进行余弦相似度计算cos(img1,img2),以此代表表情图像之间的相似度,其中,img1和img2分别为消极表情和非消极表情图像;
[0065]
真实标签分布与预测的标签分布的相似度计算过程如下:
[0066]
第i个卷积模块的输出f
l

[0067]
f
i
=rl(bn(w
i
×
f
i
‑1+b
i
))
[0068]
其中,f
i
‑1表示上一层的输出,i∈[1,13]的整数,当i=1时f
i
‑1=img,即为原输入图片;w
i
表示第i层的权重,b
i
表示第i层的偏置;
[0069][0070][0071][0072][0073]
其中,a
i
表示卷积层多维输出中一个维度,a={a1,a2,
……
a
m
};μ
a
为卷积层输出的平均值;为卷积层输出的方差;γ、β和∈为需要学习的超参数。
[0074]
rl(b)=max(0,b)
[0075]
其中,b表示batchnorm层的输出;
[0076]
fc(img)=linear(f
13
)
[0077]
其中,linear()表示全连接层,fc(img)∈r
batch_size
×
12

[0078][0079]
标签分布模块,用于以消极表情和非消极表情为x和y轴,将表情相似度作为z轴,将消极表情和非消极表情相似度按中心螺旋排序分布到三维坐标系中,服从高斯分布;
[0080]
所述基本表情包括:开心:ha,惊讶:su,中性:ne,悲伤:sa,害怕:fe,厌恶:di,生气:an,其中开心:ha,惊讶:su,中性:ne为非消极表情,悲伤:sa,害怕:fe,厌恶:di,生气:an为消极表情;
[0081]
标签学习模块,利用二维高斯分布来学习表情中消极情绪和非消极情绪的分布;
[0082]
消极情绪和非消极情绪的分布
[0083]
g(img1,img2)=[1/(2*pi*o
’2)]*exp(

(img12+img22)/(2*o’2)
),
[0084]
其中,表示img1为消极表情(非消极表情)的语义特征,img2为非消极表情(消极表情)的语义特征,g(img1,img2)表示消极表情与非消极表情之间的高斯分布计算
[0085]
用kl

loss计算损失
[0086]
其中,d
i
是真实标签分布,是预测的标签分布,j为样本空间中的第j个样本;
[0087]
训练学习模型的过程如下:
[0088]
步骤2.1)将训练集train_data按8:2比例分为真实训练集true_train_data和验证集vail_data;
[0089]
步骤2.2)选择adam优化器,利用kl散度作为损失函数,衡量学习获得的标签和真实标签分布的相似程度;
[0090]
步骤2.3)进行循环训练,将数据输入学习模型中前向传播,计算损失,然后反向传播,不断更新模型参数;
[0091]
步骤2.4)利用验证集选择模型的超参数。
[0092]
3)将测试集张量输入训练好的学习模型中进行特征提取和表情识别,将识别的结果存储到学生情绪库;
[0093]
将测试集张量test_data输入由训练集训练好的标签分布学习模型前向传播,输出大小为12的一维向量,最后通过一个全连接层得到各种表情分数分布情况,将表情分数最高的表情作为识别结果
[0094]
4)根据学生的表情识别的结果分析学生的情绪状态,判断该学生是否为风险学生,风险学生的判断为:当学生在选定时间段内表情识别结果消极情绪次数c大于设定阈值k时判定学生在选定时间段内为风险学生。
[0095]
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1