摘要本文描述了在开放集协议下的深度人脸识别,理想的面部特征希望在选择了一个适当的度量空间的情况下使得最大类内距小于最小类间距。然而,很少有运算法则能够有效的实现这样的标准。最后,我们提出了用弧度测量的softmax损失可以使得卷积神经网络学会用角度来分辨特征。在几何上,A-Softmax 损失可以被视为对超球面流形施加判别约束。这从本质上讲与前面的面部匹配也位于流行之上。然而,夹角距离的大小可以通过参数m被定量地调整。我们进一步推导出具体的m来逼近理想的特征判别标准。在LFW上进行了广泛的分析和实验,在Youtube Faces和MegaFace挑战赛等FR任务上A-Softmax损失都表现出了优越性质。代码可以在一下网址中获得:https://github.com/wy1iu/sphereface. 一、引言近年来,传统神经网络(CNNs)在人脸识别领域取得了巨大的成功。由于先进的网络体系结构和有辨别力的学习方法,深度CNN将fr性能提高到了前所未有的水平。 通常,人脸识别可以分为人脸识别和人脸验证。 前者将人脸分类为特定的身份,而后者则决定一对面孔是否属于同一身份。根据测试规则,人脸识别可以在封闭集或开放集设置下进行评估,如图1所示。 对于封闭集协议,所有的测试标识都是在训练集中预定义的。将人脸图像分类为给定的身份是很自然的。 在此场景中,人脸验证相当于分别对一对面孔执行认证(参见图1的左侧)。因此,封闭集人脸识别可以很好地作为一个分类问题来解决,特征应该是可分离的。对于开放集协议来说,测试身份通常与训练集脱离,这使得FR更具有挑战性,但更接近于真实情况。由于训练集中不可能将人脸分类为已知的身份,因此需要将人脸映射到一个判别特征空间。在这种情况下,面部识别可以被看作是待验证人脸和人脸库中的每个人脸之间进行面部验证(见图1的右侧)。开放集FR本质上是一个度量学习问题,其关键是学习具有区分性的大幅度特征。 在一定的度量空间下,开放集FR的期望特征满足最大类内距离小于最小类间距离的准则。如果我们想要用最近的neighbor来达到完美的精度,这个准则是必要的。然而,使用这个标准学习特征通常是困难的,因为它本质上存在较大的类内变化和高类间相似性。 很少有基于cnn的方法能够有效地在损失函数中建立上述准则。学习人脸特征的开创性工作是通过Softmax Loss 2,而Softmax损失只学习区分度不够高的可分离特征。 为了解决这一问题,一些方法将Softmax损失与contrastive损失或center loss结合起来,以提高特征的识别能力。采用triplet loss嵌入到监督学习,使人脸识别结果达到最先进水平。然而,center loss失只是促进类内之间的紧密性。contrastive loss和triplet loss都不能限制每个样本,因此需要仔细设计pair/triplet mining程序,这既耗时又对性能敏感。 将L2范数强加于学到的特征似乎是一种公认的选择,但出现了一个问题: L2范数是否总是适合学习有区别的面部特征? 为了回答这个问题,我们首先研究如何将基于L2范数的损失应用于FR。 最近的几种方法将L2损失与softmax损失相结合,建立了联合监管机制。然而,如图2所示,Softmax损失所学习的特征具有内在的角分布。从某种意义上说,L2损失与Softmax损失是不相容的,因此不能很好地将这两种损失结合起来。 在本文中,我们提出加入角度约束作为替代。我们从一个二元类开始分析Softmax损失。 在Softmax损失中的决策边界是:
这里的θi是Wi和x之间的角度,新的决策边界就取决于θ1和θ2。改进的Softmax损失能够直接优化角度,使CNN能够学习角分布特征(图2)。 对比了among softmax loss, modifified softmax loss 和 A-Softmax loss。在这个小实验小实验中,我们构建了一个CNN在CASIA人脸数据集中的一个子集来学习2D特征。具体而言,我们将fc1层的输出尺寸设置为2,并可视化学习的特征。黄色点代表第一类人脸特征,紫色点代表第二类人脸特征。可以看出,原始的Softmax损失不能简单地通过角度来分类,而修改后的Softmax损失可以进行分类。我们的a-Softmax损失可以进一步增加学习特征的角度间隔。 与原始的Softmax损失相比,modifified Softmax损失的特征是角分布的,但不一定具有更强的鉴别性。最后,我们将modifified Softmax损失推广到角Softmax(a-Softmax)损失。 具体来说,我们引入了一个整数m(m≥1)来定量控制决策边界。 在二分类情况下,第1类和第2类各自的决策边界变成 a-Softmax损失具有清晰的几何解释。在a-Softmax损失的监督下,学习到的特征构造了超球面流形上等效集合距离的附加角距离度量。softmax损失可以被解释为限制在超球面流形上识别的学习特征,它本质上与人脸图像存在于流形上的先验匹配。 a-Softmax损失与超球面流形之间的紧密联系使得学习到的特征在人脸识别中更加有效。因此,我们将所获得的特征称为球面。 此外,A-SoftMax损失可以通过参数M定量地调整角度宽度,使我们能够进行定量的分析。在此基础上,我们给出了参数m的下界,以逼近期望的开放集FR标准,即类内最大距离应该比最小类间距离更大。 我们的主要贡献可概括如下: (1)提出了一种新的、清晰的几何解释识别人脸特征的方法,给出了CNN的一个-Softmax损失。所学习的特征是在超球面流形上有区别地跨越,它本质上与流形上所面对的先验相匹配。 (2)给出了m的下界,使得a-Softmax损失可以近似地逼近最小类间距离大于类内最大距离的学习任务。 (3)在fr中,我们首先证明了角宽度的有效性。在公开的CASIA数据集上进行训练,旋转面在几个基准上取得了竞争性的结果,包括Labeled Face in the Wild(LFW)、YouTube Faces(YTF)和MegaFace挑战1。 2.相关工作度量学习 度量学习旨在学习相似性(距离)函数。传统的度量学习对于给定的特征x1,x2通常学习距离度量的矩阵A: 深度面部识别深层人脸识别可以说是近几年来最活跃的研究领域之一。使用由Softmax损失生成的CNN来解决开放集FR,实质上将开放集fr作为一个多类分类问题来处理。将contrastive损失和softmax损失相结合,共同监督CNN的训练,大大提高了训练效果。使用triplet loss学习一个统一的人脸嵌入。在近2亿张人脸图像上进行培训,他们达到了目前最先进的精确度。在线性判别分析的启发下,提出了CNNS的中心损失,取得了很好的性能。 一般来说,针对FR的当前良好执行CNNs大多基于对比损失或三重态损失来构建。人们可以注意到,最先进的fr方法通常采用通过区分度量学习来解决的思想(例如对比损失、三重奏损失)。 从度量学习来看,区分度量学习可以很好地解决开放集fr问题.。 L-Softmax损失也隐含着角度的概念。作为一种正则化方法,它对封闭集分类问题有很大的证明作用。不同的是,a-Softmax损失是用来学习鉴别人脸嵌入的。与超球面流形的显式连接使得我们的学习特征特别适合于开放集fr问题,实验证明了这一点。此外,还显式地施加了a-Softmax损失中的角裕度,并可对其进行定量控制(例如,在近似期望的特征准则的下界),而只能进行定性分析。 3.深度超球面嵌入3.1.对softmax损失的再认识通过研究softmax损失的判定准则,重新审视了softmax损失。在二元类情况下,由Softmax损失得到的后验概率是 其中x是学到的特征向量,Wi和bi是最后一层全连接层的权重和偏置与类别i各自的一致。如果p1>p2,预测的标签就别归为类别1否则就是类别2。通过比较p1和p2,用 请注意,p1和p2共享同一个x,最后的结果只取决于θ1和θ2之间的角度,决策边界也变成了 虽然上面的分析是建立在二分类的基础上的,但是将分析推广到多类情况是很困难的。在训练中,modifified softmax损失 这里的fi指出了向量f的第j个元素以及N是训练样本的个数。在CNN中,f通常是全连接层W的输出,所以 我们进一步修改了Li等价为: 3.2.在softmax损失中引入角度约束本文提出了一种更自然的学习角度的方法,而不是设计一种新的损失函数,并构造与Softmax损失(类似于对比损失)的加权组合。从之前对Softmax损失的分析可知,决策边界对特征分布有很大的影响,因此我们的基本思想是操纵决策边界产生角度边缘。 我们首先引出一个二分类的例子来解释我们的想法是如何工作的。 假定特征x是从给定的类别1学习到的,θi是x和Wi之间的角度,众所周知modifified softmax loss需要
我们定义 还可以从决策边界的角度对a-Softmax损失进行调整。A-Softmax损失对不同的类别可以调整出不同的决策边界(每个决策边界都比原始的更严格),从而产生角边缘。在表1中给出了决策边界的比较。从最初的softmax损失到modifified softmax损失,它是从优化内部产品到优化角度。从修改的软最大损失到软最大损失,这使得决策边界更加严格和分离。如果m=1,则角度宽度随着m的增大而增大,并且为零。 在a-Softmax损失的监督下,CNNS学习具有几何可解释角度边缘的人脸特征。由于A-SoftMax损失要求WI=1,BI=0,因此预测仅取决于样本X和WI之间的角度 ,因此x可以被归类为最小角度的恒等式。增加参数m是为了学习不同身份之间的角度范围。 为了便于梯度计算和反传播,cos(θj,i)和cos(mθyi,i)的表达式仅包含w和xi,这很容易通过定义余弦和多角度公式来实现(这也是我们需要m作为整数的原因)。 没有θ,我们可以计算x和w的导数,类似于Softmax损失。 欧氏距离度量损失 欧氏距离损失的几何解释 (center loss, etc.)modifified softmax loss and A-Softmax loss。第一行是2D特征约束,第二行是3D特征约束。 橙色区域表示类1的区别约束,而绿色区域则为2类。 3.3A-SoftMax损失的超球面解释当不同类别的学习特征之间有一个正确的分类时,a-Softmax损失有更强的要求。M≥2,它产生一个角度类,softmax损失不仅通过角度余量对学习到的特征施加判别能力,而且还提供了良好和新颖的超球体解释。如图3所示,a-Softmax损失等价于超球面流形上的判别学习特征,而欧氏边缘损失则是在欧氏空间中学习特征。 为了简化,我们只用两个类别来分析超球面解释。考虑到来自第1类和第2类的权重W1、W2的样本X,用于A-SoftMax损失的分类规则是cos(mθ1)>cos(θ2),等同地,mθ1<θ2。注意到θ1和θ2关于单位超球面 A.移除最后一个RELAU的直觉B.归一化权重可以减少训练数据不平衡所导致的先验知识C.消除偏差的经验实验mnist上a-Softmax损失的二维可视化(weixin_38241876) |