一种人脸识别方法技术

技术编号:18764504 阅读:76 留言:0更新日期:2018-08-25 10:49
本发明专利技术涉及一种人脸识别方法,包括以下步骤:第一步、读取人脸图像样本数据集;第二步、建立深度卷积神经网络,所述深度卷积神经网络中引入残差单元;第三步、利用梯度下降算法更新深度卷积神经网络参数,首先通过所述深度卷积神经网络将所述样本数据集的人脸图像映射成512维特征向量;计算损失函数及损失函数的梯度,所述损失函数由Softmax函数和A‑softmax函数加权构成,并根据损失函数的梯度下降距离是否小于预设阈值更新深度卷积神经网络的参数;第四步、通过更新参数后的深度卷积神经网络进行人脸识别。本发明专利技术不但考虑了类间距离,而且考虑了类内距离,因此提高了人脸识别率。

【技术实现步骤摘要】
一种人脸识别方法
本专利技术涉及一种人脸识别方法,属于人工智能

技术介绍
近年来,基于深度学习的人脸识别技术不断发展,在开源人脸数据测试集LFW上的识别率不断被刷新。与此同时,存在一些制约识别率的提升的因素:1)海量训练数据的获取与提纯。在深度学习模型的训练过程中,依赖大量有效的人脸训练样本以提高识别精度,理论上数据越多,模型的泛化能力越强。目前主流的开源人脸识别训练集,有VGG2、Ms-Celeb-1M等,但以上数据集仅能满足浅层模型的训练,而如果直接对两个数据集进行合并,会带来样本重合的问题。因此如何获取海量有效的人脸数据是亟待解决的问题之一。2)深度学习模型结构的设计。深度学习模型结构是影响识别效果的关键因素之一,合理设计的深度学习模型结构,往往在人脸识别准确率上表现优异。因此,为了提高人脸识别准,需要对深度学习模型的结构进行优化。3)训练损失函数的选择。目前基于深度学习的人脸识别方法中,主流的损失函数是Softmax函数,Softmax函数在机器学习中有非常广泛的应用,会避免分值小的那个饥饿。在模型的迭代训练过程中,不同类别样本的类间距离不断增大,使得其在分类问题上的表现十分优异。但是对于人脸识别问题来说,不单要考虑类间距离(不同人之间鉴别能力),同时也需要考虑类内距离(同一个人的不同图片的聚类能力)。因此,需要对损失函数进行优化。综上,目前的人脸识别解决方案,存在着训练样本集数据缺失、模型性能不足以及识别精度不高等问题亟待解决。
技术实现思路
本专利技术要解决技术问题是:提供一种可以提高识别率的基于卷积神经网络深度学习的人脸识别方法。为了解决上述技术问题,本专利技术提出的技术方案是:一种人脸识别方法,包括以下步骤:第一步、读取人脸图像样本数据集,每幅人脸图像为3通道,其高度为112个像素,宽度为96个像素;第二步、建立深度卷积神经网络,所述深度卷积神经网络由下表中各模块通过级联的方式构成:表中第一列为模块名称,第二列为输入图像大小,第三列为输出图像大小;其中残差单元ResBlock由第一卷积层、第一BN层、第一PReLu层和第二卷积层、第二BN层、第二PReLu层通过级联的方式构成;下采样单元DownSamplingBlock由第三卷积层、第三BN层、第三PReLu激活函数以及最大池化层通过级联的方式构成;第三步、利用梯度下降算法更新深度卷积神经网络参数1)通过所述深度卷积神经网络将所述样本数据集的人脸图像映射成512维特征向量;2)计算损失函数,所述损失函数由Softmax函数和A-softmax函数加权构成,其中,Softmax函数的表达式如下:式中,x表示样本经深度卷积神经网络映射而成的特征向量,N表示所述样本数据集的大小,i取值1~N,yi表示样本xi对应的标签;W向量表示待优化参数,包括和Wj,表示样本xi在其标签yi处的权重,Wj表示输出节点j处的权重;b向量包括和bj,表示样本xi在其标签yi处的偏差,bj表示输出节点j处的偏差;A-softmax函数的表达式如下:式中,为样本xi与其对应标签yi的权重夹角,θj,i为样本xi与输出节点j处的权重Wj的夹角,m为预设参数,1≤m≤6;k=abs(sign(cosθ))-sign(cosθ)(abs(sign(cos2θ))-sign(cosθ))/2最终的损失函数为:λ为预设的比例因子,1≤λ≤6;3)计算损失函数的梯度下降距离其中α是预设的学习率;4)确定损失函数的梯度下降距离是否小于预设阈值ε,如果是则执行第五步,否则更新W向量后再执行步骤1),更新W向量的表达式如下:第四步、通过更新参数后的深度卷积神经网络进行人脸识别。本专利技术的思想得益于《ADiscriminativeFeatureLearningApproachforDeepFaceRecognition》(以下为叙述方便,简称为“引用论文”),该文2016年由YandongWen,KaipengZhang,ZhifengLi和YuQiao发表,在该文献中表明:在大多数可用的深度卷积神经网络中,Softmax损失函数被用作训练深层模型的监督信号。为了提高深度学习特征的判别能力,引用论文提出了一种新的监督信号,称为中心损失(CenterLoss),用于人脸识别任务。具体而言,中心损失函数通过惩罚深层特征与其相应的类别中心之间的距离,去学习每个类别深层特征的中心。引用论文中的深度卷积神经网络包括六个卷积层、四个最大池化层和一个全连接层。卷积层对图像在相应大小的感知野上做特征提取。最大池化层对特征降维,同时扩大感知野。最后全连接层的目的在于对特征在训练集上完成分类,同时产生误差函数。引用论文最后给出的人脸识别方法的测算结果在LFW数据集上面达到99.28%的准确率。本专利技术基于卷积神经网络(CNNs)的深度学习人脸识别方法,在引用论文中公开的深度卷积神经网络的基础之上,引入了残差单元ResBlock,目的是为了在加深网络层级结构、提升模型性能的同时,解决梯度耗散问题,即解决了解决网络的层级加深带来的性能饱和问题。本专利技术对于损失函数的选择方面,在保留Softmax函数的基础之上,还增加了基于向量夹角的A-softmax损失函数,这样在解决类间距离(不同人之间鉴别能力)的同时,还解决了类内距离(同一个人的不同图片的聚类能力),在损失函数的选择上做出了优化,使得本专利技术的人脸识别方法在LFW测试集上达到99.688%的准确率。与引用论文相比,本专利技术的创新点在于对深度卷积神经网络的各模块进行了顺序上的重排,同时引入了A-softmax损失函数,从而提高了人脸识别率。上述技术方案的进一步改进是:将两个人脸数据样本集通过FaceNet分别映射至256维的特征空间,映射之后产生两个数据样本集合,对比两个数据样本集合的样本特征之间的欧氏距离,若两个样本特征之间的欧氏距离小于预设阈值,则定义为重合样本;将重合样本去重后,得到合并后的数据集合。这样就可以通过合并现有的数据集达到扩充数据样本的目的。附图说明下面结合附图对本专利技术作进一步说明。图1是本专利技术实施例的流程示意图。图2是合并人脸图像样本数据集的流程示意图。具体实施方式实施例本实施例的人脸识别方法,如图1所示,包括以下步骤:第一步、读取人脸图像样本数据集,每幅人脸图像为3通道,其高度为112个像素,宽度为96个像素。本实施例中采用开源人脸图像样本数据集,但常用的开源数据集中无论是GG2数据集还是MS-Celeb-1M数据集,都存在数据量较少的问题,为了提高本实施例的泛化能力,有必要对两个数据集进行合并,但正如
技术介绍
中所说,如果直接对两个数据集进行合并,会带来样本重合的问题,因此,本实施例采用以下方法对GG2数据集还是MS-Celeb-1M数据集进行合并。具体来说,如图2所示,本实施例将两个人脸数据样本集VGG2数据集、MS-Celeb-1M数据集通过FaceNet分别映射至256维的特征空间,映射之后产生两个集合φvgg2和φceleb。其中表示VGG2中第i个人的第j张照片对应的256维特征向量。表示MS-Celeb-1M中第i个人的第j张照片对应的特征向量。随机地从样本集的每个人的特征样本中,挑选一张照片,这样生成和两两比对来自Tv本文档来自技高网
...

【技术保护点】
1.一种人脸识别方法,包括以下步骤:第一步、读取人脸图像样本数据集,每幅人脸图像为3通道,其高度为112个像素,宽度为96个像素;第二步、建立深度卷积神经网络,所述深度卷积神经网络由下表中各模块通过级联的方式构成:

【技术特征摘要】
1.一种人脸识别方法,包括以下步骤:第一步、读取人脸图像样本数据集,每幅人脸图像为3通道,其高度为112个像素,宽度为96个像素;第二步、建立深度卷积神经网络,所述深度卷积神经网络由下表中各模块通过级联的方式构成:Input112*96*3112*96*3BN112*96*3112*96*3Conv112*96*3110*94*32BN110*94*32110*94*32PReLu110*94*32110*94*32DownSamplingBlock110*94*3254*46*64ResBlock54*46*6454*46*64DownSamplingBlock54*46*6426*22*128ResBlock26*22*12826*22*128ResBlock26*22*12826*22*128DownSamplingBlock26*22*12812*10*256ResBlock12*10*25612*10*256ResBlock12*10*25612*10*256ResBlock12*10*25612*10*256ResBlock12*10*25612*10*256ResBlock12*10*25612*10*256DownSamplingBlock12*10*2565*4*512ResBlock5*4*5125*4*512ResBlock5*4*5125*4*512ResBlock5*4*5125*4*512FullConnect5*4*512512Embedding512512表中第一列为模块名称,第二列为输入图像大小,第三列为输出图像大小;其中残差单元ResBlock由第一卷积层、第一BN层、第一PReLu层和第二卷积层、第二BN层、第二PReLu层通过级联的方式构成;下采样单元DownSamplingBlock由第三卷积层、第三BN层、第三PReLu激活函数以及最大池化层通过级联的方式构成;第三步、利用梯度下降算法更新深度...

【专利技术属性】
技术研发人员:杨通杨宽彭若波
申请(专利权)人:南京开为网络科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1