APP下载

基于深度学习的人脸识别方法研究

2021-10-14张爱民

西安航空学院学报 2021年3期
关键词:人脸准确率卷积

张爱民

(中共涡阳县委党校,安徽 亳州 233600)

0 引言

人脸识别是基于人的脸部特征进行身份识别的方法,人脸识别技术在日常交通运输、门禁管理、信息安全等领域应用越来越广。人脸识别算法是目前人脸识别技术热门的研究领域之一[1-2]。传统神经网络算法也用于人脸识别技术,但存在人脸识别率偏低的问题。随着人工智能的不断发展,深度学习作为一个新的研究方向被引入机器学习,使其更接近人工智能目标。随着深度学习的发展,传统的神经网络人脸识别方法逐渐被基于卷积神经网络的方法所替代。总体而言,虽然基于深度学习算法的人脸识别方案得到了科学界的研究,但现阶段人脸识别技术依旧需要改进和提升效果[3-5]。

FaceNet是谷歌公司推出的采用深度卷积神经网络的人脸识别算法。目前,二维FaceNet算法的研究比较广泛,采用深度卷积神经网络学习将人脸图像信息映射到欧式空间。空间距离直接与图片的相似度相关:当识别的两张人脸在距离十分接近,即说明两张图像上的人相似程度很高,进而算法判断为同一个人。

在实际的人脸识别过程中,机器首先要采集到待判定的图像或者视频信息,此时的图像或视频信息往往包含一定量的无用背景信息。为提升准确率,先利用MTCNN网络完成人脸的快速检测,并对检测出来的人脸信息进行裁剪,以达到快速去除无用信息提升人脸识别准确率的作用。然后,将前述处理后的图像放入训练好的模型以实现人脸识别功能。人脸识别算法采用FaceNet算法,最终输出人脸识别结果[6-8]。本文以图像人脸识别为分析对象,提出了一种改进人脸识别的并行FaceNet框架,以提升模型识别的准确率。

1 MTCNN人脸标定法

人脸标定是人脸识别的重要处理步骤之一,其核心思想是通过检测照片中的信息,进而对图像中的人脸进行定位,获得框坐标信息。人脸框坐标信息可以帮助人脸识别算法进一步获取重要的数学信息。考虑到每个人独特的人脸身份特征,可以通过细节对比的方法,识别出图像中人脸的身份结果[9]。实践中,人脸识别应用越来越广泛,人脸检测技术与识别技术已经从单一场景发展到多场景,从室内的摄像设备发展到室外的仪器,可见,人脸识别的环境条件及设备越来越复杂。与此相对,人脸检测与识别技术仍有一些问题亟待解决,如人脸的表情信息变化幅度过大,人脸基数过多,强光阴暗等条件的影响,口罩等遮面工具的阻碍,浓妆等的影响甚至连人眼都很难分辨。

实践上在人脸检测和人脸识别中应用比较广泛的算法是多任务级联卷积神经网络(Multi-task Cascaded Convolutional Neural Networks, MTCNN),它是一种基于深度学习的人脸检测和人脸对齐方法,可同时完成人脸检测和人脸对齐的任务。和传统的算法相比较而言,MTCNN具有性能更好,检测速度更快的特点。MTCNN采用多任务处理,使用3个串行CNN级联网络(P-Net、R-Net、O-Net)提取人脸的相关信息,进而实现人脸检测由繁化简的过程。考虑到实际应用场景中,机器获取到的图像大小并不完全一致,并且人脸大小也不尽相同。为此,需要将图像进行预处理,即将输入图像大小统一尺寸。将处理后的图像通过P-Net网络进行处理。P-Net网络的作用是通过分析图像生成多种人脸候选框。此后,采用非极大值抑制(Non-Maximum Suppression, NMS)处理后的数据进行计算,并删除重复的候选框。接下来将经过P-Net网络截取出来的图像片段进行尺寸处理并经由R-Net结构进行计算,并再经由NMS算法计算,进而获得相对准确得人脸框。最后将图像经过O-Net网络进行计算,直到最终输出正确的人脸候选框和人脸特征关键点坐标,至此人脸快速检测算法MTCNN结束。图1所示为MTCNN的算法训练流程图。

图1 MTCNN算法训练流程图

为了训练好上述的网络模型,需要保证以下三个任务的损失函数值达到最小。

(1)人脸二元分类任务:考虑到人脸检测问题的特殊性,可以将人脸检测问题理解为“需要判断检测框内是否存在真实的人脸的信息”,即转变为二分类问题,以交叉熵作为人脸识别损失函数。其计算公式如下:

Loss1=-(yilogpi+(1-yi)(1-logpi))

(1)

式中:yi为真实标签,存在人脸为1,不存在人脸为0;pi为经过模型输出预测为存在人脸的概率(可行性)。

(2)BB回归任务:针对任意一个候选窗口,均需要计算其到标注框之间的偏离量,其目的是为了更好地实现位置回归操作,损失函数如下:

(2)

(3)标记定位任务:此项任务需要对人脸的标记点进行位置标记,包括左眼、右眼、左嘴角、右嘴角、鼻子等部位。同平方差损失函数类似,脸部位置标记损失函数如下:

(3)

根据上述任务损失函数设置完成后,考虑到MTCNN模型的三个网络结构需要完成不同的功能,仅需要设置不同的权重分别乘以三个损失函数并进行加和运算,即可完成MTCNN人脸识别模型的训练。

2 并行FaceNet人脸识别框架

FaceNet的设计理念是验证所给的图像中的人脸是否为已经存储至数据库的人脸,并且通过人脸识别算法分析并判断该人脸的姓名信息等[10]。其核心是将人脸图像映射到一个多维空间,并比较计算所得欧式距离的数值来评判识别人脸的相似与否,最后以矩阵形式显示出来,给出直观的识别结果。由于长相差距较小人脸的图像映射距离短,而不同人脸信息的映射距离长,于是采用算法计算人脸图像的空间映射即可实现人脸识别功能。图2所示为FaceNet人脸识别验证流程图。

图2 FaceNet人脸识别验证流程图

基于传统串行的卷积神经网络对于复杂的人脸信息获取信息不足问题,在前述工作基础上提出了并行卷积网络模型架构,其示意图如图3所示。

图3 并行卷积网络结构示意图

由图3可知,并行网络模型架构由m(m≥2)个分支的串行神经网路模型构成,并经由全连接层进行输出参数合并。通过修改各个分支网络模型的中的卷积核大小,令不同分支的网络分别保存不同的特征提取网络模型参数,进而可以更为精准地获得输入图像更多特征信息。可见,和单分支的网络模型相比较而言,并行卷积网络结构具有更好的人脸信息表征能力。为了进一步提升FaceNet人脸识别准确率,基于前述工作,本文在并行卷积神经网络的基础上提出了一种并行FaceNet的人脸识别框架模型结构,如图4所示。

图4 并行FaceNet模型结构示意图

根据图4,并行FaceNet的人脸识别框架模型先采用MTCNN算法所得到的人脸裁剪后的图片样本,而后将样本输入并行FaceNet网络模型中,图像经过并行FaceNet网络输出为特征信息,接下来对特征信息进行深度连接(加和求均值)操作。和标准的FaceNet网络相比较,并行FaceNet网络可以学习到更多的人脸图像特征,进而可以更好的进行人脸识别。经深度连接操作后,再经L2特征归一化生成特征向量,随后选择三元组损失函数对模型计算调整。三元损失函数的计算公式如下:

Loss=max(d(a,p)-d(a,n)+argmin,0)

(4)

式中:a为原人脸特征;p为与a同类别的人脸特征;n为与a不同类别的人脸特征;argmin为样本容量为N的数据集的各种三元组。该损失函数能够更好学习到人脸的Embedding,即使得相似人脸信息的特征距离尽量趋于无限小,不同人脸信息之间的特征距离趋于无限大。

3 实验结果与分析

3.1 实验设置

为了验证并行FaceNet的人脸识别框架模型的有效性,采用Python3.7进行验证实验。采用的数据集为LFW人脸数据集,LFW人脸数据集的人脸图片如图5所示,该数据集共有13000多张人脸图像,总计5700多人。为使实验结果更加可靠,共选取了20组人脸进行实验。考虑到实验数据的真实差异性以及为了方便统计,对人脸数据进行了扩充处理,处理方式包括镜像复制,旋转复制以及加噪复制等方法。处理后的人脸图像总共10000张,每一组人脸图像为500张,尺寸大小统一转变为64×64×3(3表示3原色)。人脸数据训练集与测试集按照9∶1的比例进行划分,即9000张人脸图像为训练集,其余的1000张为测试集。

图5 LFW人脸数据集部分人脸图片

3.2 实验过程与结果

为了更好的进行人脸识别准确率实验,先利用MTCNN计算方法进行快速人脸检测,并对检测出来的人脸图像信息分切,裁剪过程如图6所示。由图6可见,经过MTCNN计算裁剪的图像样本可以去除多余的背景信息。

图6 MTCNN裁剪示例

将裁剪后的图片制作成训练集去训练人脸识别模型。为方便比较,除了标准FaceNet人脸识别算法外,也采用了DeepFace人脸识别方法[11]进行了对比实验,所得实验结果如表1所示。根据表1的实验结果可知,目前的人脸识别效果(DeepFace方法)已经达到了较高的水平,识别准确率为95.2%。标准FaceNet人脸识别算法的准确率高于DeepFace算法。而并行FaceNet的人脸识别框架模型算法准确率是最高的:相比于标准的FaceNet方法准确率提高了1.1%;相比于DeepFace算法准确率提高了1.9%。这说明并行FaceNet的人脸识别框架模型可以识别出更多的人脸特征信息,同时也进一步证明了优化后的并行FaceNet模型可以学习到人脸面部的更多表征信息,进而更好提升人脸识别准确率。同时,并行卷积FaceNet方法的普适性很好,同样可以用于其他网络模型中。

表1 对比实验结果

4 结论

人脸识别的目标是依据不同人脸的面部信息特征不同这一差异进行身份识别。通常情况下,人脸采集设备会通过摄像装置收集含有人脸的视频信息流。利用对应的识别算法,计算机能够自动捕获人脸并对其进行人脸检测、面部识别等操作。本文对人脸监测算法MTCNN和人脸识别算法FaceNet进行深度分析,并在此基础上提出了一种能够有效提升人脸识别准确率的方法。该方法并且在LFW人脸数据库中识别准确提升幅度达到了1%,与传统算法相比优化后的算法有助于帮助人脸检测技术的发展与推广。但本文所提出的方法仍存在一定的不足,需要进一步进行研究:需要额外占用一定的计算机内存;算法运行速度仍然较慢。因此还需探索新方法来解决上述问题。

猜你喜欢

人脸准确率卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
玻璃窗上的人脸
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
智力考场:有趣的图片测试