Learning a Similarity Metric Discriminatively, with Application to Face Verification 论文笔记

0 摘要

       我们提出了一种从数据中学习相似性度量的方法。该方法可以用于人脸识别或人脸验证的应用中。在这些应用中,类别的数量非常大且在训练期间并不知道,并且每个类别的训练样本的数量非常小。这个想法是学习一个能够将输入特征映射到一个目标空间的函数,在这个目标空间中用一个L1范数来度量输入空间的“距离”。通过最小化loss函数以实现相似性度量。对于同一个人的两张图像,度量值较小;对于不同人的两张图像,度量值较大。实现从原始到目标空间的映射是一个卷积网络,其体系结构设计具备几何失真的鲁棒性。该系统在Purdue / AR人脸数据库上进行测试,该人脸数据库在姿势,照明,表情,位置和人造遮挡方面具有非常高的可变性。

1 引言

        传统的分类使用区分的方法,例如神经网络或支持向量机,通常要求事先知道所有类别。 他们还要求为所有类别提供训练的样本。 这些方法本质上仅限于少量的类别(大约100个)。这些方法不适用于类别数量非常大的应用,在这些应用中,每个类别的样本数量很少,并且在训练时只有一部分类别是已知的。 这样的应用比如人脸识别和人脸验证:类别的数量可以在几百或几千,每类只有几个训练样本。这类问题的一种常见方法是基于距离的方法,包括计算要分类或验证的模式与输入之间的相似性度量。另一种常见方法是在维度较低的空间中使用无差别(生成)的概率方法,其中可以在不使用其他类别的样本的情况下训练一个类别的模型。 为了将区分性的学习方法应用于人脸识别或人脸验证,我们必须设计一种方法,这个方法不需要使用类别的具体信息,而是从已有的数据中提取出问题的关键特征。
        本文提出的解决方案是从已有的数据中学习相似性度量。 这个相似性度量可以用于匹配先前未见过类别的新样本(例如:训练期间未见过的人的面孔)。 我们提出了一种用于训练相似性度量的新型判别式训练方法。 该方法可以应用于类别数量非常大的分类问题。
        主要思想是找到一个函数,将输入特征映射到目标空间,在这个目标空间中用欧式距离来度量输入空间的“距离”。更精确地说,给定一个函数 G W ( X ) W 是这个函数的参数。我们通过搜索查找一个最佳的参数 W ,使得相似性度量:
E W ( X 1 , X 2 ) = | | G W ( X 1 ) G W ( X 2 ) | | ,当 X 1 X 2 属于同一个类别的时候,度量值很小;当 X 1 X 2 属于不同个类别的时候,度量值很大。
        模型使用来自训练集的输入对进行训练,当 X 1 X 2 属于同一个类别的时候,最小化 E W ( X 1 , X 2 ) ;当 X 1 X 2 属于不同个类别的时候,最大化 E W ( X 1 , X 2 )
        为了用这种方法构建人脸验证系统,我们首先要训练一个模型生成输出向量。如果输入是来自同一个人的图像对,这些输出向量之间的距离都很近,而对于来自不同人的图像对,则距离很远。 然后可以将该模型用于训练期间未看到的面部图像的相似性度量。
        我们可以自由地选择 G W ( X ) 。但是在实际中,我们会使用对输入的几何失真具有鲁棒性的结构提取特征,比如卷积神经网络。由此产生的相似性度量对于图像对之间姿态的微小差异将是鲁棒的。
        由于目标空间的维数很低,并且该空间中的自然距离对于输入的失真具有不变性,所以我们可以很容易地从很少的样本中估计每个新类别的概率模型。

1.1 相关工作

        将人脸图像映射到低维目标空间的想法历史已经很久远了,所有这些方法的一个主要缺点是它们对输入图像的几何变换(移位,缩放,旋转)和其他变化(面部表情,眼镜和遮掩围巾的变化)非常敏感。在本文描述的方法中,不变性这个属性是从数据中学习。当使用卷积网络作为映射函数时,所提出的方法可以学习数据中存在的各种不变性。

2 总体框架

2.1 相似性度量

        脸部验证的任务是接受或拒绝图像中人是否符合身份。性能评估使用两种方法:错误接受的百分比和错误拒绝的百分比。 一个好的系统应该同时尽量减少两个比例。
       我们的方法是建立一个可训练系统,通过非线性映射将原始图像映射到低维空间中,如果图像属于同一个人,映射的特征向量间的距离就较小。 学习相似性度量是通过训练一个由两个相同的卷积网络组成的网络来实现的,这两个卷积网络共享参数(见图1)。
这里写图片描述
       令 X 1 , X 2 是一对需要学习的图像对, Y 是图像对的标签。如果 X 1 X 2 属于同一个人,则 Y = 0 ;反之, Y = 1 W 是需要共享的参数,通过学习而来。 X 1 , X 2 映射到低维空间的特征向量是 G W ( X 1 ) , G W ( X 2 ) 。相似性度量定义为:
E W ( X 1 , X 2 ) = | | G W ( X 1 ) G W ( X 2 ) | |

       给定 ( X 1 , X 2 ) 是同一类的样本对, ( X 1 , X 2 ) 是不同类的样本对,模型需要满足以下条件:
条件1:任意 m > 0 E W ( X 1 , X 2 ) + m < E W ( X 1 , X 2 )
m 是正数,可以解释为相同图像对和不同图像对之间距离的阈值。接下来,为了方便将 E W ( X 1 , X 2 ) 记成 E W G ,将 E W ( X 1 , X 2 ) 记成 E W I

2.2 Contrastive Loss

        假设损失函数取决于输入和模型的参数。损失函数的形式如下:
L ( W ) = i = 1 P L ( W , ( Y , X 1 , X 2 ) i )
L ( W , ( Y , X 1 , X 2 ) i ) = ( 1 Y ) L G ( E W ( X 1 , X 2 ) i ) + Y L I ( E W ( X 1 , X 2 ) i ) )
        在公式中, ( Y , X 1 , X 2 ) i ) 表示第 i 个样例,由一对图像和他们的标签组成, L G 是同一类样本对的损失, L I 是不同类样本对的损失,一共 P 个训练样本对。 L 函数应该设计成这样:最小化 L 时,应该降低同类的距离 E W G ,增加异类的距离 E W I 。一种简单的实现方式就是:使得 L G 单调递增, L I 单调递减。最终损失:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_37904412/article/details/80510264