邱文龙
(上海海事大学信息工程学院,上海 201306)
目前,人脸识别技术在公安系统的嫌犯身份识别、车站机场等公共监控场景中广泛应用。传统的人脸识别算法通常有局部二值模式[1](LBP)和几何特征[2]方法、隐马尔可夫模型[3]、特征脸方法[4]等,但实际应用中由于上述方法提取特征单一,容易受到光照、尺度、旋转等因素影响,导致人脸识别准确率降低。卷积神经网络因具有权值共享、局部感知等优点被广泛用于人脸识别领域。Taigman等[5]提出了基于深度卷积神经网络(DeepFace)的人脸验证方法,用4000个人,每个人超过1000张人脸图像的大数据进行训练。Schroff等[6]提出了FaceNet算法利用三元组损失函数进行网络训练,将不同层级的特征进行融合来减少人脸识别网络训练时间。经典的卷积神经网络通常采用深层次的网络结构以获取更多的人脸局部特征,但是其网络结构计算量大,对硬件要求高,训练耗时长。本文建立了一种简化的卷积神经网络结构,包含三个卷积层和三个最大池化层,采用一个全连接层和串联的Softmax-SVM分类器,有效降低了网络结构的深度,减少了训练时长;串联分类器相比Softmax分类器,明显提高了人脸识别的准确率。
人脸识别卷积神经网络(CNN)主要包括卷积层、池化层、全连接层和分类层,通过逐层处理的方式有效提取输入图像的特征。本文构建的卷积神经网络包含三个卷积层、三个最大池化层和一个全连接层,分类层采用串联Softmax-SVM分类器,如图1所示。其中输入图像尺寸大小归一化为224×224,卷积层1包括96个尺寸大小为7×7的卷积核,移动步长为2,经过初次卷积获得96个尺寸为60×60的特征图。池化层采用最大池化方法,池化尺寸为2×2。经过池化层1处理后的特征图大小变为原来的1/4;卷积层2包括256个尺寸为5×5的卷积核,移动步长为1;卷积层3包括256个尺寸为3×3卷积核,移动步长为1;全连接层是将所有的二维特征映射转化为全连接的一维向量;第8层采用改进的串联Softmax-SVM分类器,进行特征分类。
卷积层通过卷积操作对输入图像进行特征提取,图1中卷积层1设置了96个尺寸大小为7×7的卷积核,卷积计算如式(1)。
图1 卷积神经网络结构
式中:xl-1i代表l-1层神经元i的输出,wlij是第l层神经元的第j个输入对应的权值,Mj表示神经元j对应的卷积核,Bl是第l层的偏置。f是激活函数本文中采用修正线性单元(ReLU)进行非线性处理。每一卷积核卷积得到一个特征图,结果输出96个特征图,尺寸大小为60×60。卷积层1提取的特征可视化输出结果如图2所示。
池化层主要将图像中不同位置的特征进行聚合,利用图像某区域的特定值表示该区域的整体特征以达到数据降维。本文采取最大池化,池化尺寸为2×2,移动步长为2,即在2×2大小的池化区域取其中最大值,其原理如式(2)所示:
经过池化操作后的图像大小变为原来的1/4,池化层1的可视化结果如图3所示。
图2 卷积层1的可视化结果
图3 池化层1的可视化结果
Softmax分类器是逻辑回归二分类器泛化到多分类的分类器,其作用是使用互熵损失函数将得分映射到概率域其作用是最小化预测类别的概率分布。Soft⁃max分类器计算出了属于每一类的概率,假设规定输入数据x,输出的类别y∈{1,2,…,k},总共有k类,其类标y=i的概率分布如式(3):
其中e表示自然对数的底数,表示待拟合的参θj数,上标T表示转置P(y=i|x,θ)表示输入数据x对应每一个标类i的概率,i可取1,2,…,k。对于k维输出数据,其概率P(y=i|x,θ)的假设函数h0(x)的定义如式(4):
从上式可以看出假设函数h0(x)计算了给定输入数据x的每一个对应的i=k的概率估计。参数θi是通过最大似然估计来确定的,对于有m个训练输入数据{x(i),y(i);i=1,…,m},其对数形式的似然函数为:
通过最大化函数L,可确定参数θi。
SVM分类器中定义一个多分类的支持向量机损失函数其思想是如果正确分类的得分应该比错误分类的得分高,而且至少应该高Δ。多分类的支持向量机损失函数的表达式如式(7):
神经网络中的评分函数如式(8):
多分类的支持向量机损失函数可改写式(9):
最后得出分类结果,本文结合Softmax分类器与SVM分类器的优点将二者串联,提高人脸识别的效率和准确率。
为了验证分类器对人脸识别准确率的影响,实验中用单一Softmax分类器和SVM分类器分别进行试验对比。实验结果如图(4)所示。图中纵轴表示人脸识别中的错误率,横轴表示训练过程中的迭代次数。图中abc分别是Softmax、SVM和Softmax-SVM分类器的错误率随着迭代次数的变化曲线,Softmax最终错误率在3.4%,SVM最终错误率在2.0%,Softmax-SVM的最终错误率在1.2%。
本文算法描述如下:
(1)构建如图1所示的卷积神经网络结构;
(2)对人脸数据库进行统一处理将图像尺寸大小统一为224×224,同一人脸进行类别标定再进行网络模型训练;
(3)输入卷积神经网络,通过卷积层与池化层的交替处理提取人脸图像的深层特征;
(4)在全连接层将所有特征图像转化成矩阵向量,并输入Softmax-SVM分类层通过计算深度特征的余弦距离进行特征分类。
为了验证本文算法的有效性,实验在MATLAB 2015b环境下进行,计算机配置为2.5 GHz CPU和4 GB内存。实验中选取CAS-PEAL人脸数据库进行网络模型训练,CAS-PEAL人脸数据库包含了1040位志愿者共99450幅人脸图片,平均每人95幅图片,涵盖了姿态、表情、装饰、光照、背景、距离和时间等特征变化。实验中随机选取数据库中70%的的图片作为训练集进行网络训练,30%作为测试集来对网络模型的识别准确率进行测试。
为了进一步验证本文所提的卷积神经网络的有效性和优越性,将该结构的实验结果与其他识别方法在CAS-PEAL和LFW人脸数据库上的实验结果进行对比实验结果如表(2)所示。从表中可以看出本文算法PCA算法与Facebook公司的DeepFace网络识别准确率高,比FaceNet的网络略低但是本文算法的网络深度较浅,训练耗时短。
表1 不同方法实验结果对比
针对经典人脸识别卷积神经网络中因网络层次过深,导致训练时间过长问题,设计了一种由三个卷积层、三个池化层、一个全连接层和一个分类层组成的网络,大大降低了网络的深度,减少了计算量。实验中对Softmax类器和SVM进行了对比最后选择将两种分类器串联,结果表明本文设计的网络结构能够有效地提取人脸特征,与经典的网络结构相比大大降低了网络的深度,并在特征分类过程中用Softmax-SVM分类器代替单一Softmax分类器降低了人脸识别的错误率。在CAS-PEAL人脸库上测试,识别准确率达到98.80%。
图4 不同分类器人脸识别错误率比较