人脸识别之SphereFace

论文:SphereFace: Deep Hypersphere Embedding for Face Recognition

首先,需要先科普一下在训练和测试人脸识别分类器的时候经常被提到的Open-set 和Close-set。Figure 1是一个直观的展示。

close-set,就是所有的测试集都在训练集中出现过。所以预测结果是图片的ID,如果想要测试两张图片是否是同一个,那么就看这两张图片的预测ID是否一样即可。

open-set,就是测试的图片并没有在训练集中出现过,那么每张测试图片的预测结果是特征向量,如果想要比较两张图片的人脸是否属于同一个人,需要测试图像特征向量的距离。

人脸识别之SphereFace_第1张图片

该论文主要是解决Open-set数据集上的人脸识别任务。理想的Open-set人脸识别学习到的特征应当在特定的度量空间中,满足同一类的最大类内距离小于不同类的最小类间距离。然而softmax loss仅仅能够使得特征可分,还不能够使得特征具有可判别性。尽管有一些方法通过结合softmax loss和 contrastive loss,center loss去提高特征的可判别性,但是contrastive loss和center loss需要精心地构建图像对和三元组,不仅耗时而且构建的训练对会对识别性能影响很大。因此,在这篇论文中,作者提出了angular softmax(A-Softmax)loss。

对于一个二分类的softmax的决策边界是,如果限制,那么边界决策函数就就可以变形为, 其中是权重向量和特征向量之间的夹角,那么这个边界决策函数仅仅由所决定,因此损失函数关注的是特征的角度可分性。在此基础上,作者又引进了一个整数变量m(m>=1),m控制着角度间隔,对类别1和类别2的边界决策函数变形为。这就是二分类的A-Softmax loss。Table 1罗列了softmax Loss ,modified softmax loss和A-softmax loss 在二分类的情况下的边界决策函数的形式,Figure 2 则是效果展示。虽然是二分类形式,但是也可以一般化成多类别的分类。

人脸识别之SphereFace_第2张图片

人脸识别之SphereFace_第3张图片

上面以二分类的情况作为一个例子,下面就开始描述一般化的形式。

对于输入特征和它的标签,softmax loss的一般化函数可表示如下


其中N表示训练样本的次数,卷及网络中,f通常是全连接层W的输出,所以,将f函数带入,可以将公式变换为如下:

                                                    人脸识别之SphereFace_第4张图片

然后,在每一次迭代中归一化权值并且将偏置 biases 设置为0,那么就可以得到 modified softmax-loss,公式如下所示:


虽然可以通过modified softmax loss学习特征,但是这些特征不一定可判别。为了进一步将强特征的可判别性,作者将角度距离加入到损失函数中,即A-Softmax loss,一般化的公式如下:


其中,的范围为,为了消除该限制,并能够在CNN中最优,定义角度函数扩展的定义范围,这个函数在区间内等价于,因此A-softmax的公式可表示为:


其中。可以看出,当m=1时,A-softmax loss就变成modified softmax loss。当m增大时,角度距离也会增加,当m=1时,角度距离为0. 从决策函数角度解释A-softmax loss,A-softmax loss 对于不同的类别采用了不同的决策函数,每个决策函数比原始的更加严格,因而产生了角度距离。

总的来说,论文中的A-softmax loss并不是新的loss,只是在原始的softmax loss的基础上做了改进,加入整数m,产生了角度距离,结果表明这个角度距离可以使得特征具有可判别性,而且m越大,可判别性就越大。



你可能感兴趣的:(人脸识别,机器学习和深度学习之旅)