APP下载

连接卷积神经网络人脸表情识别算法

2020-10-13郭昕刚张培栋梁锦明

长春工业大学学报 2020年4期
关键词:正确率人脸卷积

郭昕刚, 王 帅, 张培栋, 梁锦明

(长春工业大学 计算机科学与工程学院, 吉林 长春 130012)

0 引 言

面部表情是交流过程中的微妙信号,理解面部表情是理解沟通中的重要部分。近年来,在计算机视觉领域中,研究者从视频或图像中识别基本的人类表情以解决面部表情识别问题。部分研究从静态图像中识别面部表情,这种方法在提取空间信息方面是有效的,但却不能很好地捕捉到空间信息表达过程中的形态学和语境变化。目前,表情识别方法主要是利用时间序列来解决,并且利用空间和时间变化提供更好的识别系统。基于深度学习的面部表情识别主要从预处理、深度特征学习和面部表情分类三个方面进行不断地优化。在预处理中主要有人脸检测、人脸对齐、数据增强、人脸归一化等过程,MTCNN[1]人脸检测算法以快速的检测速度、高准确率、模型小的特点受到广大研究者的认可,主流人脸对齐采用SDM[2]算法,人脸归一化则主要有亮度归一化和姿态归一化。在深度特征学习中,主要是基于CNN的网络模型,能够达到特别高的特征表达能力。另外,有基于DBN网络的特征提取,还有一部分是基于序列建模的RNNs。在面部表情分类中,可以基于深度学习,直接学习特征,预测概率,也可以把学习的深度特征用SVM等浅层分类器进行分类。

让计算机很好地识别人脸表情并不容易,其中存在两个问题:

1)虽然目前人脸表情数据集很多且各式各样,但是由于大部分数据集的表情都是从某特定角度由摄像机拍摄下来的,并且表情图像的数量也不多,因此训练出来的模型存在着一定的不确定性,对随机的新数据泛化能力较弱,鲁棒性很低;

2)传统LeNet-5神经网络没有考虑到低层次的细节特征,随着网络深度加深,会出现梯度消失或爆炸问题[3]。

文中提出基于兴趣区域跨层连接LeNet-5神经网络的人脸表情识别算法,基于兴趣区域(ROI)思想对表情数据集做8种处理,再运用跨层连接的方法改进LeNet-5神经网络,将低层网络特征也考虑在内。实验仿真表明,该算法不仅提高了人脸表情识别的准确率,还加强了训练模型的鲁棒性。

1 相关工作

Kuo C M等[4]提出了一种基于图像帧及图像序列的表情识别架构,在性能相当的情况下,极大减少了卷积核个数,缓解了实验参数存储问题,运用混合光照增强方案缓解了训练过程中的过拟合问题;Li M等[5]提出了一个深度卷积网络模型,作为身份感知的人脸属性转换器,共有两个阶段,第一阶段采用GAN的架构完成图片的转换,第二阶段分两种不同属性,对于转换后的图片进一步加工增强,获取最终属性转换图片;Liu Y等[6]提出MPCNN网络来充分利用有限的数据,对多角度的面部表情进行识别,识别过程分为三步:

1)对于一张人脸图像,先得到不同的面部区域和尺寸,利用训练好的多通道卷积网络得到特征;

2)将特征输入到多尺度融合网络中得到组合的特征,该特征用于判断角度;

3)根据已知的角度输入到特定的表情网络中,得到最终结果。

Khor H Q等[7]提出了一个丰富的长期递归卷积网络(ELRCN),该网络首先通过CNN模块将每个表情帧编码成特征向量,然后将特征向量通过一个长-短期记忆(LSTM)模块,最终得到较好的表情识别效果;Emambakhsh M等[8]用比较经典的手动特征加分类器方案,针对鼻子这类表情不变的部位展开分析,得到很好的表情鲁棒识别结果;Yong Li等[9]提出一种基于视频流的自监督特征表达方法,通过利用巧妙的自监督约束信号,得到提纯的面部动作特征用于表情识别。该方法能够在不依赖面部动作单元标签的前提下,从人脸视频数据中自动学习面部动作单元表征,用于后续识别任务时,只需要利用训练数据训练一个分类器即可,显著减少了所需的训练数据,并提升了模型的泛化能力;Xia B等[10]通过3D人脸研究了面部表情与性别的关系,证明了面部表情会影响3D面部中呈现的性别模式,在同一表达式中,训练和测试时性别识别性能会提高,该实验直接提取面部表情形成的形态变化作为特征,用于基于表达的性别识别;张琳琳等[11]将卷积神经网络的单通道全连接层改为双通道,构建并训练了一个新的双通道卷积神经网络模型以增强模型的特征表达能力。

2 改良方法

由于大部分数据集的表情都是从某特定角度由摄像机拍摄下来的,并且表情图像的数量也不多,因此训练出来的模型存在一定的不确定性,对随机的新数据泛化能力较弱,鲁棒性很低,利用ROI区域来解决这个问题。

Xavier等[12]进行深度卷积神经网络训练时,为了增大训练数量,通过切割不同尺度区域,把一张图片切割成多张图片。文中在进行训练时,吸取Xavier方法的精髓,剖析人脸生物学特点,专门针对要训练的人脸表情库做了改进,9个ROI区域如图1所示。

首先,对人脸表情库做了8种改进处理,加上表情库本身的数据,共9种不同的ROI区域。这些ROI区域都是通过一些常见手段处理的,包括切割、遮挡、镜像、中心聚焦。在进行设置ROI处理之前,需先进行人脸识别检测人脸,尽可能地用人脸填充整个图像区域,以降低误差。ROI设置方案的关键点是通过检测眼睛、鼻子和嘴的变化识别人脸表情。

ROI方案还有一个特点就是使表情数量扩大至9倍,减弱了因为表情库的表情数量少带来的问题,增强模型对人脸表情的泛化能力。这种扩大的有效性在于不同的ROI区域之间存在联系、相互补充,增强了预测目标的信度。

传统的LeNet-5网络用来识别手写数字,用在人脸表情识别上效果很不理想。这是由LeNet-5网络本身的特点造成的,即从不同的卷积核中自行提取特征,使数据经过简单处理后送往高层网络进行分类识别。这种特点就使得低层次的特征被忽略,网络不断地进行加深,困难度不断提升,梯度消失或爆炸发生的可能大大提高。为了解决这个问题,跨层连接的结构应运而生,如Srivastava等[13]提出Highway Networks结构,这种结构提供了一种门限机制,使得部分特征经过处理通过网络层,部分特征不处理直接通过网络层。该结构更容易优化,并且在CIFAR-10数据集上表现优于Romero等[14]提出的FitNets;He等[15]提出深度残差网络也是利用跨层连接的思想,不仅层数很多,而且在ImageNet和COCO等任务中表现很理想;Sun等[16]提出的PeepId网络中,也将最后的池化层和卷积层与全连接层相连达到很好的效果。基于以上研究方法,文中将跨层连接的方法运用在LeNet-5网络上,使两个池化层与全连接层结合起来组成新的结构,如图2所示。

网络包括1个输入层、3个卷积层、2个池化层、1个全连接层和1个输出层。Input层为输入层,输入的表情图片像素为32×32。Layer1层为卷积层,该层有6个特征图,输入32×32像素图片,分别与6个5×5像素的卷积核进行卷积运算,得到28×28像素的特征图。Layer2层为池化层,28×28像素的特征图经过池化得到14×14像素的特征图。Layer3层为卷积层,该层有16个特征图,上层得到14×14像素的图片,分别与16个5×5像素的卷积核进行卷积运算,得到10×10像素的特征图。Layer4层为池化层,10×10像素的特征图经过池化得到5×5像素的特征图。Layer5层为卷积层,该层有120个特征图,上层得到5×5像素的图片分别与120个5×5像素的卷积核进行卷积运算,得到1×1像素的特征图。Layer6层为全连接层,共有84个单元。Output层为输出层,输出7种表情类型。

计算过程如下:

1)设卷积层输入为X,

(5)

式中:x----输入X中卷积区域M里的元素;

w----卷积核中的元素;

m,n----卷积核大小;

b----偏置;

f(·)----ReLU激活函数。

2)设池化层输入为Y,

pool=down(max(yi,j)),i,j∈p

(6)

式中:y----池化层输入Y中池化区域p中的元素;

down(·)----下采样过程,保留最大值。

3)设全连接层输入为Z,

full=f(w×z+b),

(7)

式中:z----输入Z中的元素;

w----权值;

b----偏置;

f(·)----ReLU激活函数。

4)设输出层输入X,

(8)

式中:w----权值;

k----总类别数。

式(8)为Softmax分类器的假设函数,计算输入分类为类别j时的概率。损失函数

(9)

式中:c{·}----示性函数,c{值为真的表达式}=1,c{值为假的表达式}=0。

然后要进行的是反向传播,第一步先计算每一层反馈传递误差

(10)

式中:∘----矩阵乘法或向量乘法;

δ7----Output层的反馈传递误差;

out----实际输出;

y----目标输出;

δ6----Layer6层的反馈传递误差;

w7----权值;

f′----ReLU激活函数导数;

δ5----Layer5层的反馈传递误差;

w6----权值,因为是部分连接,故只有1 177≤i≤1 260是有效的;

δ4----Layer4层的反馈传递误差;

w5----卷积核;

⨁----外卷积运算;

δ3----Layer3层的反馈传递误差;

up(·)----进行上采样;

δ2----Layer2层的反馈传递误差,与Layer4层相似;

δ1----Layer1层的反馈传递误差,与Layer3层相似。

权值和偏置的偏导数计算方法如下

(11)

式中:f6、f5、f4、f3、f2----分别为各层的特征图;

⊙----内卷积。

3 实 验

文中所有实验均在pycharm上实现。硬件平台基于ubuntu 操作系统,GPU型号为GEFORCE GTX 1080 Ti。

3.1 表情数据集

实验使用的数据集为JAFFE数据集和CK+数据集。JAFFE数据集是日本九州大学建立的日本女性面部表情数据集,采用6种基本表情构建,此数据集每种表情有3~4张,共有213张。列举数据集中表情图片如图3所示。

CK+数据集是2010年基于Cohn-Kanda数据集扩展而来的,其中包含了123个人的表情,共593个图片序列。列举数据集中表情图片如图4所示。

3.2 实验结果及分析

首先将数据集中的所有表情图像进行裁剪,大小统一为32×32像素。再将裁剪后的数据集复制一份,分为A份和B份。将B份数据集再根据本算法的ROI方案进行处理。A份和B份中JAFFE数据集分为3份,其中2份作为训练集,1份作为测试集;CK+数据集分为5份,其中4份作为训练集,1份作为测试集。

将A份和B份数据集用LeNet-5网络进行实验,其中JAFFE数据集和CK+数据集的正确率结果见表1。

表1 LeNet-5网络下A、B正确率对比 %

通过表1可以看出,在传统LeNet-5网络下,B份数据集因为经过ROI方案处理,正确率比A份高4%~5%。但是,无论是JAFFE数据集还是CK+数据集的正确率都不高,这是由于LeNet-5网络自身特点造成的,LeNet-5网络本身是用来训练手写数字识别的,而表情图片的特征比手写数字图片复杂的多,仅用高层网络训练是不可行的。

将A份和B份数据集采用文中算法,即改进后的LeNet-5网络进行实验,其中JAFFE数据集和CK+数据集的正确率结果分别见表2和表3。

表2 改进网络下JAFFE数据集正确率 %

表3 改进网络下CK+数据集正确率 %

实验结果表明,无论是JAFFE数据集还是CK+数据集,经过改进网络之后正确率都得到显著提高,因为改进网络不仅考虑到低层次的特征,还对特征较复杂的表情图像更为适合。比较A数据集与B数据集,发现经过ROI方案处理后,B数据集得到的准确率也有一定的提升。

4 结 语

卷积神经网络为人类在机器学习领域带来巨大的价值,有力推动了人工智能产业的发展。文中提出一种结合ROI与改进的LeNet-5神经网络人脸表情识别算法,利用ROI感兴趣区域方案和跨层连接的思想,解决了数据集弊端带来的问题,同时解决了传统LeNet-5网络问题,提高了训练模型对新数据的泛化能力和鲁棒性,达到了较好的面部表情识别效果。

猜你喜欢

正确率人脸卷积
个性化护理干预对提高住院患者留取痰标本正确率的影响
课程设置对大学生近视认知的影响
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
一种并行不对称空洞卷积模块①
一起学画人脸
玻璃窗上的人脸
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
生意