A Discriminative Feature Learning Approach forDeep Face Recognition
深度学习下人脸识别的一种判别特征学习方法
softmax损失只会有助于特征的可分性,由此产生的特征不足以有效识别人脸。为了增强深度学习特征的判别力,本文提出了一种新的监督信号,称为中心损失,用于人脸识别任务。中心损失学习每个类中心的深层特征,同时惩罚深层特征和他们相应类中心之间的距离。
本文采用CNNs在softmax损失和中心损失的联合监督下训练,用超参数来平衡两个监督信号。
本文贡献
1. 我们提出了一个新的损失函数(称为中心损失)来最小化深层特征的类内距离。据我们所知,这是首次尝试使用这种损失函数来帮助监督CNN的学习。通过对中心损失和softmax损失的联合监督,可以获得高度判别性的特征以用于鲁棒的人脸识别,这个结论得到了我们实验结果的支持
2. 我们提出的损失函数是很容易在深度神经网络框架中实现。并且模型是可训练的,可以直接被优化标准SGD。
3. 我们在MegaFace(最大的公共领域人脸数据库,有100万人脸)数据集上进行了实验,并在小训练集的评估协议下达到了最好。还在(LFW)和YouTube(YTF)数据集上的做了验证,并且性能优秀。
我们将LeNet修改为更深更广的网络,但是将最后一个隐藏层的输出数量减少到2,以便于可视化特征
我们可以观察到:
1. 在softmax损失的监督下,深度学习的特征是可分的
2. 深层特征不具有辨别性,因为他们仍然变现出显著的类内变化。因此,直接使用这些特征来识别是不合适的。
中心损失
Cyi表示第yi个深度特征类的中心。该公式有效地表示了类内变化,理想情况下,cyi应该随着深度特征的变化而更新。我们需要考虑整个训练集,并在每次迭代中对每个类的特征进行平均,这是低效的,甚至是不切实际的。因此中心损失不能直接使用。
修改如下:首先,我们不是针对整个训练集更新中心,而是基于小批量进行更新。在每次迭代中,都是计算相应类特征的平均中心(在这种情况下,一些中心可能不更新)。其次,要避免由于少量错误标记的样本造成的大扰动,我们使用标量α来控制中心的学习率。
联合监督的必要性
如果只使用softmax损失作为监督信号,则由此产生的深度学习特征将包含较大的类内变化。另一方面,如果我们只是通过中心损失来监督CNN,那么深度学习的特征和中心就会退化为零(此时中心损失非常小)
与对比损失和三元组损失比较
对比损失和三重损失都会受到显着的数据扩展的影响。我们的中心损失与softmax损失具有相同的要求,不需要训练样本的复杂重组。
因此,我们CNN的监督学习更加高效和易于实施。此外,我们的损失函数更直接地针对缩小类内差距的学习目标,这对于判别性特征学习是非常有益的。
实验
LC:该层将输入特征图分割成N *N个网格(即使有重叠),并使用不同的卷积核对每个网格进行卷积,然后将其结果组合成大的特征图。
数据集:17189个人的70W人脸,用49W 112 × 96RGB图像训练
训练3个模型A softmax loss B softmax loss + contrastive loss C softmax loss + centerloss
MegaFace 69W人的100W照片 是由华盛顿大学(University of Washington)计算机科学与工程实验室于2015年针对名为 ”MegaFaceChallenge” 的挑战而发布并维护的公开人脸数据集,是目前最为权威热门的评价人脸识别性能的指标之一。数据集中的人脸图像均采集自Flickr creative commons dataset,共包含690,572个身份共1,027,060张图像。这是第一个在百万规模级别的人脸识别算法测试标准
人脸identification,即给定一张人脸图像(probe图像)和gallery集中的照片逐一比对,gallery集中存在离群图像(不在测试集中的人)
faceverification 和 face identification
前者是决定给定的一对人脸影像是不是一个人。后者是从一系列图像中识别人脸并且找到跟给定人脸影像最相似的人。Distractors(干扰项)
CMC曲线全称是Cumulative Match Characteristic (CMC) curve,也就是累积匹配曲线,同ROC曲线Receiver Operating Characteristic (ROC)curve一样,是模式识别系统,如人脸,指纹,虹膜等的重要评价指标,尤其是在生物特征识别系统中,一般同ROC曲线一起给出,能够综合评价出算法的好坏。