Advertisement

(LMCL)CosFace: Large Margin Cosine Loss for Deep Face Recognition

阅读量:

论文:https://arxiv.org/pdf/1801.09414.pdf
代码:https://github.com/yule-li/CosFace

摘要

随着深度卷积神经网络(CNN)技术的迅速发展,在人脸识别人类这一领域也取得了显著进展。该技术包括了两个主要任务:一是人脸验证(face verification),二是人脸身份识别(face identification),同时还会涉及不同类别之间的特征区分问题。然而,在传统的深度卷积神经网络架构中,默认采用的softmax loss函数存在无法有效区分类别间的不足之处。针对这一问题,在近期研究中出现了几种改进型损失函数设计方法:如center loss、large margin softmax loss以及angular softmax loss等新型设计方法均被提出用于解决这一难题。这些改进型损失函数都遵循着一个共同的设计理念:即最大化类间差异的同时最小化类内差异这一核心原则。基于此原理的基础上我们提出了一种全新的损失函数命名为large margin cosine loss(LMCL)并将其命名为LMCL模型以区别于传统的softmax loss设计框架其核心创新点在于通过将特征向量进行L2范数归一化处理从而消除了模长变化带来的影响进而引入了一个余弦间隔项(cosine margin term)以此进一步优化在角度空间内的不同类别间的决策距离最大化操作从而实现了类内相似度最小化与类间相似度最大化的双重目标效果与传统的softmax loss设计方法相一致但采用了完全不同的数学推导路径和理论依据体系基于此我们简要介绍了一种利用LMCL模型训练得到的人脸识别系统并将其命名为CosFace系统进行了系列实验测试并最终在MegaFace Challenge Youtube Faces 和LFW等多个公开基准数据集上取得了超越现有方法的最佳表现结果这充分证明了该创新性研究方案的有效性和实用性

1.简介

最近深度卷积神经网络 [15, 18, 12, 9, 44] 在许多不同的计算机视觉任务上都取得了重大的进展,使之成为了计算机视觉领域中一个主要的机器学习方法。人脸识别作为计算机视觉最常见的任务之一,近几十年来被广泛地研究[37,45,22,19,20,40,2]。早期研究都建立在浅层模型和底层人脸特征之上,而最新的人脸识别技术则更多地使用深度卷积神经网络。人脸识别通常包括了两个子任务:face verification和face identification。而这两个任务都包含了以下三个步骤:人脸检测(face detection)、特征提取(feature extraction)和分类(classification)。深度卷积神经网络可以提取干净的高层特征,使得可能只需要一个相对简单的分类方法就可以获得很好的表现:比如一个多层感知网络加一个softmax loss。然而,最近的研究发现传统的softmax loss不足以获得很好的鉴别能力用于分类。
为了促进更好的鉴别性能,许多研究工作又被提出了[42,5,7,10,39, 23]。这些研究都有着同样的思路来使分类器的鉴别能力最大化,即最大化类间差异和最小化类内差异。比如,[42, 5, 7, 10, 39]这些论文提出采用多损失函数学习(mult-loss learning)的方式来增加特征的区分能力。但这些方法相比softmax loss,在改进分类效果的同时又带来了另外一些限制。比如[42]center loss只显示地最小化类内差异而忽略了类间差异的处理,这样会导致陷入局部最优的问题。[5, 7, 10, 39]需要一个穷尽策略来挖掘样本对或样本组,这是一个非常耗时的步骤。而最近,[23]从另一个角度来解决如何提升鉴别的问题。具体来说,[23] (A-softmax)将原始的欧式空间特征投影到一个角度空间上,然后引入了一个角度间距来尽量拉大类间距离。
对比[42, 5, 10]中用的欧式间距,角度间距因角度余弦与softmax loss有着内在一致性而更适合softmax loss优化。而且余弦形式的表示也和人脸识别中常用的相似性计算方法匹配。从这个角度来说,直接采用不同类之间的余弦间距来改进余弦相关的鉴别信息的做法更加合理。
在本文中,我们用另一种方式对softmax loss进行表示,通过对特征和权重向量进行L2范数归一化来移除其径向变化,然后引入了一个余弦间隔项(cosine margin term)来进一步最大化在角度空间上的不同类别的决策间距。具体而言,我们提出了一个新的算法,称为Large Margin Cosine Loss(LMCL),将归一化后的特征作为输入,通过最大化类间余弦间距去学习得到区分性更好的特征。形式上,我们定义了一个超参数m,令决策边界由cos(θ_1)−m=cos(θ_2)决定,其中θ_i为特征向量和类别i的权值向量的夹角。
作为对比,A-Softmax的决策边界是由cos(mθ_1)=cos(θ_2)决定的,因为余弦函数的非单调性,这一形式会比较难优化。为了克服这种困难,他们在A-Softmax中采用了特别的分段函数这种附加技巧。更重要的是,A-Softmax的决策间距与取决于θ,这样会导致不同类别之间的决策间距不相同。这样的结果是,在决策空间上,有些有些类别之间的特征间距会比较大,而有些类别之间的特征间距比较小,导致模型鉴别能力下降。不同于A-Softmax,我们的方法在余弦空间上定义了决策间距,从而避免这一不足。
基于LMCL,我们创建了一个复杂的深度模型,简称CosFace,如图1所示。在训练阶段,LMCL指导卷积网络学习得到较大余弦间距的特征。在测试阶段,人脸特征可以从卷积网络提取得到,然后应用于face verification或者face identification。我们对本文工作的贡献总结如下:
(1)我们采用最大化类间差异和最小化类内差异的思路,提出了一个新颖的损失函数,简称LMCL,去学习得到具有高度鉴别能力的深度特征应用于人脸识别中。
(2)我们基于超球面特征分布的假设对LMCL算法做了合理的理论分析。
(3)提出的方法在多个人脸识别公开数据集(包括LFW, YTF和Megaface等)上取得了最先进的的效果。

在这里插入图片描述

图1展示了提出的CosFace框架的详细概述,在训练环节中实现了对不同类别人脸特征的区分性学习;于测试环节中,则将输入数据导入CosFace系统进行人脸特征提取,并计算余弦相似度得分以实现有效的面部验证与识别功能

2.相关工作

人脸识别 最近,由于深度卷积神经网络的巨大成功,人脸识别领域也取得了很多重要的进展。在DeepFace[35]和DeepID[32]中,人脸识别被当成了一个多分类的问题,深度卷积神经网络首次被引入用来从大规模的多类标数据集中学习特征。DeepID2[30]利用身份识别(identification)和认证(verification)信号来获得更好的feature embedding。他们最新的工作DeepID2+[33]和DeepID3[31]进一步探索了更先进的网络结构来改进识别效果。FaceNet[29]使用triplet loss来学习一个欧式空间嵌入(Euclidean space embedding),他们的网络用了接近200百万人脸图像来训练,得到了最先进的效果。另外的算法如[41, 11]等同样也是改进深度卷积神经网络并应用于人脸识别中。
损失函数 损失函数在深度特征学习中扮演了重要的角色。Contrastive loss 和 triplet loss经常被用于增加欧式距离间距从而得到更好的特征。Wen等人[42]提出了center loss来学习每个ID的特征的中心,以此减少类内差异。Liu等人[24]提出L-Softmax损失函数,通过对每个id增加角度限制来改进特征鉴别性。A-Softmax[23]通过对权值向量作归一化对L-Softmax进行改进,在一系列公开人脸识别数据集上获得了更好的效果。其他基于contrastive loss或者center loss的损失函数同样在增强特征区分性上表现不错。
归一化方法 归一化方法的研究在最近的人脸识别研究中很常见。[38]对权值向量进行归一化然后用余弦相似度替代了softmax loss层中的内积。[28]采用对特征进行L2约束从而将人脸特征嵌入到归一化后的空间上。注意到,对特征向量或者权值向量做归一化,在训练时可以让角度更集中从而获得更小的类内角度变化。因此不同类别之间的角度就可以被很好地优化。基于von Mises-Fisher的方法和A-Softmax同样在特征学习中采用了归一化

3.提出的方法

在本节中,我们首先对所提出的LMCL方法进行了深入阐述(参见第3.1节)。随后,我们与现有文献中的其他损失函数进行了系统对比实验(见第3.2节),实验证明了LMCL方法的卓越性能。在此基础上,我们详细探讨了LMCL中所采用的关键技术细节(参见第3.3节),并成功验证了其有效性。最后,在充分理解方法原理的基础上展开了理论分析工作

3.1 Large Margin Cosine Loss

基于余弦相似性的视角重新审视了softmax损失函数,在这一过程中我们旨在通过最大化ground-truth类别的后验概率来进行类别间的区分。对于输入特征向量x_i及其对应的类别标签y_i,其数学表达式为:

在这里插入图片描述

其中p_i代表x_i被正确分类的后验概率。N表示训练数据集的总样本数量,C代表分类问题中的类别总数.f_j一般情况下,经过全连接层(权重向量为\bm{W}_j, 偏置参数\bm{b}_j)作用后的特征激活值可由以下公式计算得到:为了简化计算,在此假设所有全连接层的偏置参数$\bm{b}_j设为零,则f_j$可以重新表达如下

在这里插入图片描述

其中θ_j​表示W_j​和x之间的夹角。该公式表明向量的模和它们之间的夹角都对有验概率值有影响。
为了更有效地特征学习,权值向量W的模有必要保持不变。为此,我们通过L_2​范数归一化令||W_j||=1。在测试阶段,一对测试人脸图片的识别分数通常是通过计算两个特征向量的余弦相似度得到。这意味着特征向量的模应该也对识别分数没有影响,因此我们令||x||=s。从而后验概率只依赖于夹角的余弦值。修改后的loss可以表示为:

在这里插入图片描述

由于我们设定||x||=s以消除径向变化的影响,则模型得以在角空间中学习可分离特征。在此基础上我们提出了一种称为Softmax损失(NSL)的标准版本命名为大裕度余弦损失(LMCL)

在这里插入图片描述

其中N为训练数据集中的样本数量,在公式中用x_i表示对应于真实类别i的特征向量,在分类器中使用第j类的权值向量W_j以及与之相关的角度参数\theta_j来描述分类决策机制。

3.2 不同损失函数的比较

在本小节中, 我们对基于LMCL的方法与Softmax、NSL及A-Softmax这三种分类器的性能进行了对比分析, 如图2所示. 针对两类别C₁和C₂的分类问题, 我们分别用于表示这两类别的权值向量W₁和W₂.

在这里插入图片描述

图2展示了二分类情况下不同损失函数决策边界的表现比较。虚线标识了决策边界的位置,在灰色区域中反映了决策区域的重叠部分(即 margin < 0)。

3.3 特征归一化

在提出的LMCL中,采用了一种归一化方案,旨在推导出余弦损失的公式,并消除径向方向上的变化。与[23]只对权值向量进行归一化不同,我们的方法同时对权值向量和特征向量进行归一化。因此,特征向量分布在超球面上,其中尺度参数s控制半径的大小。在本节中,我们将讨论为什么特征归一化是必要的,以及特征归一化如何在所提议的LMCL方法中促进更好的特征学习。
特征归一化的必要性主要表现在两个方面:一是原始的不进行特征归一化的softmax损失隐式地学习了欧几里得范数(l2 -范数)的特征向量和角度的余弦值。自适应地学习了l2 -范数以使整体损失最小化,从而产生了相对弱的余弦约束。特别是容易样本的自适应l2 -范数要比难样本大得多,以弥补余弦度量的不足。相反,我们的方法要求整个特征向量集具有相同的l2 -范数,这样学习只依赖余弦值来发展判别能力。将同一类的特征向量聚在一起,将不同类的特征向量在超球面上分开。此外,我们还考虑了模型最初开始最小化LMCL的情况。
给定一个特征向量x,令cos(θ_i)cos(θ_j)分别表示这两类的余弦值。在没有对特征进行归一化的情况下,LMCL强制||x||(cos(θ_i)-m)>||x||cos(θ_j)。注意,cos(θ_i)cos(θ_j) 最初可以相互比较。因此,只要cos(θ_i)-m小于cos(θ_j),就需要减小||x||以使损失最小化,从而使优化退化。因此,在LMCL的监督下,特别是在从头开始训练网络时,特征归一化是至关重要的。同样,固定尺度参数s也比自适应学习更有利。
此外,尺度参数s应设置适当大的值,才能得到性能更好、训练损失更小的特征。对于NSL,损失随s的增大而不断减小,s过小则导致收敛不足甚至不收敛。对于LMCL,我们还需要足够大的s,以确保具有足够大的裕度的特征学习空间。
下面我们说明参数s应该有一个下界才能获得预期的分类性能。已知归一化的学习特征向量x和单位权值向量W,我们表示类的总数为c。假设学习的特征向量分别位于超球面表面,并以相应权值向量为中心。令P_W表示类中心最小的后验概率(即W),s的下界由1给出:

在这里插入图片描述

基于这一界限, 我们可以推测, 为了提高分类性能, 如果我们希望一个最优的P_w能够适用于一定种类别的分类任务, 那么间隔s应当被适当增大。进一步地, 在维持固定P_w的前提下, 随着类别数量不断增加, 尽管在相对紧凑的空间中进行分类变得更为困难, 因此需要更大的间隔s来应对更多的类别划分需求。对于那些具有较小类内距离而较大类间距离的嵌入特征而言, 我们需要设定一个较大的半径s来确定超球面边界。

3.4 LMCL的理论分析

本节重点讨论从分类视角出发探讨LMCL的应用。余弦边缘服务器作为强化特征识别能力的关键组成部分,在超球面识别特征学习中扮演着重要角色。深入分析余弦余量定量可行性的边界(特别是参数m的选择范围)至关重要。选择合适的m值可能有助于实现更具鉴别力且更具前景的学习过程。首先,在类C1与C2之间的二分类问题中,请注意归一化处理的重要性以及其对后续分析的影响

在这里插入图片描述

图3.从特征维度对LMCL进行几何意义分析。各颜色区域对应不同类别的特征空间分布情况。与NSL相比,在LMCL中各个特征区域较为紧凑。

在这里插入图片描述

其C代表训练类别的数量,K代表学习特征的数量。该不等式表明,随着类别数量增加,类别间余弦边界上限随之减小。特别地,当类别数量远高于特征维数时,余弦边界上限会变得较小。

在这里插入图片描述

图4展示了涉及8个包含二维特征的身份在不同损失函数下的测试案例。第一行为二维特征实施了映射至欧几里得空间的过程;第二行为二维特征实施了投影至角空间的过程。当裕度m的值增大时,这种差异变得更加显著。

4 实验

4.1 实施细节

预处理。 首先,利用MTCNN[16]对整组训练和测试图像进行人脸区域和特征点检测。然后采用5个面部点(两只眼睛、鼻子和两个嘴角)进行相似性变换。在此之后,我们获得裁剪后的人脸,然后将其大小调整为112×96。根据[42,23],每个像素(在[0,255])的RGB图像是通过减去127.5,然后除以128来进行归一化的。
训练。 为了与使用小型训练数据集[17]的现有结果进行直接和公平的比较,我们在小型训练数据集上训练我们的模型,这是公开的CASIAWebFace[46]数据集,包含0.49M张人脸图像,来自于10575个人。我们还使用一个大型的训练数据集来评估我们的方法的性能,与最先进的基准测试结果(使用大型训练数据集)的基准测试脸数据集进行比较。我们在本研究中使用的大型训练数据集是由多个公共数据集和一个私有的人脸数据集组成的,包含了超过90K个身份的约5M的图像。对训练人脸进行水平翻转,进行数据扩充。在我们的实验中,我们删除了属于在测试数据集中出现的身份的人脸图像。
为了公平比较,我们工作中使用的CNN架构类似于[23],它有64个卷积层,基于残差单元[9]。根据经验将式(4)中的尺度参数s设置为64。我们使用Caffe[14]来实现损失层的修改并运行模型。CNN模型是用SGD算法训练的,在8个gpu上批量大小为64。权重衰减设置为0.0005。对于小数据集上的训练,学习率最初为0.1,在16K、24K、28K次迭代时除以10,然后在30k次迭代时完成训练过程。而大数据集上的训练终止于240k次迭代,初始学习率在80K、140K、200K次迭代时下降了0.05。
测试。 在测试阶段,将原始图像的特征与翻转后的图像拼接在一起,构成最终的人脸表示。计算特征的余弦距离作为相似度得分。最后,通过阈值和评分排序进行人脸验证和识别。我们测试了我们的模型在几个流行的公众脸数据集,包括LFW[13], YTF[43],和
MegaFace (17、25)。
》》》》不写了

5 总结

本文研究中提出了一种命名为LMCL的方法用于指导深度神经网络提取高判别性的面部特征这一目标。该方法通过提供完整的几何与理论分析为其实现提供了可靠的基础保障。实验结果表明无论是在训练阶段还是测试阶段均表现出了优异的性能表现持续在多个基准测试中取得了最优性能这一令人鼓舞的结果。此外我们希望通过利用该方法对鉴别特征进行系统性研究的探索性工作有望推动人脸识别领域的发展

全部评论 (0)

还没有任何评论哟~