人脸识别之数据、网络结构、损失函数

基于深度学习的人脸识别发展,已经基本趋于成熟,业界比较成熟的人脸1:N应用总结如下:

https://blog.csdn.net/intflojx/article/details/81278330

凡是基于识别的,总是离不开三个东西:数据,网络,以及loss。

数据方面

目前的公开数据集中有主打类别数的MS_celeb_1M,有主打各种姿态角与年龄的VggFace2;也有一些主打高质量的数据集,像WebFace,MS-20K。除了公开数据集之外,图片生成领域也有不错的成果,例如基于三维人脸模型生成不同姿态角的人脸图片,利用GAN生成不同人脸角度或者属性的图片(StarGAN,TPGAN)。

网络结构方面

从最开始的浅层网络lightCNN到后面的ResNet,Inception-ResNet,ResNeXt以、SeNET以及mobileNet,都是针对识别而设计的网络,而并非针对人脸识别设计的网络,所以一些网络在人脸识别里带来的提升没有ImageNet那么明显。

由于人脸识别相对于一般的识别问题,存在人脸对比这样一个需求,这就将人脸识别的主要方向变成了metric learning问题而并非简简单单的分类问题。而近几年学术上的发展也基本是围绕loss function展开,除了像google,baidu这些拥有海量人脸数据的论文,focus点基本都在一个问题上:如何在有限的数据集上得到更高的精度。

loss function,

如果光看loss function,从softmax,contrastive loss,triplet loss,center loss,normface,large margin loss , Asoftmax loss , coco loss,以及今年的AM,AAM,InsightFace。

这些在聚类上大致上可以分为下面两个类:

1.单纯聚类:contrasitve loss,center loss,normface, coco loss

2.加Margin聚类:triplet loss,large margin loss,Asoftmax loss,AM,AAM,InsightFace

在距离度量上可以分为下面两个类:

1.欧式距离:contrastive loss,center loss,normface,triplet loss

2.cosine距离/角度距离:large margin loss,Asoftmax loss,coco loss,AM,AAM,InsightFace

可以看到,目前的主要方向,在从euler距离往cosine距离发展的同时中间出现了像normface,sphereface,coco loss这些进行了Feature Normalization,Weight Normalization操作的loss,但是这几篇论文,除了sphereface稍稍介绍了缘由之外,其余的更像是一个实验性的结果,没有办法从理论上来说明。

下一篇:人脸识别的LOSS(多分类Softamx)

猜你喜欢

转载自blog.csdn.net/intflojx/article/details/82377939