深度人脸识别的判别特征学习方法
Center Loss
一、介绍
对于人脸识别任务,深度学习特征需要可分离性和有辨别度。因为在训练阶段无法收集到所有可能的测试样本,CNN预测的样本标签不能总是适用。深度学习特征需要有足够的具有辨别力和概括性,以便在没有预测标签的情况下区分未见过的类别。判别特征可以通过最近邻(NN)或k-最近邻(k-NN)这类不需要预测标签的算法分好类。然而softmax只鼓励特征的可分离性,对人脸识别不够合适。
构造损失函数很重要,因为SGD基于mini-batch优化CNN,所以不能很好的表示深度特征的全局分布。作为替代方法,用对比损失[10,29]和三元损失[27]分别构建图像对和三元图像的损失函数。然而与图像样本相比,二元组或三元组的数量急剧增加。它不可避免地导致收敛缓慢和不稳定。通过仔细选择二元组或三元组,可以部分地缓解该问题。但很麻烦。
我们提出了新的损失函数,叫center loss,来增强深度网络中深度学习特征的辨别力…
二、相关工作
[略]
三、提议
首先我们使用一个简单例子直观展示深度学习特征的分布,受其启发,我们提出了center loss。
3.1 简单例子
使用MNIST数据集,修改LeNets为更深更宽的网络,最后输出层降低为2,这样我们可以直接把特征画到2维平面。更多信息见Table1。
softmax损失函数如下。
2维特征结果如下图,因为最后一个全连接层起到线性分类器的作用,不同类别的深度特征通过决策边界区分。从下图可以看出(i)在softmax的监督下,深度特征被区分开 (ii)深度特征没有足够的辨别力,因为它们仍然显示出显着的类内变化。
3.2 Center Loss
那么在缩小类内间距的同时保持类间距离是关键,因此提出center loss。
我们还探究了 λ 对分布的影响,如下图。利用适当的 λ ,可以显着增强深度特征的辨别力。此外,特征在不同的 λ 下是有区别的。因此,联合监督有利于深度学习特征的辨别力,这对于人脸识别至关重要。
3.3 讨论
The necessity of joint supervision. 联合监督的必要性
Compared to contrastive loss and triplet loss.
四、实验
4.1 细节
预处理
MTCNN:进行人脸检测+关键点(两眼、鼻子、嘴角)回归,训练集中找不到人脸的图片丢弃,测试集中找不到人脸的使用标注提供的。
人脸图像:112×96 RGB
归一化方法: -127.5 除128
训练数据[略]
CNNs细节
bc=256 TitanX2块
lr=0.1,0.01,0.001 [16k,24k]
总计28k迭代,14小时。
测试细节
使用第一个FC层输出作为深度特征,抽取每张图片和其水平镜像的特征并将其连接。特征经过PCA后计算Cosine Distance分数,在识别和验证任务中使用了最近邻和阈值比较。
4.2 参数
五、结论
在本文中,我们提出了一种新的损失函数,称为中心损失。 通过将中心损失与softmax损失相结合以共同监督CNN的学习,可以高度增强深度学习的特征的辨别力以用于鲁棒的面部识别。 对几个大规模面部基准的广泛实验已经令人信服地证明了所提出方法的有效性。