人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”

在开放集中进行人脸识别,理想的特征最大的类内差距应小于最小的类间差距。作者提出了angular softmax(A-Softmax)损失函数学习angularly discriminative features。在球面流形中增加判别约束,符合人脸分布在流形上的假设。此外,角度的边距使用参数m进行量化。改方法只改了损失函数,使用经典的CNN结构上训练人脸识别模型,在Megaface上获得排名第一。

一、复习一下人脸识别相关内容:
人脸识别分为人脸认证和人脸验证,人脸人证将人脸分类到某个ID,人脸验证时输入一对人脸,判断是否为同一个ID。人脸识别可以在闭集合和开放集合上测试,如下图所示。
人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”
在闭集合上测试,所有的需要测试的ID在训练集中都存在,这相当于将测试人脸分类到某个ID,人脸验证相当于对一对人脸分别识别,判断id是否为同一个。在开放集合中,测试id与训练id不重叠,此时一般提取人脸特征,人脸认证相当于probe和gallery中每个人脸进行验证。开放集合人脸识别是距离学习问题,核心是学习好的特征。好的特征使得最大的类内差距小于最小的类间差距。

二、softmax损失的问题
softmax损失仅学习分辨性不够强的特征,一些方法结合softmax loss和contrastive loss,center loss。FaceNet使用了triplet losss。center loss仅能使得类内紧凑。contrastive loss和triplet loss需要pair/triplet 挖掘过程,耗时。所有的这些方法都使用欧式距离。

三、改进的softmax损失
softmax 损失学习到的特征呈角度分布,说明欧式距离损失和softmax损失相容度不好。论文提出了角度距离。以二分类问题为例,softmax 损失决策边界为:
(W1W2)x+b1b2=0
论文约束||W1||=||W2||=1,b1=b2=0,决策边界成为:
||x||(cos(θ1)cos(θ2))=0,
其中θiWi和x之间的 夹角,新的决策边界只依赖θ1θ2,改进后的softmax损失可以直接优化角度,CNN可以学到呈角度分布的特征。这样第i类的特征相比其他类具有较小的θi

接下来将损失改到angular softmax,引入整数m,量化决策边界。对二分类问题,类别1和类别2的决策边界不一样,分别为:
||x||(cos(mθ1)cos(θ2))=0
||x||(cos(θ1)cos(mθ2))=0
m控制角度距离的尺寸,二分类问题可扩展到多分类问题,通过优化A-Softmax,决策区域分的更开,拉大了类间距离,压缩了类内距离。几种损失函数学到的特征分布如下图所示,
人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”

A-Softmax具有清晰的几何标识,学到的特征构建了一个角度距离判别法,等价于球流形上的geodesic距离,鉴于A-Softmax loss与球流形之间的联系,论文提出的方法成为SphereFace。欧拉距离损失,改进Softmax损失,A-Softmax损失的几何标识如下图所示,第一行为2D特征约束,第二行为3D特征约束。
人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”

论文使用的几种CNN网络:
人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”

实验结果
使用WebFace训练,训练使用的数据量是0.49M,与DeepFace,FaceNet,VGGFace相比很小。
引入整数m对识别结果的影响:
人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”

在LFW和YTF数据集上的对比:
人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”