Loss(六)-2018:ArcFace【对CosFace的改进】【ArcFace:直接在角度空间(angular space)中最大化分类界限;CosFace是在余弦空间中最大化分类界限】

论文:ArcFace: Additive Angular Margin Loss for Deep Face Recognition
代码:https://github.com/deepinsight/insightface

本文提出了新的监督值: c o s ( θ + m ) cos(θ+m) cos(θ+m),在进行权重和特征归一化的基础上最大化角度空间的决策边界。

ArcFace,Insight face,又名Additive Angular Margin Loss,是人脸识别领域2019年前最好的结果

源码及文档见:https://gitee.com/swjtugx/classmate

一、概述

1、网络结构优化---->损失函数优化

特征提取通常可以认为是人脸识别最关键的步骤,我们希望提取到的特征更偏向于该人脸"独有"的特征。

我们的网络和模型承担着提取特征的重任,优秀的网络和训练策略使模型更加健壮。

在ResNet在2015年被提出后,越来越多优秀的网络基于ResNet进行优化更新也已取得卓越的成就,而在网络结构进一步升级优化有困难的情况下,研究者逐步将目光转向损失函数。

关于Loss对于网络的影响,最直观的就是训练中通过计算Loss反传梯度来实现对模型参数的更新。因此 不同的Loss可以使模型更加侧重于学习到数据某一方面的特性,并在之后能够更好地提取到这一"独有”的 特征,Loss对于网络优化有导向性的作用。

文章 ArcFace:Additive Angular Margin Loss for Deep Face Recognition 的作者提出了Additive Angular Margin Loss。在继SoftmaxLoss、Center Loss、A-Softmax Loss、Cosine Margin Loss之后有好的表现。
在这里插入图片描述

1、简介

目前已经有大量的基于深度学习的人脸识别模型,这些模型主要有三方面的不同:

  • 训练数据的规模不同
    • 目前常用的人脸识别数据集VGG-Face,VGG-Face2,CAISA-WebFace,UMDFaces,MS-Celeb-1M,MegaFace,图像的规模从几千到数十万不等。
    • 虽然MS-Celeb-1M,MegaFace收集的大量人员的人脸图像,但是他们存在标注噪声和长尾效应。作为对比,谷歌的私有人脸数据集包含数百万人员的照片,FRVT比赛的冠军依图科技,用于18亿规模的私有数据集。
    • 因为数据集的规模不同,工业界人脸识别产品的性能要好于学术界。由于数据集规模不同,很多深度学习模型的效果无法完全复现。
  • 网络结构及相关参数设置不同:
    • 如果使用大的网络(ResNet和Inception-Resnet),效果就要比小网络(VGGNet和Google Inception V1)要好。
    • 不同的应用场景需要考虑的产品性能不同,移动式设备上根据关注识别效率,安保场景下更加关注识别精度。
  • 损失函数不同:
    • 基于欧式间隔的损失: center loss,Range loss,Marginal loss在类别数很多时占用GPU过多,contrastive loss,triplet loss构建样本对需要很强的策略性;
    • 基于角度间隔余弦间隔的损失:L-softmax提出了 c o s ( m θ ) cos(mθ) cos(mθ) 实现了在角度空间内进行识别,SphereFace(A-Softmax)在其基础上加上了权重归一化,AM-Softmax提出了 c o s ( θ ) − m cos(θ)−m cos(θ)m 在余弦空间内进行识别,取得了当下最先进的识别结果。
    • 相比于欧式空间间隔,角度空间间隔和余弦空间间隔在超平面上增加了判别限制,符合人脸分布在超平面上这一先验知识。

作者认为,数据 > 网络 > 损失 由高到低的影响识别效果。

使用深度卷积神经网络 (DCNN) 进行大规模人脸识别的特征学习中,主要挑战之一在于 设计适当的损失函数以增强判别能力。

Center Loss 会惩罚欧式空间中深层特征及其对应的类中心之间的距离,以实现 类内紧凑性 (intra-class compactness)。

SphereFace 假定 最后一个全连接层中的线性变换矩阵 可用作角度空间 (angular space) 中类中心的表示,并以乘法方式惩罚深度特征及其相应权重 (weights) 之间的角度 (angles)。

近期,一种流行的研究方向是将 margins 纳入已建立的损失函数中,以最大程度地提高人脸类别可分性 (face class separability)。

本文提出了一个 加性角度边距损失 (Additive Angular Margin Loss, ArcFace),以获取用于人脸识别的高判别度特征 (highly discriminative features)。

由于所提出的 ArcFace 与 超球面上的测地距离 (geodesic distance on the hypersphere) 精确对应,故其具有明晰的几何解释。大量实验表明,ArcFace 始终优于 SOTA,且容易实现,计算开销可忽略不计。

一、Large Margin Cosine Loss (LMCL)【CosFace】

Large Margin Cosine Loss (LMCL):
L L M C = − 1 N ∑ i = 1 N log ⁡ e s ⋅ [ cos ⁡ ( θ y i , i ) − m ] e s ⋅ [ cos ⁡ ( θ y i , i ) − m ] + ∑ j = 1 , j ≠ y i c e s ⋅ cos ⁡ ( θ j , i ) (4) \begin{aligned}{ {L}_{LMC}}=-\frac{1}{N}\sum\limits_{i=1}^{N}{\log \frac{ { {e}^{s· [\cos ({ {\theta }_{y_i,i} })-m]}}}{ { {e}^{s·[\cos ({ {\theta }_{y_i,i}})-m]}}+\sum\nolimits_{j=1,j\ne yi}^{c}{ { {e}^{s· \cos { {(\theta }_{j},i)}}}}}} \tag4 \end{aligned} LLMC=N1i=1Nloges[cos(θyi,i)m]+j=1,j=yicescos(θj,i)es[cos(θyi,i)m](4)

二、Additive Angular Margin Loss(ArcFace)

在这里插入图片描述

CosineFace是在余弦空间中最大化分类界限,而ArchFace中是直接在角度空间(angular space)中最大化分类界限,这也是为什么这篇文章叫ArcFace的原因,因为arc含义和angular一样。

L A r c = − 1 N ∑ i = 1 N l o g e s [ c o s ( θ y i , i + m ) ] e s [ c o s ( θ y i , i + m ) ] + ∑ j ≠ y i e s   c o s ( θ j , i ) \begin{aligned}L_{Arc}=-\frac{1}{N}\sum\limits_{i=1}^{N}log\frac{e^{s[cos(\theta_{y_i,i}+m)]}}{e^{s[cos(\theta_{y_i,i}+m)]}+\sum_{j\neq y_i}e^{s\ cos(\theta_j,i)}} \end{aligned} LArc=N1i=1Nloges[cos(θyi,i+m)]+

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值