文章目录
前言
人脸识别算法相对来说已经很成熟了,基于深度学习的FR可以分为两部分,一是特征提取,二是Loss,其中Loss是各FR算法改进的重点。
总的Loss进化路线是:类间→距离+中心→距离+角度
框架参考此处
归一化意义参考此处
一、Softmax Loss
Softmax Loss是分类中最常见的Loss,用于将同类的数据聚在一起,随着Loss的减小(括号内的值趋于1,log1=0),调整参数W和b,现有的人脸Loss基本都是以Softmax Loss为base。虽然Softmax能正确分类,但没有考虑类间的距离。
二、Triplet Loss
其中Margin如下:
Triplet Loss需要确定Margin参数,Margin的作用用于实现约束,即:最大的类内距离 < 最小的类间距离这样就增大了类间距离,减小了类内距离。这个Loss比较老,但这种思路目前在很多方向上还是值得借鉴的。
三、Center Loss
Tatal Loss = L + 入Lc
Center Loss提出了每个类都有其类中心,将样本和类中心的距离也计算了Loss,这样就减小了类内距离,增大了类间距离,入参数控制类内的紧密型,入越大,类内就聚合得越紧密。
归一化后:
可见归一化后不同类的角度是不会重叠的。
四、L-softmax
L-softmax在softmax的基础上增加了角度约束,弥补了softmax不能缩小类内距离的缺陷:
把其中的cosθ改成cos(mθ),因为cos(∞)趋于0,所以m越大,margin越大。
五、SphereFace(A-Softmax)
A-Softmax在 L-softmax的基础上将权重W做了归一化 ||W|| = 1,b = 0
A-Softmax实验证明了类别样本相对越多,模长越大,所以对权重W做归一化可以减小样本数量多少的影响。
归一化后:
五、CosFace(Additive Margin Softmax)
相比于A-Softmax,Additive Margin Softmax对特征也做了归一化,同时增加了Margin。
六、ArcFace(Addictive Augular Margin Loss)
相比于Additive Margin Softmax利用余弦距离,Addictive Augular Margin Loss直接利用了角度距离,其经典性导致目前后继者无出其右
后记
也有最近出来的将多分类变二分类再结合Triple Loss的SphereFace2等。目前做人脸Loss的创新大不如以前,后继者可以考虑做人脸热图像、血氧图等方面的创新。