基于属性驱动损失函数的人脸识别算法 下载: 757次
1 引言
近些年来,人脸识别取得巨大的发展,这得益于深度神经网络的飞速发展,尤其是卷积神经网络的发展[1]。卷积神经网络(CNN)在人脸分析任务中发挥着重要的作用,如关键点检测、人脸识别及三维人脸重建等。目前,一些主流方法在某些基准数据集上的表现已经超过了人类,如LFW(Labeled Faces in the Wild)数据集,这些方法通常将人脸映射到高维欧氏空间的判别特征向量上,以确定一对人脸是否属于同一类别。例如,深度度量学习(如对比损失[2]或三元组损失[3])通过比较成对或三个一组的面部图像来训练卷积神经网络,从而使得网络可以从面部图像中提取出有区分力的特征。之后,不同Softmax损失函数的变体在CNN中作为监督信号,来提取有区分力的特征,在小训练集的协议下实现卓越的性能[4]。这些方法利用CNN学习强区分力的特征,通过使用损失函数来增大类间距离,减小类内距离。
虽然上述两类方法都取得了显著的效果,但它们也有各自的局限性。因为构造了大量的图像对或三个一组的图像组,对比损失和三元组损失在训练过程中收敛缓慢。相比之下,Softmax损失函数及其变体对训练数据没有这样的要求,收敛速度更快。中心损失[5]是第一个在Softmax损失函数的深层特征上添加软约束以最小化类内距离的方法,显著提高了Softmax损失的性能。随后,角度Softmax损失[6]对超球面施加判别约束,进一步提高了Softmax损失函数的性能。然而,通过在训练数据之间强制类内聚合和类间分离,即使训练数据可能不是均匀采样的,现有的Softmax损失函数需要训练数据的特征向量均匀分布。因此,对于两个测试数据,学习到的特征向量之间的接近度可能并不能正确地表示底层人脸之间的接近度,这可能会影响基于特征接近度的人脸识别算法的准确性。为解决这个问题,在原本的乘性角度距离损失函数上进行改进,使用其他属性(如性别、种族和年龄)来规范所学习的特征映射。改进后的损失函数在相邻训练数据的特征差与属性差之间建立全局线性关系,使得具有相似属性的人脸数据的特征向量聚拢在一起。此外,由于这些属性与人脸几何形状、外观相关,改进后的损失函数也隐含地将特征邻近性相对于人脸邻近性进行正则化,这有助于解释训练集中潜在的采样偏差。
改进算法在CASIA Webface数据集上训练,该训练集包括104个身份,4.6×105张照片,人工给该数据集加上属性标签,包括性别、种族和年龄。改进算法在不同人脸识别验证集上都表现出很好的效果,包括LFW数据集、CFP数据集、AgeDB数据集和MegaFace数据集。为确保网络中各层之间信息传递的最大化,直接让所有层相互连接,并引入残差学习模块,这减少了传统CNN模型的参数,提高了识别精度。虽然网络有较深的深度,但并不会出现梯度消失和过拟合的现象。
2 基本原理
2.1 人脸识别度量学习
经典识别网络有一个问题:必须提前设定好类别数。这也意味着,每增加一个新种类,就要重新定义网络模型,并从头训练一遍,比如需要做一个门禁系统,每增加或减少一个员工(相当于一个新类别),就要修改识别网络并重新训练。很明显,这种做法在某些实际运用中很不科学。因此,度量学习作为经典识别网络的替代方案,可以很好地适应某些特定的图像识别场景,一种较好的做法是丢弃经典神经网络最后的Softmax层,改成直接输出特征向量,按照度量学习,在特征库里寻找最近邻的类别作为匹配项。
人脸识别存在训练集不包含测试集的问题,使得较新的人脸识别方法的核心在于度量学习。度量学习尝试以监督的方式优化距离参数,在目标空间上使相似的对象在附近,不相似的对象相距很远。在文献[ 7]中,当给定一些相似的样本对时,通过寻找带矩阵参数的马氏距离来完成学习。为处理更有挑战性的问题,在度量学习中引入卷积核技巧[8]来提取非线性嵌入。近年来,利用先进的网络结构可以学习到更多有区分力的特征,这些网络结构使一些基于欧氏距离的损失函数最小化,如对比损失函数和三元组损失函数。此外,这些损失函数可以通过允许多个负样本之间的联合比较或最小化总体分类错误来改进[9]。
2.2 人脸识别损失函数
在图像分类任务中,最常用的分类损失函数是Softmax损失函数,Softmax损失函数可表示为
式中:
然而,Softmax损失函数主要鼓励类间分散,因此不能产生强的鉴别特征。为提高深度特征的区分力,中心损失函数被提出并用来加强类内聚集和类间分散,表示为
式中:
与此同时,观察到Softmax损失函数偏向于样本分布[10],能很好地适应高质量的面孔,但忽略了低质量的面孔。在使用Softmax损失函数学习到的特征上添加L2约束,可以使得到的特征与那些使用中心损失函数训练得到的特征一样具有区分力。随后,有研究人员进一步改进了这一特性,将一个角度距离代替欧氏距离加入到Softmax损失函数中,提出sphereface算法。该算法采用角度间隔损失函数,即A-Softmax损失函数,可表示为
式中:
就多分类任务中最简单的情形二分类而言,Softmax损失函数两种类别的决策边界为(
2.3 基于角度间隔和人脸属性的损失函数
为获得较高的人脸识别精度,需要不同类别的人脸特征尽可能远离,相同类别的人脸特征尽可能靠近。理想情况下,两个人脸越不相似,对应的特
表 1. 二分类任务下不同损失函数的决策边界的比较
Table 1. Comparison of decision boundaries of different loss functions in binary case
|
征簇之间的距离就应该越远。然而,Softmax损失函数的变体并不能很好地保证这一点。学习后的特征映射使得类内变化最小化,最大限度地增大了训练数据的类间距离,使得训练集人脸的特征向量分布趋于均匀;另一方面,不能保证训练集中的人脸图像在整个人脸空间中均匀分布。因此,当训练数据集中存在较大的采样密度变化时,所学习的特征映射可能不能正确地表示底层人脸的邻近性。为解决这个问题,可以引入一个损失函数项,它可对特征邻近性相对于人脸邻近性进行正则化。然而,这是一项具有挑战性的任务,因为人脸图像只能从一定的视角方向揭示潜在的脸型,并且会受到光照条件、传感器噪声等多种因素的影响。因此,仅通过比较两张人脸的扫描图像很难可靠地计算出它们之间的距离。
除了脸型的相似性,还希望学习到的特征映射与其他属性(如性别、种族和年龄)之间的相似性有关。例如,如果将一个图像与人脸图像数据库进行比较,通过特征邻近性来识别
基于这些观察结果,本文将基于角度距离的损失函数进行改进,改进为人脸属性驱动。除标签信息,训练数据集中还给出人脸图像的性别、民族、年龄等其他属性。人脸属性损失部分可表述为
式中:
直观地说,这个损失项可以通过将特征差异与属性差异关联起来的全局线性映射
图 1. 使用A-Softmax损失函数训练的特征分布和使用属性驱动损失函数训练的特征分布比较
Fig. 1. Comparison of feature distributions trained by A-Softmax loss function and attribute-driven loss function
从另一个角度看,使用额外属性的正则化可以帮助网络获取其他有用的面部识别线索,因为性别、种族和年龄等属性与面部形状和外观高度相关,例如,两个不同性别的人的面部表情可能会有显著的差异。因此,属性驱动损失函数可以隐式地利用与这些属性相关的外观变化来改善所学习的特征映射。
上述的属性损失函数可以作为一种人脸识别训练过程中的辅助监督信号,与基于角度距离的损失函数相结合,两种损失函数联合监督,以提高人脸识别的准确率。联合监督损失函数表示为
式中,
3 分析与讨论
3.1 实验设置
3.1.1 训练数据
使用公开的人脸数据集CASIA Webface作为训练集,该训练集包含10575个不同身份的494414张图片,是相对较小的数据集,并且该数据集不包含人脸属性。使用MOON损失函数[11],CeleBA作为训练集,Inception-ResNet v2网络作为网络结构,训练人脸属性识别模型,将该模型在CASIA Webface上的属性识别结果作为属性标注。
3.1.2 测试数据
测试数据包括LFW数据集和MegaFace数据集。LFW数据集包含13233张图片,来自5749个不同身份,在姿态、表情和光照方面有很大的变化。按照官方给出的测试协议[12],对LFW数据集的6000张人脸对进行人脸验证。MegaFace数据集[13]是一个公开的人脸测试数据集,引入了百万数量级的干扰项,用来评估人脸识别算法的性能。如果训练集的规模小于5×105,那么该数据集可视为一个小数据集[14]。本文是在小训练集数据量协议下对提出的算法进行评价。
3.1.3 训练细节
为比较损失函数的效果,分别使用A-Softmax损失函数和结合属性损失的A-Softmax损失函数进行实验。在实验中,采用随机梯度下降法训练网络参数,属性损失的比重
3.2 超参数η和λ的影响
在基于角度距离和属性驱动的损失函数中,参数
在第1个实验中,参数
图 2. 超参数λ 和η 对验证准确率的影响。(a) η 相同λ 不同的验证准确率;(b) η 不同λ 相同的验证准确率
Fig. 2. Influences of super parameters λ and η on verification accuracy. (a) Verification accuracy with same η and different λ ; (b) verification accuracy with different η and same λ
3.3 实验结果
3.3.1 在不同网络结构下的实验结果
基于CNN模型结构设计的最新进展,在实验中探索了不同的网络结构对人脸识别验证准确率的影响,其中包括ResNet、MobileNet、Inception-ResNet v2、DenseNet(densely connected convolutional networks)、SENet(squeeze and excitation networks)。
表 2. 不同网络结构的验证准确率比较
Table 2. Comparison of verification accuracy of different network structures
|
3.3.2 LFW数据集的实验结果
网络结构采用相同的Inception-ResNet v2,训练数据集采用相同的CASIA Webface数据集,得到不同损失函数在LFW、CFP-FP、AgeDB-30数据集的验证准确率,其中包括Softmax损失函数、三元组损失函数(Triplet loss)、中心损失函数(Center loss)、L-Softmax损失函数、A-Softmax损失函数,实验结果如
表 3. 不同损失函数的验证准确率
Table 3. Verification accuracy of different loss functions
|
3.3.3 在MegaFace数据集的实验结果
MegaFace数据集在评估人脸识别表现方面极具挑战。MegaFace有多个测试场景,包括在两个协议(大训练集或小训练集)下的识别、验证和姿态不变性。实验中采用两种场景,人脸鉴别和人脸验证。实验结果如
表 4. MegaFace数据集下不同损失函数的准确率
Table 4. Accuracy of different loss functions in MegaFace dataset
|
4 结论
提出一种基于角度距离和属性驱动的人脸识别损失函数,该函数将学习到的识别特征相对于附加属性的分布进行正则化。该方法能够有效地解决训练数据集采样不均匀的问题,提高了人脸识别的精度。采用提出的人脸识别算法在CASIA Webface数据集上进行训练,然后在 LFW和 MegaFace人脸识别数据集上进行测试。实验结果证明了该算法的有效性,训练好的人脸识别模型具有良好的泛化能力。在这项工作中,虽然本文只使用性别、年龄和种族属性进行正则化,但是实验结果仍然得到很好的改进,后续还可以添加其他属性以进行进一步研究。
[1] 李佳妮, 张宝华. 特征匹配融合结合改进卷积神经网络的人脸识别[J]. 激光与光电子学进展, 2018, 55(10): 101504.
[2] HadsellR, ChopraS, LeCun Y. Dimensionality reduction by learning an invariant mapping[C]∥2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR'06), June 17-22, 2006, New York, NY, USA. New York: IEEE, 2006.
[3] SchroffF, KalenichenkoD, PhilbinJ. FaceNet: a unified embedding for face recognition and clustering[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 815- 823.
[4] RanjanR, Castillo CD, Chellappa R. L2-constrained softmax loss for discriminative face verification[J/OL]. ( 2017-06-07)[2019-04-24]. https: ∥arxiv.org/abs/1703. 09507.
[5] Wen YD, Zhang KP, Li ZF, et al. A discriminative feature learning approach for deep face recognition[M] ∥Leibe B, Matas J, Sebe N,et al. Computer vision-ECCV 2016. Lecture notes in computer science. Cham: Springer, 2016, 9911: 499- 515.
[6] Liu WY, Wen YD, Yu ZD, et al. SphereFace: deep hypersphere embedding for face recognition[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 6738- 6746.
[7] Xing EP, Ng AY, Jordan MI, et al. Distance metric learning with application to clustering with side-information[C]∥Advances in Neural Information Processing Systems, December 8-13, 2003, Vancouver and Whistler, British Columbia, Canada. Canada: NIPS, 2003: 521- 528.
[9] SohnK. Improved deep metric learning with multi-class N-pair loss objective[C]∥Advances in Neural Information Processing Systems, December 5-10, 2016, Barcelona, Spain. Canada: NIPS, 2016: 1857- 1865.
[10] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]∥Advances in Neural Information Processing Systems, December 3-6, 2012, Lake Tahoe, Nevada, United States. Canada: NIPS, 2012: 1097- 1105.
[11] Rudd EM, GüntherM, Boult TE. MOON: a mixed objective optimization network for the recognition of facial attributes[M] ∥Leibe B, Matas J, Sebe N, et al. Computer vision-ECCV 2016. Lecture notes in computer science. Cham: Springer, 2016, 9909: 19- 35.
[12] Huang GB, Learned-MillerE. Labeled faces in the wild: updates and new reporting procedures: University of Massachusetts, Amherst Technical Report UM-CS-2014-003[R]. Boston: University of Massachusetts, 2014.
[13] Kemelmacher-ShlizermanI, Seitz SM, MillerD, et al. The MegaFace benchmark: 1 million faces for recognition at scale[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 4873- 4882.
[14] 杨恢先, 刘建, 张孟娟, 等. 基于正交梯度差局部方向模式的人脸识别算法[J]. 激光与光电子学进展, 2018, 55(4): 041008.
[15] Zhang K P, Zhang Z P, Li Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503.
[16] SzegedyC, IoffeS, VanhouckeV, et al. Inception-v4, inception-ResNet and the impact of residual connections on learning[C]∥Thirty-First AAAI Conference on Artificial Intelligence, February 4-10, 2017, Hilton, San Francisco Union Square. USA: AAAI, 2017: 4278- 4284.
[17] SenguptaS, Chen JC, CastilloC,et al. Frontal to profile face verification in the wild[C]∥2016 IEEE Winter Conference on Applications of Computer Vision (WACV),March 7-10, 2016, Lake Placid, NY, USA. New York: IEEE, 2016: 16051830.
[18] MoschoglouS, PapaioannouA, SagonasC, et al. AgeDB: the first manually collected, in-the-wild age database[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 1997- 2005.
Article Outline
李燊, 苏寒松, 刘高华, 吴慧华, 王萌. 基于属性驱动损失函数的人脸识别算法[J]. 激光与光电子学进展, 2019, 56(24): 241505. Shen Li, Hansong Su, Gaohua Liu, Huihua Wu, Meng Wang. Face Recognition Algorithm Based on Attribute-Driven Loss Function[J]. Laser & Optoelectronics Progress, 2019, 56(24): 241505.