当前位置: 代码迷 >> 综合 >> SphereFace: Deep Hypersphere Embedding for Face Recognition(人脸识别论文笔记)
  详细解决方案

SphereFace: Deep Hypersphere Embedding for Face Recognition(人脸识别论文笔记)

热度:46   发布时间:2023-12-18 11:04:14.0

这是一篇发表于2017年cvpr的文章,在open-set的人脸识别方面取得了非常令人瞩目的成果。

文章下载:https://pan.baidu.com/s/1rwyD1UUIHBhRzr7nA6v9Sw  密码:naur

Github:https://github.com/wy1iu/sphereface

纵览整篇论文,最重要的贡献是提出了新的损失函数(A-Softmax),并从几何学角度给出了直观的解释。

文章首先从人脸识别的一些基础概念开始介绍:

从识别的目的角度来说,Face Recognition可以分成两类:face identity and face certification。前者是1 to n的,即根据人脸的特征来判断当前测试者匹配数据库中哪个个体,后者是1 to 1的,对比测试的人脸和已有人脸判断是不是同一个人。

从testing protocol来看,人脸识别又可以分为close-set和open-set的:open-set中所有测试集的个体都是训练集里出现过的,判断测试者属于哪个训练集中个体,相当于是一个分类问题,每个个体是一类;close-set中所有个体都是没有在训练集中出现过的,更接近一个metric learning,主要目的是学习人脸的特征。open-set的人脸识别提取出的特征最重要的标准,是同一个体的特征距离尽可能小,不同个体特征距离尽可能大,最大的intra class distance 要小于最小的inter class distance。这个很重要,后面提出的众多优化方法都是基于这一标准的。


我们最经典的Softmax损失函数是这样的:(以二分类为例)


其中,x是特征,W和b是最后一层全联接层的权重和偏置,Wi代表对应第i个输出的权重矩阵的行。其决策边界是W1x+b = W2x+b。

根据向量点乘的公式,如果令||Wi||=1且令b=0,这个决策边界也可以写成:

x(cos θ?cos θ2)=0,其中θi是特征(全联接层输入)与Wi的夹角。这样得到的损失函数叫做modified softmax.

通过这样一个变换,我们发现metric learning的是对象已经从欧式距离变成了角度的距离(angular margin),这样并没有使特征的区分性更好,但是有一个好处,因为我们的面部实际上是坐落在一个流行上,而通过这个变化,输出特征也在一个超球面流形上了。

在此基础上,为了更好的类间距离,本文引入参数m,得到了新损失函数A-softmax:


对比三个损失函数:


m越大,类间距离越大,类内距离越小(如下图),所以为了保证分类效果,有一个m的下界,对于多分类问题,文中证明了m的下界是3。


随后就是实验环节,输入是MTCNN检测出的人脸,网络结构如下:


当然,对比各个方法,结果是非常不错的:





  相关解决方案