定义
FaceNet 是一种人脸识别系统,其核心是一个深度卷积神经网络,作用是把人脸图像映射到一个紧凑的欧氏空间,即所谓嵌入(embedding)[2]。映射完成后,同一个人的不同图像在空间中距离较小,不同人的图像距离较大,因此判断两张人脸是否为同一人可以直接转化为比较嵌入向量之间的距离。
在 FaceNet 中,每张人脸只需 128 个数值的向量表示,即 128 字节,人脸验证、人脸识别与人脸聚类都能以该向量为特征完成[1]。由于输出是一个统一的可比较向量而非分类结果,该方法在训练集之外的身份上同样可用。
原理
FaceNet 采用端到端训练,网络由批输入层、深度卷积网络和 L2 归一化层构成,归一化后的输出即为 128 维人脸嵌入[3]。训练目标是让同一身份的嵌入彼此靠近,不同身份的嵌入彼此远离,并使用三元组损失直接优化嵌入本身,而不是像此前方法那样依赖中间瓶颈层的特征[2]。
三元组由锚点(anchor)、正样本(positive)和负样本(negative)三张图像组成,正样本与锚点同属一人,负样本来自另一人[4]。损失函数要求锚点到正样本的平方距离加上一个间隔 α 后,仍小于锚点到负样本的平方距离,其形式为 $L=\sum_i^N \left[ \|f(x_i^a)-f(x_i^p)\|_2^2-\|f(x_i^a)-f(x_i^n)\|_2^2+\alpha \right]_+$,其中 $f(x)$ 为图像到特征空间的映射[3]。
如果枚举全部可能的三元组,会有大量样本一开始就满足约束条件,对训练没有帮助并拖慢收敛速度,因此该工作提出在线三元组挖掘,在训练过程中持续挑选难度更高的三元组[3]。在骨干网络方面,作者尝试了 Zeiler 与 Fergus 风格网络以及 Inception 类型网络两类结构[3];据维基百科整理,训练批大小约为 1800 张图像,每个身份约取 40 张图像,使用随机梯度下降、标准反向传播与 AdaGrad 优化,学习率初值为 0.05 并在模型定稿阶段下调。
发展历程
FaceNet 的论文由 Florian Schroff、Dmitry Kalenichenko 和 James Philbin 共同完成,作者隶属于谷歌,论文于 2015 年 3 月 12 日首次提交到预印本平台 arXiv,最后一版修订于 2015 年 6 月 17 日[1]。该工作随后发表在 2015 年 6 月 7 日至 12 日于美国波士顿举行的IEEE 计算机视觉与模式识别会议(CVPR)上,收录于会议论文集第 815 至 823 页[2][5]。
论文同时提出兼容嵌入(harmonic embeddings)与兼容三元组损失的概念,用于描述由不同网络产生的多个人脸嵌入版本,使这些版本之间可以相互直接比较[1]。此后大量人脸识别研究转向设计新的损失函数以获得更具区分度的特征,包括 2016 年提出的大间隔 softmax 损失与中心损失(center loss)、2017 年的角度 softmax 损失,以及 2018 年的 CosFace 与 ArcFace 等[6]。
三元组损失及配套的挖掘方法影响超出人脸识别本身,被用于其他单样本学习问题,并成为后续度量学习研究的常见组件。
应用
在 FaceNet 生成嵌入之后,人脸验证可归结为对两个嵌入之间的距离设定阈值,人脸识别可转化为最近邻分类,人脸聚类则可以使用 k-means 或层次聚类等成熟方法[3]。这种统一的嵌入形式使人脸比对能够以 128 维向量为单位进行存储和检索,降低了大规模人脸库的比对成本[2]。
FaceNet 的公开实现由社区以 TensorFlow 版本提供,可基于 CASIA-WebFace、MS-Celeb-1M、VGGFace2 等数据集训练,并常与 MTCNN 人脸对齐方法配合使用[7]。有开源人脸识别框架综述指出,部分工具库封装了 VGG-Face、FaceNet、OpenFace、DeepFace、DeepID、Dlib 等模型的接口,使 FaceNet 可直接用于特征提取环节[8]。此外,也有研究将 FaceNet 提取的高维特征向量配合支持向量机或逻辑回归等分类器,用于二维与三维人脸数据的识别实验[9]。
局限
FaceNet 的训练依赖大规模、带标注的人脸数据,原始工作使用了一个约 2 亿张图像的私有数据集,此类私有数据集未向研究社区开放[10][11]。有论文评述指出,该模型训练耗时长、对计算设备要求较高,此后公开数据集的推广也部分源于原始训练数据的不可得[11]。
由于采用三元组损失,FaceNet 的训练过程较难实施,需要并行的三路模型或特殊的样本堆叠与拆分结构来计算基于欧氏相似度的损失;引入中心损失等替代方案后,可以在不依赖此类复杂结构的前提下训练嵌入[10]。此外,此类深度卷积网络结构层数与参数量大、需要大量训练数据,在存储空间受限或真实人脸样本难以采集的场景中容易受到制约[12]。
参见
参考资料
- arxiv.org 上的网页 [引用日期2026-10-14]
- Schroff_FaceNet_A_Unified_2015_CVPR_paper [引用日期2026-10-14]
- huggingface.co 上的网页 [引用日期2026-10-14]
- google.com 上的网页 [引用日期2026-10-14]
- ieee.org 上的网页 [引用日期2026-10-14]
- arxiv.org 上的网页 [引用日期2026-10-14]
- facenet [引用日期2026-10-14]
- keywords [引用日期2026-10-14]
- ieee.org 上的网页 [引用日期2026-10-14]
- description: Train FaceNet Using Center Loss [引用日期2026-10-14]
- content [引用日期2026-10-14]
- figures [引用日期2026-10-14]