严培宏,李 雷
(南京邮电大学 理学院,江苏 南京 210023)
近年来在神经网络、图像处理、机器视觉、模式识别等领域,人脸识别作为一种利用生物特征的识别技术称为研究热点课题之一。同时,因人脸识别技术具有稳定性高的优点,被广泛的应用于安保系统和“考勤”系统中、以及在移动支付和交友APP系统等。目前人脸识别算法主要可分为:基于几何特征方法[1]、基于子空间方法[1]和基于局部特征方法[1]三大类。其中基于几何特征方法是人脸识别最早提出的方法之一。
虽然人脸识别已经发展到了一个很成熟的地步。但是,对于现实中的人脸识别,仍然存在着很多还未得到有效解决的问题,这些问题主要来源于所需识别的人脸图像受到外界因素的影响,如人脸图像受光照、表情、姿态、遮挡的影响等。而这些情况会导致训练图像和需识别图像之间的数据发生严重的误差。本文重点研究受光照因素影响的人脸识别问题。
针对主成分分析(Principal Component Analysis ,PCA)[2]和鲁棒主成分分析[3-6](RPCA)存在的优缺点,提出了基于RPCA和卷积神经网络[7-8]的人脸识别算法,首先对于人脸库中的人脸图像进行鲁棒主成分分析去除光照人脸的噪声影响,得到人脸图像的稀疏矩阵和低秩矩阵,然后再利用卷积神经网络对于得到的低秩图像进行识别分类,实验表明本文提出的基于RPCA和卷积神经网络的人脸识别提高了对于有光照影响的人脸识别率。
本文首先利用RPCA对样本数据中的光照噪声进行处理,得到样本数据的低秩图像和稀疏图像。对样本数据进行人脸识别过程中,训练样本有K类,设第i类有ni幅人脸样本图像,如果,vi,ni表示每一个训练样本的列矢量,则它们组成一个列向量
Di=[vi,1,vi,2,…,vi,ni]∈Rm×ni,
其中m表示训练样本的特征维数,那么全部人脸的训练样本矢量可以描述为:
为训练样本的总数量。在理想的子空间中,D一般是低秩的,但是在受到外界条件如光照、阴影、遮挡等因素的影响而存在误差项,通常D为满秩的结构,其中误差矩阵为:E∈Rm×N,人脸图像的训练样本D可以表示为
D=A+E
其中A∈Rm×N为训练样本的低秩矩阵。
当误差项矩阵E中元素服从高斯分布时,那么求解最优的矩阵A可以转化为求解如下优化问题:
(1)
其中r表示低秩矩阵A的秩。
然而在实际应用中,E中元素并不符合高斯分布条件,因此在求解时不能够采用主成分分析的方法。事实上,(1)式可以转化为求解双目标的优化问题,因为所求解的误差矩阵具有稀疏性,故误差矩阵也是稀疏矩阵。因此有:
(2)
为了降低求解(2)式的复杂度,将(2)式中对两个目标同时进行优化的问题,引入一个权衡参数λ,转化为一个更简单求解的优化问题,如(3)式所示:
(3)
然而(3)式是一个难以求解的问题,因此将目标函数l0范数松弛为l1范数,将矩阵的秩转化为核范数,(3)式变为近似求解如下的凸优化问题:
(4)
其中‖·‖*代表核范数,‖·‖1代表l1范数。
式(4)的最优化问题的求解方法有:迭代阈值法(Iteration Thresholding, IT)[9]、加速近端梯度法(Accelerated Proximal Gradient, APG)[10]、对偶方法(DUAL)[12]、增广拉格朗日乘子法(Augmented Lagrange Multipliers, ALM)[11-12]等, ALM算法可分为精确ALM算法和非精确ALM算法两种,精确ALM算法使用交替方向法更新迭代A和E,直至出现停止迭代的条件为止;本文采用精确拉格朗日乘子法来求解鲁棒主成分分析。
下面来介绍求解精确ALM算法:
首先,式(4)的拉格朗日函数定义如下:
L(A,E,Y,μ)=‖A‖*
(5)
μ为惩罚参数,用来确保收敛性,Y为拉格朗日乘子。
最小化式(5)时,先固定E和Y,得到使L最小化的A:
(6)
然后固定A和Y,得到使L最小化的E:
(7)
对矩阵Y进行更新:
Yk+1=Yk+μ(D-Ak+1-Ek+1)
(8)
对参数μ进行更新:
μk+1=ρμk
(9)
其中ρ为大于1的常数。
卷积神经网络是一个多层的神经网络,一般是由输入层、隐藏层、全连接层和输出层构成。其中,卷积神经网络的隐藏层是由卷积层和池化层交替构成的。
卷积层是由多个特征面构成,每个特征面由多个神经元组成;卷积层通过卷积核后加上偏置,在激活函数的作用下可以得到下一层输入的特征图[13],表达式:
(10)
池化层又称下采样层,多位于卷积层之后,用于对上一层输出的特征图进行池化处理。常用的池化处理方法有:均值池化(Average Pooling)和最大值池化(Max Pooling)。其中Average Pooling是取局部区域的采样点的均值,Max Pooling是取局部区域的采样点的最大值,适用于分离非常稀疏的特征。下采样表达式:
(11)
本文采用最大值池化的方法来对特征图进行处理。
在卷积神经网络中,经过多个卷积层和池化层之后会连接一个或几个全连接层,用于整理卷积层和池化层中具有可区分类别的信息。数学表达式为:
(12)
对于全连接层的输出会接逻辑回归进行分类,通常采用Softmax逻辑回归进行分类。
本文采用的RPCA是利用非精确增广拉格朗日乘子算法求解得到的低秩图像和稀疏图像;低秩图像较原图像较好地去除了不同条件下光照阴影的影响,得到了较原图像更清晰的低秩图像。
本文采用的CNN模型类似于LeNet5[7]的模型,本文的模型包括1个输入层、2个卷积层,2个池化层,1个全连接层和1个输出层。卷积层采用5×5的卷积核,池化测层采用2×2的卷积核进行最大值池化,卷积层和全连接的激活函数均采用Relu函数。网络最后一层采用非线性分类能力强的Softmax回归作为分类器。算法流程如图1所示。
图1 算法流程图
本文将由RPCA算法提取出人脸图像的低秩图像作为卷积输入图像,通过卷积层可以得到若干个特征图,再经过池化层通过加权加偏置以及激活函数,产生了一个更小的特征映射图,最后通过全连接层输出一组特征向量用于Softmax分类。
为了验证本章方法的有效性,在YaleB人脸库进行了实验。该人脸库共有10人,每人576幅人脸图像,其中包括9种姿态、64种光照条件。本文实验只选取了正面姿态的图像,而且将64种光照条件的人脸图像按照光照的角度α划分为5个子集,分别为:子集1 (α<12°),子集2(20°<α<25°),子集3(30°<α<35°),子集4(60°<α<77°),子集5(α>78°)。YaleB数据库的部分样本如图2所示。
图2 YaleB人脸库不同光照的人脸样本
在本文实验中,首先利用鲁棒主成分分析将YaleB数据库中10个人脸在不同光照条件下的光照人脸图像去除光照噪声,得到每个子集的低秩图像和稀疏图像。如图3所示。
图3 从左到右依次为原始图像、低秩图像、稀疏图像
由图2可以很明显看出,低秩图像比原始图像更加清晰,更具有代表性。因而更有利于人脸识别。
将所得到的低秩图像用于卷积神经网络的输入。在所得的10人的人脸低秩图像的每个子集中,随机选取每个子集80%的人脸图像作为训练集,余下的20%样本作为测试集。学习率为0.01。得到的实验结果如表1所示。
表1 在YaleB数据库中的识别率/%
由表1可知,本文算法具有较好的识别效果,较卷积神经网络与鲁棒主成分分析具有较好的鲁棒性。
有光照影响的人脸识别的研究一直是人脸识别研究的重要方向之一,本文针对于当前对较强光照的人脸识别的不足,提出了基于鲁棒主成分分析和卷积神经网络的光照人脸识别算法的研究,并且主要在YaleB数据库中在Matlab2007中进行了仿真实验,结果表明本文算法具有较好的识别结果。