SphereFace论文学习

提出A-Softmax损失函数增强特征角度可分性,适用于开集人脸识别,实验显示m值越大,准确率越高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文 《SphereFace: Deep Hypersphere Embedding for Face Recognition》
代码: https://github.com/wy1iu/sphereface

摘要

论文主要是针对开集的人脸识别任务,在超球面上做到特征分布高内聚、低耦合。作者提出了一种新的损失函数,叫做angular softmax(A-Softmax)。

简介

这里写图片描述
闭集的人脸识别是一个分类问题,只需要特征是可分的即可;开集的人脸识别更加符合实际业务需要,本质上是一个度量学习的问题,需要学习到有判别力的大间隔的特征。

理想的开集人脸识别学习到的特征需要满足的条件是在特定的度量空间内,需要同一类内的最大距离小于不同类之间的最小距离。然后再使用最近邻检索就可以实现良好的人脸识别和人脸验证性能。

center loss只是强调了类内的聚合度;对比损失和三元组损失需要精心地构建图像对和三元组,耗时并且构建的训练对的好坏直接影响识别性能。

一般都是想在欧式空间中学习到有判别力的特征,作者提出了一个问题:欧式空间的间隔总是适合于表示学习到了有判别力的特征吗?
这里写图片描述
在上图中,对于一个二分类的softmax,决策边界是 (W1W2)x+b1b2=0 ,假如定义 ||W1||=||W2||=1,b1=b2=0 ,那么决策边界的形式变换为 ||x||(cos(θ1)cos(θ2))=0 ,这样设计的损失函数直接关注的是特征的角度可分性,使得训练出的CNN学习到具有角度判别力的特征。

作者在修改的softmax的基础上进一步加强了限制条件设计了A-Softmax,引入了一个整数m加大角度间隔。决策边界变形为 ||x||(cos(mθ1)cos(θ2))=0||x||(cos(θ1)cos(mθ2))=0 。通过最优化A-Softmax,决策区域更加可分,在增大类间间隔的同时压缩了类内的角度分布。

核心思想

三种softmax函数的决策边界对比
这里写图片描述

softmax-loss

二分类的softmax输出:
这里写图片描述
Wibii
p1>p2 ,样本x属于类1; p1<p2 ,样本x属于类2。
根据上面的公式,其实就是在比较 WT1x+b1WT2x+b2 ,因此决策边界就是 (W1W2)x+(b1b2)=0 .
这里写图片描述

这里写图片描述

Modified softmax

由于 WTix+bi=||WT||||x||cos(θi)+bi 假如对权重进行归一化 ||Wi||=1 ,对偏置项置零 bi=0 ,那么 p1=||x||cos(θ1),p2=||x||cos(θ2) ,所以究竟分成那一类就取决于x与 W1W2 哪个的夹角较小。决策边界也就变成了 cos(θ1)cos(θ2)=0 。多分类的情况下,分类边界也是同样的。
这里写图片描述

A-softmax

A-softmax是在modified softmax的基础上添加更严格的限制,即要求 cos(mθ1)>cos(θ2)cos(mθ2)>cos(θ1) ,其中m是大于1的正整数。决策边界也变为了 cos(mθ1)=cos(θ2)cos(mθ2)=cos(θ1) 。假如所有的训练样本都被正确分类,那么就会产生一个角度为 m1m+1θ12 的margin,其中 θ12 W1W2 之间的角度。对应的损失函数变形为
这里写图片描述
θyi[0,πm] ;
泛化形式为:
这里写图片描述

这里写图片描述
最优化A-Softmax损失本质上是使得学习到的特征在超球面上更加具有可区分性。

A-Softmax损失的性质

  1. m越大,损失函数最优化的难度越大,形成的角度间隔越大;
  2. 由于要使得同类的最大角度分布小于最小的不同类之间的间隔,所以m的取值有下限。对于二分类的情况, mmin2+3 ;多分类情况下, m3 ;求解过程可以参考https://www.cnblogs.com/heguanyou/p/7503025.html#_caption_5
    实验中,作者一般使用m=4.

实验

预处理:MTCNN人脸检测和特征点提取;减127.5除128处理图像。
使用余弦距离比较图像提取的特征的相似度;
所有的测试图像的特征都是原始人脸图像的特征和水平翻转之后的人脸图像的特征的连接向量作为最终特征。

m越大,准确率越高

这里写图片描述

这里写图片描述

A-Softmax准确率全面超越Softmax

这里写图片描述

对比其他算法

这里写图片描述

这里写图片描述

附录

移除倒数第二层的ReLU

移除倒数第二层(一般为全连接层)的ReLU,学习到的特征分布不被限制在第一象限,学习到的特征分布更加合理。
这里写图片描述

权重归一化的作用

归一化权重可以减小训练数据不均衡造成的影响。
这里写图片描述
权重矩阵的第i行 Wi 表示第i类的系数,作者观察到第i类的训练样本数和 Wi 的权重的范数正相关,这是一个先验信息。作者认为 Wi 的范数主要取决于第i类训练样本的数量和分布情况。
对于人脸验证的任务和开集人脸识别的任务而言,测试图像的类是从未在训练样本中出现过的,所以应该消除上述先验信息。具体的做法就是归一化和softmax函数直接连接的全连接层的W。

偏置项置0

偏置项置0,主要是为了方便几何分析。作者分析了预训练的CASIC的模型,发现大部分的偏置项取值都是0;还对比了在MNIST上加不加偏置项,学习到的特征分布基本没什么变化。

可视化在MNIST数据集上通过A-Softmax loss学习到的特征分布

这里写图片描述

AFS Score

这里写图片描述

每一个idea有多大的作用

这里写图片描述

不同网络在MegaFace上的作用

这里写图片描述

A-Softmax的近似最优化策略

这里写图片描述
初始时, λ 取值较大,A-Softmax近似于原始的Softmax;随着训练过程进行,减小 λ λ 越小,训练难度越大,产生的训练效果越好.一般 λ 逐渐减小到5。

A-Softmax 于 L-Softmax对比

转载自:https://www.cnblogs.com/heguanyou/p/7503025.html#_caption_5
这里写图片描述
这里写图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值