论文:SphereFace: Deep Hypersphere Embedding for Face Recognition
代码:at https://github.com/wy1iu/sphereface.
摘要
本文讨论了开放集协议下的人脸深度识别(FR)问题,其中理想人脸特征的最大类内距离小于最小类间距离在适当选择的度量空间下。 然而,现有的算法很少能有效地实现这一准则。 为此,我们提出了角Softmax(A-Softmax)损失,使卷积CNNs学习角度鉴别特征。 几何上,A-Softmax损失可以看作是对超球面流形施加判别约束。 此外,角边距的大小可以通过参数m进行定量调整。我们进一步推导出特定的m来近似理想特征。 在野外(LFW)、Youtube Faces(YTF)和Mega FaceChallenge上进行了广泛的分析和实验,表明了A-Softmax损失在FR任务中的优越性。
Related Work
- L-Softmax损失[16]也隐含地涉及角度的概念。 作为一种正则化方法,它对闭集分类问题有了很大的改进。
- 不同的是,A-Softmax损失是非常大的学习鉴别人脸嵌入。 与超球面流形的显式连接使我们的学习特征特别适合于开放集FR问题,正如我们的实验所验证的那样。
- 此外,A-Softmax损失中的角边距是显式施加的,可以定量控制(例如。 下界近似期望的特征准则),
比较中理解A-Softmax
其中:
- Original softmax loss :(W1 −W2)x+b1 −b2 = 0,
- Modified softmax loss: ||W1||=||W2||= 1 and b1 =b2 = 0
- A-Softmax loss :||x||*(cos(mθ1)−cos(θ2))=0
公式:
性质:
- A-Softmax损失定义了一个具有可调难度的大角裕度学习任务。 当m大时,角边距变大,A-Softmax损失约束越大。
- 在二类情况下,我们有 多类情况下
- 最终采用m = 4,比较合适
实验
预处理
- 通过MTCNN[39]检测所有图像中的人脸位置。 通过变换得到裁剪后的人脸。
- 每个像素([0,255])RGB通过减去127.5,然后除以128,对图像进行归一化
网络
设置
- 除非指定,否则我们通常在A-Softmax损失中将m设为4。
- 这些模型是在四个GPU上训练的,
- 批处理大小为128。
- 学习率从0.1和开始在16K,24K迭代中除以10。 训练以28K迭代完成。
训练集
我们使用公开的可用网络收集的训练数据集CASIA-Web Face[37](在排除测试集中出现的身份图像之后)来训练我们的CNN模型。 CASIA-Web Face有494414个张10,575人。 这些人脸图像被水平翻转以进行数据增强。
实验一:验证不同m值对结果的影响
我们执行一个不同m的小规模例子。
- 我们训练A-Softmax损失在CASIA-WebFace中样本最多的6个个体。 我们将输出特征维数(FC1)设置为3,并在图中可视化训练样本。
- 可以观察到,较大的m会更紧凑,如预期的那样。
- 我们还使用1类(蓝色)和2类(深绿色)构造正对和负对来评估角度来自同一类和不同类的特征分布。 如统计图
- 除了视觉比较外,我们还在LFW和YTF上进行人脸识别,以评估m对公平竞争的影响儿子,我们使用64层CNN(表2)来处理所有损失。 结果见表3。 可以观察到,当m变大时,A-Softmax损失的精度也变得更好,这表明它很大角边距可以带来更强的判别能力
实验二:验证不同的深度对于结果的影响
实验三:与不同网络比较
实验四:MegaFace Challenge
- “Rank-1 Acc.” 表示 rank-1 identification accuracy with 1M distractors,
- “Ver.” TAR for 10−6 FAR.
- use the same deep CNN architecture
- small 为 训练集小于0.5M
我们采用两种测试协议:人脸识别和验证