总所周知,LFW数据在人脸特征提取模型的验证上是一个基本的标杆,目前大部分的方法在上面的效果已经都超过了99%的验证准确度,但是单纯的测试模型在上面的准确度,并不能分析出模型的性能到底好多少?到底好在什么方面?(因为大部分模型的验证精度都差别很小了)。
出于以上原因,为了对比不同模型具体性能的差异,设计了如下分析方案:
1)计算LFW 6000对人脸对的验证相似度(其中3000组匹配人脸,3000组不匹配人脸);
2)分别统计3000组匹配人脸和3000组不匹配人脸的验证相似度(-1-1之间)的分布情况;
3)分析两种分布的特点,并得出结论。
这里主要对比四种人脸特征提取的方案:
1)centerloss
2)CosineFace
3)MobileFaceNet
4)Combined Margin loss
这四种模型均是利用webface、VGGFace2数据集重新训练复现得到。并且经过验证,在LFW上交叉验证的准确率依次为98.25%、98.81%、98.95%、99.43%。
其中CombinedMargin损失是SphereFace、CosineFace以及ArcFace三种损失函数的综合。
具体性能对比
下面的四幅图是四个模型在3000组匹配人脸和3000组不匹配人脸的验证相似度(-1-1之间)的分布情况,其中橙色的柱状图为3000对不匹配人脸的相似度统计分布,蓝色的柱状为3000度匹配人脸的相似度统计分布;
每种颜色的柱状都有10列,分别代表相似度得分在【-1-0.1】【0.1-0.2】【0.2-0.3】【0.3-0.4】【0.4-0.5】【0.5-0.6】【0.6-0.7】【0.7-0.8】【0.8-0.9】【0.9-1】的分布,每个柱子的纵坐标为在该区间上统计得到的数量。
举例说明(centerloss模型):
3000组不匹配人脸的验证相似度(橙色)在10个区间的数量分别为【1914,548,338,148,42,8,1,1,0,0】
3000组匹配人脸的验证相似度(蓝色)在10个区间的数量分别为【2,5,8,35,106,343,760,1080,596,65】
具体四种模型在lfw测试的性能分布图下四个图。具体分析见后面。
Centerloss
1)从峰值分布分析
从以上四幅图看出,四个模型在不匹配人脸的峰值都在【-1-0.1】这个区间,但峰值的大小来看CosineFace>Combined margin>MobileFace>centerloss
在匹配人脸的峰值依次在【0.7-0.8】【0.5-0.6】【0.6-0.7】【0.7-0.8】,总体来说centerloss>combined margin>Mobileface>cosineface
2)从分布的区间分析
四个模型在不匹配人脸的分布依次在【-1-0.8】【-1-0.4】【-1-0.5】【-1-0.5】,总体combined margin=cosinefac>Mobileface>centerloss
在匹配人脸的分布都在【-1-1】之间,但是仔细对比发现,Combined margin = centerloss>Mobileface>cosineface
3)从不匹配人脸相似度分布与匹配人脸相似度分布的交叉情况分析
从交叉范围和交叉数量可以看出交叉最严重的是centerloss。
依次对比应该是combined margin>cosineface>mobileface>centerloss
从以上细节对比,可以得出结论:
Combined margin得到的模型性能最好,能够让不匹配的人相似度尽量低,匹配的人相似度尽量高;并且不匹配和匹配的区分性能也更好,容易确定其分界面。
利用不同的对齐方式进行训练,不同损失函数得到lfw上的最新精度如下:
CosineFace:99.6%
MobileFaceNet:99.45%
CombinedMargin:99.51%
可以看出性能都有进一步提高,后面再详细解读最新训练的一些细节。