基于聚集损失深度度量学习的人脸识别方法与流程

文档序号:11432645阅读:509来源:国知局
基于聚集损失深度度量学习的人脸识别方法与流程
本发明涉及生物特征识别、计算机视觉和深度学习等
技术领域
,具体涉及一种基于聚集损失深度度量学习的人脸识别方法。
背景技术
:目前随着互联网技术的快速发展,信息安全受到严重威胁,但另一方面也使得信息安全问题受到日益重视。身份识别是信息安全中一个重要体现,在实际应用中具有重要地位。与传统的身份识别技术相比,生物特征识别技术具有唯一性、持久性、安全性、普遍性和实用性等特点。人脸识别以其直观性、非接触性、易用性等诸多优点,获得了非常广泛的应用。人脸识别是计算机视觉和模式识别领域最富挑战性的课题之一,目前,人脸识别被广泛应用于商业领域和安防领域。但在一些万级以上非配合用户的监控场景下,现有的人脸识别算法的识别效果并不是很理想。原因是监控环境下的人脸是从动态视频中定位并抓拍的,得到的人脸通常具有分辨率低、模糊、噪声大、特征不明显等特点,同时带有较大的姿态变化、光照变化等问题,大大增大了识别的难度,因此,人脸识别在监控场景下仍具有较大的提升空间。近年来,随着深度学习的火热,深度度量学习在各种计算机视觉任务中取得了很好的效果。虽然深度度量学习在不同任务中的表现形式不同,但其根本目标都是希望学习一个特征空间,使得同类/相似的样本在空间中的距离尽可能近,异类/不相似的样本在空间中的距离尽可能远。目前,经典的深度度量学习函数主要有对比损失函数(contrastiveloss)和三元组损失函数(tripletloss)。然而,这两种损失函数均需要复杂的难例挖掘策略,网络才能较好地收敛,这大大提高了算法的计算复杂度。此外,三元组损失对于锚点的选取非常敏感,若选取了不合适的锚点,网络将往错误的方向优化,这导致网络收敛缓慢。对于对比损失,如果选取的负样本对之间的连线指向第三个类的聚类时,也将使得异类样本之间的距离变小。为此,研究一种能够克服上述各种缺点的人脸识别方法具有重要的实用价值和研究意义。技术实现要素:本发明的目的在于克服现有技术的缺点与不足,提供一种基于聚集损失深度度量学习的人脸识别方法,该方法利用聚类中心的思想,使得同类样本向类中心聚集,不同类的类中心保持较远距离,同时引入关键点池化技术,可充分利用人脸结构信息,有效降低计算复杂度,且在训练样本较少的情况下依然有较高的识别准确率。本发明的目的通过以下的技术方案实现:基于聚集损失深度度量学习的人脸识别方法,包括如下步骤:步骤s1,对训练图像进行预处理,得到规格一致的人脸图像作为网络输入;步骤s2,用预处理过的人脸图像对深度卷积神经网络进行预训练,采用softmax损失作为网络的损失函数,在网络结构方面引入关键点池化(landmarkpooling)技术,利用人脸结构信息辅助人脸识别,得到预训练的基于关键点池化的深度卷积神经网络模型;步骤s3,将所有训练图像输入所述预训练的基于关键点池化的深度卷积神经网络模型,计算每个类的初始类中心;步骤s4,利用深度度量学习函数——聚集损失(concentrateloss)对上述预训练的基于关键点池化的深度卷积神经网络进行精调,使得每类样本向类中心聚集,同时增大不同类中心之间的间距,初始类中心由步骤s3所述方法得到;经过反复迭代更新网络参数和类中心,直至网络收敛,人脸识别准确率达到最高,得到最终的深度卷积神经网络模型;步骤s5,对待识别人脸图像进行预处理,预处理后的图像输入最终的深度卷积神经网络模型以提取高层人脸特征表达,通过比较不同人脸间的相似度得分,实现人脸识别。优选的,所述步骤s1中,对训练图像进行预处理的步骤如下:运用级联cnn检测器(参考:zhangk,zhangz,liz,etal.jointfacedetectionandalignmentusingmultitaskcascadedconvolutionalnetworks[j].ieeesignalprocessingletters,2016,23(10):1499-1503.),对训练图像进行人脸检测和关键点定位,并根据关键点位置进行旋转、缩放、裁剪等操作,得到对齐后的大小统一的人脸图像块,作为网络的输入。具体的,步骤s2中,所述softmax损失用下式来表达:其中,m为批尺寸(batchsize)的大小,为第i个样本的深度特征,为最后一个全连接层的权重,为偏置项,d为特征向量的长度,n为训练集的总类别数,yi为样本xi所属的类别,t为矩阵转置符号。具体的,步骤s2中,所述关键点池化技术的实现方法如下:根据关键点的位置,直接在深度卷积神经网络的输出特征图上完成关键点池化操作,池化(pooling)出关键点附近区域的局部特征,从而利用人脸结构信息,辅助人脸识别。具体的,步骤s3中,计算初始类中心的步骤是:将所有训练图像输入所述预训练的基于关键点池化的深度卷积神经网络模型,提取对应的人脸特征表达,计算每一类所有样本特征的算数平均值,将该平均值作为该类的初始类中心。聚集损失首先对每个类学习一个类中心,使得每类样本向类中心聚集,减少类内距离,同时增大不同类中心之间的间距,增大类间距离,从而学习到鲁棒的有判别性的人脸特征表达。具体的,步骤s4中,利用聚集损失这一深度度量学习函数对预训练的模型进行精调的步骤是:(4-1)将预处理后的图像输入预训练的模型,使用聚集损失作为损失函数,进行参数精调;初始类中心由步骤s3所述方法得到;(4-2)聚集损失用下式表达:其中,为类内损失,f(xi)为第i个样本的深度特征,为第yi类的类中心;为类间损失,表示批(batch)中第j短的类中心距离,d为欧式距离,λ为异类类中心之间希望满足的间隔(margin);α,β为平衡类内损失和类间损失的参数;(4-3)根据公式(5)、(6)、(7)、(8)更新网络参数以及类中心:在公式(6)中,1(yi=j)为指示函数,当yi=j时,取值1,否则取值0,整个公式表示在整个批中,类别为j的样本数为0。更进一步的,所述步骤s4中,采用googlenet(参考:szegedyc,liuw,jiay,etal.goingdeeperwithconvolutions[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2015:1-9.)作为基本网络模型,并整合了关键点池化层,网络的训练采取随机梯度下降法。本发明与现有技术相比,具有如下优点和有益效果:1、本发明提出基于深度度量学习函数——聚集损失进行人脸识别,该方法利用聚类中心的思想,使得同类样本向类中心聚集,不同类的类中心保持较远距离,避免了复杂的难例挖掘,能够学习到鲁棒的有判别性的人脸特征表达。2、本发明是首次将关键点池化技术运用到人脸识别中,可以直接在特征图上池化出关键点区域附近的局部特征,充分利用人脸的结构信息辅助人脸识别。,同时避免了针对局部图像块训练多个网络模型,大大降低了计算复杂度。3、本发明提出的基于聚集损失深度度量学习的人脸识别方法,在训练样本较少的情况下依然有较高的识别准确率,可应用于人脸识别、人脸比对系统。附图说明图1为本发明方法的操作流程图。图2为本实施例图像预处理的结果示例图,其中(a)为检测到人脸图像的原图,(b)为标记关键点的人脸图像。图3为聚集损失的优化方向示例图。图4为关键点池化层(landmarkpoolinglayer)的示例图。图5为本发明网络结构的示例图。图6为blufr协议的roc曲线,其中(a)为各种方法在验证准确率上的roc曲线,(b)为各种方法在检测识别率上的roc曲线。具体实施方式为使本发明的目的、技术方案和优点更加清晰,下面结合具体实施例,并参照详细附图,对本发明作进一步详细的描述,但所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。实施例1如图1所示,本实施例基于聚集损失深度度量学习的人脸识别方法,包括下述步骤:步骤s1,图像预处理:运用级联cnn检测器对训练图像进行人脸检测和关键点定位,并根据关键点位置进行旋转、缩放、裁剪等操作,得到对齐后的224*224大小的人脸图像块,作为网络的输入。本发明中,对训练图像和待识别图像采用相同的预处理方式,图2(a)、(b)为图像预处理的结果图。运用人脸检测器检测人脸,并得到5个关键点:左眼中心、右眼中心、鼻子中心,左嘴角和右嘴角,根据关键点位置进行相似变换,再进行缩放、裁剪等操作,得到224*224大小的人脸图像块,作为网络的输入。步骤s2,预训练分类网络:用预处理好的人脸图像对深度卷积神经网络预训练,采用softmax损失作为网络的损失函数,在网络结构方面引入关键点池化技术,利用人脸结构信息辅助人脸识别,得到预训练的基于关键点池化的深度卷积神经网络模型;其中,所述softmax损失用下式来表达:其中,m为batchsize的大小,为第i个样本的深度特征,为最后一个全连接层的权重,为偏置项。图4为关键点池化层的示例图。根据关键点的位置,直接在深度卷积神经网络的输出特征图上完成关键点池化操作,本实施例具体采用roipooling方法实现,池化出关键点附近区域的局部特征,从而利用人脸结构信息,辅助人脸识别。需要说明的是,本实施例中,一共选取了3个roi区域,分别对应两个眼睛以及鼻子和嘴巴区域(如图4所示)。步骤s3,计算初始类中心:将所有训练图像输入所述预训练深度卷积神经网络模型,提取对应的人脸特征表达,计算每一类所有样本特征的算数平均值,将该平均值作为该类的初始类中心。值得说明的是,本发明通过预训练模型来计算初始类中心,而不是通过随机初始化得到,该方法得到的初始类中心相对准确,可避免随机初始化导致的网络训练不稳定问题,提高网络收敛速度。步骤s4,利用深度度量学习函数——聚集损失精调网络。聚集损失用下式表达:其中,为类内损失,f(xi)为第i个样本的深度特征,为第yi类的类中心;为类间损失,表示batch中第j短的类中心距离,d为欧式距离,λ为margin;α,β为平衡类内损失和类间损失的参数;根据公式(5)、(6)、(7)、(8)更新网络参数以及类中心:这样的损失函数可以对类内和类间距离加以约束,减少每类样本到其类中心的距离,同时增大不同类的类中心之间的距离,从而学习到类内内聚,类间可分的鲁棒特征。图3为聚焦损失的优化方向示意图。需要说明的是,本发明采用googlenet作为基本网络模型,并整合了关键点池化层,模型的结构如图5所示。网络的训练采取随机梯度下降法,多次迭代直至模型收敛,网络性能达到最优,从而获得最终的深度卷积神经网络模型。步骤s5,具体到实际应用,先对输入人脸图像进行步骤s1相同的预处理,分别输入到最终的深度卷积神经网络模型,提取最后一个全连接层的输出作为人脸特征表达,计算不同人脸之间的相似度得分,相似度计算可直接采用欧式距离,距离越小,则相似度越高,相似度最高的则判为同一个人,从而实现人脸识别。本实施例通过以下实验验证本发明的有效性,本实验分为两部分:第一部分,在blufr协议(参考:liaos,leiz,yid,etal.abenchmarkstudyoflarge-scaleunconstrainedfacerecognition[c]//biometrics(ijcb),2014ieeeinternationaljointconferenceon.ieee,2014:1-8.)上,采用不同的损失函数,相同的网络结构和训练数据来训练模型,以验证聚集损失(concentrateloss)以及关键点池化技术的有效性;第二部分,在labeledfacesinthewild(lfw),youtubefaces(ytf)数据库上,与目前效果最好的几种人脸识别方法作比较。关于超参数的选取,在本实验中,公式(3)中的k取1,λ取0.5。对于公式(4)中α,β的选取,表1列出了不同α,β值对网络性能的影响。表1不同α,β在lfw上的验证准确率α,βα=1,β=0.1α=1,β=1α=0.1,β=1acc.onlfw99.20%99.28%99.15%可以看出,α,β对性能的影响不大,当α,β取1时,性能达到最优,因此下面的实验均取α=β=1。在blufr上的实验:lfw数据库(参考:huanggb,rameshm,bergt,etal.labeledfacesinthewild:adatabaseforstudyingfacerecognitioninunconstrainedenvironments[r].technicalreport07-49,universityofmassachusetts,amherst,2007.)包含5749个人,13233张图像,是目前最常用的人脸验证数据集。然而,它仅包含6000个人脸对,难以评估算法在低错误接收率下的性能。因此,blufr协议被提出,用以充分利用lfw中的所有图像。blufr协议包括人脸验证和开集识别两个实验,尤其关注低错误接收率下的性能。blufr分为10个子实验,每个子实验平均包含156915个正样本对和46960863个负样本对。本实验分别采用不同损失函数(softmaxloss、contrastiveloss、tripletloss、centerloss和concentrateloss)来训练模型,为了公平比较,采用相同的网络结构和训练数据集。对于本发明的方法,采用带有关键点池化层的googlenet,对于其他方法,采用标准googlenet。评测标准采用far=0.1%时的验证准确率以及rank=1,far=1%时的开集识别率。实验结果见表2。可以看出,在同样采用softmax损失的情况下,本发明基于关键点池化层的googlenet要优于标准googlenet,验证准确率提升了4.03%,开集识别率提升了6.54%,这证明了关键点池化技术的有效性。此外,加上聚集损失后,进一步提高了性能(92.59%vs95.22%,65.64%vs65.81%),这证明了聚集损失的有效性。总的来说,本发明方法不管是在验证准确率还是开集识别率(即检测识别率)上,都超出了其他方法。图6(a)、(b)分别为验证和开集识别的roc曲线。表2blufr协议实验结果在lfw和ytf上的实验:ytf数据库(参考:wolfl,hassnert,maozi.facerecognitioninunconstrainedvideoswithmatchedbackgroundsimilarity[c])是一个人脸视频数据库,包含3425段视频,1595个人。本实验比较了本发明方法和几种目前最优方法,评测指标采用验证准确率。实验结果见表3。表3lfw和ytf的实验结果其中,ours(softmax)为本发明方法的基准方法,deepface是taigman等人的文章《deepface:closingthegaptohuman-levelperformanceinfaceverification》,deepid-2+来自yisun等人的文章《deeplearningfacerepresentationbyjointidentificationverification》,baidu来自jinguoliu等人的文章《targetingultimateaccuracy:facerecognitionviadeepembedding》,facenet来自schroff等人的文章《facenet:aunifiedembeddingforfacerecognitionandclustering》,vggface来自parkhi等人的文章《deepfacerecognition》,centerloss来自wen等人的文章《adiscriminativefeaturelearningapproachfordeepfacerecognition》。由表3可看出,相比于基准方法,本发明方法将lfw准确率提高了0.98%,ytf准确率提高了1.38%,再次证明了聚集损失的有效性。此外,本发明方法超过了大部分目前最优方法,值得说明的是,本发明方法仅用了小规模训练数据(70万),就达到了目前最优效果。而其他方法则用了比本发明方法多好几倍甚至几十倍的训练数据。从以上结果可以看出,本发明提出的基于聚集损失深度度量学习的人脸识别方法能够学习到鲁棒有判别性的人脸特征表达,并有效提高人脸识别精度,可应用于人脸比对、人脸检索等系统。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1