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

一种结合注意力模块与二阶池化机制的人脸表情识别方法

2022-06-05 01:24:16 来源:中国专利 TAG:


1.本发明涉及深度学习领域,更具体的说是涉及一种结合注意力模块与二阶池化机制的人脸表情识别方法。


背景技术:

2.人脸表情是在人与人的交流中传递信息的重要方式,人脸表情识别技术的发展可以有效地促进模式识别,图像处理等相关领域的发展,具有很高的科研价值,其应用场景包括重症监测、疲劳驾驶监测、刑事侦测、人机交互等。随着大规模图像数据及计算机硬件(尤其是gpu)的飞速发展,深度学习方法在图像理解中取得了突破性的成果,深度神经网络具有强大的特征表达能力,能够学习出具有判别能力的特征,逐渐被应用于自动人脸表情识别任务。根据所处理数据类型的不同,深度人脸表情识别方法大致可以分为两大类:基于静态图像的深度人脸表情识别网络和基于视频的深度人脸表情识别网络。
3.当前先进的基于静态图像的深度人脸表情识别方法主要可分为:多样化的网络输入、级联网络、多任务网络、多网络融合以及生成对抗网络等,而基于视频的深度人脸表情识别则主要运用基础时序网络去解析视频序列中所携带的时间信息,例如lstm,c3d等,或者利用人脸关键点轨迹去捕捉连续帧中面部成分的动态变化,以及将空间网络和时间网络并行的多网络融合。此外,结合其他表情模型如面部动作单元模型以及其他多媒体模态,如音频模态和人体生理信息能够将表情识别拓展到更具有实际应用价值的场景。
4.2013年起,表情识别比赛如fer2013和emotiw从具有挑战性的真实世界场景中收集了相对充足的训练样本,促进了人脸表情识别从实验室受控环境到自然环境下的转换。从研究对象来看,表情识别领域正经历着从实验室摆拍到真实世界的自发表达、从长时间持续的夸张表情到瞬时出现的微表情、从基础表情分类到复杂表情分析的快速发展。
5.随着人脸表情识别任务逐渐从实验室受控环境转移至具有挑战性的真实世界环境,目前的深度人脸表情识别系统致力于解决以下几个问题:
6.1)由于缺乏足量训练数据导致的过拟合问题;
7.2)真实世界环境下其他与表情无关因素变量(例如光照、头部姿态和身份特征)带来的干扰问题;
8.3)提升真实环境下人脸表情识别系统识别准确率。


技术实现要素:

9.有鉴于此,本发明提供了一种结合注意力模块与二阶池化机制的人脸表情识别方法,以解决上述背景技术中的问题。
10.为了实现上述目的,本发明采用如下技术方案:
11.一种结合注意力模块与二阶池化机制的人脸表情识别方法,包括以下步骤:
12.获取人脸图像;
13.对人脸图像预处理,所述人脸图像预处理包括人脸检测与对齐,数据增强以及图
像归一化;
14.将预处理后的人脸图像进行特征提取,并完成表情分类。
15.可选的,所述人脸检测与对齐包含人脸检测、关键点定位和人脸对齐,具体为:
16.人脸检测模块输入为人脸表情图片,输出为检测到的人脸区域;
17.根据人脸检测区域进行人脸关键点坐标定位,利用dlib库中的人脸关键点检测接口导入五点关键点检测模型获取人脸的五点关键点坐标;
18.利用五点关键点坐标进行人脸对齐。
19.可选的,所述人脸对齐的计算过程如下:
20.首先分别根据左右两眼的四个坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4),求出左眼和右眼的中心坐标:
[0021][0022][0023]
获得两眼中心坐标后,先对两眼中心坐标连线,计算该连线与水平线的夹角θ,然后对左眼中心坐标、右眼中心坐标以及鼻子下方点坐标三点坐标取平均以计算出一个旋转中心点坐标(x
center
,y
center
):
[0024][0025][0026][0027]
结合旋转中心点坐标(x
center
,y
center
)和夹角θ,利用opencv中求解仿射变换矩阵的接口得仿射变换矩阵,调用opencv的接口函数对图像进行仿射变换,得到人脸对齐的照片。
[0028]
可选的,所述数据增强是通过深度学习框架pytorch中的transforms.compose()接口在数据读取阶段动态地对输入图像进行随机几何或者颜色类的变换操作,然后再将变换后的图片输入网络进行训练,实现数据的扩充。
[0029]
可选的,所述图像归一化将图像的像素值除以255,归一化后的图像任意像素值都在[0,1]之间。
[0030]
可选的,利用18层resnet网络实现人脸表情特征的提取,通过在resnet网络末端添加softmax层,将网络输出结果归一化为7类表情的概率值,其中最大值则为分类结果。
[0031]
可选的,运用端到端的深度神经网络实现特征提取与表情分类,所述深度神经网络的结构如下:首层为卷积核大小为7
×
7的卷积层,通道数为64;第二层为池化核大小为3
×
3的池化层,通道数为64;连接八个融合了卷积注意力模块的残差结构,最后输出512维通道的特征图,接着连接一个二阶池化层实现特征的聚合,最后利用一个全连接层和softmax层得到分类结果。
[0032]
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种结合注意力
模块与二阶池化机制的人脸表情识别方法,具有以下有益效果:
[0033]
(1)通过对人脸图片进行人脸检测与对齐、图像归一化两个步骤,有效地将自然环境下受光照、头部姿态、遮挡等因素干扰的人脸图片转为对比度合适、无遮挡的正脸图片,从而解决了真实世界环境下其他与表情无关因素变量对表情识别效果带来的干扰问题。
[0034]
(2)通过数据增强手段,在网络训练过程中的数据读取阶段动态地对输入图像进行随机剪裁、旋转、翻转以及加噪声、改变颜色等操作,将数据扩充至原来的多倍,获得更好的数据多样性。有效解决由于缺乏足量训练数据导致的过拟合问题。
[0035]
(3)通过改进resnet网络结构,使其更适合于表情特征的提取,添加卷积注意力模块(cbam)使网络更关注住待识别物体的特征提取,添加二阶池化机制提取表情的二阶特征,以更好地捕捉到人脸表情肌肉的扭曲程度信息,从而提升网络模型对人脸表情特征的提取能力,有效如何提升真实环境下人脸表情识别系统识别准确率的问题。
附图说明
[0036]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0037]
图1为本发明的整体流程示意图;
[0038]
图2为本发明的人脸检测结果图;
[0039]
图3a-图3b为本发明的人脸关键点检测结果图;
[0040]
图4a-图4b为本发明的人脸对齐前后对比示意图;
[0041]
图5为本发明的改进resnet18结构图;
[0042]
图6为本发明的resblock cbam结构图;
[0043]
图7为本发明的通道注意力模块结构图;
[0044]
图8为本发明的空间注意力模块结构图。
具体实施方式
[0045]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
本发明实施例公开了一种结合注意力模块与二阶池化机制的人脸表情识别方法,包括数据预处理、特征提取与表情分类两个阶段,算法的输入为人脸表情图片,输出为该图片的分类结果值,分类结果包括生气、恶心、害怕、开心、悲伤、惊讶、中性七类。
[0047]
数据预处理:本方案采取的数据预处理模块包括人脸检测与对齐、数据增强和图像归一化三个步骤。人脸检测与对齐包含人脸检测、关键点定位和人脸对齐三个步骤。首先利用dlib库中的基于hog特征和线性分类器的人脸检测器接口(dlib.get_frontal_face_detector)以及基于cnn的人脸检测器接口(dlib.cnn_face_detection_model_v1)实现人脸检测。人脸检测模块输入为人脸表情图片,输出为检测到的人脸区域,人脸检测结果如图
2所示。
[0048]
然后根据上一步检测到的结果,进行下一步的人脸关键点坐标定位,利用dlib库中的人脸关键点检测接口(dlib.shape_predictor)导入五点关键点检测模型获取人脸的五点关键点坐标,五个点的位置如图3a-图3b所示。
[0049]
得到坐标后利用关键点坐标进行人脸对齐,具体实现是:首先分别根据左右两眼的四个坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4),求出左眼和右眼的中心坐标:
[0050][0051][0052]
获得两眼中心坐标后,先对两眼中心坐标连线,计算该连线与水平线的夹角θ,然后对左眼中心坐标、右眼中心坐标以及鼻子下方点坐标三点坐标取平均以计算出一个旋转中心点坐标(x
center
,y
center
):
[0053][0054][0055][0056]
有了旋转中心点坐标和夹角θ后,利用opencv中求解仿射变换矩阵的接口可得仿射变换矩阵,然后调用opencv的接口函数对图像进行仿射变换,并将图片调整为224
×
224像素大小,图4a人脸对齐后的结果图如图4b所示。
[0057]
数据增强是通过深度学习框架pytorch中的transforms.compose()接口在数据读取阶段动态地对输入图像进行随机几何或者颜色类的变换操作,然后再将变换后的图片输入网络进行训练,实现数据的扩充。图像归一化则将图像的像素值除以255,归一化后的图像任意像素值都在[0,1]之间。
[0058]
特征提取与表情分类:本模块利用改进的18层resnet网络,如图5所示,实现人脸表情特征的提取,通过在resnet网络末端添加softmax层,将网络输出结果归一化为7类表情的概率值,其中最大值则为分类结果,以实现表情的分类。
[0059]
整个模块运用一个端到端的深度神经网络实现特征提取与表情分类步骤,该深度网络的结构如图5所示。首层为卷积核大小为7
×
7的卷积层,通道数为64;第二层为池化核大小为3
×
3的池化层,通道数为64;然后连接八个融合了卷积注意力模块的残差结构,该结构最后输出512维通道的特征图,接着连接一个二阶池化层实现特征的聚合,最后利用一个全连接层和softmax层得到分类结果。网络的输入为经过步骤1数据预处理后得到的人脸表情图片,经过网络的多层卷积层和池化层提取到人脸表情从底层到高层的特征,然后利用一个全连接层将特征转为1
×
7维的列向量,再通过softmax层归一化七个分类结果得到最终分类概率值。
[0060]
(1)结合了卷积注意力模块的残差结构(图6中的resblock cbam模块)
[0061]
resblock cbam模块的结构如图6所示,图中f为前面卷积层提取到的特征,f输入通道注意力模块计算得到通道注意力图mc,mc与输入f相乘得通道注意力模块的输出f1;然后将f1输入空间注意力模块计算得到空间注意力图ms,ms与输入f1相乘得到卷积注意力模块的最终输出f2,再将f2继续输入之后的卷积层继续进行特征学习。通过在resnet18的基础残差块中添加卷积模块,能够使resnet网络更关注待识别的物体。
[0062][0063][0064]
卷积注意力模块(cbam)模块分为通道注意力模块和空间注意力模块,给定一个中间特征图,cbam模块会沿着通道和空间依次推断注意力图,然后将注意力图与输入特征图相乘以进行自适应特征优化。
[0065]
通道注意力模块结构如图7所示,是将前面层提取到的特征图同时进行全局平均池化和全局最大池化以实现在空间维度上进行压缩,得到一个一维矢量后送到一个两层的共享全连接层网络,再对两支路逐元素求和合并,最后通过一个sigmoid激活函数以产生通道注意力图mc。
[0066]
空间注意力模块结构如图8所示,将通道注意力模块输出的特征图作为本模块的输入特征图。在通道维度分别进行平均值池化和最大值池化,接着将所提取到的特征图(通道数都为1)拼接合并得到一个2通道的特征图。再经过卷积核大小为7
×
7的卷积层降维成1通道,经过sigmoid激活函数生成空间注意力图ms。
[0067]
(2)二阶池化机制
[0068]
全局二阶池化的做法,是通过计算特征图的协方差矩阵(二阶信息)来选出这个能代表特征图数据分布情况的值。假设通过前面的卷积操作后得到一组大小为h
×
w的特征图fi(i=1,2,

,c),其中c为这组特征图的通道数。全局协方差池化的思想是,把特征图视为一个随机变量,特征图的每个元素都是这个随机变量的一个样本值。将特征图fi拉直成(h
×
w,1)的向量fi,计算这组特征图的协方差矩阵:
[0069][0070]
协方差矩阵的物理意义非常明显,第i行表示通道i与所有通道的统计相关性。
[0071]
二阶协方差池化能够有效地利用深度神经网络学习提取到的各通道之间的相关信息,含有更丰富的特征信息,因此将resnet18的全局平均池化层改为全局二阶池化层,可以提升网络的特征表达能力。具体实现细则是:首先对二阶池化层之前的卷积层的输出的512维特征图用一个1
×
1的卷积核对特征图降维到256维,然后计算该组特征的协方差矩阵并进行矩阵平方根归一化得到32896维的特征图以实现二阶池化操作。
[0072]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

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

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

相关文献