FaceNet:一个统一的嵌入的人脸识别与聚类外文翻译资料

 2022-05-05 10:05

FaceNet: A Unified Embedding for Face Recognition and Clustering

Florian Schroff

Dmitry Kalenichenko

James Philbin

fschroff@google.com

dkalenichenko@google.com

jphilbin@google.com

Google Inc.

Google Inc.

Google Inc.

Abstract

arXiv:1503.03832v3 [cs.CV] 17 Jun 2015

Despite significant recent advances in the field of face recognition [10, 14, 15, 17], implementing face verification and recognition efficiently at scale presents serious chal-lenges to current approaches. In this paper we present a system, called FaceNet, that directly learns a mapping from face images to a compact Euclidean space where distances directly correspond to a measure of face similarity. Once this space has been produced, tasks such as face recogni-tion, verification and clustering can be easily implemented using standard techniques with FaceNet embeddings as fea-ture vectors.

Our method uses a deep convolutional network trained to directly optimize the embedding itself, rather than an in-termediate bottleneck layer as in previous deep learning approaches. To train, we use triplets of roughly aligned matching / non-matching face patches generated using a novel online triplet mining method. The benefit of our approach is much greater representational efficiency: we achieve state-of-the-art face recognition performance using only 128-bytes per face.

On the widely used Labeled Faces in the Wild (LFW) dataset, our system achieves a new record accuracy of 99.63%. On YouTube Faces DB it achieves 95.12%. Our system cuts the error rate in comparison to the best pub-lished result [15] by 30% on both datasets.

We also introduce the concept of harmonic embeddings, and a harmonic triplet loss, which describe different ver-sions of face embeddings (produced by different networks) that are compatible to each other and allow for direct com-parison between each other.

1. Introduction

In this paper we present a unified system for face veri-fication (is this the same person), recognition (who is this person) and clustering (find common people among these faces). Our method is based on learning a Euclidean em-bedding per image using a deep convolutional network. The network is trained such that the squared L2 distances in the embedding space directly correspond to face similarity:

1.04

1.22 1.33

0.78

1.33 1.26

0.99

Figure 1. Illumination and Pose invariance. Pose and illumina-tion have been a long standing problem in face recognition. This figure shows the output distances of FaceNet between pairs of faces of the same and a different person in different pose and il-lumination combinations. A distance of 0:0 means the faces are identical, 4:0 corresponds to the opposite spectrum, two different identities. You can see that a threshold of 1.1 would classify every pair correctly.

faces of the same person have small distances and faces of distinct people have large distances.

Once this embedding has been produced, then the afore-mentioned tasks become straight-forward: face verifica-tion simply involves thresholding the distance between the two embeddings; recognition becomes a k-NN classifica-tion problem; and clustering can be achieved using off-the-shelf techniques such as k-means or agglomerative cluster-ing.

Previous face recognition approaches based on deep net-works use a classification layer [15, 17] trained over a set of known face identities and then take an intermediate bottle-

neck layer as a representation used to generalize recognition beyond the set of identities used in training. The downsides of this approach are its indirectness and its inefficiency: one has to hope that the bottleneck representation generalizes well to new faces; and by using a bottleneck layer the rep-resentation size per face is usually very large (1000s of di-mensions). Some recent work [15] has reduced this dimen-sionality using PCA, but this is a linear transformation that can be easily learnt in one layer of the network.

In contrast to these approaches, FaceNet directly trains its output to be a compact 128-D embedding using a triplet-based loss function based on LMNN [19]. Our triplets con-sist of two matching face thumbnails and a non-matching face thumbnail and the loss aims to separate the positive pair from the negative by a distance margin. The thumbnails are tight crops of the face area, no 2D or 3D alignment, other than scale and translation is performed.

Choosing which triplets to use turns out to be very im-portant for achieving good performance and, inspired by curriculum learning [1], we present a novel online nega-tive exemplar mining strategy which ensures consistently increasing difficulty of triplets as the network trains. To improve clustering accuracy, we also explore hard-positive mining techniques which encourage spherical clusters for the embeddings of a single person.

As an illustration of the incredible variability that our method can handle see Figure 1. Shown are image pairs from PIE [13] that previously were considered to be very difficult for face verification systems.

An overview of the rest of the paper is as follows: in section 2 we review the literature in this area; section 3.1 defines the triplet loss and section 3.2 describes our novel triplet selection and training procedure; in section 3.3 we describe the model architecture used. Finally in section 4 and 5 we present some quantitative results of our embed-dings and also qualitatively explore some clustering resul

剩余内容已隐藏,支付完成后下载完整资料



FaceNet:一个统一的嵌入的人脸识别与聚类。

尽管人脸识别领域最近取得了重大进展,但在规模上有效地进行人脸验证和识别,对当前的方法来说是非常重要的。在本文中,我们提出了一个叫做FaceNet的系统,它直接从人脸图像到一个紧凑的欧几里得空间,其中距离直接对应于一个人脸相似度的度量。一旦产生了这个空间,就可以通过使用FaceNet嵌入的标准技术来轻松实现诸如面孔识别、验证和集群等任务。

我们的方法是使用一个深度卷积网络来直接优化嵌入本身,而不是像以前的深度学习方法那样在一个中间的瓶颈层。为了训练,我们使用一种新颖的在线三重挖掘方法来生成粗略对齐的匹配/不匹配的面块的三联。我们的方法的好处是具有更大的代表性效率:我们实现了最先进的人脸识别性能,每面只使用128字节。

在野生(LFW)数据集上广泛使用的标签面,我们的系统达到了99.63%的新记录精度。在YouTube上,DB的成绩达到了95.12%。我们的系统在两个数据集上都将错误率与最佳的结果相比降低了30%。

我们还引入了谐波嵌入的概念,并引入了谐波三重损耗,描述了不同网络之间相互兼容的不同的面嵌入(由不同的网络生成),并允许彼此之间进行直接的协调。

1、介绍

在本文中,我们提出了一个统一的人脸验证系统(就是这个人)、识别(这个人是谁)和聚类(在这些面孔中找到普通的人)。我们的方法是基于对每个图像使用一个深度卷积网络的欧几里得的嵌入。网络的训练使得嵌入空间中的平方L2距离直接对应于人脸的相似度:

图1所示。光照和姿态不变性。姿势和照度一直是人脸识别中的一个长期问题。这个图显示了在相同的人脸和不同的姿势和il-lumination组合中不同的人对脸部的输出距离。0:0的距离意味着这些面是相同的,4:0对应的是相反的光谱,两种不同的恒等式。您可以看到,1.1的阈值将正确地对每一对进行分类。

同一个人的脸距离很短,不同的人的脸有很大的距离。

一旦这种嵌入产生,上述的任务就会变得很简单:face verifica仅仅涉及到两个嵌入之间的距离的阈值;识别成为k-NN分类问题;聚类可以通过使用现成的技术如k-means或聚集聚类来实现。

基于深层网络的人脸识别方法采用了一种分类层,经过一组已知的人脸识别,然后取中间瓶。

颈层作为一种表示,用于在训练中使用的一组身份以外的识别。这种方法的缺点是它的不直接和低效率:一个人必须希望瓶颈表示能很好地推广到新面孔;通过使用瓶颈层,每个面通常是非常大的(10世纪的刻度)。最近的一些研究利用PCA降低了这种维度,但这是一个线性变换,可以很容易地在网络的一层中学习。

与这些方法不同的是,FaceNet直接将其输出训练成一个紧凑的128-D嵌入,使用基于LMNN的基于triplet的损失函数。我们的三胞胎对两个匹配的脸缩略图和一个不匹配的脸缩略图和损失的目标是区分正对和负的距离。缩略图是脸部区域的致密作物,没有2D或3D对齐,除了缩放和翻译。

选择使用哪三胞胎是非常重要的,以获得良好的表现,并受到课程学习的启发,我们提出了一种新颖的网络新模式的范例挖掘策略,它确保了连续不断地增加三胞胎作为网络列车的难度。为了提高聚类的准确性,我们还探索了一种积极的挖掘技术,这种技术可以促进单个人的嵌入。

我们的方法可以处理不可思议的可变性,如图1所示。显示的是来自PIE[13]的图像对,以前被认为是非常困难的人脸验证系统。

本文其余部分的概述如下:在第2节中,我们回顾了这一领域的文献;第3.1节定义了三重损失,第3.2节描述了我们的新三元选择和训练过程,在第3.3节中,我们描述了所使用的模型架构。最后,在第4和5节中,我们给出了我们嵌入的一些定量结果,并定性地探讨了一些聚类结果。

2、相关工作

同样地,我们的方法是一种纯数据驱动的方法,它直接从人脸的像素中学习它的表示。我们没有使用工程的特性,而是使用大量的标记人脸数据集,以获得适当的不同的姿态、光照和其他变分条件。

本文研究了近年来在计算机视觉领域取得巨大成功的两种不同的深网壳结构。两者都是深层卷积网络。第一个架构基于Zeileramp;Fergus[22]模型,该模型由多个交织层、非线性激活、局部响应规范化和最大池化层组成。我们还添加了一些受启发的1个d卷积层。

第二个架构基于Szegedy等的初始模型,该模型最近被用作ImageNet 2014[16]的获奖方法。这些网络使用混合层来并行运行多个不同的convos -lutional和汇聚层,并连接它们的响应。我们发现,这些模型可以将参数的数量减少多达20倍,并且有能力减少类似性能所需的失败次数。

有大量的人脸验证和识别工作。回顾这篇文章是超出了本文的范围,所以我们只会简单地讨论一下最近的工作。

[15,17,23]的作品都采用了一个复杂的多阶段系统,它将一个深度卷积网络的输出与PCA进行了降维和SVM进行分类。

Zhenyao等人[23]利用一个深层网络将面孔“扭曲”到一个典型的正面视图,然后学习CNN,将每个面孔归类为一个已知的身份。为了进行人脸验证,我们使用了网络输出中的PCA,并使用了一组SVMs。

Taigman等[17]提出了一种将人脸与一般的三维形状模型相结合的多阶段方法。一个多阶层的网络工作被训练来完成超过4000个身份的人脸识别任务。作者还尝试了一个所谓的暹罗网络,在那里他们直接优化了两个脸部特征之间的距离。他们在LFW(97:35%)上的最佳表现来自于三个使用不同的对齐方式和颜色通道的网络集成。预测的距离(基于2核的非线性SVM预测)结合了一个非线性的SVM。

Sun等[14,15]提出了一个紧凑的,因此相对便宜的计算网络。他们使用了25个这样的网络,每个都在不同的面板上运行。对于LFW的最终性能(99:47%[15]),作者结合了50个响应(规则和翻转)。PCA和联合贝叶斯模型[2]都有效地对应了嵌入空间中的线性变换。他们的方法不需要显式2D/3D对齐。这些网络是通过使用分类和验证损失的组合来训练的。验证损失类似于我们所使用的三重损失[12,19],因为它最小化了同一恒等式的两个面之间的l2距离,并在不同身份的面之间产生了一个空白。主要的区别是只有对图像进行比较,而三重丢失则鼓励相对距离约束。

Wang et al.[18]中也探讨了类似的损失,通过语义和视觉相似性对图像进行排序。

图2。模型结构。我们的网络由一个批处理层和一个深的CNN组成,然后是L2标准化,这导致了人脸的嵌入。接下来是训练期间的三重损失。

图3。三重损失最小化了an-chor与正数之间的距离,两者都具有相同的标识,并最大化了锚点与另一个不同身份的负值之间的距离。

3、方法

FaceNet使用一个深度卷积网络。我们讨论了两种不同的核心架构:Zeileramp;Fergus[22]风格网络和最近开始的[16]类型网络。这些网络的详细信息载于第3.3节。

考虑到模型的细节,并将其视为一个黑盒(参见图2),我们的方法中最重要的部分在于整个系统的端到端学习。为此,我们采用了直接反映我们想要在人脸验证、识别和聚类中实现的三重损失。也就是说,我们努力将f(x)嵌入到特征空间Rd中,这样,所有人脸之间的平方距离,独立于成像条件,相同的身份是小的,而从不同身份的人脸图像之间的平方距离是很大的。

虽然我们没有直接与其他损失进行比较,例如,在[14]Eq.(2)中使用的是正数和负数对,我们认为三重损失更适合于人脸验证。动机是,[14]的损失鼓励一个身份的所有面孔在嵌入空间中的一个点上被支持。然而,三胞胎的损失试图在每一副面孔之间,从一个人到另一个人的脸上施加一个边缘。这是一种身份的低低者,一种身份生活在流形上,同时仍在执行距离,从而区分其他身份。

下面的部分描述了这个三重损失以及如何在规模上有效地学习它。

3.1。三联体的损失

嵌入用f(x) 2 Rd表示,它将图像x嵌入d维欧几里得空间。此外,我们限制这种嵌入在d维的超球面上,即kf(x)k2 = 1。这个损失在[19]的背景下,在邻近的分类中。在这里,我们想要确保一个特定的人的图像xai (anchor)更接近于所有其他图像xpi(正),而不是任何其他人的任何图像xni (negative)。如图3所示。

因此,我们想:

在正负电子对之间的边界。T是训练集中所有可能的三胞胎的集合,并具有基数N。

那么,被最小化的损失就是

L=

产生所有可能的三胞胎会导致很多。容易满足的三胞胎(即满足约束条件)。在情商。(1))。这些三胞胎不会对火车有帮助。

它们的收敛速度会减慢,因为它们仍然会。通过网络。选择努力是至关重要的。三胞胎,那是活跃的,因此可以帮助我-。

证明该模型。下面的部分将讨论这个问题。我们用不同的方法来选择三重选择。

3.2。三重选择

为了确保快速收敛,选择三元组违反三元组约束是至关重要的。这意味着,给定xai,我们想要选择一个xpi(积极的努力),使得argmaxxpi kf(xai)f(xpi)k22和类似的

xni使得argminxni kf(xai)f(xni)k22。计算argmin和argmax是不可行的。

此外,这可能会导致培训差,因为错误标记和形象不佳的人将主导硬性的积极和消极。有两个明显的选择可以避免这个问题:

使用最新的网络检查点并计算数据子集上的argmin和argmax,每隔n步生成一个三元组。

在线生成三联体。这可以通过从小批量中选择硬正/负范例来完成。

在这里,我们关注在线世代,并使用数千个样本量级的大型小批量,并且仅在最小批量内计算argmin和argmax。

为了有效地表示锚定正距离,需要确保每个身份的最少数量的示例存在于每个身份中。

小批量:在我们的实验中,我们对训练数据进行采样,以便每个微型批次的每个身份选择大约40个面孔。此外,随机采样的负面人脸将被添加到每个小批量。

我们不是选择最困难的积极方式,而是使用所有的锚定 - 积极方式在小批量中选择硬阴性。我们没有在一个小批次内对硬锚定 - 阳性对和所有锚定 - 阳性对进行并排比较,但我们在实践中发现,所有锚定阳性方法更稳定,收敛速度稍快训练的开始。我们还研究了与在线世代结合的离线代三胞胎,它可能允许使用较小的批量,但实验结果并不理想。

选择最难的负面因素可能会导致训练早期的局部极小,特别是可能导致崩溃的模型(即f(x)= 0)。为了减轻这一点,它有助于选择

我们称这些负面示例为半坚硬的,因为它们远离锚点而不是正面示例,但仍然很难,因为平方距离接近锚定正距离。 那些负面影响在边缘内。

如前所述,正确的三元组选择对于快速收敛至关重要。 一方面,我们希望使用小的小批量,因为这些小批量在随机梯度下降(SGD)期间倾向于改善收敛性[20]。 另一方面,实施细节使数十到数百个样本的批次更加高效。 然而,关于批量大小的主要限制是我们从小批量中选择硬相关三元组的方式。 在大多数实验中,我们使用大约1,800个示例的批量大小。

3.3。深度卷积网络

在我们的所有实验中,我们使用随机梯度下降(SGD)和标准backprop [8,11]和AdaGrad [5]来训练CNN。在大多数实验中,我们以0:05的学习率开始,然后降低以完成模型。模块从随机初始化,类似于[16],并在CPU集群上训练1000到2000小时。在训练500小时后,损失减少(准确度提高)显着减慢,但额外的训练仍可以显着提高性能。余量设置为0:2。我们使用了两种类型的体系结构,并在实验部分更详细地探讨了它们的权衡。它们的实际区别在于参数和FLOPS的区别。根据应用的不同,最佳型号可能会有所不同。例如。运行在数据中心的模型可能有很多参数,并且需要大量的FLOPS,而在手机上运行的模型需要的参数很少,因此它可以放入内存中。

表1. NN1。 该表显示了我们的Zeiler&Fergus [22]模型的结构,其中11个卷积由[9]启发。 输入和输出大小在行cols#fiilters中描述。 内核被指定为行cols; 步幅和maxout [6]池大小为p = 2。

模型使用整流线性单位作为非线性激活函数。

如表1所示,第一类增加了11d卷积层,如[9]所示,在Zeiler&Fergus [22]体系结构的标准卷积层之间,结果形成了22层深的模型。它总共有1.4亿个参数,每个图像需要约16亿个FLOPS。

我们使用的第二类是基于GoogLeNet风格的初始模型[16]。这些型号的参数少于20个(约6.6M-7.5M),FLOPS数量少至少5个(500M-1.6B)。其中一些型号的尺寸显着减小(过滤器的深度和数量),以便它们可以在手机上运行。其中一个NNS1具有26M参数,每个图像只需要220M FLOPS。另一个是NNS2,拥有4.3M参数和20M FLOPS。表2详细描述了NN2我们最大的网络。 NN3的架构相同,但输入尺寸缩小为160x160。 NN4的输入尺寸仅为96x96,从而大大降低了CPU的要求(对于NN2,285M FLOPS对1.6B)。除了缩小的输入大小之外,它不会在较高层中使用5x5卷积,因为到那时感受野已经太小了。通常我们发现5x5卷积可以在整个过程中被移除

只有轻微的精度下降。图4比较了我们所有的模型。

4.数据集和评估

我们在四个数据集上评估我们的方法,并且使用Wild Face中的Labeled Faces和YouTube Faces,我们评估我们的脸部验证任务中的方法。即 给定一对两幅面部图像,使用平方L2距离阈值D(xi; xj)来确定相同和不同

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[462971],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。