人脸网络:人脸识别和聚类的统一嵌入
论文简介
标题
- 英文:《FaceNet: A Unified Embedding for Face Recognition and Clustering》
- 翻译:《人脸网络:人脸识别和聚类的统一嵌入》
期刊情况
- 期刊:《Conference on Computer Vision and Pattern Recognition》
论文内容
摘要
- 尽管最近在人脸识别领域取得了重大进展,但是大规模有效地实现人脸验证和识别对现有的方法提出了严峻的挑战。在本文中,我们提出了一个系统,称为FaceNet,它直接学习从人脸图像到一个紧凑的欧几里得空间的映射,其中距离直接对应于人脸相似性的度量。一旦产生了这个空间,诸如人脸识别、验证和聚类之类的任务就可以使用标准技术以FaceNet嵌入作为特征向量来容易地实现。
- 我们的方法使用深度卷积网络来直接优化嵌入本身,而不是像以前的深度学习方法那样使用中间瓶颈层。为了进行训练,我们使用一种新的在线三元组挖掘方法生成的粗略对齐的匹配/不匹配人脸面片的三元组。我们的方法的好处是更高的表示效率:我们只使用128字节的每张脸就可以实现最先进的人脸识别性能。
- 在野外(LFW)数据集上,我们的系统获得了99.63%的新记录准确率。在YouTube Faces DB上,它达到了95.12%。我们的系统在两个数据集上将错误率与最佳公布结果相比降低了30%。
- 我们还引入了谐波嵌入和谐波三重损失的概念,它们描述了不同版本的面嵌入(由不同的网络产生),这些面嵌入相互兼容并允许相互之间的直接比较。
介绍
- 本文提出了一个统一的人脸验证(这是同一个人吗)、识别(这个人是谁)和聚类(在这些人脸中寻找共同的人)系统。我们的方法是基于使用深度卷积网络学习每个图像的欧几里德嵌入。网络被训练成使得嵌入空间中的平方L2距离直接对应于面部相似度: 同一个人的脸距离很小,不同人的脸距离很大。
- 一旦产生了这种嵌入,那么前面提到的任务就变得直截了当:人脸验证只需要对两个嵌入之间的距离进行阈值处理;识别成为一个k-NN分类问题;并且可以使用诸如k-means或凝聚聚类之类的离线技术来实现聚类。
- 以前基于深层网络的人脸识别方法使用在一组已知人脸身份上训练的分类层,然后采用中间的一层颈部层作为一种表示,用于概括训练中使用的身份集之外的识别。这种方法的缺点是它的间接性和低效率:人们不得不希望瓶颈表现能很好地推广到新面孔;通过使用瓶颈层,每个面的表示大小通常非常大(1000维)。最近的一些工作已经使用主成分分析来降低这种维数,但是这是一种线性变换,可以在网络的一层中容易地学习。
- 与这些方法相反,FaceNet使用基于LMNN的三重损失函数直接将其输出训练为紧凑的128-D嵌入。我们的三元组由两个匹配的人脸缩略图和一个不匹配的人脸缩略图组成,损失的目的是将正对和负对分开一段距离。缩略图是面部区域的紧密裁剪,除了缩放和平移之外,没有2D或3D对齐。
- 选择使用哪一个三元组对取得好的成绩是非常重要的,受课程学习的启发,我们提出了一种新颖的在线负样本挖掘策略,该策略确保随着网络训练三元组的难度不断增加。为了提高聚类的准确性,我们还探索了硬正向挖掘技术,该技术鼓励球形聚类嵌入一个人。
- 我们的方法可以处理难以置信的可变性,如图1所示。图中显示的是PIE中的图像对,这些图像对以前被认为对于人脸验证系统来说非常困难。
相关工作
- 类似于最近使用深度网络的其他工作,我们的方法是一种纯数据驱动的方法,它直接从面部像素中学习其表示。我们不是使用工程特征,而是使用一个大的标签面数据集来获得适当的姿态、光照和其他变化条件的不变性。
- 在本文中,我们探讨了两种不同的深度网络架构,这两种架构最近在计算机视觉领域获得了巨大的成功。两者都是深度卷积网络。
- 第一种体系结构基于泽勒&弗格斯模型,该模型由多层交叉卷积、非线性激活、局部响应标准化和最大池层组成。受工作的启发,我们另外添加了几个1×1×d卷积层。
- 第二种架构基于Szegedy等人的初始模型,该模型最近被用作ImageNet 2014的获奖方法。这些网络使用混合层,并行运行几个不同的卷积和汇集层,并连接它们的响应。我们发现,这些模型可以将参数数量减少多达20倍,并有可能减少可比性能所需的FLOPS数量。
- 有大量的人脸验证和认知作品。回顾它超出了本文的范围,所以我们将只简要讨论最近最相关的工作:
- Y . Sun, X. Wang, X. Tang. Y . Taigman, M. Yang, M. Ranzato, L. Wolf. Deepface, Z. Zhu, P . Luo, X. Wang, and X. Tang. 的工作都采用了一个多阶段的复杂系统,它将深度卷积网络的输出与用于降维的主成分分析和用于分类的SVM相结合。
- 姚震等人使用深度网络将人脸“扭曲”成规范的正面视图,然后学习CNN,该CNN将每个人脸分类为属于一个已知身份。对于人脸验证,使用网络输出上的主成分分析和一组支持向量机。
- 泰格曼等人提出了一种多阶段方法,将人脸与一般的3D形状模型对齐。一个多类网络被训练来执行超过4000个身份的人脸识别任务。作者还试验了一个所谓的暹罗网络,他们