CosFace Large Margin Cosine Loss for Deep Face Recognition

CosFace: Large Margin Cosine Loss for Deep Face Recognition

3. Proposed Approach

在本节中,我们首先详细介绍了所提出的LMCL(第3.1节)。并与其它损失函数进行了比较,证明了LMCL(第3.2节)的优越性。进一步描述了LMCL所采用的特征归一化技术,以阐明其有效性(第3.3节)。最后,我们对提出的LMCL(第3.4节)。

3.1. Large Margin Cosine Loss

我们首先从余弦的角度重新考softmax loss。softmax loss通过最大化ground-truth类的后验概率来分离不同类的特征。给定输入特征向量xi及其对应的标记yi,softmax loss可表示为:
在这里插入图片描述

其中pi表示xi被正确分类的后验概率。N是训练样本的数量,C是类的数量。fj通常表示权向量为Wj和bias为Bj的全连接层的激活。为了简单,我们让bias Bj = 0,得到fj为:

f j = W j T x = ∥ W j ∥ ∥ x ∥ c o s ( θ j ) f_j=W^T_jx=\begin{Vmatrix}W_j\end{Vmatrix}\begin{Vmatrix}x\end{Vmatrix}cos(\theta_j) fj=WjTx=Wjxcos(θj) (2)

其中 θ j \theta_j θj是Wj和x之间的角度。这个公式表明向量的范数和角度都有助于后验概率。为了开发有效的特征学习,W的范数必须是不变的。为此,我们通过L2正则化来修正 ∥ W j ∥ = 1 \begin{Vmatrix}W_j\end{Vmatrix}=1 Wj=1在测试阶段,通常根据两个特征向量之间的余弦相似度来计算测试人脸pairs。这说明特征向量x的范数对评分函数没有贡献。因此,在训练阶段,我们修正 ∥ x ∥ = s \begin{Vmatrix}x\end{Vmatrix}=s x=s。因此,后验概率仅仅依赖于角度的余弦值。修正损失可表示为
在这里插入图片描述
在这里插入图片描述

图2。二分类情形下不同损失函数的decision margin比较。虚线表示决策边界,灰色区域表示decision margins。

因为我们通过固定 ∥ x ∥ = s \begin{Vmatrix}x\end{Vmatrix}=s x=s消除了radial directions的变化,得到的模型学习角空间中可分离的特征。本文将此损失称为Normalized version of Softmax Loss(NSL)。

然而,由于NSL只强调正确的分类,因此NSL所学习的特征没有足够的区分性。为了解决这个问题,我们将cosine margin 引入到分类边界中,并将其自然地融入到Softmax的余弦公式中。

例如,考虑到二进制类的一个场景,让 θ i \theta_i θi表示学习的特征向量和类Ci的权重向量之间的角度(i=1,2)。对C1类NSL强制 c o s ( θ 1 ) > c o s ( θ 2 ) cos(\theta_1)>cos(\theta_2) cos(θ1)>cos(θ2),C2类似,这样来自不同类的特性就被正确地分类了。为了训练large margin classifier,我们进一步要求 c o s ( θ 1 ) − m > c o s ( θ 2 ) cos(\theta_1)-m>cos(\theta_2) cos(θ1)m>cos(θ2) c o s ( θ 2 ) − m > c o s ( θ 1 ) , m ≥ 0 cos(\theta_2)-m>cos(\theta_1),m\ge0 cos(θ2)m>cos(θ1)m0是一个固定的参数,用来控制cosine margin的大小。这个约束对于分类来说更加严格。上述分析可以很好地推广到多类场景。因此,通过在余弦空间中增加额外的margin,改变的损失加强了对习特征的辨别。

Large Margin Cosine Loss(LMCL):
在这里插入图片描述

其中n是训练样本的数量,xi是对应被分类为yi类别的特征向量,Wj是第j类的权重向量,而 θ j \theta_j θj 是Wj和Xi之间的夹角。

3.2. Comparison on Different Loss Functions

A-Softmax通过引入额外的margin来改善softmax的损失,其决策边界为:

C 1 : c o s ( m θ 1 ) ≥ c o s ( θ 2 ) C_1:cos(m\theta_1)\ge cos(\theta_2) C1:cos(mθ1)cos(θ2)

C 2 : c o s ( m θ 2 ) ≥ c o s ( θ 1 ) C_2:cos(m\theta_2)\ge cos(\theta_1) C2:cos(mθ2)cos(θ1)

因此,C1需要 θ 1 ≤ θ 2 m \theta_1\le \frac{\theta_2}{m} θ1mθ2,C2也是一样。图2的第三个子图描述了这个决策区域,其中灰色区域表示decision margins。

然而,A-Softmax的margin在所有 θ \theta θ值上并不一致,( m − 1 m + 1 Θ , Θ \frac{m-1}{m+1}\Theta,\Theta m+1m1Θ,Θ代表W1,W2间的夹角):margin随着 θ \theta θ减小而变小,当 θ \theta θ=0时完全消失。这导致了两个潜在的问题。首先,对于在视觉上相似,因而在W1和W2之间有较小角度的困难类C1和C2,其margin因此也较小。其次,从技术上讲,我们必须使用一个特殊的分段函数来克服余弦函数的非单调性。

LMCL(我们的建议)在余弦空间中定义了一个decision margins,而不是像a - softmax那样在角度空间中定义了一个decision margins

C 1 : c o s ( θ 1 ) ≥ c o s ( θ 2 ) + m C_1:cos(\theta_1)\ge cos(\theta_2)+m C1:cos(θ1)cos(θ2)+m

C 2 : c o s ( θ 2 ) ≥ c o s ( θ 1 ) + m C_2:cos(\theta_2)\ge cos(\theta_1)+m C2:cos(θ2)cos(θ1)+m

图2中的最后一个子图说明了LMCL在余弦空间中的决策边界,在这里我们可以看到一个清晰的边界( 2 \sqrt2 2 m)中产生的夹角余弦分布。这表明LMCL比NSL更健壮,因为围绕决策边界(虚线)的一个小扰动不太可能导致错误的决策。不论权向量的角度如何,余弦余量始终适用于所有样本。

3.3. Normalization on Featur

在所提出的LMCL中,为了推导余弦损失公式并remove variations in radial directions,引入了一种归一化方案。与文献[23]只标准化权向量不同,我们的方法同时标准化权向量和特征向量。结果,特征向量分布在超球体上,其中缩放参数s控制半径的大小。在这一小节中,我们讨论了为什么特征标准化是必要的,以及在所提出的LMCL方法中,特征标准化如何鼓励更好的特征学习。

从两个方面说明了特征标准化的必要性:一是未标准化的特征的 original softmax loss隐式学习特征向量的欧几里德范数( L 2 L_2 L2范数)和角度的余弦值。 通过自适应学习l2 -范数,使总体损失最小化,得到相对较弱的余弦约束。特别地,简单样本的自适应l2 -范数比困难样本大得多,从而弥补了余弦度量的不足。相反,我们的方法要求整个特征向量集具有相同的l2范数,使得学习只依赖于余弦值来发展识别能力。将同一类的特征向量聚在一起,将不同类的特征向量在超球面上拉开。此外,我们还考虑模型开始最小化LMCL时的情况。给定一个特征向量x,让 c o s ( θ i ) cos(\theta_i) cos(θi) c o s ( θ j ) cos(\theta_j) cos(θj)分别表示两个类的余弦值。如果不对特征进行归一化,则LMCL强制 ∥ x ∥ ( c o s ( θ i ) − m ) > ∥ x ∥ c o s ( θ j ) \begin{Vmatrix}x\end{Vmatrix}(cos(\theta_i)-m)>\begin{Vmatrix}x\end{Vmatrix}cos(\theta_j) x(cos(θi)m)>xcos(θj)。注意 c o s ( θ i ) cos(\theta_i) cos(θi) c o s ( θ j ) cos(\theta_j) cos(θj)最初可以相互比较。因此,只要 ( c o s ( θ i ) − m ) (cos(\theta_i)-m) (cos(θi)m) c o s ( θ j ) cos(\theta_j) cos(θj)小,为了使损失最小化, ∥ x ∥ \begin{Vmatrix}x\end{Vmatrix} x需要减小,从而使优化退化。因此,在LMCL的监督下,特征归一化是至关重要的,特别是当网络是从零开始训练时。同样,固定尺度参数s比自适应学习更有利。

此外,缩放参数s应设置为适当的大值,以产生性能更好、训练损失更低的特征。对于NSL,损失随s的增大而不断减小,s过小则导致收敛不足甚至不收敛。对于LMCL,我们还需要足够大的s来确保有足够的超空间来进行特征学习,并且期望有足够大的Margin。在这里插入图片描述

图3。从特征角度对LMCL的几何解释。不同的颜色区域代表不同类的特征空间。与NSL相比,LMCL具有相对紧凑的特征区域。

在下面,我们展示了参数s应该有一个下界来获得预期的分类性能。给定标准化学习特征向量x和权重向量W,类的总数为C。假设所学习的特征向量分别位于超球面上,以相应的权向量为中心。设PW为类中心的期望最小后验概率(即, W), s的下界为:
在这里插入图片描述

证明:

在这里插入图片描述
由于 [公式] 是一个凸函数,根据Jensen不等式可得:

img

另外已知

img

联立式子11,12,13,得到:

img

最后化简得到:

img

根据这个不等式,可以推断:对于具有一定数量的类,也就是固定 C C C 不变,期望分类是得到一个最优的 P w P_w Pw ,由式6可知 s s s P w P_w Pw 正相关,那么 s s s 也应该增大。固定 P w P_w Pw ,增加类的数量 C C C ,会提高在相对紧凑的空间中进行分类的难度,需要更大的 s s s 来处理更多的类。为了嵌入类内距离小、类间距离大的特征,需要一个半径为 s s s 的超球面。

3.4. Theoretical Analysis for LMCL

下来,我们将研究特征空间中的决策边界和角margin,从而得到超参数m的理论界。
在这里插入图片描述

首先,考虑类C1和C2的二元类情况,假设给出了归一化特征向量x。设Wi表示规范化的权重向量, θ i \theta_i θi表示x和Wi之间的角度。对于NSL,决策边界定义为 c o s ( θ 1 ) − c o s ( θ 2 ) = 0 cos(\theta_1)-cos(\theta_2)=0 cos(θ1)cos(θ2)=0,它等于W1和W2的角平分线,如图3左边所示。这解决了由NSL监督的模型将底层特征空间划分为两个紧密区域的问题,在这两个区域中,边界附近的特征非常模糊。,属于任何一类都可以)。不同的是,LMCL驱使由 c o s ( θ 1 ) − c o s ( θ 2 ) = m cos(\theta_1)-cos(\theta_2)=m cos(θ1)cos(θ2)=m表示的C1的判定边界,这导致 θ 1 \theta_1 θ1要远远小于 θ 2 \theta_2 θ2,C2也一样。因此,类间方差增大,类内方差减小。

回到图3,我们可以看到最大的角度余量取决于W1和W2之间的角度。因此,当给定W1和W2时,余弦余量应该具有有限的变量范围。具体地,假设所有属于第i类的特征向量与第i类的相应权向量Wi完全重叠。换句话说,每个特征向量与第i类的权向量相同,显然特征空间处于一个极端的情况,所有特征向量都位于它们的类中心。在这种情况下,决策边界的Margin被最大化(即,余弦边的严格上界)。

一般来说,为了扩展,我们假设所有的特性都被很好地分隔开,并且我们有C类的总数。m的理论变量范围应为: 0 ≤ m ≤ ( 1 − m a x ( W i T W j ) ) , 0\le m \le (1-max(W^T_iW_j)), 0m(1max(WiTWj))where $ i,j\le n,i\ne j$。softmax的损失试图最大的角度之间的任何两个不同的类权向量,以执行完美的分类。由此可见,软最大损失的最优解应该均匀地将权向量分布在一个单位超球面上。基于此假设,引入的余弦余量m的变量范围可以推导如下
在这里插入图片描述

其中C为训练类的数量,K为学习特征的维数。

证明:

对于 K = 2 K=2 K=2 ,权重向量均匀分布在单位圆上。由 m a x ( W i T W j ) = c o s 2 π C max(W^T_iW_j)=cos\frac{2\pi}{C} max(WiTWj)=cosC2π ,得出:

0 ≤ m ≤ ( 1 − m a x ( W i T W j ) ) = 1 − c o s 2 π C 0\le m\le(1-max(W^T_iW_j))=1-cos\frac{2\pi}{C} 0m(1max(WiTWj))=1cosC2π

对于 k ≥ 2 k \geq 2 k2 下面的不等式成立:

因为 c ≥ 2 c\ge2 c2,有

img

所以, m a x ( W i T W j ) > − 1 C − 1 max(W^T_iW_j)>\frac{-1}{C-1} max(WiTWj)>C11 ,最后得到:

0 ≤ m ≤ ( 1 − m a x ( W i T W j ) ) = C C − 1 0\le m\le(1-max(W^T_iW_j))=\frac{C}{C-1} 0m(1max(WiTWj))=C1C

类似地,当且仅当每个 W i T W j ( i ≠ j ) W^T_iW_j(i\ne j) WiTWj(i=j) 相等,和 Σ i W i = 0 \Sigma_iW_i=0 ΣiWi=0 时,不等式取等号。只有在 C ≤ K + 1 C\le K+1 CK+1时才能满足。在这种情况下,两个任意 W W W 的顶点之间的距离应该是相同的。换句话说,如果是 C = 3 C=3 C=3 ,它们形成一个规则的单形,例如等边三角形。如果 C = 4 C=4 C=4 ,则形成正四面体。

对于 C > K + 1 C>K+1 C>K+1的情况,不等式不能取等号。事实上,它是无法制定严格的上限。因此,得到 0 < m < < − 1 C − 1 0<m<<\frac{-1}{C-1} 0<m<<C11 。因为类 C C C 的数量可能比特征维度 K K K 大得多,所以在实践中不等式不能取等号。

其中C为训练类的数量,K为学习特征的维数。该不等式表明,随着类数的增加,类间余弦边的上界相应减小。特别是当类数远远大于特征维数时,余弦边界的上界会变得更小。
在这里插入图片描述

图4。一个玩具实验不同的损失函数对8个身份与二维特征。第一行将2D特征映射到Euclidean空间,而第二行将2D特征映射到angular空间。随着保证金期限m的增加,差距变得明显。

合理选择较大 m ∈ [ 0 , C C − 1 ) m\in [0,\frac{C}{C-1}) m[0,C1C)可以有效地促进具有高度辨别性的特征的学习。但在实际应用中,由于特征空间的消失,参数m往往达不到理论上界。即所有的特征向量根据对应类的权向量集中在一起。事实上,当m太大时,由于余弦约束变得更严格且难以满足,模型无法收敛。此外,m值过大的余弦约束使得训练过程对噪声数据更加敏感。不断增长的m 由于未能收敛,在某个点开始降低整体性能。

我们执行了一个玩具实验,以便更好地可视化特性并验证我们的方法。我们从8个不同的身份中选择了包含足够样本的人脸图像,以清晰地显示出图上的特征点。用原始的softmax loss和具有不同参数m的LMCL训练了几个模型。如上所述,m不应该大于 1 − c o s ( π 4 ) 1-cos(\frac{\pi}{4}) 1cos(4π)(大约为0.29,公式(7)),所以我们设置了三个m的选项进行比较,分别是m = 0, m = 0.1,和m = 0.2。如图4所示,第一行和第二行分别表示了特征在欧氏空间和角空间中的分布。我们可以观察到original softmax loss在决策边界上产生了模糊性,而所提出的LMCL表现得更好。随着m的增大,不同类之间的角边被放大。

4. Experiments

4.1. Implementation Details

预处理。首先,使用MTCNN[16]对整组训练和测试图像进行人脸区域和关键点检测。然后,利用5个面部点(两个眼睛、鼻子和两个嘴角)进行相似性变换。在那之后,我们获得裁剪面,然后调整大小为11296。跟随着[42,23],RGB图像中的每个像素(in[0,255])通过减去127.5然后除以128进行归一化。

训练。为了与使用小训练数据集(小于0.5M图像和20K个目标)的现有结果进行直接和公平的比较[17],我们在一个小训练数据集上训练我们的模型,该数据集是公开可用的CASIAWebFace[46]数据集,包含10575个受试者的0.49M人脸图像。我们还使用一个大型训练数据集来评估我们的方法的性能,以便与基准面部数据集上的最新结果(使用大型训练数据集)进行基准比较。我们在这项研究中使用的大型训练数据集由几个公共数据集和一个私人面部数据集组成,其中包含了来自90K多个身份的大约500万张图像。训练面水平翻转以增加数据。在我们的实验中,我们删除了出现在测试数据集中出现的人脸图像。

为了公平的比较,我们工作中使用的CNN架构类似于[23],它有64个卷积层,基于residual的单元[9]。式(4)中的尺度参数s根据经验设为64。我们使用Caffe[14]来实现损失层的修改并运行模型。CNN模型是用SGD算法训练的,在8gpu上批量大小为64。重量衰减设置为0.0005。

对于小数据集上的训练,在16K、24K、28k次迭代时,学习率最初为0.1除以10,然后在30k次迭代时完成训练过程。而大数据集上的训练终止于240k次迭代,初始学习率在80k,140k,200k次迭代时下降了0.05。

测试。在测试阶段,将原始图像和翻转图像的特征连接在一起,构成最终的人脸表示。计算特征的余弦距离作为相似度得分。最后,通过对得分进行阈值化和排序,进行人脸验证和识别。我们在几个流行的公共人脸数据集上测试我们的模型,包括LFW[13]、YTF[43]和MegaFace[17,25]。

4.2. Exploratory Experiments

边缘参数在LMCL中起关键作用。在这一部分中,我们进行了一个实验来研究m。通过将m从0变化到0.45(如果m大于0.45,模型将无法收敛),我们使用小型训练数据(CASIA-WebFace[46])来训练我们的CosFace模型,并评估它在LFW[13]和上的性能YTF[43]数据集,如图5所示。
在这里插入图片描述

我们可以看到,没有边际(在本例中为m=0)的模型导致了最差的性能。随着m值的增加,两个数据集的精度不断提高,并在m = 0:35处达到饱和。这说明了边值m的有效性。通过增加边值m,可以显著提高学习特征的识别能力。在本研究中,在后续的实验中,m设置为固定的0.35。

**特征规范化的效果。**为了研究特征规范化方案在我们的方法中的作用,我们将m固定为0.35,在有和无特征规范化方案的CASIA网页上训练CosFace模型,并比较它们在LFW[13]、YTF[43]和Megaface Challenge 1(MF1)[17]上的性能。注意,未经过归一化训练的模型初始化为softmax损失,然后由LMCL提出的方法进行监督。比较结果见表1。很明显,使用特征标准化方案的模型在三个数据集上的性能始终优于不使用特征标准化方案的模型。如前所述,特征归一化消除了基本方差,并且所学习的特征在角空间中更具鉴别性。这个实验验证了这一点。
在这里插入图片描述

4.3. Comparison with stateoftheart loss functions

在这一部分中,我们将所提出的LMCL的性能与state-of-the-art的损失函数进行了比较。在[23]中的实验设置之后,我们在CAISAWebFace[46]上使用[23]中描述的相同64层CNN架构,在所提出的LMCL的指导下训练模型。LFW、YTF和MF1的实验比较见表2。为了公平比较,我们严格遵循模型结构(64层ResNet-Like-CNNs)和SphereFace的详细实验设置[23]。从表2中可以看出,与三个数据集的其他损失相比,LMCL始终取得了具有竞争力的结果。特别是,我们的方法不仅在特征规范化方面优于A-Softmax(表2中称为A-Softmax-normfa),而且在YTF和MF1上也显著优于其他损失函数,这证明了LMCL的有效性。
在这里插入图片描述

如表3所示,所提出的CosFace算法在LFW上的精度为99.73%,在LFW上的精度为97.6%YTF。FaceNet在LFW上取得了亚军的成绩,它使用了大规模的图像数据集,数据集大约有2亿张脸。在YTF方面,我们的模型是所有方法中排名第一的。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值