一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文本描述辅助的姿势感知的人脸表情识别方法与流程

2022-08-27 09:18:45 来源:中国专利 TAG:


1.本发明涉及情感计算领域,具体的是一种文本描述辅助的姿势感知的人脸表情识别方法。


背景技术:

2.表情识别作为情感计算的一个分支,正在从实验室环境转向更加灵活多变的室外场景,其中,头部姿势的变化是影响识别性能的重要因素之一。现有的多角度表情识别分为两类:基于生成的方法和基于姿势鲁棒的方法,姿势鲁棒的方法又可以细分为基于正则化方法、基于对抗的方法、基于解缠的方法和基于子空间的方法。重构技术通常被用于基于解缠的方法,基于子空间的方法通常提取原始图像的手工特征,或者对特征空间加以约束,其他方法则主要用到各种生成对抗方法的变体。一些表情识别的方法也引入注意力机制。
3.然而无论是基于生成的方法还是基于姿势鲁棒的方法,以及基于注意力的方法,它们都存在一些根本上难以克服的问题。基于生成的方法通过生成大量各个角度下的各种表情图像来丰富数据集,从而使模型得到充分训练,然而生成的图像质量较差;基于姿势鲁棒的方法试图消除或者分离出姿势信息,从而得到只包含表情信息的特征,但姿势和表情以一种复杂的非线性方式耦合在一起;基于注意力机制的方法一方面没有考虑姿势变化的影响,另一方面很难保证从原始图像自动学习的注意力图的有效性。


技术实现要素:

4.本发明是为了解决上述现有技术存在的不足之处,提出一种文本描述辅助的姿势感知的人脸表情识别方法,以期能通过引入先验姿势特征和表情描述文本并利用跨模态的注意力机制实现任意姿势下表情的精准识别,从而提高表情识别的准确性和鲁棒性。
5.本发明为达到上述发明目的,采用如下技术方案:
6.本发明一种文本描述辅助的姿势感知的人脸表情识别方法的特点在于,是按如下步骤进行:
7.步骤1、构建多模态数据集合a;
8.步骤1.1、构建多模态数据的表情描述文本集合,记为其中,sk表示第k条文本,m为文本的总条数;所述第k条文本sk包含的单词,记为其中,t
k,l
表示所述第k条文本sk中的第l个单词,nk表示第k条文本信息的单词长度;
9.步骤1.2、构建多模态数据的表情图像数据集合:
10.获取真实人脸图像数据集并使用图像旋转、裁剪以及归一化的方法进行预处理,从而得到表情图像数据集其中,xi,yi,vi分别表示第i个人脸图像及对应的表情类别和姿势类别,yi∈{1,2,

,m

},vi∈{1,2,

,n},n是表情图像数据集d中图像的数量,m

是表情的总类别数,n是姿势的总类别数,且m

=m;
11.步骤2、构建姿势分类器,包含:姿势特征提取器e
p
,分类器c
p
和特征对齐器al:
12.步骤2.1、构建所述姿势特征提取器e
p
为resnet50结构:
13.所述resnet50结构由一个卷积层,一个批归一化层,一个relu激活函数层,一个最大池化层,四个深度残差块和一个平均池化层组成;
14.步骤2.2、提取姿势特征:
15.将所述表情图像数据集d的第i个人脸图像xi输入所述姿势特征提取器e
p
中,获得第i个人脸图像xi的姿势特征
16.步骤2.3、构建所述分类器c
p
,包含一个全连接层:
17.将所述姿势特征输入到所述分类器c
p
中,得到第i个人脸图像xi预测的姿势类别v
′i;
18.步骤2.4、利用式(1)构建姿势分类损失l
pose

19.l
pose
=crossentropy(v
′i,vi)
ꢀꢀ
(1)
20.式(1)中,crossentropy()表示交叉熵函数;
21.步骤2.5、利用式(2)计算第j种姿势的特征fj,从而得到n种姿势的特征:
[0022][0023]
式(2)中,nj表示预测的姿势类别v
′i和真实的姿势类别vi都为第j种姿势类别的姿势特征集合的特征数量;
[0024]
步骤2.6、构建所述特征对齐器al,包含一个全连接层:
[0025]
将所述第j种姿势的特征fj输入到所述特征对齐器al中,得到对齐后的第j种姿势特征
[0026]
步骤3、构建表情描述文本特征提取器,包含:分词器e
t
,文本内特征编码器e
intra
和文本间特征编码器e
inter

[0027]
步骤3.1、构建所述分词器e
t
,依次包含文本预处理层、特殊符号添加层、符号数字化层和序列对齐层;
[0028]
将所述表情描述文本集合s的第k条文本sk输入到所述分词器e
t
中进行处理,获得对应的第k个数字序列以及对应的第k个位置编码为pck;
[0029]
步骤3.2、构建文本内特征编码器e
intra
,包含:嵌入层和多层transformer编码器;
[0030]
所述transformer编码器由一个多头自注意力子层和一个前馈子层以残差方式连接而成;
[0031]
将所述第k个数字序列和第k个位置编码pck输入到所述文本内特征编码器e
intra
中进行处理,获得第k个初步表情描述文本特征
[0032]
步骤3.3、构建所述文本间特征编码器e
inter
,包含:多层transformer编码器;
[0033]
将所有初步表情描述文本特征输入到所述文本间特征编码器e
inter
中进行处理,获得最终表情描述文本特征其中,表示第k条表情文本描述特征;
[0034]
步骤4、构建跨模态模块,包含:图像视觉特征提取器ev,姿势分类器c
p
和表情分类器ce:
[0035]
步骤4.1、构建所述图像视觉特征提取器ev,包含部分resnet50的层结构;
[0036]
所述部分resnet50的层结构包含一个卷积层,一个批归一化层,一个relu激活函
数层,一个最大池化层和三个深度残差块;
[0037]
将所述表情图像集d的第i个人脸图像xi输入到图像视觉特征提取器ev中进行处理,获得第i个人脸图像xi的视觉特征
[0038]
步骤4.2、生成注意力图:
[0039]
步骤4.2.1、利用式(3)计算对齐后的第j种姿势特征第k种表情文本描述特征与视觉特征的余弦矩阵
[0040][0041]
式(4)中,
×
表示矩阵乘法,|
·
|表示沿着第0维求和;
[0042]
步骤4.3.2、利用式(4)计算余弦矩阵经激活函数relu后的矩阵
[0043][0044]
步骤4.3.3、利用式(5)计算矩阵经归一化函数norm后的注意力图
[0045][0046]
步骤4.4、利用式(6)计算第i个人脸图像xi的最终特征fi:
[0047][0048]
式(6)中,w和h分别表示视觉特征的宽度和高度,表示注意力图中按照先行后列的顺序排列后的第q个注意力权重,表示视觉特征中按照先行后列的顺序排列后的第q个视觉特征;
[0049]
步骤4.4、构建姿势分类器c
p
和表情分类器ce:
[0050]
所述姿势分类器c
p
和表情分类器ce均为一个全连接层;
[0051]
步骤4.5、将所述最终特征fi分别输入到所述分类器c
p
和分类器ce中,并相应得到所述分类器c
p
预测的人脸图像xi的姿势类别和所述分类器ce预测的人脸图像xi的表情类别
[0052]
步骤4.6、利用式(7)构建总分类损失l
all

[0053][0054]
步骤4.7、基于构建的多模态数据集合a,利用梯度下降的方法对所述文本间特征编码器e
inter
,图像视觉特征提取器ev,姿势分类器c
p
和表情分类器ce进行训练,计算所述总分类损失l
all
用于更新网络参数,并在总分类损失l
all
最小时停止训练,从而得到最优表情表征网络,用于同时对姿势和表情进行识别。
[0055]
与现有技术相比,本发明的有益效果在于:
[0056]
1)本发明提出利用先验姿势特征和同时做姿势和表情分类的多任务学习方法,从而能自动适应角度的变化。这不同于已有的通过强行消除或者分离出姿势的方法,因而能够增强表情识别的姿势鲁棒性。
[0057]
2)本发明提出的方法从表情文本中提取丰富的语义信息,并通过跨模态注意力机制生成注意力图,注意力图表征人脸各个区域的重要程度。通过对提取特征使用注意力图加权,可以使模型更加关注具有表情区分度的区域,从而能更有效的将表情文本应用在表情识别任务中,提高表情识别的准确性。
[0058]
3)本发明构建一个自动适应姿势变化,主动关注引起表情的关键区域的深度神经网络,解决了注意力机制在多姿势条件下效果降低的问题,从而使得模型在各种姿势下都能捕获到表情相关的关键面部区域。
附图说明
[0059]
图1为本发明提出方法的结构图。
[0060]
图2为本发明表示惊讶的面部图像和对应的描述文本图;
[0061]
图3为本发明姿势特征降维后的可视化效果图。
具体实施方式
[0062]
本实施例中,参见图1,一种文本描述辅助的姿势感知的人脸表情识别方法是按如下步骤进行:
[0063]
步骤1、构建多模态数据集合a;
[0064]
步骤1.1、构建多模态数据的表情描述文本集合,记为其中,sk表示第k条文本,m为文本的总条数;第k条文本sk包含的单词,记为其中,t
k,l
表示第k条文本sk中的第l个单词,nk表示第k条文本信息的单词长度;在实施案例中,参考paul ekman所著的《面部动作编码系统》一书中对于面部单元动作的描述,并结合表情和动作单元的映射关系,从而分别总结出对应于表情数据集multi-pie中六种表情的描述文本,和对应于bu-3dfe数据集中除中性表情以外的六种表情的描述文本。如表1是本实施例中总结的上述两个数据集中出现的所有表情的描述文本。在两个数据集上分别进行实验时,m均为6,且任意一条表情描述文本预处理后的长度不超过512。如图2是一个表示惊讶的人脸图像及对应的描述文本,虚线椭圆圈出该表情产生时面部显著变化的区域,右边的文本给出了对应的描述;
[0065]
表1表情描述文本
[0066][0067][0068]
步骤1.2、构建多模态数据的表情图像数据集合:
[0069]
获取真实人脸图像数据集并使用图像旋转、裁剪以及归一化的方法进行预处理,从而得到表情图像数据集其中,xi,yi,vi分别表示第i个人脸图像及对应
的表情类别和姿势类别,yi∈{1,2,

,m

},vi∈{1,2,

,n},n是表情图像数据集d中图像的数量,m

是表情的总类别数,n是姿势的总类别数,且m

=m;本实施例中,表情数据集multi-pie分5个姿势和7个姿势两种实验设置,所选取的人脸图像数量分别为7095和6174,图像分辨率为128*128,表情数据集bu-3dfe分5个姿势、7个姿势和35个姿势三种实验设置,所选取的人脸图像数量分别为12000、16800和21000,图像分辨率为256*256,其中的人脸图像是从人脸3d模型通过工具渲染得到的;
[0070]
步骤2、构建姿势分类器,包含:姿势特征提取器e
p
,分类器c
p
和特征对齐器al:
[0071]
步骤2.1、构建姿势特征提取器e
p
为resnet50结构:
[0072]
resnet50结构由一个卷积层,一个批归一化层,一个relu激活函数层,一个最大池化层,四个深度残差块和一个平均池化层组成;
[0073]
步骤2.2、提取姿势特征:
[0074]
将表情图像数据集d的第i个人脸图像xi输入姿势特征提取器e
p
中,获得第i个人脸图像xi的姿势特征
[0075]
步骤2.3、构建分类器c
p
,包含一个全连接层:
[0076]
将姿势特征输入到分类器c
p
中,得到第i个人脸图像xi预测的姿势类别v
′i;
[0077]
步骤2.4、利用式(1)构建姿势分类损失l
pose

[0078]
l
pose
=crossentropy(v
′i,vi)
ꢀꢀ
(1)
[0079]
式(1)中,crossentropy()表示交叉熵函数;
[0080]
步骤2.5、利用式(2)计算第j种姿势的特征fj,从而得到n种姿势的特征:
[0081][0082]
式(2)中,nj表示预测的姿势类别v
′i和真实的姿势类别vi都为第j种姿势类别的姿势特征集合的特征数量;如图3所示,本实施例中,以表情数据集multi-pie的7种角度实验设置为例,本方法遵循subject-independent的原则,选取其中4/5的数据做为训练集,剩下1/5的数据作为测试集,用训练后的姿势特征提取器e
p
提取测试集中所有图像的姿势特征,并利用工具t-sne将姿势特征映射到二维空间,最后将其表示在平面上,其中不同灰度表示不同的角度的姿势特征,其呈现明显的聚类现象,因而,姿势特征可以用做先验知识,从而使得模型具备自动适应角度变化的能力;为了消除外观和光照引起的偏差,本方法用预测的姿势类别和真实的姿势类别相同的所有姿势特征的聚类中心作为该类别的特征。
[0083]
步骤2.6、构建特征对齐器al,包含一个全连接层:
[0084]
将第j种姿势的特征fj输入到特征对齐器al中,得到对齐后的第j种姿势特征在本实施例中,人脸图像的姿势特征长度为2048,通过对齐器fc,将其映射到和最终表情描述文本特征相同的长度1024;
[0085]
步骤3、构建表情描述文本特征提取器,包含:分词器e
t
,文本内特征编码器e
intra
和文本间特征编码器e
inter

[0086]
步骤3.1、构建分词器e
t
,依次包含文本预处理层、特殊符号添加层、符号数字化层和序列对齐层;
[0087]
将表情描述文本集合s的第k条文本sk输入到分词器e
t
中进行处理,获得对应的第k
个数字序列以及对应的第k个位置编码为pck;在本实施例中,所有数字序列的长度均为512,位置编码的长度也为512,后续不足512的部分均用0补齐;
[0088]
步骤3.2、构建文本内特征编码器e
intra
,包含:嵌入层和多层transformer编码器;
[0089]
transformer编码器由一个多头自注意力子层和一个前馈子层以残差方式连接而成;
[0090]
将第k个数字序列和第k个位置编码pck输入到所述文本内特征编码器e
intra
中进行处理,获得第k个初步表情描述文本特征在本实施例中,嵌入层会先将数字序列和位置编码分别嵌入到512*768的高维空间并相加,作为多层transformer编码器的输入。多层transformer编码器的层数设置为12,隐层大小设置为768,多头的数量设置为12。由于输出特征的第一部分内容就能表示输入序列的深层特征,因而所有初步表情描述文本特征的长度均为768。文本内特征编码器e
intra
中的多层transformer编码器用预训练参数初始化并在训练过程中保持冻结;
[0091]
步骤3.3、构建文本间特征编码器e
inter
,包含:多层transformer编码器;
[0092]
将所有初步表情描述文本特征输入到文本间特征编码器e
inter
中进行处理,获得最终表情描述文本特征其中,表示第k条表情文本描述特征;在本实施例中,每个初步表情描述文本特征被看作整个输入序列的一个词嵌入,所以输入特征的长度为6*768。在最后输出层之后添加一个包含1024个神经元的全连接层,因而所有最终表情描述文本特征的长度为1024。文本间特征编码器e
inter
中的多层transformer编码器同上,其参数随机初始化,并随着训练而更新。;
[0093]
步骤4、构建跨模态模块,包含:图像视觉特征提取器ev,姿势分类器c
p
和表情分类器ce:
[0094]
步骤4.1、构建图像视觉特征提取器ev,包含部分resnet50的层结构;
[0095]
部分resnet50的层结构包含一个卷积层,一个批归一化层,一个relu激活函数层,一个最大池化层和三个深度残差块;
[0096]
将表情图像集d的第i个人脸图像xi输入到图像视觉特征提取器ev中进行处理,获得第i个人脸图像xi的视觉特征在本实施例中,当人脸图像尺寸分别为128*128和256*256时,视觉特征的尺寸分别为1024*8*8和1024*16*16,也即,视觉特征的通道数,姿势特征的长度和表情描述文本特征的长度需保持一致,从而实现姿势特征和表情描述文本特征直接相加形成融合特征,继而和视觉特征计算注意力图;
[0097]
步骤4.2、生成注意力图:
[0098]
步骤4.2.1、利用式(3)计算对齐后的第j种姿势特征第k种表情文本描述特征与视觉特征的余弦矩阵
[0099][0100]
式(4)中,
×
表示矩阵乘法,|
·
|表示沿着第0维求和;在本实施例中,若视觉特征的尺寸为c*w*h,以输入图像尺寸为256*256为例,则c,w和h分别为1024,16和16,那么余弦
矩阵的尺寸为w*h;
[0101]
步骤4.3.2、利用式(4)计算余弦矩阵经激活函数relu后的矩阵
[0102][0103]
步骤4.3.3、利用式(5)计算矩阵经归一化函数norm后的注意力图
[0104][0105]
在本实施例中,归一化函数的做法是对于矩阵中的所有元素,都除以矩阵中所有元素的和,具体的数学公式如式(6)所示;
[0106][0107]
式(6)中,表示矩阵第r行第c列的元素;
[0108]
步骤4.4、利用式(7)计算第i个人脸图像xi的最终特征fi:
[0109][0110]
式(7)中,w和h分别表示视觉特征的宽度和高度,表示注意力图中按照先行后列的顺序排列后的第q个注意力权重,表示视觉特征中按照先行后列的顺序排列后的第q个视觉特征;
[0111]
步骤4.4、构建姿势分类器c
p
和表情分类器ce:
[0112]
姿势分类器c
p
和表情分类器ce均为一个全连接层;
[0113]
步骤4.5、将最终特征fi分别输入到分类器c
p
和分类器ce中,并相应得到分类器c
p
预测的人脸图像xi的姿势类别和分类器ce预测的人脸图像xi的表情类别
[0114]
步骤4.6、利用式(8)构建总分类损失l
all

[0115][0116]
步骤4.7、基于构建的多模态数据集合a,利用梯度下降的方法对所述文本间特征编码器e
inter
,图像视觉特征提取器ev,姿势分类器c
p
和表情分类器ce进行训练,计算所述总分类损失l
all
用于更新网络参数,并在总分类损失l
all
最小时停止训练,从而得到最优表情表征网络,用于同时对姿势和表情进行识别。对于所有的更新网络,均采用bertadam优化,其初始学习率为1e-5,随着训练批次的推进,学习率动态调整,从而使得模型达到全局最优。
[0117]
实施例:
[0118]
为了验证本发明方法中的有效性,本实验例在常用的多角度表情数据集multi-pie和bu-3dfe上进行实验。本实验按照subject-independent的原则,随机选择4/5的图像训练网络,剩下的1/5的图像用做测试,使用准确率作为评价标准,并给出与已有方法在两个数据集上的结果比较,如表2所示;
[0119]
表2在multi-pie和bu-3dfe两个数据集上和已有方法相比的表情识别准确率
[0120][0121]
表2的实验结果显示本发明方法和其他方法相比效果都要好,从而证明了本发明提出方法的可行性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献