【深度学习】同款商品识别的克星--ArcFace!

作者:杰少,一品炼丹师

ArcFace: Additive Angular Margin Loss for Deep Face Recognition(CVPR2019)

简 介

利用深度卷积神经网络(DCNNs)进行大规模人脸识别特征学习的一大挑战是设计合适的损失函数以提高识别能力。

  • 在欧氏空间中,中心损失是对深层特征与其对应的类中心之间的距离进行惩罚,以实现类内紧性;

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

最近,一个流行的研究路线是将margins纳入已建立的损失函数,以最大限度地提高人脸类别可分性。

在本文中,我们提出了一个附加的角Margin损失(ArcFace)来获得高分辨的人脸识别特征。由于与超球面上的测地距离精确对应,所提出的弧面具有清晰的几何解释。通过大量的实验,我们证明了ArcFace的效果始终优于目前最好的模型,并且可以轻松实现,计算开销可以忽略不计。

背 景

目前训练人脸识别的DCNN方案主要有两种:

  • 训练一个多分类器,它可以将训练集合中的不同实体分开;

  • 训练embeddings,例如triplet loss。

但是softmax的loss和triplet loss都存在一些缺点,

对于softmax来说

  • 线性转化矩阵 是线性相关的;

  • 学习得到的特征对于闭集分类问题是可分离的,而对于开集人脸识别问题,学习到的特征是不可分辨的;

对于triplet loss来说

  • 特别是对于大规模数据集,人脸三元组的数量会出现组合爆炸,导致迭代步骤的数量显著增加;

  • semi-hard样本挖掘对于有效的模型训练是一个相当困难的问题;

提出的方法

1. ArcFace

softmax loss:

其中, 表示第 个样本的深度特征,属于 类。 表示权重 的第 列, 表示偏差项。 分别表示batch大小和类的个数。但是,softmax函数没有直接优化特征的embedding来加强类内样本的相似度以及不同类样本之间的不一致性。

为了方便,此处我们将 设置为0,然后令

其中, 是权重 和特征 之间的权重,我们通过 范数令 ,同样的我们可以 做相同的处理,然后对其rescale,于是我们得到:

由于embedding特征分布在超球面上的每个特征中心,我们在 加入一个增量的角度margin惩罚 ,以是的我们类内更紧,类间更可区分。由于所提出的增加角度margin惩罚函数等于在超球面中标准化测地距离margin的惩罚,因此我们将该方法命名为ArcFace。

我们从8个不同身份的人脸图像中选取足够的样本(约1500张/类)分别训练具有softmax和ArcFace损失的二维特征嵌入网络。如图3所示,softmax损失提供了大致可分离的特征嵌入,但在决策边界中产生了明显的模糊性,

如上图所示,softmax损失提供了大致可分离的特征embedding,但在决策边界中产生了明显的模糊性,ArcFace损失显然可以在最近的类之间得到更明显的间隙。

ArcFace算法

2.与SphereFace和CosFace的比较

1.数值相似度

在SphereFace和CosFace和ArcFace中,我们都加入来margin的惩罚,我们用 分别表示乘法角度margin,增加的角度margin和增加的cosine margin。从数值的角度来看,不同的margin惩罚都是希望相同类之间更为紧密,类之间分的更开。

通过将所有的margin惩罚放在一个框架中,我们有:

通过组合,我们往往可以获得更好的结果。

2. 几何区别

除了数值相似度之外,ArcFace拥有更好的几何属性,如下图所示:

3. 和其它Loss比较

其他损失函数可以基于特征和权重向量的角度来设计。例如,我们可以设计一个loss来增强超球面上的类内紧性和类间差异性。

Intra-Loss

这边是加上后面的项,而我们的目标是最小化 ,所以我们希望 尽可能的小,这样类内就会被压缩,从而变得更紧。

Inter-Loss

这边是减去后面的项,所以我们需要减去的项尽可能大,也就是 尽可能大,也就是不同类之间尽可能的角度大。

Triplet Loss

想加大三元组样本的角度margin, 此处我们采用triplet-loss作为特征的角表示,

实验

  • ArcFace在所有三个测试集上都达到了最高的验证精度;

  • 组合margin框架比单独的SphereFace和CosFace有更好的效果,但都不如ArcFace效果好;

  • Triplet Loss优于标准Softmax Loss,说明了margin对提高效果的重要性;

  • 在三元样本中使用margin惩罚比在样本和中心之间插入margin效果要差,就像在ArcFace中一样。最后,我们将累呢、类间丢失和Triplet Loss合并到ArcFace中,但是没有观察到任何改进,这让我们相信ArcFace已经加强了类内更紧、类间差异性和分类margin。

  • ArcFace相较于Triplet-Loss有更好的margin;

小结

本文提出了一种Additive Angular Margin Loss ,该函数能有效地提高DCNNs学习的特征嵌入在人脸识别中的判别能力。在文献报道的最全面的实验中,我们证明了我们的方法始终优于目前最好的方法。

参考文献

  1. ArcFace: Additive Angular Margin Loss for Deep Face Recognition,CVPR2019


往期精彩回顾



适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑温州大学《机器学习课程》视频
本站qq群851320808,加入微信群请扫码:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值