论文阅读笔记:ArcFace: Additive Angular Margin Loss for Deep Face Recognition
Tags:Deep_Learning_基础论文
本文主要包含如下内容:
本篇论文来自伦敦大学帝国理工学院Imperial College London,2018年CVPR,论文参考AmSoftmax进行优化,提出了ArcFace/Insight Face。
主要思想
论文从三个方面讲解了ArcFace/Insight Face,即从训练数据集的大小与精准程度、网络结构与设置、损失函数的设置三个方面进一步让同一个人的特征距离更小,不同个体的特征特征距离更大。
算法原理
这里,我们主要研读损失,如果关心网络结构,可以自行阅读论文。
论文推导了ArcFace/Insight Face。首先,偏置为0,权重归一化,得到SphereFace的A-Softmax:
Lang=1N∑i−log(exp(∥xi∥cos(mθyi,i))exp(∥xi∥cos(mθyi,i))+∑j≠yiexp(∥xi∥cos(θj,i)))
L
a
n
g
=
1
N
∑
i
−
log
(
exp
(
‖
x
i
‖
cos
(
m
θ
y
i
,
i
)
)
exp
(
‖
x
i
‖
cos
(
m
θ
y
i
,
i
)
)
+
∑
j
≠
y
i
exp
(
‖
x
i
‖
cos
(
θ
j
,
i
)
)
)
接下来,根据特征归一化,得到NormFace,以及AM-Softmax:
最后,考虑到角度距离比余弦距离对角度的影响更加直接,于是得到ArcFace/Insight Face:
实验结果
截止当前(2018年3月),是MegaFace榜第一,达到了98.36%的成绩,但是因为作者对动了MegaFace中的数据,将FaceScrub与MegaFace1M干扰项中重叠的部分去除了,(这也就是表中R的含义),因此不能体现该算法对其他算法有绝对的优势。
总结
ArcFace/Insight Face采用了直观的角度度量方式。改进不太明显。
代码实现
可以参考github代码,实现是MxNet,因此我们这里不详细阅读。