论文:Deep Face Recognition: A Survey 阅读笔记

版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/m0_37263345/article/details/90550513

一、论文

Deep Face Recognition: A Survey 

https://arxiv.org/abs/1804.06655

二、论文笔记

Deep Face Recognition: A Survey 》目前到v8

分为人脸识别和人脸验证两种

人脸验证: 1:1

人脸识别: 1:N

流程

1、人脸检测(Face Detection)

2、人脸对齐(Face Alignment)

3、人脸特征表征(Feature Representation)

目前进行人脸识别之前还会做活体检测

三个时期

1、早期算法

(1)、 模板匹配

(2)、子空间算法( PCA( 线性降维技术)、LDA( 线性降维技术) 、 流形学习( 非线性降维)、 核(kernel)技术( 非线性降维

2、人工特征+分类器

(HOG、SIFT、Gabor、LBP)+ 传统机器学习算法

3、深度学习

前期:模型结构、输入数据优化

后期:集中在损失函数修改上

数据集及数据处理

方法

1)、one-to-many augmentation(训练集,测试集均可)

2)、many-to-one normalization(主要针对测试集,将采集的多张人脸合成一个)

途径:

CNN -> SAE ->3D ->GAN

损失函数

1、基于欧氏距离

压缩类内方差,增大类间方差

e.g.  contrastive loss  triplet loss  Center loss

2、基于角度/cosine

使特征中间有较大的角度或者cosine距离

e.g. L-Softmax  A-Softmax 

angular/cosinemargin-based loss, which used to achieve a better result on a

clean dataset, is vulnerable to noise and becomes worse than

Center loss and Softmax in the high-noise region. ????

3、softmax及其变种

Normalization of feature or weight

附录:

https://zhuanlan.zhihu.com/p/34404607

https://zhuanlan.zhihu.com/p/34436551

网络结构

Backbone Network:

(1)、主流结构(Alex  VGG   GoogLe  Res  Re) 

(2)、特殊结构

(3)、加入了检测、或者对齐模块的网络(比如在识别网络里加入空间转换模块,网络可以自动将图片中人脸位置姿态转换)

Assembled Networks

(1)、多输入网络(针对1对多的属于增强,比如对每一个增强有一个输入)(叉形,多输入单输出)

(2)、多任务网络(倒叉形,单输入多输出)(the task specific subnetworks are branched out to learn face detection, face alignment, pose estimation, gender recognition, smile detection, age estimation and FR)

训练方法

1)、测试集的所有人都在训练集了里出现过

当做分类问题来做(有一小部分数据集是这样)

2)、测试集的所有人没有在训练集了里出现过

更符合实际应用场景(几乎所有的数据集都是这种情况)

评估方法和指标

1、验证和识别的主流步奏:

根据提取到的特征计算L2距离、cosine距离,然后根据阈值或者1近邻法来做人脸验证或者人脸识别

2、指标

1)、人脸验证

ROC  ACC  TAR  FAR ?

虽然跑库的时候我们一般还是看Accuracy或者Recall,不过其实实际应用的时候更多的是会用TAR(True Accept Rate)和FAR(False Accept Rate)。

这个指标的意思是我们拿一对不同的人的照片去测试的时候,如果两个人的特征向量之差超过了设定的阈值(也就是把这两个人认成了同一个人)的次数比上所有不同的人的pairs的对比次数。也就是把不同的人识别成同一个人的概率啦。当然是越小越好

那么TAR则是表示正确接受的比例。就是同一个人的照片被判别为同一个人的概率。

一般我们会计算的是在FAR为多少(比如  )的情况下TAR为多少

2)、闭集人脸识别

rank-N  CMC ?

3)、开集人脸识别

DET  FPIR FNIR ?

复杂识别场景

1)、交叉姿势

2)、交叉年龄

3)、化妆人脸

4)、不同的光源

5)、低分辨率

6)、素描人脸识别

7)、Low-Shot Face Recognition(比如监视、训练集只有很少人)

8)、数据来源于不同的媒介

9)、视频人脸识别

总结

人脸识别的SOTA

影响算法性能的因素:

  1. 1、训练集:一般训练集类别数越多,图像数量越多,训练效果越好。此外训练集的收集和标注质量,不同类别的样本数量是否均衡,都对训练有影响。

  2. 2、CNN:一般CNN的容量越大,训练效果越好。CNN的模型容量参考ImageNet上的分类性能,与参数数量和运行速度并不是正比关系。

  3. 3、LOSS:这部分才是前面介绍的loss相关影响,特别注意,对比某个loss的性能提升,要综合考虑训练集和CNN,不能简单的看LFW上的识别率。

 

猜你喜欢

转载自blog.csdn.net/m0_37263345/article/details/90550513