(LMCL)CosFace: Large Margin Cosine Loss for Deep Face Recognition

论文:https://arxiv.org/pdf/1801.09414.pdf
代码:https://github.com/yule-li/CosFace

摘要

  随着深度卷积神经网络(CNN)的快速发展,人脸识别也取得了巨大的进展。人脸识别的核心任务包括了:人脸验证(face verification)和人脸身份识别(face identification), 还涉及到人脸特征区分性。然而,深度卷积神经网络中传统的softmax loss通常存在特征区分能力不足的问题。为了解决这一点,最近研究者们提出了一些其他形式的损失函数,如center loss,large margin softmax loss和angular softmax loss等。这些改进的损失函数都有共同的思路,即最大化类间差异和最小化类内差异。本文提出了一个新的损失函数,我们称之为large margin cosine loss(LMCL),从另一个角度实现了相同的思路。具体来说,我们用另一种方式对softmax loss进行表示,通过对特征和权重向量进行L2范数归一化来移除其径向变化,然后引入了一个余弦间隔项(cosine margin term)来进一步最大化在角度空间上的不同类别的决策间距。这样,通过归一化以及最大化余弦决策间距就可以实现最小化类内差异同是最大化类间差异了。我们把利用LMCL方法训练得到的人脸识别模型简称为CosFace。我们在MegaFace Challenge,Youtube Faces 和LFW等最常用的人脸识别公开数据集上进行了大量的实验,在这些数据集上取得了最先进的表现,从而证实了所提出方法的有效性。

1.简介

  最近深度卷积神经网络 [15, 18, 12, 9, 44] 在许多不同的计算机视觉任务上都取得了重大的进展,使之成为了计算机视觉领域中一个主要的机器学习方法。人脸识别作为计算机视觉最常见的任务之一,近几十年来被广泛地研究[37,45,22,19,20,40,2]。早期研究都建立在浅层模型和底层人脸特征之上,而最新的人脸识别技术则更多地使用深度卷积神经网络。人脸识别通常包括了两个子任务:face verification和face identification。而这两个任务都包含了以下三个步骤:人脸检测(face detection)、特征提取(feature extraction)和分类(classification)。深度卷积神经网络可以提取干净的高层特征,使得可能只需要一个相对简单的分类方法就可以获得很好的表现:比如一个多层感知网络加一个softmax loss。然而,最近的研究发现传统的softmax loss不足以获得很好的鉴别能力用于分类。
  为了促进更好的鉴别性能,许多研究工作又被提出了[42,5,7,10,39, 23]。这些研究都有着同样的思路来使分类器的鉴别能力最大化,即最大化类间差异和最小化类内差异。比如,[42, 5, 7, 10, 39]这些论文提出采用多损失函数学习(mult-loss learning)的方式来增加特征的区分能力。但这些方法相比softmax loss,在改进分类效果的同时又带来了另外一些限制。比如[42]center loss只显示地最小化类内差异而忽略了类间差异的处理,这样会导致陷入局部最优的问题。[5, 7, 10, 39]需要一个穷尽策略来挖掘样本对或样本组,这是一个非常耗时的步骤。而最近,[23]从另一个角度来解决如何提升鉴别的问题。具体来说,[23] (A-softmax)将原始的欧式空间特征投影到一个角度空间上,然后引入了一个角度间距来尽量拉大类间距离。
  对比[42, 5, 10]中用的欧式间距,角度间距因角度余弦与softmax loss有着内在一致性而更适合softmax loss优化。而且余弦形式的表示也和人脸识别中常用的相似性计算方法匹配。从这个角度来说,直接采用不同类之间的余弦间距来改进余弦相关的鉴别信息的做法更加合理。
  在本文中,我们用另一种方式对softmax loss进行表示,通过对特征和权重向量进行L2范数归一化来移除其径向变化,然后引入了一个余弦间隔项(cosine margin term)来进一步最大化在角度空间上的不同类别的决策间距。具体而言,我们提出了一个新的算法,称为Large Margin Cosine Loss(LMCL),将归一化后的特征作为输入,通过最大化类间余弦间距去学习得到区分性更好的特征。形式上,我们定义了一个超参数m,令决策边界由 c o s ( θ 1 ) − m = c o s ( θ 2 ) cos(θ_1)−m=cos(θ_2) cos(θ1)m=cos(θ2)决定,其中 θ i θ_i θi为特征向量和类别i的权值向量的夹角。
  作为对比,A-Softmax的决策边界是由 c o s ( m θ 1 ) = c o s ( θ 2 ) cos(mθ_1)=cos(θ_2) cos(mθ1)=cos(θ2)决定的,因为余弦函数的非单调性,这一形式会比较难优化。为了克服这种困难,他们在A-Softmax中采用了特别的分段函数这种附加技巧。更重要的是,A-Softmax的决策间距与取决于θ,这样会导致不同类别之间的决策间距不相同。这样的结果是,在决策空间上,有些有些类别之间的特征间距会比较大,而有些类别之间的特征间距比较小,导致模型鉴别能力下降。不同于A-Softmax,我们的方法在余弦空间上定义了决策间距,从而避免这一不足。
  基于LMCL,我们创建了一个复杂的深度模型,简称CosFace,如图1所示。在训练阶段,LMCL指导卷积网络学习得到较大余弦间距的特征。在测试阶段,人脸特征可以从卷积网络提取得到,然后应用于face verification或者face identification。我们对本文工作的贡献总结如下:
(1)我们采用最大化类间差异和最小化类内差异的思路,提出了一个新颖的损失函数,简称LMCL,去学习得到具有高度鉴别能力的深度特征应用于人脸识别中。
(2)我们基于超球面特征分布的假设对LMCL算法做了合理的理论分析。
(3)提出的方法在多个人脸识别公开数据集(包括LFW, YTF和Megaface等)上取得了最先进的的效果。
在这里插入图片描述
图1.提出的CosFace框架的概述。在训练阶段,对不同类别的人脸特征进行了有区别的学习。在测试阶段,将测试数据输入CosFace提取人脸特征,然后计算余弦相似度得分,进行人脸验证和识别。

2.相关工作

人脸识别 最近,由于深度卷积神经网络的巨大成功,人脸识别领域也取得了很多重要的进展。在DeepFace[35]和DeepID[32]中,人脸识别被当成了一个多分类的问题,深度卷积神经网络首次被引入用来从大规模的多类标数据集中学习特征。DeepID2[30]利用身份识别(identification)和认证(verification)信号来获得更好的feature embedding。他们最新的工作DeepID2+[33]和DeepID3[31]进一步探索了更先进的网络结构来改进识别效果。FaceNet[29]使用triplet loss来学习一个欧式空间嵌入(Euclidean space embedding),他们的网络用了接近200百万人脸图像来训练,得到了最先进的效果。另外的算法如[41, 11]等同样也是改进深度卷积神经网络并应用于人脸识别中。
损失函数 损失函数在深度特征学习中扮演了重要的角色。Contrastive loss 和 triplet loss经常被用于增加欧式距离间距从而得到更好的特征。Wen等人[42]提出了center loss来学习每个ID的特征的中心,以此减少类内差异。Liu等人[24]提出L-Softmax损失函数,通过对每个id增加角度限制来改进特征鉴别性。A-Softmax[23]通过对权值向量作归一化对L-Softmax进行改进,在一系列公开人脸识别数据集上获得了更好的效果。其他基于contrastive loss或者center loss的损失函数同样在增强特征区分性上表现不错。
归一化方法 归一化方法的研究在最近的人脸识别研究中很常见。[38]对权值向量进行归一化然后用余弦相似度替代了softmax loss层中的内积。[28]采用对特征进行L2约束从而将人脸特征嵌入到归一化后的空间上。注意到,对特征向量或者权值向量做归一化,在训练时可以让角度更集中从而获得更小的类内角度变化。因此不同类别之间的角度就可以被很好地优化。基于von Mises-Fisher的方法和A-Softmax同样在特征学习中采用了归一化

3.提出的方法

  在这一节,我们首先详细介绍了提出的LMCL方法(见3.1节)。然后给出其他损失函数与我们提出的方法的对比实验,展示了LMCL的优越性能(见3.2节)。接着我们深入描述了LMCL中用到的特征归一化技巧,以此证明LMCL的有效性(见3.3节)。最后我们对提出的LMCL方法进行了理论分析。

3.1 Large Margin Cosine Loss

  我们从余弦的角度重新思考softmax loss,通过最大化ground-truth类别的后验概率来区分不同类别。给定一个输入特征向量 x i x_i xi及其类标 y i y_i yi​,softmax loss可以表示成下式:
在这里插入图片描述
其中 p i p_i pi​表示 x i x_i xi​被分类正确的后验概率。N为训练样本数量,C为类别数。 f j f_j fj​通常表示经过全连接层(权值向量为 W j W_j Wj​,bias为 B j B_j Bj​)后特征的激活值。为了简化,我们令 B j = 0 B_j=0 Bj=0,则 f j f_j fj​可以表示成:
在这里插入图片描述
其中 θ j θ_j θj​表示 W j W_j Wj​和 x x x之间的夹角。该公式表明向量的模和它们之间的夹角都对有验概率值有影响。
  为了更有效地特征学习,权值向量 W W W的模有必要保持不变。为此,我们通过 L 2 L_2 L2​范数归一化令 ∣ ∣ W j ∣ ∣ = 1 ||W_j||=1 Wj=1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值