Learning a Similarity Metric Discriminatively, with Application to Face Verification

 

Abstract

我们提出了一种通过从数据中进行相似度度量训练的方法。本方法可以用在识别或者认证应用,这些应用中类别很多且训练时未知,并且单个类别的训练数据数量很少。主要的思想是学习一个函数,将输入映射到目标空间中,使得目标空间中的L1距离基本与输入空间中的语义特征一致。这种方法应用到了人脸认证任务中。学习过程最小化具有区分度的损失函数,使得两个来自相同人的人脸相似度度量变小,不同人的人脸相似度变大。从原始数据到目标空间的映射是通过一个结构设计成对几何变换鲁邦的神经网络来实现的。系统在Purdue/AR人脸数据库,数据中的人脸具有姿态,光照,表情,位置,例如墨迹,围巾的遮挡等相当高的多样性。

1、Introduction

使用神经网络或支持向量机等判别方法进行分类的传统方法通常要求预先知道所有类别。他们还要求每一类都要有训练样本。此外,这些方法本质上局限于相当少的类别(大约100个)。这些方法不适用于类别数量非常多、每个类别的样本数量很少或者在训练时只能得到一个所有类别子集训练数据的情况。这类应用包括人脸识别和人脸验证:类别数可以是成百上千,但每个类别只有几个样本。解决这类问题的一种常见方法是基于距离的方法,它计算需要分类或验证的pattern以及存储的prototypes之间的相似性度。另一种常见的方法是在降维空间中使用非判别(生成)概率方法,在这种情况下,可以在不使用其他类别的样本的情况下训练一个类别的模型。要将判别学习技术应用到这类应用中,我们必须设计一种方法,可以从可用的数据中提取有关问题的信息,而不需要关于类别的特定信息。

本文中提出的方法是从数据中学习similarity metric。这个相似性度量稍后可以用来比较或匹配以前未出现的新类别的样本(例如,训练中不在样本集中的人脸)。本文提出了一种用于训练相似度度量的判别训练方法。该方法可应用于类别数目非常多和/或在训练时无法获得所有类别样本的分类问题。

其主要思想是找到一个将输入模式映射到目标空间的函数,使目标空间中的简单距离(比如欧式距离)近似于输入空间中的“语义”距离。更准确的说,有一系列参数为W的函数Learning a Similarity Metric Discriminatively, with Application to Face Verification,我们需要寻找参数W使得相似度度量值Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification属于同一类的时候很小,不同类的时候很大。该系统根据从训练集中提取的成对样本的形式进行训练。当样本对属于同一类时,损失函数通过训练最小化Learning a Similarity Metric Discriminatively, with Application to Face Verification的方式减少,当样本对不是同一类时,损失函数通过最大化Learning a Similarity Metric Discriminatively, with Application to Face Verification的方式减少。除了W的不同,不假设Learning a Similarity Metric Discriminatively, with Application to Face Verification有什么不一样的地方。由于使用相同的函数G和相同的参数W来处理两个输入,所以相似性度量是对称的。这被称为孪生架构【4】。

为了利用该方法构建人脸验证系统,我们首先对模型进行训练,使其产生的输出向量对于同一个人的成对图像来说是近的,对于不同人的成对图像来说是远的。这样该模型可以作为训练时未出现过人脸样本之间的相似性度量。

该方法的一个重要方面是我们在选择Learning a Similarity Metric Discriminatively, with Application to Face Verification的时候有完全没限制的。特别地,我们将使用对样本的几何畸变鲁棒性很好的结构来提取特征表示,例如卷积网络【8】。由于目标空间的维数较低,且该空间的自然距离不受输入无关畸变的影响,我们可以很容易地从非常少的样本中估计每个新类别的概率模型。

1.1 Previous Work

2、The General Framework

概率模型为被建模变量的每一个可能的参数分配一个归一化的概率,而基于能量的模型(EBM)为这些参数分配一个非归一化的能量【18,9】。在这样的系统中,预测是通过搜索使能量最小化的变量的参数来实现的。EBMs用于必须比较各种参数的能量才能做出决策(分类、验证等)的情况。可训练的相似性度量可以看作是将能量Learning a Similarity Metric Discriminatively, with Application to Face Verification与一对输入模式相关联。在最简单的人脸认证的设置中,我们将X2简单假设成声称目标,将最小化的Learning a Similarity Metric Discriminatively, with Application to Face Verification与提取设定的阈值比较。

EBMs相对于传统的概率模型,特别是生成模型的优势在于,不需要估计输入空间上的归一化概率分布。不使用正则化使我们避免计算可能难以处理的partition函数。也是的我们在选择模型结构的时候有可观的*度【9】。学习是通过找到W来完成的,它最小化了一个适当设计的损失函数,并通过一个训练集来评估。起初我们可能认为简单的通过一系列来自同一类的样本对上最小化平均Learning a Similarity Metric Discriminatively, with Application to Face Verification就可以了。但这通常会导致灾难性的崩溃:可以通过简单地使Learning a Similarity Metric Discriminatively, with Application to Face Verification成为一个常数函数将能量和损失值变为零。因此,我们的损失函数需要一个对比项,既要保证来自同一类别的一对输入的能量较低,又要保证来自不同类别的一对输入的能量较大。这个问题不会发生在适当规范化的概率模型中,因为使特定样本对的概率高会自动地使其他对的概率低。

2.1 Face Verification with Learned Similarity Metrics

人脸验证【12】的任务是接受或拒绝样本中目标的身份。效果评估使用两个指标:错误接受(FA)的百分比和错误拒绝(FR)的百分比。一个好的系统应该同时最小化这两种方法。

我们的方法是建立一个可训练的系统,将人脸的原始图像非线性地映射到低维空间中的点上,这样,如果这些图像属于同一个人,那么这些点之间的距离就会很小,否则就会很大。学习相似度度量是通过训练一个网络来实现的,该网络由两个相同的卷积网络组成,它们共享相同的一组权重——孪生结构【4】(参见图1)。

2.2 The energy function of the EBM

我们的学习系统结构如图1所示。Learning a Similarity Metric Discriminatively, with Application to Face Verification的细节结构在3.2节中描述。

Learning a Similarity Metric Discriminatively, with Application to Face Verification

假设Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification是我们学习系统中的一个图像样本对。假设Y是样本对的二进制label,如果两张样本输入同一个人那么Y=0(真),否则Y=1(假)。假设W是需要学习的共享向量,Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification是低维空间由Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification映射的两个点。那么我们系统可以看成一个度量Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification兼容性的标量能量函数Learning a Similarity Metric Discriminatively, with Application to Face Verification。定义如下:

Learning a Similarity Metric Discriminatively, with Application to Face Verification

从训练集Learning a Similarity Metric Discriminatively, with Application to Face Verification中取正样本对,训练集Learning a Similarity Metric Discriminatively, with Application to Face Verification中取负样本,当满足一下条件的时候,系统按照表现如预期:

Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification

正数m可以理解成一个margin。

为了简化表达,在下文中Learning a Similarity Metric Discriminatively, with Application to Face Verification简写成Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification简写成Learning a Similarity Metric Discriminatively, with Application to Face Verification

2.3 Contrastive Loss Function used for Training

我们假设损耗函数只通过能量间接地依赖于输入和参数。损失函数表达如下:

Learning a Similarity Metric Discriminatively, with Application to Face Verification

这里Learning a Similarity Metric Discriminatively, with Application to Face Verification是第i个样本,由一对图像和一个标签(真或假)组成,Learning a Similarity Metric Discriminatively, with Application to Face Verification是正样本对的损失函数,Learning a Similarity Metric Discriminatively, with Application to Face Verification是负样本对的损失函数,P是训练样本的数量。Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification需要设计成当最小化L的时候,正样本对的能量降低,负样本对的能量增加。最简单的实现方法是使得Learning a Similarity Metric Discriminatively, with Application to Face Verification单调递增,Learning a Similarity Metric Discriminatively, with Application to Face Verification单调递减。然而还有一组更通用设定使得最小化L使系统接近条件1。我们的论证与LeCun等人在【9】中给出的相似。我们考虑训练集由一个能量为Learning a Similarity Metric Discriminatively, with Application to Face Verification的正样本对Learning a Similarity Metric Discriminatively, with Application to Face Verification与一个能量为Learning a Similarity Metric Discriminatively, with Application to Face Verification的负样本对Learning a Similarity Metric Discriminatively, with Application to Face Verification组成。我们定义:

Learning a Similarity Metric Discriminatively, with Application to Face Verification

作为两个样本对的整体损失函数。我们将假设H在它的两个参数中是凸的(注意:我们不假设关于W的凸性)。我们还假设在满足条件1的情况下,单个训练样本存在一个W。对于损失函数H中的Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification来说需要满足下列条件。

Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification

当我们对W求H的最小值时系统被驱动到一个解满足条件1的区域,这个条件很明显地保证。

对于H,其最小值为无穷大(见图2),下面是充分条件:

Learning a Similarity Metric Discriminatively, with Application to Face Verification

为了证明这一点,我们陈述并证明以下定理。

Theorem1:使得Learning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face VerificationLearning a Similarity Metric Discriminatively, with Application to Face Verification出收敛,且在无穷是为最小值。假设对于一个满足条件1的样本点存在W。如果满足条件3,那么考虑到W最小化H可以最终找到满足条件1的W。

Proof:略。

2.4 Convolutional Networks

为了将原始图像映射到低维空间中的点,从而实现一个学习的相似度度量,我们使用了两个相同的卷积网络【8】,并共用参数向量(见图1)。卷积网络是可训练的、多层的、非线性的系统,可以在像素级运行,以集成的方式学习低层特征和高层表示。卷积网络经过端到端训练,将像素图像映射到输出。它们的主要优点是可以学习最优的移位不变局部特征检测器,并构建对输入图像的几何畸变具有鲁棒性的表示形式。我们使用的网络的确切结构在第3.2节中给出。

3、Experiments

前一节描述的模型和架构在3个人脸图像数据库上进行了训练,并在其中2个数据库上进行了测试。我们将详细介绍数据集,然后解释训练方法和模型结构。

3.1 Datasets and Data Processing

第一轮的训练和测试使用的是AT&T人脸数据库【1】中相对较小的400张图像数据集。该数据集包含40类每类10张图片,包括不同的灯光、面部表情、配件和头部位置。每张图片都是112x92像素,灰度值,经过仔细裁剪,只包含脸部。见图4。

Learning a Similarity Metric Discriminatively, with Application to Face Verification

不需要对图像进行大小或光照标准化的预处理,因为目标之一是训练能够适应这种变化的模型结构。然而,我们确实使用4x4下采样将图像的分辨率降低到56x46。

第二组训练和测试实验结合了两个数据集:由Purdue大学创建的人脸AR数据库和公开可用的【11】,以及灰度Feret数据库【2】的子集。这两个数据集的图像对都用于训练,但只使用AR数据集的图像进行测试。

AR数据集包含136个人的3536张图像,每个人26张。每组26张照片由两组13张照片组成,每组间隔14天拍摄。在每组13张图片中,有4张表情变化图片,3张灯光变化图片,3张墨镜和灯光变化图片,3张遮脸围巾和灯光变化样本。这个数据集非常具有挑战性,因为单个主题的图像之间的外观差异很大。图4展示了样本的效果。由于人脸在图像中没有很好居中,采用了一种简单的基于相关关系的居中算法。样本被crop与resized到56×46像素大小。虽然中心裁剪对于裁剪来说已经足够了,但是在许多图像中头部位置仍然有很大的变化。

Feret数据库由美国国家标准与技术研究所(National Institute of Standards and Technology)发布,包括从1,209名受试者中收集的14,051幅图像。我们仅使用完整数据库的子集进行培训。我们的子集由1122幅图像组成,也就是说,187个人没人有6幅样本。唯一的预处理是裁剪和下采样到56x46像素。

Partitioning 为了生成一个由训练过程中未知样本组成的测试集,我们将数据集分为两个不相交的集,即SET1和SET2。每个集合中的每个图像与该集合中的每个其他图像进行配对,以生成最大数量的真和假样本对。

对于AT&T的数据,SET1包含前35人350张图像,SET2包含后5人50张图像。通过这种方法,从SET1生成3500正样本对和119000抚养比对,从SET2生成500正样本对和2000负样本对。训练只使用SET1生成的样本对。使用来自SET2的图像对和来自SET1的未使用的图像对进行测试(验证)。

对于AR/Feret数据,SET1包含了AR数据库中96个人的2496张样本与所有Feret图像。SET2包含了来自AR数据库中其余40个人的1040幅图像。将两幅图像全部组合起来,得到71,628个正样本对和11,096,376个负样本对。实际使用的训练集包含14万对图像对,这些图像对被平均地分为正样本对和负样本对。测试集是从SET2中的1,081,600对样本中抽取的。因此,只有在训练中出现的人的样本才被用于测试。

3.2 Training Protocol and Architecture

Siamese Architecture 孪生网络框架包括两个相同的网络和一个cost模块。系统的输入是一对样本与对应的标签。图像通过子网络传递,产生两个输出,两个输出被传递给cost模块,cost模块产生如2.3节所讨论的能量标量。损耗函数将标签与能量结合起来。利用反向传播方法,计算控制两个子网的参数向量对损失函数的梯度。采用随机梯度法,利用两个子网的梯度之和对参数向量进行更新。

第一组实验使用小型AT&T数据集,探索了6种不同的子网结构:一个2层完全连接的神经网络和5个卷积网络,它们的层数和大小以及卷积核的大小各不相同。在这些实验的基础上,第二组实验集中在单个卷积网络架构上。我们只在以下几节中描述性能最好的体系结构。Learning a Similarity Metric Discriminatively, with Application to Face Verification表示卷积层,Learning a Similarity Metric Discriminatively, with Application to Face Verification表示下采样层,Learning a Similarity Metric Discriminatively, with Application to Face Verification表示全连接层,x是层序号。基础结构为Learning a Similarity Metric Discriminatively, with Application to Face Verification

Learning a Similarity Metric Discriminatively, with Application to Face Verification

Training Protocol 训练需要两组数据:训练集,用于实际学习系统的权重,验证集,用于测试系统在训练中的性能。定期的性能评估与验证集使得我们可以控制过拟合。

训练网络用SET1中抽取的样本对。其中一半的样本对是正样本,另一半是负样本,不同类别样本随机配对。验证集由1500对图像对组成,这些样本对取自SET1中未使用的样本对,与训练集的正样本和负样本比率相同。

网络的性能是通过负样本对的接受率和正样本对的拒识率(FR)来衡量的。计算是通过测量一对输出之间的差值的范数,然后选择一个阈值来设置FA和FR百分比之间的给定权衡。

4、Testing and Results

图5显示了一个特定测试图像的卷积网络的中间步骤。第一层提取各种类型的局部梯度特征和平滑特征。

对系统进行了人脸验证场景测试。系统输入了一张样本,需要识别出样本中目标的身份。通过将实验样本与所述目标的高斯模型图像进行比较,对实验样本进行验证。

4.1 Verification

测试(验证)是在5000个测试集上完成的。它由500对正样本和4500对负样本组成。在AT&T的实验中,测试样本来自5个在训练中没有出现的负样本。对于AR/Feret实验,测试样本来自更难的AR数据库中的40个未见目标。

孪生网络的一个子网的输出是输入样本的特征向量。我们假设每个目标的特征向量构成一个多元正态密度分布。利用每个目标前五幅样本的特征向量计算均值特征向量和方差-协方差矩阵,建立每个目标的模型。

测试图像是正样本的可能性Learning a Similarity Metric Discriminatively, with Application to Face Verification,通过对测试对象模型上测试图像的法向密度进行评价,得到了测试图像的法向密度。假设测试样本为负样本的可能性Learning a Similarity Metric Discriminatively, with Application to Face Verification为常数,该常数的值通过计算有关目标的所有负样本的平均值来估计。

Learning a Similarity Metric Discriminatively, with Application to Face Verification

对所有可能的阈值概率值绘制出FR样本和FA样本的百分比值。最优阈值概率是将测试集划分为正样本和负样本对并最小化FA和FR率的值。

测试AT&T数据库和AR/Purdue数据库得到的验证率有显著差异(见表1和图6和图7),强调了这两个数据库在难度上的差异。AT&T的数据集相对较小,我们的系统只需要5000个训练样本就可以在测试集中获得非常高的性能。AR/Purdue数据集非常大且多样,在成像、光照和遮挡方面有很大的变化。我们较高的错误率反映了这种难度。

Learning a Similarity Metric Discriminatively, with Application to Face Verification

Learning a Similarity Metric Discriminatively, with Application to Face Verification

5、Conclusion and Outlook

本文提出了一种学习复杂相似度度量的判别方法。该方法最适合类别数量非常大,并且/或在训练时没有所有类的示例的分类或验证场景。我们用一个人脸验证应用来说明该方法。

我们提出了一个损失函数,并证明了最小化这个函数可以使模型接近所期望的行为。我们的损失函数是有区别的,因为它使得系统做出正确的决策,但不产生概率估计。该方法与概率密度模型的不同之处在于,它不试图估计输入空间中每个类的密度。这为我们在选择Learning a Similarity Metric Discriminatively, with Application to Face Verification时提供了额外的灵活性,因为我们确实需要担心正则化问题。我们选择使用卷积网络架构,该架构对输入的几何变化具有鲁棒性,从而减少了对人脸样本精确配准的需求。

除了本文描述的相似度度量之外,可训练的相似度度量还有许多应用。在其他方面,它们可以用来构建不变的内核函数,用这些函数构建支持向量机和其他基于内核的模型【17】。

Learning a Similarity Metric Discriminatively, with Application to Face Verification

Learning a Similarity Metric Discriminatively, with Application to Face Verification