论文:FaceNet: A Unified Embedding for Face Recognition and Clustering
摘要
- 以前的深度学习方法那样的中间 bottleneck layer 。我们用使用一种新的 triplets 方法。
- triplets 方法,由在线生成匹配/不匹配组合
- 只使用128 维表示人脸。
- 成就:LFW-dataset 99.63%. On YouTube Faces DB it achieves 95.12%.
Introduction
- L2代表相似度(同一个人的脸有很小的距离,不同的人的脸有很大的距离。)
- triplets 由两个匹配的面部缩略图和一个非匹配的面部缩略图组成,损失的目的是将正对与负的距离边缘分开。
- 除了缩放和平移外,没有进行2D或3D对齐
- 选择哪个 triplets 对取得良好的成绩是非常重要的,在curriculum learning[1]的启发下,我们提出了一种新的在线负面样本挖掘策略 当网络训练时,使得 triplets 难度不断增加。
相关工作
- 在本文中,我们探索了两种不同的深层网络体系结构,这些结构最近在计算机视觉社区中获得了巨大的成功。两者都是深卷积网络[8,11]。
- 别人是咋做的
Method
Triplet Loss
Triplet Selection
- 在这里,我们集中在 online 和使用大型 mini-batches 的顺序为几千个样本,并且只计算一个 mini-batches 中的argmin和argmax。
- mini-batches 中,每人40张脸,随机抽样负样本添加到 mini-batches 中
- 选择所有的Anchor-Positive ,配合困难的负样本。而不是选择困难的 Anchor-Positive,在实践中发现all anchor-positive method 更稳定,收敛更快
- 在训练初期,选择最难的 Negative 会导致局部极小
- 如(4)描述的 Negative 称为 semi-hard,因为他们比 Positive 更远,但是也不简单,因为那些 Negative 就在边缘α
- 在大多数实验中,我们使用大约1800个样本的批次大小。
Deep Convolutional Networks
- 在我们所有的实验中,我们使用随机梯度下降(SGD)和标准反向传播[8,11]和AdaGrad[5]训练CNN。
- 在大多数实验中,我们从0.05的学习率开始,我们降低了学习率,以最终确定模型。
- 模型是从随机初始化的,类似于[16],并在CPU集群上训练1000到2000小时。
- 在500h的训练后,损失的减少(和准确性的增加)急剧减缓,但额外的训练仍然可以显著提高性能。 α设置为0.2
Datasets and Evaluation
测试集1:学术数据集:LFW and YouTube Faces,
测试集2:100万张图像,与训练集同分布,但是没有相同身份,平均分5份 。组对:100k × 100k image pairs.
测试集2:13K,与训练集同分布,每人3张
评估方法:
其中:
- TA:true accepts
- FA:false accept
Experiments
- 训练集:100M-200M张人脸,8M个人
- 输入:在我们的实验中,输入大小从96x96像素到224x224像素不等
实验一:Computation Accuracy Trade-off
在深入研究更具体实验的细节之前,我们将讨论精度与特定模型所需的FLOPS数量之间的权衡。 图4显示了x轴上的FLOPS 在我们的用户标记测试数据集上的0.001假接受率(FAR)的准确性来自第4.2节。 有趣的是,看到模型所需的计算与准确率之间的强相关性 。 该图突出了我们在实验中更详细地讨论的五种模型(NN1、NN2、NN3、NNS1、NNS2)我们还研究了模型参数数量的准确性权衡。 然而,在这种情况下,情况并不那么清楚。 例如,基于Inception的模型NN2实现了COM 对NN1的可比喻性能,但只有20%的参数。 但FLOPS的数量是相当的。
实验二:CNN模型的影响
- 如表3所示,研究不同输入大小对准确率的影响,很明显NN3较好
- 如图5所示,<10−4的ROC急剧下降表明测试数据中的噪声标签。 在极低的错误接受率下,单个错误标记的图像可能对曲线产生显著影响。
实验三:图像质量对准确率的影响
表4显示了我们的模型在广泛的图像大小范围内的鲁棒性。 该网络在JPEG压缩方面令人惊讶地健壮,性能非常好,直到JPEG质量为20。 性能下降是非常小的脸缩略图下降到120x120像素的大小,即使在80x80像素,它显示出可接受的性能。这是值得注意的,因为网络是在220x220输入图像上训练的。 低分辨率人脸的训练可以进一步改善这一范围。
实验四:Embedding维度
实验五:Amount of Training Data
- 训练时长:700h
- inputs :96x96 pixel inputs.
- model:NN2, but without the 5x5 convolutions in the Inception modules
表6显示了大量培训数据的影响。 由于时间限制,这一评估是在一个较小的模型上进行的;对较大的模型的影响可能更大。 显然,使用 数以千万计的样本导致了我们的个人照片测试集4.2节的准确性的明显提高。 与仅数百万幅图像相比,误差相对减少了60%。 使用一个 其他数量级更多的图像(数亿)仍然提供了一个小的促进,但改进逐渐减少
Appendix: Harmonic Embedding
模型升级,暂不关心