https://arxiv.org/abs/1703.09507
摘要
近年来,利用深度卷积神经网络(DCNNs),人脸验证系统的性能得到了显著改善。一个典型的人脸验证流程包括:使用softmax loss训练一个用于目标分类的深度网络,使用倒数第二层输出作为特征描述子,对一组人脸图像生成余弦相似度评分。softmax loss函数没有优化特征,使正对相似度更高,负对相似度更低,这导致性能差异。在本文中,我们对特征描述符增加了一个L2约束,限制它们位于一个固定半径的超球面上。这个模块可以使用现有的深度学习框架轻松实现。我们表明,将这一简单的步骤集成到训练过程中可以显著提高人脸验证的性能。具体来说,我们实现了IJB-A数据集上最先进的性能,人脸验证协议的真接受率为0.909,假接受率为0.0001。此外,我们在LFW数据集上的性能达到了最先进的水平,准确率为99.78%,在YTF数据集上的性能与96.08%的精度相当。
1 引言
无约束条件下的人脸验证是一个具有挑战性的问题。尽管最近的人脸验证系统在野外标记人脸(LFW)[14]等经过整理的数据集上有出色的性能,但在视点、分辨率、遮挡和图像质量等极端变化的人脸上仍然很难达到类似的精度。从传统算法在公开可用的IJB-A[16]数据集上的性能可以明显看出这一点。训练中数据质量的不平衡是直接导致表现差距的原因之一。现有的人脸识别训练数据集中包含了大量的高质量和正面的人脸,很少出现无约束和困难的人脸。大多数使用softmax loss训练的基于dcnn的分类方法容易对高质量数据过度拟合,无法对困难条件下获得的人脸进行正确分类。
使用softmax loss函数进行训练人脸验证系统有其自身的优缺点,一方面,可以很容易地使用Caffe[15]、Torch[7]、TensorFlow[1]等公开的深度学习工具箱的内置功能实现。与 triplet loss[28]不同,它对输入批大小没有任何限制,并且收敛速度很快。在不进行任何度量学习的情况下,学习到的特征具有足够的识别能力,可以有效地进行人脸验证。
另一方面,最大损失与样本分布有偏倚。不像contrastive loss [29]和triplet loss[28],它们特别关注硬样本,softmax loss使所有样本在小规模批内的条件概率最大化。因此,它选择了高质量的面孔,而忽略了训练小批量中罕见的困难面孔。我们观察到,使用softmax损失学到的特征L2-norm提供了面部[23]质量的信息。高质量的正面脸特征具有高L2-norm,而极端姿态的模糊脸特征具有低L2-norm(图1(b))。此外,softmax loss并没有优化验证的要求,保持密切的正对和负对彼此远离。由于这个原因,许多方法在softmax特性之上应用度量学习[27,3,24],或者在softmaxloss的同时训练一个辅助损失[33,29,32],以获得更好的验证性能。

图1.(a) IJB-A数据集的人脸验证性能。根据模板的L2-norm将模板分为3组。‘1’表示低L2-norm的集合,‘3’表示高L2-norm的集合。图例’ x-y ‘表示计算对,其中一个模板来自集合’ x ‘,另一个来自集合’ y '。(b)来自高、中、低L2-norm的IJB-A数据集的样本模板图像
在这篇论文中,我们提供了一个与softmax损失相关的问题的对症处理。我们提出了一个L2softmax损失,它在训练过程中增加了对特征的约束,使它们的L2-norm保持不变。换句话说,我们把特征限制在一个半径固定的超球面上。提出的L2-softmax损失具有双重优势。首先,它对质量好的和不好的人脸都提供了相似的关注,因为现在所有的特征都具有相同的L2-norm,这对于在无约束设置中获得更好的性能是至关重要的。其次,通过强迫同一主体特征在归一化空间中靠近,不同主体特征在归一化空间中远离来增强验证信号。因此,它最大化了正负对之间的归一化L2距离或余弦相似度评分的边界。因此,它克服了常规softmax损失的主要缺点。
L2-softmax loss也保留了常规softmax loss 的优势。与softmax损失类似,它是一个网络,一个损失的系统。不像最近许多方法那样需要联合监督[33,24,32,29]。使用Caffe [15], Torch[7]和TensorFlow[1]的内建函数,它可以很容易地实现,收敛速度非常快。它只向网络引入了一个单一的尺度参数。与常规的softmax loss相比,L2-softmax loss 获得了一个显著的提高性能。它在IJB-A数据集上取得了新的最先进的结果,并在LFW和YouTube的人脸数据集上取得了竞争结果。它的性能超过了使用多个网络或多个损失功能或两者兼用的几个最先进的系统。综上所述,本文在以下几个方面做出了贡献:
1.提出了一种简单、新颖、有效的特征描述符L2-softmax loss算法,该算法将特征描述符的L2-norm限制为一个定值约束α。
2.我们研究了性能随尺度参数α的变化,并为其值提供了合适的界限,以实现持续的高性能。
3.该方法对LFW[14]、YouTube face[19]和IJB-A[16]三个具有挑战性的人脸验证数据集都有一致且显著的提升
此外,L2-softmax loss的增益是度量学习的补充(如:TPE[27],联贝叶斯[3])或辅助损失函数(如:中心损失[33],对比损失[29])。在L2-softmax损失的基础上应用这些技术可以进一步提高验证性能。结合TPE[27],在具有挑战性的IJB-A[16]数据集上,L2-softmax损失的记录真接受率(TAR)为0.909,假接受率(FAR)为0.0001。
2 相关工作
近年来,使用深度学习方法进行人脸验证的准确率有了显著提高[28,30,24,27,29,33]。在LFW[14]数据集上,这些方法中的大多数甚至超过了人类的性能。尽管这些方法都是有效的,但它们因用于训练的损失函数类型不同而有所不同。在人脸验证中,positive pair主体对特征的距离越近越好,negative pair主体对特征的距离越远越好。为了解决这个问题,研究人员主要采取了两种方法。
第一种方法是将成对的人脸图像输入到训练算法中,学习正对距离较近,负对距离较远的特征嵌入。在这个方向上,Chopra等人[5]提出了具有对比损失的 siamese 网络用于训练。Hu等人[13]设计了一个具有正负面对之间的边界的鉴别深度度量。FaceNet[28]引入了 triplet loss 来学习使用硬 triplet 人脸样本的度量。
第二种方法是利用人脸图像及其目标标签在分类框架中学习识别特征。大多数最近的方法[29,30,24,37]训练一个带有softmax损失的DCNN来获取这些特征,这些特征要么直接计算一对脸的相似度评分,要么训练一个鉴别度量嵌入[27,3]。另一种策略是训练网络进行联合识别验证任务[29,32,33]。Xiong等人[36]提出了转移深度特征融合(TDFF),其中包括不同网络和数据集的两阶段融合。采用模板适应[8]进一步提高了性能。
最近的一种方法[33]引入了中心缺失来学习更好的识别面部特征。我们提出的方法与中心损失有以下几个不同之处。首先,我们使用一个损失函数(即。而[33]在训练中使用中心损失和softmax损失。第二,center loss在训练过程中引入了C×D的附加参数,其中C为类数,D为特征维数。另一方面,L2-softmax丢失只引入了一个定义特征的L2范数的单一参数。此外,中心损耗也可以与L2-softmax loss一起使用,其性能比常规softmax损耗更好(见5.1.4节)。
最近,一些算法在训练中使用了特征归一化来提高性能。SphereFace[20]提出angular softmax (A-softmax)损失,使DCNNs能够学习角度区分特征。另一种方法叫做Deep Visage[10],在应用softmax loss之前,使用批处理归一化技术对特征描述进行归一化。我们提出的方法不同,因为它对特征描述符使用l2约束,强制它们位于给定半径的超球面上。
3 动机
我们首先总结了使用DCNN训练人脸验证系统的一般流程,如图2所示。给定一个包含人脸图像和相应身份标签的训练数据集,DCNN被训练为一个分类任务,在这个任务中,网络学习将给定的人脸图像分类为其正确的身份标签。使用softmax损失函数来训练网络,如公式1所示。

其中M是训练批量大小,xix_ixi是第i批处理输入人脸图像,f(xi)f(x_i)f(xi)是相应的DCNN倒数第二的输出层,yiy_iyi是相应的类标签,和W和b是网络最后一层的权重和偏置,它作为分类器。
图2.介绍了一种基于DCNN的人脸验证系统的通用训练和测试流程。
在测试时,使用经过训练的DCNN分别对测试人脸图像xgx_gxg和xpx_pxp提取特征描述子f(xg)f(x_g)f(xg)和f(xp)f(x_p)f(xp),并归一化到单位长度。然后,根据特征向量计算相似度评分,这些特征向量提供了距离或特征与嵌入空间的距离的度量。如果相似度评分大于一个设定的阈值,那么这对脸就会被判定为同一个人。通常用归一化特征之间的L2 -距离[28,24]来计算相似度得分,也可用余弦相似度[33,3,25,27]s计算,如式2所示。这两种相似性度量是等价的,并且产生相同的结果。

这个流程有两个主要问题。首先,将人脸验证任务的训练和测试步骤解耦。使用softmax损失的训练不一定能确保正对在归一化空间或角空间中离得更近,负对离得很远。
其次,softmax分类器在建模困难或极端样本方面能力较弱。在一个典型的数据质量不平衡的训练批处理中,通过增加简单样本的特征L2-norm,忽略硬样本,使softmax损失最小化。这样,网络就学会了通过特征描述符的L2-norm来响应人脸的质量。为了验证这一理论,我们在IJB-A[16]数据集上执行了一个简单的实验,其中我们根据特征描述符的L2-norm将模板(同一主题的图像/帧组)分为三个不同的集合。使用经过常规softmax损失训练的Face-Resnet[33]进行特征计算。描述符L2-norm <90的模板被分配给set1。描述符的L2范数<90的模板被分配给set1。L2范数>90但<150的模板分配给set2,而L2范数>150的模板分配给set3。共形成6组评价对。图1(a)显示了这六种不同的IJB-A人脸验证协议集的性能。可以清楚地看到,对于这两个模板,具有低L2范数的对的性能非常差,而具有高L2范数的对的性能最好。每套设备的性能差别相当大。图1(b)显示了set1、set2和set3中的一些示例模板,这些模板确认了特性的L2规范描述符是其质量的信息。
为了解决这些问题,我们对每一张人脸图像的特征进行了L2-范数的固定。具体来说,我们为特征描述符添加了一个L2约束,使其位于一个半径固定的超球面上。这种方法有两个优点。首先,在超球面上,最小化softmax loss相当于最大化正对的余弦相似度,最小化负对的余弦相似度,从而增强特征的验证信号。其次,由于所有的人脸特征都具有相同的L2范数,softmax损失能够更好地对极端和困难的人脸进行建模。
4 提出的方法
所提出的L2-softmax损失由公式3给出

其中xix_ixi是大小为M的mini-batch中的输入图像,yiy_iyi是对应的类别标签,f(xi)f(x_i)f(xi)是DCNN倒数第二层得到的特征描述子,C为类的数量,W和b为网络最后一层作为分类器的权重和偏差。这个方程给公式1中定义的softmax损失增加了一个额外的L2约束。我们使用MNIST[17]数据展示了该约束的有效性。
4.1 MNIST例子
我们研究了L2-softmax loss对MNIST数据集[17]的影响。我们使用[33]中提到的更深更宽的LeNet版本,其中最后的隐含层输出被限制为2维,以便于可视化。对于第一个设置,我们使用常规SoftMax loss训练端到端的网络进行数字分类,类数量=10。对于第二种设置,我们向二维特性添加一个L2-normalize层和scale层,以加强方程3中描述的L2 -约束(详见4.2节)。图3描述了包含10,000位图像的MNIST测试集的不同类的2d特性。图中所示的每一个叶表示唯一数字类的二维特征。在L2归一化层之前得到第二次设置的特征。

图3.基于(a) Softmax损失的MNIST数字分类测试集的二维特征虚拟化。(b) L2-Softmax损失
我们发现在使用上面讨论的两种设置学到的特性之间有两个明显的区别。首先,使用常规softmax损失时,类内的角方差很大,可以通过每个类的叶瓣的平均宽度来估计。另一方面,L2-softmax损失得到的特征具有较低的类内角变异性,且叶瓣较薄。其次,特征的量级要高得多,softmax损失(范围高达150),因为更大的特征范数导致一个正确分类的类的更高概率。而特征范数对L2-softmax损失的影响最小,因为每个特征在计算损失之前都被归一化为一个固定半径的圆。因此,该网络的重点是在归一化空间或角空间中,使来自同一类的特征相互靠拢,并将来自不同类的特征分离开来。表1列出了两种设置在MNIST测试集上获得的精度。L2-softmax损失获得了更高的性能,将误差减少了15%以上。注意,由于我们只使用二维特征进行分类,所以这些精度数字比典型的DCNN要低。

4.2 实施细节
这里,我们提供了在DCNNs框架中实现方程3中描述的L2-约束的细节。通过添加一个L2-normalize层和一个scale层来加强约束,如图4所示。

图4.我们添加了一个L2-normalize层和一个scale层来约束特征描述符位于一个半径为α的超球面上
这个模块是在DCNN的倒数第二层之后添加的,DCNN作为一个特征描述符。L2- normalize层将输入特征x归一化为公式4给出的单位向量。尺度层将输入的单位向量缩放到由参数α(如公式5所示)给定的固定半径上。我们总共只引入一个标量参数(α),它可以与网络的其他参数一起进行训练。

该模块是完全可微的,可用于网络的端到端训练。在测试时,提出的模块是冗余的,因为特征最终被归一化到单位长度,同时计算余弦相似度。在训练时,我们通过L2-正则化和scale layer对梯度进行反向传播,并使用链式法则计算关于scale parameter的梯度,如下所示。

4.3 参数α的界限
尺度参数α对L2-softmax损失性能的决定起着至关重要的作用。有两种方法可以加强L2 -约束:1)在整个训练过程中保持α不变,2)通过让网络学习参数α。第二种方式是优雅的,总是优于常规的softmax损失。但是,该网络学习的α参数偏高,导致了网络的放松L2-约数。softmax分类器的目标是增加特征范数以使整体损失最小化,而增加了近似参数,使其更自由地适合于容易的样本。因此,通过网络学习的轮数为参数形成了一个上界。在较低的常数值下,可获得较好的性能。
另一方面,由于α的值非常低,训练不收敛。例如,在LFW[14]数据集上α=1性能很差,达到了86.37%的准确率(图7)。这是因为半径较小的超球面(更小半径的超球面)的表面积有限,无法将来自同一类的特征嵌入到一起,也无法将来自不同类、距离较远的特征嵌入到一起。

图7.红色曲线显示了LFW精度随L2-softmax损失参数的变化。绿线是使用通常的softmax损失的准确性
在这里,我们给出了a的理论下界。假设类C的数量小于特征维D的两倍,我们可以将类分布在D维的超球面上,使任何两个类中心至少相距90。图5(a)表示这种情况
C = 4类中心分布在一个圆的半径内。我们假设分类器权重(Wi)是指向各自类中心方向的单位向量。我们忽略了偏置项。正确分类特征的平均softmax概率p由公式7给出

忽略e−αe^{-α}e−α和并推广到C类,平均概率就变成:


图5。(a)特征假设分布的二维虚拟化(b)不同类别数量下的Softmax概率相对于信度的变化C
图5 (b)绘制了概率得分作为参数α的函数随类的数量C的变化。给定一个分类,我们可以推断概率(p = 0.9),对于更大的C我们需要有一个更大的α。给定数据集的类C的数量,我们由式9可以获得下界α来实现概率得分p。

5 结果
在我们的实验中,我们使用了公开可用的Face-Resnet [33] DCNN。图6显示了网络的架构。它包含27个卷积层和2个全连接层。特征描述符的维数为512。它利用了广泛使用的residual skip-connections[12]。我们在全连接层之后添加了一个L2-normalize层和一个scale层,以加强描述符上的L2-约束。我们所有的实验都是在[15]Caffe上进行的。

5.1 基线实验
在本小节中,我们通过实验验证了L2-softmax损失在人脸验证中的有效性。我们从MS-Celeb-中建立了两个子集的训练数据集1M[9]数据集:1)MS-small,包含50万张人脸图像,研究对象13403人;2)MSlarge,包含370万张图像,58207名研究对象。使用[18]中的聚类算法对数据集进行了清理。针对不同的α,我们训练了SoftMax loss和L2-softmax loss的人脸Resnet网络。在使用MS-small进行训练时,我们从0.1的基础学习率开始,在16K和24K次迭代后,将其减少1/10,最多28K次迭代。对于MS-large上的训练,我们使用相同的学习率,但在50K和80K次迭代之后将其降低到最大100K次迭代。训练批大小为256。softmax和L2 softmax损耗函数在两个TITAN X GPU上消耗的训练时间相同,分别为小MS约9小时和大MS约32小时。在网络训练过程中,我们将标度层的学习乘子和衰减乘子分别设置为可训练α为1和固定α为0。我们在广泛使用的LFW数据集[14]上评估了无限制集的基线,并在1:1人脸验证协议上评估了具有挑战性的IJB-A数据集[16]。在训练和测试阶段,通过实现文[25]中提到的人脸检测和对齐算法,将人脸裁剪并对齐到128×128的大小。
6总结
在本文中,我们为人脸验证系统训练的常规softmax损失增加了一个简单,但有效的L2-约束。该约束使特征位于一个以参数α为特征的固定半径超球面上。我们还为实现一致的性能的参数α提供了限制。在LFW、YTF和IJB-A数据集上的实验表明,本文提出的L2-SoftMax loss算法比常规softmax loss算法有显著的一致性提升,并在IJBA[16]数据集上取得了最先进的结果。综上所述,对于人脸验证任务而言,L2-softmax loss是一个有价值的替代现有softmax loss的方法。在未来,我们将进一步探索利用基于流形的度量学习来开发特征编码的几何结构的可能性。
本文提出了一种L2-Softmax损失,通过在训练过程中对特征描述符施加L2约束,使得特征位于固定半径的超球面上,从而改进了人脸识别验证的性能。与常规的Softmax损失相比,L2-Softmax损失对困难样本给予了更多关注,优化了验证过程。在IJB-A数据集上,实现了0.909的真接受率和0.0001的假接受率,同时在LFW和YTF数据集上也取得了先进水平的性能。

1969

被折叠的 条评论
为什么被折叠?



