结合奇异值脸和注意力深度学习的人脸识别

2020-09-07 01:49朱娅妮
小型微型计算机系统 2020年8期
关键词:人脸光照人脸识别

朱娅妮,倪 煊,姚 晔

1(浙江工业大学 计算机科学与技术学院,杭州 310023)

2(杭州电子科技大学 网络空间安全学院,杭州 310018)E-mail:zyn@hdu.edu.cn

1 引 言

以深度学习为代表的机器学习算法已经被广泛应用到视频图像识别、自然语言处理和语音识别分析等领域中.近年来,随着计算机硬件性能的大幅提升,训练深度网络模型所需的时间大大减少,以卷积神经网络为代表的深度学习算法在计算机视觉领域,特别是人脸识别领域取得了很大的成功.卷积神经网络的开创者LeCun在1998年提出LeNet[1],用于识别邮局信件上的手写数字.LeNet包含了卷积神经网络最基本的架构:卷积层、池化层和全连接层.在2012年的ILSVRC-2012竞赛中获得冠军的AlexNet网络[2]整体结构类似于LeNet,包含了五层卷积和三层全连接网络.最近几年取得较大影响的VGGNet[3]、GoogLeNet[4]和ResNet[5],其网络层数越来越深、网络架构越来越复杂,解决的计算机视觉任务也越来越难.2014年,在IEEE国际计算机视觉与模式识别(CVPR 2014)会议上,香港中文大学研究团队提出的基于DeepID[6]的深度学习算法在LFW人脸数据集上取得了97.45%的识别率.2015年Google提出的FaceNet[7]在LFW人脸数据库上更是取得了99.63%的识别率.但是,深度学习网络与人脑的学习能力相比仍然存在差距,特别是当光照、遮挡、姿势、年龄、表情和分辨率等干扰因素存在时,测试数据与训练数据之间存在的协变量偏移会造成人脸识别准确率的下降.2016年Yang等提出一种基于梯度脸(GF)[8]的低光照人脸识别方法,利用梯度脸来改善人脸图像的高频成分从而实现了人脸识别的光照鲁棒性.2017年Li等[9]提出一种基于人眼视觉感知变化的自适应韦伯脸模型,通过提高特征的冗余度和空间局部化程度实现了人脸识别的遮挡鲁棒性.Wang等[10]在CVPR 2019会议上提出一种对年龄变化鲁棒的人脸识别算法,通过去相关对抗学习(DAL)算法分解年龄和身份的特征信息并显著降低相关性,从而去除年龄相关的特征成分实现人脸识别的年龄鲁棒性.

基于卷积神经网络的深度学习算法,通过多层卷积和池化操作能自动提取人脸特征,显著提高了人脸识别的鲁棒性和准确率,但是网络学习过程中的大量卷积和池化操作却会耗费大量的计算资源并丢失部分重要的图像特征.不同于计算机识别过程的是人类在观察一幅图片时可以很快聚焦图片中的某些特定区域,人类视觉的注意力机制可以帮助人眼快速辨别图像中的显著性区域并忽略不重要的信息[11].Wang等[12]认为在计算机视觉领域注意力机制可以利用有限的计算资源集中处理图像中的重要区域.英国伦敦大学研究团队在CVPR 2018会议上提出一种新的谐注意力卷积网络模型(HA-CNN)[13],将基于像素特征的注意力和基于区域位置的注意力联合起来用于优化不受控制的人脸识别.2019年北京大学研究团队采用通道注意力模块提取低光照图像的重要特征取得了不错的识别效果[14].同年华中科技大学研究团队提出了一种基于残差注意力的卷积神经网络(SRANet)[15],通过自适应学习通道内关系矩阵和空间内关系矩阵提取人脸图像的长期相关性聚集特征,从而提高了深度人脸的识别精度.

人脸图像在成像过程中经常会受到光照的影响,变化的面部光照会导致许多问题,例如,阴影的虚假边缘容易与面部五官(如眼睛和嘴巴)的真实轮廓相混淆等.各种光照条件下的人脸识别问题越来越普遍,光照标准化已经变成图像处理领域中的一项重要任务.奇异值分解(SVD)作为一种对噪声不敏感的代数特征,通过寻求目标数据集在低维子空间中的紧致表示可以去除数据的冗余信息和噪声干扰[16].由于SVD得到的系数比较松弛,对不同的光照条件不敏感,所以采用奇异值矩阵提取的人脸信息具有光照不变的特征,可以实现人脸识别的光照鲁棒性.

本文提出一种结合奇异值脸(SVDF)和注意力卷积神经网络(ACNN)的人脸识别模型.卷积运算模仿人类的视觉注意力机制,通过融合通道和空间这两个维度的特征[17],有效地帮助卷积网络聚焦重要信息流.算法首先采用归一化后的奇异值矩阵来表示人脸特征,然后将特征输入到添加了注意力模块的深度卷积网络中,在Yale B[18]和CMU_PIE[19]两个常用光照数据集上的验证实验证实了本文提出的方法具有更好的识别性能.

2 奇异值脸

奇异值分解是机器学习领域中较常用的算法,可以对任意行列的矩阵进行数值分解,因此常用于图像的特征提取和降维.在一个具有M×N个像素的图像R(x,y)上进行SVD分解,可以得到:

R(x,y)=USVT

(1)

其中U和V是正交矩阵,满足UTU=1,VTV=1.图像的对角矩阵S=diag(λ1,λ2,Λ,λN)就是R(x,y)的奇异值矩阵.但是实际应用中受光照过低或不均匀等影响,提取的图像奇异值特征往往会发生比较明显的变化.研究发现奇异值矩阵的归一化系数对光照并不敏感,并且归一化后的奇异值可以有效描述人脸的基础结构并复原重要的面部特征(如眼、鼻、口等).SVD的归一化系数矩阵相比于其他光照抑制特征还具有计算简便、鲁棒性强等优势.所以本文中采用归一化后的奇异值矩阵来表示人脸特征.

算法首先遍历图像中各个像素并以每个像素为起点选择其周围的区域,求取其局部奇异值矩阵,然后对局部奇异值矩阵中的最大奇异值做归一化处理[20],总的奇异值之和被用来归一化最大奇异值λ1:

(2)

其中λj表示第j个奇异值.归一化后的最大奇异值即使在变化的光照条件下统计特征也非常一致,因此可以有效地表示光照不变的面部信息并成功保留人脸的主要特征.最后归一化后的奇异值SF被缩放到(0,255)的灰度范围内,得到的奇异值矩阵就是奇异值脸.

3 注意力卷积神经网络

与传统的利用人工设计特征提取算法相比,基于深度学习的网络模型具有自动抽取海量数据高维特征的能力.深度卷积网络通过从输入层到输出层的多层非线性映射和网络的反向传播完成层次特征的提取和学习.首先在构建的多层隐含神经网络模型中利用海量数据训练出模型特征,进而提取出最有利的参数,然后将简单的特征组合成高层次的抽象特征来实现对大量特征数据的抽象表达[21].但是卷积神经网络因大量的卷积和池化操作也会丢失人脸的部分重要特征,导致网络模型所提取的特征对目标的表征能力不足.我们参考人类视觉的注意力机制,在卷积神经网络中添加了通道和空间注意力模块来关注图像中的重要信息,提出了注意力卷积神经网络来提高算法的识别速度和性能.

3.1 注意力机制

对于输入的一幅特征图F∈C×H×W,注意力模块包括1个一维的通道注意力Mc∈C×1×1和1个二维的空间注意力MS∈1×H×W,过程可以表示为:

F′=Mc(F)⊗FF″=Ms(F′)⊗F′

(3)

其中⊗表示基于对应元素的卷积乘.在卷积相乘的过程中,通道注意力值和空间注意力值分别被复制,F′是通道注意力输出,F″是最终的输出.

3.1.1 通道注意力

Mc(F)=σ(MLP(AvgPool(F)+MLP(MaxPool(F)))

(4)

其中σ代表sigmoid函数,W0和W1代表卷积乘法的权重,W0∈C/r×C,W1∈C×C/r.

3.1.2 空间注意力

Ms(F)=σ(f3×3(AvgPool(F);MaxPool(F)]))

(5)

其中,f3×3表示网络的卷积核尺寸是3×3.

3.1.3 卷积注意力模块

对于一幅输入图像,通道和空间这两个注意力模块相互补充,分别关注图像中有意义的特征内容和特征位置.我们采用串联的方式排列两个注意力模块,通道注意力模块优先级高于空间注意力模块.融合通道注意力和空间注意力的结构图如图1所示.

图1 注意力结构图

3.2 网络结构

本文提出的注意力卷积神经网络,在设计时参考了经典的AlexNet网络和VGGNet网络,为了平衡计算的复杂度和识别的准确率,经过多次试验之后,我们设计了一个包含四个卷积层(Convolutional Layer)的网络.每个卷积层之后是1个批量归一化层(BN)[24]和1个激活层(ReLU)[25].每个最大池之前添加了一个注意力模块(Attention Module),网络的最后包含两个全连接层(Full-connected)和一个Softmax层,用于将神经网络提取的高维特征向量转换为分类概率.卷积神经网络通过非线性映射和下采样自动提取高度抽象的图像特征,并将网络输出的特征转换为分类标签的概率向量,最后输出图片的分类识别率,网络结构如图2所示.

图2 注意力卷积神经网络结构图

四层卷积运算中的卷积核尺寸均为3×3,每层卷积操作后得到的特征图(feature maps)数量依次为32,64,128和256,特征图的尺寸依次为140×140,67×67,32×32和14×14.前三个最大池化层的步长为2,池化窗口尺寸依次为5×5,3×3和3×3,最后一个池化层是窗口尺寸为12×12的全局池化.模型的分类器由2个全连接层构成,该层会学习上一层传来的特征向量,然后传入softmax函数获得分类向量,从而得到输入图像的最终分类结果.

4 实 验

4.1 数据集预处理

本文选用Yale B和CMU_PIE两个常用的光照人脸数据集中的图像作为训练和测试图片.Yale B数据集共有2414张图像,包含不同光照条件下38个人的正面人脸图像,是最常用的人脸识别数据集.根据光源亮度的强弱,该数据库被划分为5个子集,图3展示了子集5中同一个人不同光照条件下的5张图片.可以看出,5张人脸图像的光照都很弱,几乎无法用肉眼分辨出人脸轮廓.

图3 Yale B人脸图像

为了降低图像失真,实验中对提取的人脸图像局部奇异值增加了简单的偏差项k,即λi=λi+k,k取不同的值对图像的复原效果影响不同.图4 展示了图3中人脸图像在k取5、10、20、50时对应的的SVD脸.

从图4可以看出,Yale B子集5的原始图像受光照条件影响几乎无法用作训练模型,但是SVD脸在抑制光照影响的同时极大地保留了人脸图像的重要纹理特征.从图4的(b)-(d)可以看出,当偏差值k过大时,光照因素依然明显且图像特征存在严重的失真,本文经过多次实验发现当偏差项k=5时SVD脸的效果最好.

CMU-PIE人脸数据库包含了68位志愿者的41368张面部彩色图像,每张图片都是在严格控制的条件下采集的,图像大小均为640×486.图5(a)是CMU-PIE数据库中同一个人的5张不同光照和姿态的脸部图像,图5(b)是当偏差项k=5时对应的SVD脸.

为了得到更多的网络训练样本,本文在进行识别实验前对增强之后的人脸图像进行了随机裁剪[26],以增强深度学习网络模型的泛化能力.为了使裁剪后的图像包含尽可能多的面部特征,本文将每张人脸图像随机裁剪出50张尺寸为140×140像素的图像块,用于注意力卷积神经网络模型的训练和测试.

4.2 实验环境及配置

本文所有的实验都是在CPU为I5-8600K,GPU为GTX1070Ti的Ubuntu工作站上进行的.工作站的系统内存为16G.算法采用Python语言编写,用于构建卷积神经网络的深度学习框架为Tensorflow.

本文提出的四层注意力卷积神经网络模型的学习率(learning rate)被初始化为0.001.若在训练过程中loss值停止下降,学习率会除以10.为了防止模型出现过拟合现象,在网络中引入了L1正则化以降低模型复杂度.实验中正则化惩罚系数初始化为0.01,采用随机梯度下降对模型进行优化并将动量固定为0.9.训练过程中的batch size设置为64,经过200轮的迭代训练,得出用于分类的网络模型.

4.3 实验结果及分析

为了验证本文提出奇异值脸(SVDF)特征的有效性,分别在数据集Yale B和CMU_PIE上做了人脸识别的实验,并与梯度脸(GF)[8]、局部对角极值模式(LDENP)[27]和韦伯脸(WF)[28]等人脸特征提取算法进行了对比,结果如表1所示.

表1 在Yale B数据集上的识别率(%)

从表1可以看出,本文提出的SVDF方法在Yale B每个子集上的识别率都很高,特别是在原始光照条件很差的子集5上,GF、LDENP和WF等算法的识别效果都不太好,最低的识别率只有68.3%,最高的识别率也只有87.3%,但是SVDF算法却达到了98.1%,证明了SVDF是对光照不敏感的人脸特征.

为了比较本文提取出的ACNN网络的性能,我们选取了最近几年影响较大的三种典型深度网络VGGNet、ResNet和DeepID作比较,结果如表2所示.

表2 不同CNN网络的人脸识别率(%)

从表2中可以看出,本文提出的ACNN网络在Yale B和CMU_PIE两个数据库上的识别率要高于比其它三种深度网络.注意力机制的应用使得卷积神经网络能够有效地强调人脸的重要特征和位置,从而提高了人脸的分类识别率.

5 结束语

为了更好得处理人脸图像中的光照不足和不均衡等问题,本文提出了一种结合奇异值脸和注意力卷积神经网络的人脸识别模型.算法通过提取低光照条件下的奇异值脸降低了光照对人脸特征的影响,同时将两个不同的注意力模块(通道和空间)融合起来有效地聚焦了目标特征和区域.本文方法在保持较小计算开销的同时,显著提高了卷积神经网络的识别性能.今后可以将此方法推广应用在光照条件不足的视频图像数据集的识别和分类任务上.

猜你喜欢
人脸光照人脸识别
肉种鸡的光照不应性对养殖生产的不良影响分析
人脸识别 等
有特点的人脸
玻璃窗上的人脸
人脸识别的“国标”来了
隐蔽的力量
人脸识别技术研究与应用进展概述
荣耀畅玩7C:人脸识别
“领家系”可爱脸VS“高冷系”美人脸
水禽舍的光照及其控制