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

基于多尺度密集连接深度可分离网络的人脸表情识别方法与流程

2021-11-09 22:23:00 来源:中国专利 TAG:


1.本发明涉及图像识别技术领域,尤其涉及一种基于多尺度密集连接深度可分离网络的人脸表情识别方法。


背景技术:

2.面部表情是人类传达情感状态和意图最普遍自然的途径之一,人脸表情识别在人机交互中扮演着非常重要的角色。
3.随着深度学习技术的飞速发展,各种深度学习模型被应用在人脸表情识别的研究中。深度学习技术带来识别效果提升的同时也使得运算需求急剧增加,对模型运行所需要的硬件配置也不断增高,过高的配置需求会极大地阻碍模型的实际应用。因此,表情识别技术除了在提高识别准确率方面需要继续深入研究以外,如何降低模型参数量,使模型能够在性能较低的设备上正常运行也是一个重要的研究方向。如今,如何压缩模型使其足够轻量化便于部署对于表情识别技术在远程教育,医疗监护,安全驾驶,娱乐产业等领域的相关应用也有重要意义。
4.近年来,卷积神经网络(cnn)已成为计算机视觉任务中最常用的算法。通过权重共享和下采样,卷积神经网络可以直接从原始图片中学习特征。目前主要有两种增强卷积神经网络学习能力的方式,一种是通过增加梯度下降的有效优化距离增加模型的深度,典型的例子有resnet,另一种是通过不同大小的卷积核多尺度的提取特征图进而增加模型的宽度,典型的例子有inception。无论是增加网络深度还是网络宽度,准确率提升的同时都会带来参数量的大量增加。resnet的成功表明,只要卷积神经网络的深度足够大,模型准确度就可以一直提高。因此,研究人员购买了许多高性能显卡,并构建了更深层的卷积神经网络。然而这些模型只能在比赛中使用,因为它们需要大量时间进行训练,这限制了它们在现实世界中的应用。
5.因此,考虑到表情识别实际应用时的硬件成本和实时速度要求,设计了便于部署的轻量级表情识别网络。


技术实现要素:

6.本发明要解决的技术问题是当人脸表情识别技术被实际应用部署到具体项目时,目前的深度学习网络模型参数量大,泛化能力不够,在满足现有硬件设备的情况下,无法达到较高的精度。为此,本发明提出一种基于密集连接卷积神经网络的轻量化人脸表情识别模型,在满足现有硬件条件下提高精度,进而降低了模型应用部署时的硬件成本。
7.为实现上述目的,本发明采用如下的技术方案:
8.一种基于多尺度密集连接深度可分离网络的表情识别方法,包含以下步骤:
9.步骤1:构建基于人脸表情图像的轻量级表情识别网络;
10.所述的轻量级表情识别网络包含特征学习模块和表情分类模块,所述特征学习模块包括依次串联的first conv模块、第一dense block模块、第一transition layer模块、
第二dense block模块、第二transition layer模块、第三dense block模块、第三transition layer模块、第四dense block模块。
11.first conv模块包括依次串联的一个3
×
3卷积层,bn层,激活层和一个平均池化层。
12.每个dense block模块里包含相互串联的若干个自定义子网络结构bottleneck layer。
13.bottleneck layer包括四个并行的分支结构,在前三个分支里,输入图像首先经过1
×
1卷积层进行降维,然后经过se模块,接下来依次通过不同规模的分组卷积和可分离卷积;最后一个分支依次包含一层1
×
1卷积层,se模块,一层分组卷积层和最大池化层;将四个分支的输出经过concatenate操作连接后,进行逐点卷积,并最终与bottleneck layer的原始输入x连接。
14.自定义子网络结构bottleneck layer中包含分组卷积,多尺度深度可分离卷积和通道注意力模块。深度可分离卷积大幅度降低参数量和计算量;多分支中各分支引入卷积核大小不同的卷积层,可以得到不同尺度的感受野,最终融合多个尺度的特征,有利于模型对不同尺度特征的学习;深度卷积前加入分组卷积,加强通道间信息交互。最后,在各分支中将通道注意力机制和多尺度融合,有利于整个分支有效信息的高效传播,提高模型的分类精度。
15.transition layer模块依次包含bn层、激活层,1
×
1卷积层和平均池化层。
16.表情分类模块采用classification模块,包含bn层,池化层和线性全连接层用于进行表情分类。
17.进一步地,预处理阶段得到的人脸表情图像输入后,经过first conv模块,将输入图像变为自定义通道数。然后通过四个串联的dense block模块,将增长率设置为12,每个dense block模块分别包含3,6,12,8个自定义子结构bottleneck layer。相邻dense block通过transition layer模块进行连接。
18.进一步地,每个自定义子结构bottleneck layer包含分组卷积,多尺度深度可分离卷积和通道注意力模块se。深度可分离卷积大幅度降低参数量和计算量;多分支中各分支引入卷积核大小不同的卷积层,可以得到不同尺度的感受野,最终融合多个尺度的特征,有利于模型对不同尺度特征的学习;深度卷积前加入分组卷积,加强通道间信息交互。最后,在各分支中将通道注意力机制se和多尺度融合,有利于整个分支有效信息的高效传播,提高模型的分类精度。
19.进一步地,分类阶段输出端的分类器设计采用了全卷积神经网络的分类策略,以标准卷积层代替全连接层,加快表情识别速度。
20.步骤2:训练轻量级表情识别网络模型;
21.训练轻量级表情识别网络模型的具体步骤为:获取目前表情识别相关挑战赛认可的公共数据集raf

db,fer2013,ferplus,ck ,对数据集中的训练集进行预处理;将经过预处理的图像输入到轻量级表情识别网络模型进行训练。
22.进一步地,对训练数据集中人脸表情进行预处理的具体方法为:对训练集中的图片进行归一化处理;对训练图片进行数据增强(翻转、平移、颜色抖动等)。
23.检测到人脸图像后,由于背景,光照,头部姿势等无关因素会对网络训练产生影
响,因此需要先对数据进行预处理。主要包括面部对齐,数据增强和归一化。然后对检测到的人脸图像进行裁剪处理,从裁剪的面部区域提取特征并连在一起形成特征矢量,将特征矢量作为特征学习阶段的输入,最后经过分类阶段得到最终的表情识别结果。
24.进一步地,将经过预处理的人脸数据输入到轻量级表情识别网络模型进行训练,在训练网络模型时,优化器为sgd,epoch设置为350、初始学习率为0.01。
25.步骤3:将经过预处理后的待识别人脸表情图像输入到训练后的轻量级表情识别模型;
26.步骤4:轻量级表情识别网络对人脸表情图像进行自动识别并输出所属类别。
27.对比全连接输出的待识别人脸表情属于各类表情的概率值,自动将待识别表情分类为概率值最高的类别,从而实现表情识别。
28.本发明与现有技术相比具有以下优点:
29.1.将密集连接卷积神经网络应用到表情识别中,实现特征图的重用,使网络学习到更多的原始信息,提高模型精度和网络泛化性能的同时减少模型参数量和计算量;
30.2.引入多尺度深度可分离卷积,多尺度获取融合了不同尺度的特征,对不同分辨率大小的分支使用不同数量的卷积通道,能更充分地利用通道信息,提高模型分类准确率,深度可分离卷积降低了模型的参数量和计算量;
31.3.加入注意力模块se提高表情识别准确率,并探究了注意力模块se与多尺度模块的结合方法,同时引入分组卷积,提高模型计算效率。
附图说明
32.图1是本发明方法流程图;
33.图2是轻量级人脸表情识别网络架构图;
34.图3是bottleneck layer结构示意图。
具体实施方式
35.本发明主要实现的是基于多尺度密集连接深度可分离网络的人脸表情识别。下面将结合附图详细介绍本发明采用的具体方法。
36.具体而言,基于多尺度密集连接深度可分离网络的人脸表情识别方法的流程如图1所示,包括以下步骤:s1:构建基于多尺度密集连接深度可分离网络的轻量级表情识别网络。s2:训练表情识别网络模型。s3:将经过预处理后的待识别表情图像输入到训练后的表情识别网络。s4:表情识别网络对表情图像进行自动识别并输出所属类别。
37.对于s1:构建基于多尺度密集连接深度可分离网络的轻量级表情识别网络。
38.在本发明中,表情识别网络的网络结构设计如图1所示,主要包括first conv模块,dense block模块,transition layer模块以及classification模块。
39.first conv模块:输入面部表情图像后,首先对其进行预处理,然后通过first conv模块传递,该模块包含一个3
×
3卷积和一个2
×
2平均池化层,预处理后的面部表情图像先通过一个3
×
3卷积,然后再通过一个2
×
2平均池化层,将输入图像从3通道更改为自定义通道数量。
40.dense block模块:此模块为网络的核心模块,本发明提出的网络结构共包含四个
dense block模块,每个dense block模块里包含若干个自定义子网络结构bottleneck layer.
41.子网络结构bottleneck layer:bottleneck layer的具体网络结构如图3所示。网络一共包括四个分支。在前三个分支里,输入图像首先经过1
×
1卷积层进行降维,然后经过se模块,接下来依次通过不同规模的分组卷积和可分离卷积。对于分组卷积而言,卷积核均为3
×
3,组数为2。对于可分离卷积,三个不同尺度的卷积核大小分别是1
×
1、3
×
3和5
×
5。最后一个分支包含1
×
1卷积层,se模块,3
×
3分组卷积层为和最大池化层。将四个分支的输出经过concatenate操作连接后,进行逐点卷积,并最终与原始输入x连接。
42.transition layer模块:相邻dense block模块之间通过transition layer模块连接,包含bn层、1
×
1卷积层和2
×
2平均池化层。
43.classification模块:输出端的分类器选择全卷积神经网络的分类策略,使用步长为1、卷积核大小为1
×
1、输出通道数为表情类别数的标准卷积层来替代全连接层,加快表情识别速度。
44.特征学习阶段,还可以在深度可分离卷积和分组卷积后增加bn(batch normalization)层和激活层。bn层用于对数据进行归一化,以保证每层的数据分布稳定,避免输入数据的偏移造成影响。激活层增加了神经网络各层之间的非线性关系,通过激活函数稀疏后的模型能够更好地提取相关特征、拟合训练数据,同时有效地抑制了梯度消失的问题。
45.表情识别的整体流程为:检测到人脸图像后对其进行预处理,然后进入特征学习阶段,首先经过图中的firstconv模块,该模块将输入图片从3通道变为自定义通道数。然后通过四个dense block模块,将增长率设置为12,每个模块分别包含3,6,12,8个自定义子结构bottlenecklayer。在bottlenecklayer中,包含1
×
1卷积,分组卷积,深度可分离卷积以及注意力模块se。通过四个dense block模块进行特征学习后,通过分类模块输出表情所属类别。dense block模块应用了密集连接的思路,建立前面所有层与后面层的密集连接,实现特征重用,更好地保留了原始特征,有利于表情分类。深度可分离卷积将标准卷积分解为深度卷积和逐点卷积。深度卷积实际上是分组卷积的极端情况,其中分组的数目等于输入特征图通道的数目,它独立地在输入层的每个通道上执行卷积运算,相比于传统卷积神经网络能大幅度降低模型参数量。在深度可分离卷积的基础上,将原卷积中的单一卷积核替换为多尺度卷积核.不同尺度的卷积可以得到不同尺度的感受野,最后得到融合了不同尺度的特征,有利于模型识别不同尺度的表情图像,提高分类准确率。深度卷积前加入分组卷积,加强通道间信息交互。人脸表情是由面部五官等关键点的肌肉运动决定的,而注意力机制可以让模型具有关注于特定特征的能力,因此在网络模型中引入注意力机制有助于对人脸特征的提取。
46.对于s2:训练表情识别网络模型。
47.训练表情识别网络模型的具体步骤为:获取目前计算机视觉领域表情识别相关挑战赛公认的公开数据集,对数据集中的人脸表情图像进行预处理,将经过预处理的表情图像输入到搭建的轻量级表情识别网络中进行训练。
48.其中,对数据集中的表情图像进行预处理的具体方法是指对图像进行归一化处理及图像增强处理。归一化统一图像分辨率。图像增强包括旋转、平移、颜色抖动等操作,目的
是在保证图像特征不变的情况下,扩增数据量,以达到更优的网络训练效果,避免过拟合。
49.将经过预处理的表情数据输入到通过步骤s1建立的表情识别网络进行训练,优化器为sgd,epoch设置为350、初始学习率为0.01。
50.对于s3:将经过预处理后的待识别表情图像输入到训练后的表情识别网络。
51.对待识别的测试集中的人脸图像进行预处理后,输入经过训练的表情识别网络中,在网络中进行特征提取等操作。
52.对于s4:表情识别网络对表情图像进行自动识别并输出所属类别。
53.表情识别网络对表情图像进行自动分析后,得到待识别表情属于各类表情的概率值(不同数据集表情类别数不同,总概率和为1),通过对比,自动将待识别表情分类为概率值最高的表情类别,从而实现表情识别。
54.本实施例中涉及的网络参数均为优选参数,包括但不限于此。
55.本实施例中提出的网络结构与目前较优的网络结构在表情识别任务中的对比实验结果如表1所示:
56.表1对比实验结果
[0057][0058]
由表1可知,本文提出的轻量化模型在各个数据集上与当前较优的其他模型相比,都在保证较高的准确率的同时,压缩了模型大小,降低了模型参数量。
[0059]
以上具体实施方式仅用于说明本发明的技术方案,而非对其限制。本领域的技术人员应当理解:上述实施方式并不以任何形式限制本发明,凡采用等同替换或等效变换等方式所取得的相似技术方案,均属于本发明的保护范围。
再多了解一些

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

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

相关文献