计图开源:基于梯度编辑的鲁棒性人脸识别方法SFace

人脸识别是一项经典的人工智能应用。得益于海量的训练数据和深度学习的技术发展,人脸识别取得了突破性的性能提升,成为一项广泛应用的生物识别技术。

但人脸识别仍然存在诸多挑战:高质量的训练数据是高性能识别模型的基础,然而目前学术界可用的数据集存在诸多缺陷;隐私保护限制使得互联网上可收集的名人图像数据与现实应用场景存在差异;数据集呈现长尾分布,大量名人缺少充足的样本描述;数据集存在的严重噪声,例如低质量图片和标签噪声等。

近期,北京邮电大学邓伟洪教授团队研究发现: 常规的分类模型训练使用最大化类间和最小化类内散度的损失函数,在长尾噪声训练集上会导致过拟合问题。

为了解决这一难题,该团队设计了一种新型的S型约束球面损失函数SFace[1],通过S型函数分别对类内/类间损失产生的反馈梯度进行编辑,自适应地减小噪声样本对模型训练的影响,在多个人脸识别数据集上取得了最高的识别精度,提高了人脸识别的稳定性。

该研究成果发表于IEEE Transactions on Image Processing,并在Jittor框架[2]上开源。基于Jittor的算法实现相比于PyTorch有明显效率优势,推理速度在多种模型结构上均有明显提升,最大提速可达2-3倍

Part 1

SFace方法介绍

图1展示了SFace的整体示意图,该方法旨在有节制地增大类间距离而减小类内距离。考虑到大间隔鉴别损失函数的类内类间优化耦合,难以分别实现精确控制,形式上作者放弃了基于Softmax的损失函数,从最基本的思想出发:在一定程度上优化类内和类间距离,以提高模型的泛化能力。

图1 在超球流形施加类内和类间约束的SFace的示意图

在这一思想指导下,作者提出SFace训练损失函数,SFace在超球面流形上施加类内和类间约束以增大类间距离而减小类内距离。

具体来说,样本和目标嵌入的优化方向始终沿着超球的切线,移动速度则分别由两条S型曲线控制,如图2所示。S型曲线精确地规划了类内和类间优化的梯度值,从而实现优化有余裕这一目标。

图2 SFace中用于类内和类间优化的梯度编辑的S型函数

经过编辑的类内和类间优化的梯度幅值如图3所示。在这一规划下,对于某一训练样本,它向着目标类别嵌入的移动速度随着二者之间距离减小而逐渐减小至某一距离余裕;当它与其他类别嵌入的距离减小时,远离其他类别嵌入的速度将迅速增大。

图3 SFace中经过编辑的类内和类间优化的梯度幅值

SFace相比于基于Softmax的大间隔鉴别损失函数[3],其优势即在于精确的类内和类间优化的梯度设计。传统基于Softmax的大间隔鉴别损失函数的类内和类间梯度相互耦合,难以控制。而SFace通过解耦类内和类间的损失,实现了梯度的精准编辑(见图3)。例如:当样本与它的类别向量夹角优化到小于某个角度后,快速地减小其产生的梯度,从而降低噪声数据的影响。

Part 2

实验结果

SFace在CASIA-WebFace、VGGFace2、MS-Celeb-1M三个训练集上分别进行了训练,并在LFW、CALFW、CPLFW、MegaFace、IJB-A和IJB-C等多个测试集上进行了验证,实验证明所提方法均取得了State-of-the-art的效果。更多的消融实验可以阅读原论文。

表1 在多个测试集的实验结果

(网络结构:ResNet50,训练集:CASIA-WebFace)

Part 3

Jittor开源

基于清华大学自主研发的深度学习框架计图 (Jittor),SFace的推理速度相比PyTorch有显著的效率提升。基于4张Tesla V100显卡,下表给出了对于不同主干结构和不同batchsize下,Jittor框架和PyTorch框架的推理速度对比。

表2 Jittor和PyTorch推理速度(FPS)对比

可以看到,对于参数较多的ResNet50结构,Jittor最高可以达到2.54倍的加速,而对于参数较少的MobileNet结构,Jittor的速度优势更显著,最高可以达到3.04倍的加速。而且在batchsize较大时,Jittor仍能有明显的加速效果,这对于大规模人脸识别可以提供高效的支持。

另外,当batchsize更大超出GPU显存限制时,PyTorch便无法运行,而Jittor采用统一内存管理的机制,可灵活调用CPU内存来弥补,并能保持较高的推理速度,如下表所示。

表3 超出GPU显存限制时PyTorch和Jittor运行情况

基于Jittor框架的SFace已开源:

论文已经在IEEE TIP上刊登:

参考文献

  1. Yaoyao Zhong, Weihong Deng*, et al. SFace: sigmoid-constrained hypersphere lossfor robust face recognition. IEEE Transactions on Image Processing, Vol. 30, 2587-2598, 2021.
  2. Shi-min Hu, Dun Liang, et al. Jittor: a novel deep learning framework withmeta-operators and unified graph execution. Science China Information Science, 63(12): 222103, 2020.
  3. Jiankang Deng, Jia Guo, et al. ArcFace: Additive angular margin loss for deepface recognition, IEEE/CVF CVPR, 4690–4699, 2019.