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

一种基于CNN-Transformer的面部表情识别方法及装置与流程

2022-02-19 23:43:01 来源:中国专利 TAG:

一种基于cnn

transformer的面部表情识别方法及装置
技术领域
1.本发明涉及一种基于cnn

transformer的面部表情识别方法及装置,属于数字图像信号处理技术领域。


背景技术:

2.在日常交流中,我们可以以文字和非文字形式来表达情感,其中面部表情可以承载的信息尤其重要。另外面部表情识别可以应用于疲劳驾驶检测、情感合成、广告精准投放、医疗健康和人机交互等领域,具有广泛的应用前景。
3.面部表情识别可以分为传统方法和深度学习方法两种。传统方法主要是通过提取诸如局部二值模式(lbp)、gabor特征、方向梯度直方图(hog)、词袋特征(bow)和尺度不变特征变换(sift)等手工浅层特征作为向量表示,然后通过支持向量机(svm)、随机森林(rf)和k

近邻算法(k

nn)等对表示进行分类,来获得情感分类结果的方法。由于浅层特征需要精巧的设计,而且不能深层次的表达面部情感,因此最近通过使用深度学习方式来对原始图片进行深度特征提取的方式得到广泛研究。使用卷积神经网络(cnn)可以通过感受野的变化来对图像进行提取局部特征,捕捉微小的局部变化,具有强大的局部建模能力。使用transformer的全局建模能力,可以对图片的整体进行一个宏观的把握,这样可以忽略局部的噪声,提高系统的鲁棒性。
4.面部表情识别中面临的挑战之一就是局部遮挡,其中包括戴眼镜、帽子和口罩,手放在面部等操作导致的局部信息缺失。针对这一问题,大多数现有技术采用替换或者忽略被遮挡部分的操作。其中替换操作是指首先检测到被遮挡部分,然后通过预测被遮挡部分的可能表现形式,最后对被遮挡部分进行补全。此类方法如果预测错误,对最终识别结果会造成很大的影响。而忽略操作分为两种,一种是直接忽略被遮挡部分,使用缺失的面部图像进行情感分类,另外一种是通过网络的自动学习,给被遮挡部分极低的权值,达到忽略的目的。此方法虽然更符合人类的认知行为,但是怎么样对图像进行划分才能更好地表达面部特征,是一个比较有争议的话题。


技术实现要素:

5.本发明的目的在于克服现有技术中的不足,提供一种基于cnn

transformer的面部表情识别方法及装置,可以对局部微小变化特征和全局特征同时进行建模。
6.为达到上述目的,本发明是采用下述技术方案实现的:
7.第一方面,本发明提供了一种基于cnn

transformer的面部表情识别方法及装置,包括:
8.对输入图片进行预处理,获得矫正后的人脸图片;
9.计算人脸图像的lbp特征,并作为输入送入预先构建的cnn网络获得面部的局部特征;
10.将人脸图像均匀划分之后送入transformer获得面部的全局特征;
11.对全局特征和局部特征进行信息融合,获得融合特征;
12.通过融合特征来进行情感识别。
13.进一步的,所述对输入图片进行预处理,获得矫正后的人脸图片,包括:
14.通过dlib工具箱提供的基于方向梯度直方图的人脸检测器进行图片中人脸的检测,去除非人脸部分,获得人脸图片;
15.通过imutils包中基于仿射变换的人脸校正器对人脸图片进行人脸校正,使两眼在同一水平线上,获得矫正后的人脸图片。
16.进一步的,所述计算人脸图像的lbp特征,并作为输入送入预先构建的cnn网络获得面部的局部特征,包括:
17.对矫正后的人脸图像计算以1为半径,圆形区域内含有8个采样点的圆形lbp算子,获得局部手工特征图;
18.把所述局部手工特征图输入到典型的resnet18中,进一步获得图像的局部特征。
19.进一步的,所述将人脸图像均匀划分之后送入transformer获得面部的全局特征,包括:
20.将人脸图像进行均匀划分为n块,每一块转化为一维向量,可以获得输入矩阵m∈r
n
×
d
,其中d为一维向量的长度;
21.把输入矩阵m输入到经典的swin transformer中,获得人脸图像的忽略细节的全局特征。
22.进一步的,所述对全局特征和局部特征进行信息融合,获得融合特征,包括:
23.利用公式求出全局特征权重,其中f
glo
表示全局特征,gap表示全局平均池化,bn表示批标准化,6表示激活函数relu,σ表示sigmoid函数,表示对应元素逐个相加,conv1和conv2表示卷积层;
24.利用公式局部特征权重,其中,f
loc
表示局部特征;
25.利用公式获得融合特征,此融合特征不仅具有面部的局部变化特征,而且包含面部的全局特征,其中

表示对应元素逐个相乘。
26.进一步的,所述通过融合特征来进行情感识别,包括:
27.将所述融合特征输入到全连接网络中,再通过softmax层将网络的输出范围压缩到[0,1]之间,并且所有的输出和等于1,表示人脸图像中属于各个表情类别的概率;
[0028]
将得到的概率值利用交叉熵损失函数得到网络整体的损失值,通过bp算法来优化网络参数,使得损失值达到最小来训练网络;
[0029]
在模型测试阶段,使用训练得到的网络,通过对输入图片的概率预测,获得对应的情感识别类别结果。
[0030]
第二方面,本发明提供一种基于cnn

transformer的面部表情识别装置,包括:
[0031]
预处理单元,用于对输入图片进行预处理,获得矫正后的人脸图片;
[0032]
局部特征获取单元,用于计算人脸图像的lbp特征,并作为输入送入预先构建的
cnn网络获得面部的局部特征;
[0033]
全局特征获取单元,用于将人脸图像均匀划分之后送入transformer获得面部的全局特征;
[0034]
融合特征获取单元,用于对全局特征和局部特征进行信息融合,获得融合特征;
[0035]
识别结果获取单元,用于通过融合特征来进行情感识别。
[0036]
第三方面,本发明提供一种基于cnn

transformer的面部表情识别装置,包括处理器及存储介质;
[0037]
所述存储介质用于存储指令;
[0038]
所述处理器用于根据所述指令进行操作以执行根据上述任一项所述方法的步骤。
[0039]
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
[0040]
与现有技术相比,本发明所达到的有益效果:
[0041]
本发明提出了一种基于cnn

transformer的面部表情识别方法,该方法不仅可以利用cnn强大的局部建模能力,提取出面部表情的局部微小变化特征,且能运用transformer的长距离全局建模能力,自动减弱局部遮挡对全局特征的影响,本发明通过特征融合模块,可自主学习局部特征和全局特征对整体的影响权重,有效提高不同特征之间的互补性,这样可充分利用全局特征和局部特征中所蕴含的情感信息,进而提高情感分类的识别准确率。
附图说明
[0042]
图1是本发明实施例中一种基于cnn

transformer的面部表情识别方法步骤图;
[0043]
图2是本发明实施例中一种基于cnn

transformer的面部表情识别方法流程示意图;
[0044]
图3是训练过程中训练接和验证集的loss曲线;
[0045]
图4是本发明在raf

db上的混淆矩阵。
具体实施方式
[0046]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0047]
实施例1
[0048]
本实施例介绍一种基于cnn

transformer的面部表情识别方法及装置,包括:
[0049]
对输入图片进行预处理,获得矫正后的人脸图片;
[0050]
计算人脸图像的lbp特征,并作为输入送入预先构建的cnn网络获得面部的局部特征;
[0051]
将人脸图像均匀划分之后送入transformer获得面部的全局特征;
[0052]
对全局特征和局部特征进行信息融合,获得融合特征;
[0053]
通过融合特征来进行情感识别。
[0054]
本实施例提供的基于cnn

transformer的面部表情识别方法及装置,其应用过程具体涉及如下步骤:
[0055]
s1,对输入图片进行预处理,并获得矫正后的人脸图片;其中图片来源于raf

db数据集,raf

db数据集中图片大小不固定,并且有很多除人脸之外的干扰,将每幅图片进行人脸检测之后再校正,最后把校正的图片大小调整到224*224;具体步骤为:
[0056]
s11,通过dlib工具箱提供的基于方向梯度直方图的人脸检测器进行图片中人脸的检测,去除非人脸部分;
[0057]
s12,通过imutils包中基于仿射变换的人脸校正器对步骤s11中得到的人脸进行人脸校正,使两眼在同一水平线上。
[0058]
s2,计算人脸图像的lbp特征,并作为输入送入cnn网络获得面部的局部细微变化特征;具体步骤为:
[0059]
s21,对矫正后的图像计算以1为半径,圆形区域内含有8个采样点的圆形lbp算子,获得局部手工特征图;
[0060]
s22,把步骤s21获得的局部手工特征图输入到典型的resnet18中,进一步获得图像的局部细微变化特征。
[0061]
s3,将人脸图像均匀划分之后送入transformer获得面部的全局特征,具体步骤为;
[0062]
s31,把s1得到的图像进行均匀划分为n块,每一块转化为一维向量,可以获得输入矩阵m∈r
n
×
d
,其中d为一维向量的长度;
[0063]
s32,把输入矩阵m输入到经典的swin transformer中,获得人脸图像的忽略细节的全局特征。
[0064]
s4,对全局特征和局部特征进行信息融合,获得融合特征;具体步骤为:
[0065]
s41,利用公式求出全局特征权重,其中f
glo
表示步骤s3得到的全局特征,gap,bn,δ,σ分别表示全局平均池化,批标准化,激活函数relu和sigmoid函数,表示对应元素逐个相加,conv1和conv2表示卷积层;
[0066]
s42,利用公式局部特征权重,其中,f
loc
表示步骤s2得到的局部特征;
[0067]
s43,利用公式获得融合特征,此融合特征不仅具有面部的局部变化特征,而且包含面部的全局特征,可以有效的处理面部被局部遮挡的情况,其中表示对应元素逐个相乘。
[0068]
s5,通过融合特征来进行情感识别。具体步骤为:
[0069]
s51,将步骤s4得到的融合特征输入到全连接网络中,再通过softmax层将网络的输出范围压缩到[0,1]之间,并且所有的输出和等于1,表示人脸图像中属于各个表情类别的概率;
[0070]
s52,将步骤s51得到的概率值利用交叉熵损失函数得到网络整体的损失值,通过bp算法来优化网络参数,使得损失值达到最小来训练网络;
[0071]
s53,在模型测试阶段,直接使用由步骤s52训练得到的网络,通过对输入图片的概率预测,获得对应的情感识别类别结果。
[0072]
如图3所示,整个训练的epoch设置为60,模型大约在40个epoch时开始收敛,在验证集上的损失开始保持稳定并且较小。由于本发明同时使用了数据集图片的全局特征和局部特征,利用两种特征的优势,对自然场景下采集到的raf

db数据集进行测试结果表明,本发明的方法可以获得较高的识别率,由于raf

db数据集中有很多处于遮挡状况下的图片,因此间接证明本发明可以解决处于遮挡下的面部表情情感识别。如图4为raf

db数据集上测试集的混淆矩阵,从图中可以看出,快乐、伤心、惊讶和平静这四种表情的识别准确率较高,而惊吓和厌恶的识别准确率相对较低。整体而言,本发明提出的一种基于cnn

transformer的面部表情识别方法在野外数据集raf

db上的识别准确率达到了88.4%,性能表现基本可以满足使用要求。
[0073]
实施例2
[0074]
本实施例提供一种基于cnn

transformer的面部表情识别装置,包括:
[0075]
预处理单元,用于对输入图片进行预处理,获得矫正后的人脸图片;
[0076]
局部特征获取单元,用于计算人脸图像的lbp特征,并作为输入送入预先构建的cnn网络获得面部的局部特征;
[0077]
全局特征获取单元,用于将人脸图像均匀划分之后送入transformer获得面部的全局特征;
[0078]
融合特征获取单元,用于对全局特征和局部特征进行信息融合,获得融合特征;
[0079]
识别结果获取单元,用于通过融合特征来进行情感识别。
[0080]
实施例3
[0081]
本实施例提供一种基于cnn

transformer的面部表情识别装置,包括处理器及存储介质;
[0082]
所述存储介质用于存储指令;
[0083]
所述处理器用于根据所述指令进行操作以执行根据下述任一项所述方法的步骤:
[0084]
对输入图片进行预处理,获得矫正后的人脸图片;
[0085]
计算人脸图像的lbp特征,并作为输入送入预先构建的cnn网络获得面部的局部特征;
[0086]
将人脸图像均匀划分之后送入transformer获得面部的全局特征;
[0087]
对全局特征和局部特征进行信息融合,获得融合特征;
[0088]
通过融合特征来进行情感识别。
[0089]
实施例4
[0090]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现下述任一项所述方法的步骤:
[0091]
对输入图片进行预处理,获得矫正后的人脸图片;
[0092]
计算人脸图像的lbp特征,并作为输入送入预先构建的cnn网络获得面部的局部特征;
[0093]
将人脸图像均匀划分之后送入transformer获得面部的全局特征;
[0094]
对全局特征和局部特征进行信息融合,获得融合特征;
[0095]
通过融合特征来进行情感识别。
[0096]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人
员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
再多了解一些

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

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

相关文献