ArcFace Additive Angular Margin Loss for Deep Face Recognition
ArcFace: Additive Angular Margin Loss for Deep Face Recognition
2. Proposed Approach
2.1. ArcFace
最常用的分类损失函数softmax损失如下:

样本x_i∈R^d表示来自类别\{y_i\}中的第i个样本在深度空间中的向量表示。本研究设定嵌入空间维度d=512作为基础配置,在权重矩阵W中每一列对应的元素由\{W_j∈R^d|j=1,…,n\}给出;其中偏置项b_j∈R^n,j=1,…,n}用于调整分类边界的位置参数。
批次大小与分类数目分别设为N与n。
然而,在该损失函数的设计过程中未对特征嵌入进行显式优化以提升同类样本间的相似度以及异类样本间的多样性程度(diversity for inter-class samples)。
这种设计缺陷导致以下问题:在测试场景中出现较大的类别内部差异(如姿态变化范围从30°到48°、年龄跨度达22岁),以及在规模上呈现显著挑战(包含超过一百万对的数据点或数十万亿的数据配对)。
为了简化计算过程,在后续讨论中我们暂时假设 bj 始终等于 0。在此前提下,在这一设定下我们能够将 W^T_j x_i 表示为 ||Wj|| * ||xi|| * cosθj ,其中 θj 是向量 Wj 和 xi 之间的夹角。通过应用 l2 正则化技术,我们能够限制权重向量 Wj 的范数为 1(即 ||Wj|| = 1)。同时,在嵌入空间中施加 l2 正则化约束,并对 xi 进行归一化处理以确保其长度等于 s。经过上述处理后,模型中的每个特征向量都会被限制在半径为 s 的超球面上。这种设计确保了预测结果仅由各向量间的夹角决定。

在超球面上的每个特征中心附近,在xi和w_{y_i}之间引入了angular margin,并提升了类内一致性与类间差异度inter-class discrepancy。

基于8个不同身份的数据集选取了约1500张图像/类的人脸样本,并分别采用Softmax损失函数与ArcFace损失函数进行二维特征提取。如图3所示,Softmax损失能够实现较为清晰的类别分割,在分类边界处表现出一定的模糊区域。相对于传统的Softmax损失函数而言,所提出的ArcFace损失能显著提升类别间的分类界限,并明显增强样本特征向量之间的区分度。

如图所示,在softmax和ArcFace方法的基础上进行toy example分析中展示了8个二维特标的分布情况:用点表示样本数据集中的个体实例;线条则标识出各个类别对应的中心方向;经过特征标准化处理后;所有的人脸图像均位于半径固定不变的圆弧空间上;当引入加性角 margin惩罚项时;在几何距离方面最近类别之间的差距变得明显

2.2. Comparison with SphereFace and CosFace
基于SphereFace框架中的参数组合(18,19)、ArcFace(37,35)以及CosFace(37, )等不同模型架构中分别提出了三种不同的m形式:m₁为乘性角边际、m₂为加性角边际以及m₃为加性余弦边际。从数值分析的角度来看,在角度维度还是余弦空间维度施加不同形式的边际惩罚都能通过惩罚目标logit值来增强类别内部的一致性和类别间的多样性。
将所有 margin penalty terms合并在一起后,我们实现了SphereFace、ArcFace以及CosFace在一个统一框架内,并使用了m1、m2以及m3作为超参数。

Geometric Difference. 虽然ArcFace在数值上与前人研究存在相似之处, 但基于angular margin与geodesic distance之间的精确对应关系, 其提出的一种加性angular margin展现出更优的几何特性. 如图5所示, 我们对比了二元分类任务中的决策边界. 其提出的一种弧状ArcFace架构在整个间隔范围内始终保持恒定的一阶angular margin特性. 相比之下, SphereFace和CosFace仅能维持nonlinear angular margin特征.

如图5所示,在二分类问题中比较不同损失函数下的决策裕度。虚线代表决策边界,灰色区域代表margins。
margin设计中的细微差别会引起模型训练的"蝴蝶效应"。如前述研究中所展示的那样,SphereFace[18]采用了Annealing优化策略.为了防止初始阶段出现数值不稳定的情况, 在SphereFace的训练过程中, 我们采用了Softmax联合监督机制来减弱乘性余弦惩罚项的影响.我们开发了一个改进版的SphereFace模型, 主要通过将弧余弦函数应用于计算余弦相似度, 替代了传统方法中使用的双角公式, 并未对余弦值设置整数约束.经过实验验证,m=1.35这一取值能够有效避免模型收敛过程中的困难, 同时仍能保持与原始 Sphereface架构相当的性能水平.
3. Experiments
3.1. Implementation Details
如表1所示, 我们采用了CASIA[43]、VGGFace2[6]、MS1MV2以及包含MS1M DeepGlint和Asian DeepGlint在内的DeepGlint Face作为训练数据, 以确保与其他方法的有效比较。值得注意的是, MS1MV2是其半自动优化版本的MS-Celeb-1M数据集 [10].
从我们的研究来看,在大规模的人脸图像标注任务中率先采用种族特化的注释工具的是我们团队。由于缺乏对身份特性的深刻理解,在标注过程中难以准确识别某些边缘案例(如硬编码的异常样本和噪声干扰的数据点)。为了全面评估不同配置的效果,在训练阶段我们采用了多个权威数据集进行测试分析:包括LFW[13]、CFP-FP[30]以及AgeDB-30[22]。
除了LFW等基础数据集外,在近年来发布的CPLFW和CALFW等大姿态与大年龄数据库上也进行了评估。此外,在包括大规模图像在内的多个领域中进行了系统性测试。
12,11
该研究采用[37](Large margin cosine loss)方法对特征标度s进行了配置,并选择ArcFace模型的angular margin m值设定为
本研究中所有实验均基于MXNet框架运行。
我们采用了批量大小设定为512的方法,在四块NVIDIA Tesla P40(每块拥有24GB内存)的GPU上进行了模型训练。
在CASIA数据集上进行初始化时学习率为 从第 个迭代步骤起依次降低 learning rate at iterations 和
经过总计32,768次迭代后完成训练。
通过调整学习率策略,在MS1MV2数据集上的多个关键点实现了验证准确率提升 learning rate adjusted at iterations , , and
本研究中采用动量因子设定为 ,权重衰减系数设为 5\times 1e^{-4} 的方法。
在测试阶段中,在不包含全连接层的情况下筛选出特征嵌入网络(其中ResNet-50模型占用空间约为160MB;而ResNet-100模型则占用约250MB),随后从每个标准化的脸型样本中提取出对应的512维特征向量(其中针对单个 faces进行处理所需的时间分别为:使用 ResNet-50 的情况下约为 8.9 毫秒;使用 ResNet-100 则约为 15.4 毫秒)。
我致力于获取基于 IJB-B、IJB-C 以及 YTF、iQIYI-VID 等模板或视频序列的嵌入特征向量。为此,我们需要计算模板内每张图像及其中各帧的特征向量中心点。我 note that 相关标识会被移除以确保严格的评估标准,并且我们仅采用单 cropped 技术来处理测试数据。
3.2. Ablation Study on Losses
基于 ResNet50 模型,在 CASIA 数据集中分析了 ArcFace 的角边设置。经过实验验证,在最佳 margin 设置下(值为 0.5),该方法表现卓越。
基于公式4中提出的组合margin框架,在分别设置了SphereFace裕度为1.35和CosFace裕度为0.35的情况下取得最佳性能。通过该方法,在实现SphereFace和CosFace的过程中未遇到收敛问题并获得了良好的性能表现。提出的方法ArcFace在所有三个测试集上均获得了最高的验证准确率。

3.3. Evaluation Results
基于LFW、YTF、CALFW以及CPLFW的数据集的实验结果表明,在本文中遵循的是无限制且具有标签辅助的数据获取协议(如表4所示)。通过基于ResNet100模型在MS1MV2数据库上的训练优化过程后得到的ArcFace算法,在LFW与YTF两个基准测试集上的性能表现均显著优于SphereFace[18]和CosFace[37]等现有方法。该方法通过引入加性角边际的概念实现了对学习特征辨别能力的有效提升
这一技术表明,在提升ArcFace模型的有效性方面具有显著的效果

