ArcFace: Additive Angular Margin Loss for Deep Face Recognition pdf
多分类器
Margin-Loss, Intra-Loss, Inter-Loss 输入样本一个,后接softmax多分类,最后的全卷积层权重Wj对应超球空间中一个类别的centre。
- intra-loss是当前样本embedding feature 向量跟类别centre 之间夹角的batchsize求均值。
- inter-loss是当前样本 对应的类别centre, 与所有其他类别centre and ,是类别的个数。
- margin-loss是当前样本embedding feature 与自身类别, 及与其他类别之间的角度均值。
基于Matching(distance)
- Triplet-loss输入样本对(共3个样本,其中2个属于同一类),不进行多分类,没有softmax-loss,仅仅对输入的3个embedding feature vectors根据距离函数计算距离,loss使得该输入样本的类内距离比类间距具有margin间隔。
- 学习类间间隔,使得类间更加分离;
- 学习feature embedding(弧度/角度空间惩罚),使得类内更加汇聚。
- 略去arccos+angular margin惩罚的NS,所学习到的embedding feature的统计中心和类别中心并不重合,说明类内特征比较发散。
- 类内loss减小类内角度的同时也减小了类间,效果不好
- 类间loss增大类间的同时也增大了类内,效果不好(loss直接更新,间接影响embedding feature 的生成)
- Triplet loss同时考虑了类内和类间,物理意义很好但是训练之后并没有学到相应的效果, learning process
出发点都很好,但是从结果来看arcface的类内类间angular margin 更加的明显。
arcface 的loss仅仅是显示的对类内角度进行了惩罚,如果结合类间的inter-loss效果会不会更好?
作者实验结果是差别不大,甚至有波动会变差,可能因为一个loss项在不同阶段会影响另一个loss项的权重发挥。
不同的数据库有不同的难度,姿态、光照、年龄、规模等等。In the following figure, we illustrate the angle distributions (predicted by ArcFace model trained on MS1MV2 with ResNet100) of both positive and negative pairs on LFW, CFP-FP, AgeDB-30, YTF, CPLFW and CALFW.
We can clearly find that the intra-variance due to pose and age gaps significantly increases the angles between positive pairs thus making the best threshold for face verification increasing and generating more confusion regions on the histogram.
[MS1MV2, ResNet100, ArcFace] [training dataset, network structure, loss]
在MS1MV2库上训练,在其他库上verification,统计matching pair的角度分布。
image->ResNet->featuremaps->high dimensional feature vector->512-d embedding feature vector ~