Arcface

  1. 用DCNN来学习人脸表示,把人脸图片映射到特征空间,使得类内距离小类间距离大
  2. 一般两条主线方法,代表分别为softmax loss和triplet loss,但是都有一些缺陷

softmax classifier

通过多分类问题来训练模型

缺点如下:

  1. 线性变换矩阵的大小W∈Rd×n随着身份数的增加而线性增加n;
  2. 学习到的特征对于封闭集的分类问题是可分离的的分类问题是可分离的,但对于开放性的人脸识别问题来说,却没有足够的鉴别力。脸部识别的问题。

softmax损失函数并没有明确地对特征嵌入进行优化。特征嵌入,对类内样本执行更高的相似性,对类间样本执行更高的多样性。这导致了在大的类内外观变化(如姿势变化)下,深度人脸识别的性能差距。大的类内外观变化(例如:姿势变化 [28, 44]和年龄差距[19, 45])和大规模测试场景下的性能差距。(例如,百万[12, 37, 18]或万亿对[1])。

triplet loss

通过直接学习及嵌入特征来分类。

有非常好的效果,但

缺点如下:

(1)脸的数量会出现组合式爆炸,特别是对于大规模的数据集来说。特别是对于大规模的数据集,会导致迭代步骤的显著增加; (2)半硬样本挖掘是一个相当困难的问题,需要有效的模型训练是一个相当困难的问题。

conflict see this --(https://www.researchgate.net/figure/Conflict-between-triplet-loss-and-softmax-loss-a-f-I-a-f-I-p-f-I-n-are_fig1_337519425)

see this for more detail --人脸识别的LOSS(上) - 知乎 (zhihu.com)

ArcFace

为了拥有边界效益,同时防止在Triplet中样本采集问题,近期论文采用边界处罚

Arcface: Additive angular margin loss for deep face recognition

introduce

在 softmax过程中linear层的变换矩阵的每一行都可以被视为一个类的中心特征表示

所以特征与足迹有一个全连接层的点积等于特征与中心归一化后的余弦距离。


Arcface
https://jfsas.github.io/2024/09/30/Arcface/
作者
JFSAS
发布于
2024年9月30日
许可协议