APP下载

基于深度学习与特征融合的人脸识别算法

2020-12-23郭天伟齐金山杨海东王超

微型电脑应用 2020年11期
关键词:卷积神经网络人脸识别深度学习

郭天伟 齐金山 杨海东 王超

摘 要:近年来,随着各行业对安全认证和监控系统的需求激增,如何准确识别身份信息已经成为了学术界的热点研究方向。生物学信息识别技术由于个体特征的唯一性在识别的准确度上有着得天独厚的优势而迅速崛起。基于深度学习和特征融合理论提出一种人脸识别算法。首先,分析了人脸识别的行业发展现状;其次,阐述了深度神经网络的原理并分析了各种模型的特征;再次,提出一种人脸特征融合算法;最后,在实验中,以不同肤色、人种、性别的人脸图像为实验对象,验证了所提出算法在多种条件下的有效性。

关键词:深度学习;卷积神经网络;特征融合;人脸识别

中图分类号:TP 242.3

文献标志码:A

文章编号:1007-757X(2020)11-0005-04

Abstract:In recent years, with the increasing demand for security authentication and monitoring system in various industries, how to accurately identify the identity information has become a hot research direction in academia. Due to the uniqueness of individual characteristics, biological information recognition technology has a unique advantage in the accuracy of recognition and is rising rapidly. This paper proposes a face recognition algorithm based on deep learning and feature fusion theory. Firstly, the development status of face recognition industry is analyzed. Secondly, the principle of deep neural network is expounded and the characteristics of various models are analyzed. Thirdly, a face feature fusion algorithm is proposed. Finally, face images of different skin color, race and gender are taken as experimental objects to verify the effectiveness of the proposed algorithm under various conditions.

Key words:deep learning;convolutional neural network;feature fusion;face recognition

0 引言

近年来,信息的实时传输在云计算、计算机科学和大数据等现代化电子信息科学的支持下成为了现实,这有助于保障人们的个人隐私及信息安全[1]。当今的挑战在现代世界中,快速有效地识别个人身份信息是保护个人隐私和财产的必要工具。传统的识别方法(身份证,个人身份证,访问代码,银行卡帐户密码等)面临重大危机。使用帐户密码作为个人身份验证方法,很难防止帐户密码被遗忘或丢失。很难使用证书作为个人身份验证的手段来验证文档不是伪造的,并且使用密码作为个人身份验证的手段来验证密码是否被盗有。在这方面,身份专家提出了准确可靠的生物识别技术。

生物识别技术是指通过验证人体的生理特征来准确识别个体身份的技术[2]。指纹识别、人脸识别、掌纹识别等手段作为常用的生物识别方法已经逐渐商用化,走进了成为人们日常生活中不可或缺的一部分,为普罗大众提供着方便快捷的途径。人脸识别在一众信息识别方法中以其便捷性、低成本等優势脱颖而出,迅速占领了民用市场。作为一种依据面部特征信息进行匹配的识别方法,人脸识别识别技术可提取大量个人信息识别率较高。目前是最为常用的识别手段,也是当下相关领域最为热点的研究话题。

人脸识别涉及多学科信息,囊括了图像处理、机器学习、计算机科学和生物科学等多个前沿学科,而随着该项技术在各个领域的飞速发展,在公共安全、安全认证系统以及支付系统等领域尤为显著。文献[3]利用均匀LBP算子分别提取图像各局部的LBP直方图特征,将得到的LBP特征作为深度信念网络(DBN)的输入。文献[4]将归一化的人脸图像均匀分割为多个小块,对每个小块进行LTP运算,然后用统计直方图获得最后图像特征,将其作为DBN的输入数据,利用逐层贪婪学习法对整个网络进行训练识别。文献[5]通过引入深度学习算法进行多层次的学习,然后提取高层特征进行人脸描述,最后应用最大间距准则减小最小二乘估计产生的重建误差。这些文献中所阐述的方法都针对局部的特征进行分析,且识别率较低。

1 深度神经网络

作为人工智能(AI)领域的核心研究分支,机器学习涵盖了概率论、神经生物学、控制科学与工程、哲学和信息理论等融合理论[6]。让计算机模拟人类的认知手段来进行“学习”,从而获得一定的客观规律,最后通过“学习”到的规律对现实的工作进行“举一反三”,预测未知的结果是机器学习的本质。

在数十年的稳步发展后,机器学习已经自成体系,诸如支持向量机、决策树、人工神经网络等分支在理论体系的构建和工程应用上都已经取得较为丰硕的成果。

1.1 人脑视觉原理和深度学习

早在上世纪80年代初,加拿大裔美国科学家David Hubei和瑞典科学家Torsen Wiesel对于人脑的视觉系统已经取得了一定成果,他们共同提出人脑的视觉系统的分层信息处理机制,如图1所示。

显示了从人眼接收视网膜图像信息的人类视觉。通过将目标的简单边缘和角度传递到V1区域来提取和形成V4区域图像的基本轮廓[7]。本地信息形成整个AIT的目标抽象,并最终对PFC域中的对象进行分类。可以看出,人脑从眼睛接收信息,逐层处理最终分类,并且顺序地抽象和概念化下层的特征以形成层的特征[8]。

深度学习构建深层网络结构和训练方法是受到人类大脑工作原理的启发,其分层结构类似于传统神经网络[9]。然而,深度学习中的隐藏层是一种多层体系结构,其中来自每一层的输入取自前一层的输出[10]。这种深层体系结构在提取图像基本特征方面具有很大的优势,网络结构越深,相应的表达能力越强。但是,随着层数的增加,深度神经网络依赖于大型训练集和高性能硬件的特点也逐渐暴露。

1.2 卷积神经网络

当人类感知外部世界时,他们的视觉皮层神经元通常在查看全局信息之前从外部世界接收本地信息,使用局部信息来感受野(Receptive Field)来感知局部图像。这显着减少了需要学习的参数。图像中距离接近的像素在空间上密切相关,但是分开的像素在空间上不相关。因此,卷积神经网络获得下层网络上的图像的局部感知信息,然后通过合成和分析上层网络上的局部信息来获得图像的全局信息。因此,在卷积神经网络中,网络参数大大减少,并且网络模型的复杂性降低,因为每个神经元不需要感知图像的整体信息。

将图像输入视为二维矩阵,通常是方阵。每个神经元紧接在第一个隐藏层连接到其中一个区域之后。卷积神经网络中的卷积处理是通过卷积核与图像的卷积来执行的,并且所使用的卷积核通常是由N×N个不同参数组成的滤波器窗口。为提取整个图像的特征信息,卷积核以固定的步长移动,遍历图像,通过对不同的部分进行连续卷积来实现。

由于卷积内核只能提取一个特征,因此需要多个卷积核来完全提取图像特征。激活函数可用于提取卷积处理后的输出映射特征,如式(1)。

式中,描述了输出特征映射图与卷积核的关系。

在卷积神经网络中降低特征映射的数据规模,也就是数据降维,同时减少网络参数的总量,称为池化,其本质降采样。池化是将来自不同地方的特征组合在一起的过程。其中层中每个映射的每个元素与相应卷积层的特征映射一一对应。

池化可帮助降低图像扭转和失真的影响,如式(2)。

式中,通过偏置和降采样实现了不同位置特征的聚合。

1.3 基础模型及优化

随着深度学习技术的快速发展,其在人脸识别领域的效果也随着方法的改进而不断提升。当下已经有部分基础模型公开了其数据库,VGG是其中典型且应用较为广泛的一种。

1.3.1 VGGFace模型

VGGFace是由2014年提出提出的一种基础模型,在LFW数据库的测试上获得了90%以上的准确度。VGG中根据卷积核大小和卷积层数目的不同,可分为A,A-LRN,B,C,D,E共6个配置(ConvNet Configuration),其中以D配置较为常用,称为VGG16。

VGG16进行具体分析发现,VGG16共包含以下内容。

1) 13个卷积层(Convolutional Layer),分别用conv3-XXX表示;

2) 3个全连接层(Fully connected Layer),分别用FC-XXXX表示;

3) 5个池化层(Pool layer),分别用maxpool表示。

VGG模型配置,如图2所示。

VGG16的突出特点是简单,体现在以下方面。

1) 卷积层均采用相同的卷积核参数;

2) 池化层均采用相同的池化核参数;

模型是由若干卷积层和池化层堆叠(stack)的方式构成,比较容易形成较深的网络结构。

相對的VGG-16网络也存在着巨大的缺陷。

1) 训练时间过长,调参难度大。

2) 需要的存储容量大,不利于部署。例如存储VGG16权重值文件的大小为500多MB,不利于安装到嵌入式系统中。

1.3.2 VGGFace模型优化提升

TripletLoss是深度学习中的一种损失函数,用于训练差异性较小的样本来提高VGGFace的精度。数据包括锚(Anchor)示例、正(Positive)示例、负(Negative)示例,通过优化锚示例与正示例的距离小于锚示例与负示例的距离,实现样本的相似性计算。

Anchor通常随机选取一个样本,用作迭代输入;其余的两个样本也是随机选取,其中Positive示例表示其与Anchor的类别相同,Negative则相反,如图3所示。

TripletLoss通过学习使Anchor和Positive尽可能接近,二者间距离为dp,同时使Anchor和negative间的距离dn足够大。

其目标函数如式(3)。

式中,所描述的目标函数易得出产生损失和无损失的条件。

2 基于特征融合的人脸识别

2.1 特征提取和融合的目的

图像中记录人脸信息的主要一句就是人脸的特征,描述的效果是跟人脸信息的显著性正相关的。卷积神经网络可通过不同的卷积核实现对于不同特征的自动提取。特征提取过程,如图4所示。

神经网络将底层特征抽象化后表示为高层特征。人脸图像身份信息使用层级越高的特征则表达越具体、精确。

基础特征可通过基础模型对图像进行预处理后取得。作为神经网络的输入数据,面部特征需要经过规范化处理后融合其为组合特征。组合特征融合过程,如图5所示。

卷积神经网络是分层的,网络的最后层通常是完全连接的。其主要功能为两点:(1) 实现隐含语义节点与学习到的原始之间的映射建立;(2) 存储大部分网络参数,保留有用信息,通过低维度替换高维度来实现网络复杂度的降低。通常用一维向量来表征所提取到的人脸特征。

2.2 特征降维

特征降维是为了在降低基础模型的数据容量的同时,尽可能保证原始数据。计算的复杂度分为时间复杂度和空间复杂度,特征降维可以有效降低计算的空间复杂度,从二维的特征降低至一维,这样做的好处是可获得更小规模的组合特征,同时保障特征权重的一致性。经过适当的调整,对于网络训练有有着较好的改善效果。

降维方法主要包括因子分析、独立成分分析和主成分分析。

(1) 因子分析:除了可能导致数据变化或生成的一些可观察因素外,一些隐藏因素也可能导致数据变化。如果这些隐藏元素由某些可观察元素线性连接,则隐藏元素将减小数据的大小。

(2) 独立分量分析:假设原始数据是从N个独立数据源生成的,如果数据的维数大于N,则一维数据与其他维度线性耦合。可以减少数据维度至N。该方法类似于N维因子分析。

(3) 主成分分析(PCA):通过分析问题的主要影响因子,依据统计手段提取特征,简化问题的复杂度,仅保留主要影响因子可以大幅度的降低数据的规模和特征向量的维度。一般地,将一组相关的数据转化为以每个维度为正交基的线性组合,以提取数据的关键特征分量。PCA算法相较于其他类似算法主要的优越性是在实现数据规模的减小的同时,仍可以兼顾保留原始信息。

利用线性代数的知识,基于较小维度的向量变换可以获得与基本维度相同的向量表示,并且可以减小向量维度。类似于该原理,PCA算法是通过基变换来实现降维。选择基本变换的基以便在降维后最优化还原数据是很重要的。

如果原始數据有着更加分散的投影值,则有着更加良好的降维效果,因而高维原始数据的投影就是基向量的本质。为了使降维后能够更好的存储原始的数据,相关性是每个投影向量间要尽量避免的。这里涉及两个度量值,其一是数据的分散程度,一般通过数据的方差来决定;其二是数据的相关性,一般通过数据的协方差来决定。

综上,PCA算法的最终目标是使得各个向量的方差最大,而各向量的协方差为零。

对于矩阵X ,其行向量线性无关,如式(4)。

将X与XT相乘,并求其结果的平均值,如式(5)。

简化PCA算法的优化目标,可表示如下:对原始数据的协方差矩阵进行对角化,除主对角线上的元素外其他元素设置为零,同时主对角线上元素按照其值降序排列。

PCA算法的主要流程如下:(1) 求解均值化后的高维矩阵所对应的协方差矩阵,通常记为

C矩阵;(2) 求解矩阵C对应的特征值和特征向量;(3) 按照特征值的降序排列特征向量形成矩阵D;(4) 矩阵P是由矩阵D的前K行形成的;(5) 将X对P投影,其结果为降维的主成分。

2.3 预处理

在许多情况下,面部图像包含大量数据,并且它们的规模通常非常大。为了克服许多卷积神经网络在人脸识别过程中因大量人脸图像数据而造成网络收敛速度较慢的问题,需要对待识别的人脸图像进行预处理。PCA算法不仅可以用于数据降维,在面部图像的处理方面也较为适合。

为了使用PCA算法处理面部图像,首先需要找到其投影空间 - 特征平面。训练样本的第i个脸部图像由一维向量表示,如式(6)。

协方差矩阵C因面部数据的图像数据量较大而维度较高,这提高了特征值量和特征向量的解算难度。使用奇异值分解的相关知识减少计算量:对角化矩阵C,其特征向量经过变换之后可以表示,如式(7)。

通常训练样本的特征向量组成特征空间,其包含人脸图像的主要特征。将面部图像投影到特征空间以提取图像的主要信息,将要降维的面部图像投影到特征面空间W,通过公式处理后可得到神经网络的输入数据,如式(8)。

2.4 特征融合

全连接层提取的特征表示数据中含有负数,网络操作的开销和网络训练均会因此而效果变差。数据的冗余可以通过构建稀疏特征向量来解决,这样做的结果还可以改善网络训练的时间成本。稀疏特征向量可通过线性整流函数获得,通过对基础特征做激活,如式(9)。

为应对不同基础特征取值范围的跨度和取值边界均不同的情况,便于特征的整合,一般需要归一化处理基础特征,将其取值范围限制于[0,1]区间,如式(10)。

合并归一化特征向量,即可得到组合特征,如式(11)。

3 实验

为适应海量图片训练的大数据量,对系统的性能有着较高的要求,采用I7 7700四核八线程CPU,并搭配NVIDIA GTX1070,使得实验中尽量不出现因硬件不足造成额外的时间开销。

同时为验证本文所提供的算法,通过MTFL数据库的万张图片提取特征,进行模型训练,并最终针对300张左右不同肤色、人种、不同采光条件、不同清晰度的人脸图片进行特征提取,验证本文所提出算法的有效性,如图6所示。

图6所展示的五个不同身份背景、不同性别的人在不同的光照条件和不同的清晰度下形成的照片,均可有效捕捉其面部特征予以准确识别,经过学习后,对于实验所用的300张图片,其中识别成功的有283张,共计有17张未能准确识别,准确率达到94.33%,基本可以满足实际需求。相较于文献[5]基于最大间距准则方法获得的平均78.64%的准确率,以及文献[6]基于特征弹性图达到的平均72%的识别率,提升较为明显。

猜你喜欢

卷积神经网络人脸识别深度学习
人脸识别的“国标”来了
中科视拓开放商业版本人脸识别算法
荣耀畅玩7C:人脸识别
基于深度卷积神经网络的物体识别算法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究
“人脸识别”人工智能测谎仪研发成功