首页 > 编程语言 >目前最强判别能力的深度人脸识别(文末附有源码)

目前最强判别能力的深度人脸识别(文末附有源码)

时间:2022-10-18 20:03:02浏览次数:74  
标签:人脸识别 特征 文末 损失 测地线 源码 类内 ArcFace

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别

计算机视觉研究院专栏

作者:Edison_G

利用深度卷积神经网络进行大规模人脸识别的特征学习面临的主要挑战之一:设计合适的增强识别能力的损失函数。​


目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_02


目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_03

CVPR已经告一段落,但是好的文献依然值得慢慢去品味,值得深入阅读去体会作者的意图,从中学习其精髓,去发现更多的创新点。今天到优点老的框架,但是我觉得挺不错的为,就大家推荐一篇关于人脸识别的文献,主要提出了一个更具有判别能力的人脸识别模型,有兴趣的可以和我们一起来学习。



导读】利用深度卷积神经网络进行大规模人脸识别的特征学习面临的主要挑战之一:设计合适的增强识别能力的损失函数。在欧几里得空间中,​​中心损失​​计算深度特征与它们的响应类中心之间的距离,以实现类内紧致性。SphereFace假设最后全连接层中的线性变换矩阵可以作为角空间中类中心的表示,并以乘法的方式惩罚深度特征与其对应权值之间的夹角。最近,一个流行的研究路线是合并边的既定损失函数,以便最大限度地模拟人脸类的可分性。



今天要分享的这篇,主要提出了一种additive angular边缘损失(ArcFace)用于人脸识别。由于与超球面上的测地线距离精确对应。所提出的ArcFace具有清晰的几何解释,可以说是对所有最近最先进的人脸识别基准的最广泛的实验评估,包括一个新的具有万亿个配对级别的大型图像数据库和一个大规模的视频数据集。最终ArcFace始终优于最先进的技术,并且可以很容易地在可忽略的计算开销上实现。

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_04

为了提高类内紧致性和类间差异性,考虑了四种测地距离约束。(A)Margin-Loss:在样品与中心点之间插入一个测地线距离;(B)Intra-Loss:缩小样本与对应中心之间的测地线距离;(C)Inter-Loss:增加不同中心之间的测地线距离;(D)Triplet-Loss:在三重样本之间插入一个测地线距离。为了提高人脸识别模型的识别能力,提出了一种与(A)中测地距离Margin惩罚完全对应的additive angular边缘损失(ArcFace)。大量的实验结果表明,(A)策略是最有效的。

目前最强判别能力的深度人脸识别(文末附有源码)_git_05

如上图所示,DCNN特性与最后一个全连接层之间的点积等于特征和权重归一化后的余弦距离。利用反余弦函数来计算当前特征与目标权重之间的角度。然后,在目标角上加入一个additive angular余量,再通过余弦函数得到目标Logit。然后用一个固定的特征范数重新确定所有的逻辑,随后的步骤与Softmax损失中的步骤完全相同。

提出的新方法


ArcFace

最广泛使用的分类损失函数Softmax损失如下:

目前最强判别能力的深度人脸识别(文末附有源码)_git_06

Softmax并没有明确的将特征优化成正样本能够有更高的相似度,负样本能够有更低的相似度,也就是说并没有扩大决策边界。

提出的算法伪代码步骤如下:

目前最强判别能力的深度人脸识别(文末附有源码)_损失函数_07

在权重归一化之后,Loss只跟特征向量和权重之间的角度有关了,如下:

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_08

由于嵌入特征分布在超球面上的每个特征中心周围,在xi和Wyi之间增加了一个附加的角余量惩罚m,以同时增强类内紧性和类间离散性。由于所提出的additive angular余量与归一化超球面中的测地距离边缘惩罚相等,将该方法命名为ArcFace。

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_09

从包含约1500幅图像/类样本的8个不同身份中选取人脸图像,分别用Softmax和ArcFace损失训练二维特征嵌入网络。如下图所示,Softmax损失提供了大致可分离的特征嵌入,但在决策边界上产生了明显的模糊性,而提出的ArcFace损失可以明显地加强最近类之间的差距。

目前最强判别能力的深度人脸识别(文末附有源码)_损失函数_10

Comparison with SphereFace and CosFace


目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_11

在上图(b)中,绘制了SphereFace、ArcFace和CosFace的目标Logit曲线,并在它们的最佳边距设置下进行了绘制,只在[20°,100°]内显示这些目标Logit曲线,因为Wyi和Xi之间的角度从大约90°(随机初始化)开始,在弧形面训练期间结束在30°左右,如上图(a)所示。直观地说,目标Logit曲线中有三个影响性能的因素,即起始点、终点和斜率。

通过结合所有的边缘惩罚,实现了SphereFace,ArcFace和CosFace在一个以m1,m2和m3为超参数的统一框架中。

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_12

如上图(b)所示,结合上述所有的移动边距(cos(m1θ + m2)−m3),可以很容易地得到其他一些具有高性能的目标Logit曲线。

几何差异尽管ArcFace和以前的工作有数值上的相似之处,但由于角边缘与测地线距离有着精确的对应关系,所以所提出的additive angular边缘具有更好的几何属性。如下图所示,比较了二进制分类情况下的决策边界。所提出的ArcFace在整个区间内具有一个恒定的线性角边缘。相反,SphereFace和CosFace只有一个非线性角边缘。

目前最强判别能力的深度人脸识别(文末附有源码)_损失函数_13

Comparison with Other Losse

其他损失函数可以根据特征和权向量的角度表示来设计。例如,可以设计一个损失来加强超球面上类内紧致性和类间差异。如第一幅图所示,与其他三个损失进行了比较。

类内损失的目的是通过减小样本与ground truth中心之间的角度/弧来改善类内致密性。

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_14

类间损失的目标是通过增加不同中心之间的角度/弧度来增强类内的差异:

目前最强判别能力的深度人脸识别(文末附有源码)_git_15

实验及结果分析


数据集

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_16

在下表中,首先使用ResNet 50探索CASIA数据集上ArcFace的角度边距设置,在实验中观察到的最佳边缘是0.5。

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_17

此外,ArcFace在测试集上比Triplet有更加明显的边缘,如下图所示:

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_18

在下图中,通过简单的矩阵划分演示了并行加速的主要计算步骤,初学者可以很容易地掌握和再现这些步骤:

目前最强判别能力的深度人脸识别(文末附有源码)_损失函数_19

目前最强判别能力的深度人脸识别(文末附有源码)_git_20

简单矩阵划分并行计算。设置:RESNET 50,批次大小8*64,特征维度512,浮点为32,标识号为100万,GPU 8*1080ti(11 GB)。通讯费用:1MB(特征x),训练速度:800个样本/秒。

© THE END 



计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

目前最强判别能力的深度人脸识别(文末附有源码)_人脸识别_21


标签:人脸识别,特征,文末,损失,测地线,源码,类内,ArcFace
From: https://blog.51cto.com/u_15726357/5768028

相关文章