ArcFace可以说是现在人脸识别损失函数中应用最为成功也最为有效的损失之一,在各大人脸数据集上可谓屠榜。
论文:
ArcFace: Additive Angular Margin Loss for Deep Face Recognition
常规交叉熵损失如下:
当我们将W和X都通过L2归一化,设置偏执b为0,则可将矩阵相乘的结果logit看成一个余弦距离与缩放因子S的乘积,这两者在结果上是等价的,那么logit就与w和x无关了,仅与θ和s有关,如果固定s,那仅与θ有关。
为了增大类间距离,减少类内距离,我们相想法给目标类logit加学习困难。随着网络的收敛,对应类别的logit会越来越大,θ即样本与类中心距离越来越小,分类性能越来越好。我们再角度空间手动加一个边际m,使得更难训练,但训练出来的网络特征更加紧凑,区分性更好。

ArcFace是一种用于深度人脸识别的损失函数,通过在角度空间中增加余弦距离的边际,增强了类间距离并减小类内距离,提高了模型的识别性能。该方法通过对输入特征和权重进行L2归一化,计算余弦相似度,然后在目标类别上增加学习难度,使网络学习到更具区分性的特征表示。ArcFace的实现包括归一化、角度计算、余弦和正弦转换、阈值处理以及最终损失的计算。该方法的代码实现清晰易懂,适用于人脸识别任务。
最低0.47元/天 解锁文章
1750

被折叠的 条评论
为什么被折叠?



