人脸识别论文列表

前言

提起人脸识别算法,首先必须提到LFW——一个人脸识别的公开测试集。在深度学习快速发展的初期(2014年左右),LFW是国内外人脸识别算法公司的擂台,facebook、百度、face++、商汤等一系列的企业以及学校纷纷刷榜,标榜自己的人脸识别算法天下第一。下面笔者带领大家来看一看lfw数据集到底是怎么样子的。

LFW风云录

LFW的测试集由6000对人脸图片组成,3000对属于同一个人,3000对属于不同人。这6000对测试对,每对计算一个得分,然后选定一个阈值,大于阈值为同一个人,小于阈值为不同人。这个阈值该如何选取呢?这里引进等错误率的概念,简单理解,选取同一个人分错的比例和不同人分错比例相等的阈值。我们平时看到的在LFW上识别率达到99%其实指的是,对这6000对判断的准确率达到了99%(即判断正确6000*0.99=5940对)。需要注意到LFW同一个人的标注中有5对是错误的,故理论上的最高准确率为(6000-5*2)/ 6000 = 0.998333。
这里写图片描述

LFW部分结果

随着深度学习的发展,在LFW上的结果也不断更新,如上表所示。笔者认为到现阶段(在LFW都是0.99+),LFW已经不能很好的体现人脸识别算法的能力,首先是LFW测试集本身量级太少,就6000对,0.1个百分点对应也就是6对图像;其次测试集为名人数据,有可能出现在训练数据中(爬虫处理等),例如中科院整理的训练数据集就有三个人和测试集一样;最后,对于国内的大多数厂家来说,实际应用的大多数还是中国人,在LFW数据集上表现好,在实际应用中效果不一定好,即算法在不同人种上表现是不一样的。

目前人脸识别比较权威的测试集是MS-Celeb-1M和megaface,在此上刷出成绩确实体现了算法能力。笔者认为,刷分是一方面,如果想实际应用,还是需要在应用场景中获取自己的测试集来测试,毕竟针对一个数据集来刷分会有很多trick,与实际应用还是略有不同,不要过分陷入刷分怪圈。

人脸识别通用框架

人脸识别的通用框架比较简单:
人脸检测,得到人脸图像在图像中的位置;
人脸对齐,一般是根据关键点的信息,将人脸图像进行仿射变换、缩放到统一大小(简单理解,例如根据人眼位置对齐);
特征提取,传统方式或是深度学习方法,本质是用特征对人脸图像进行表达;
特征比对,常见的是计算一个距离,例如用cos计算夹角;

人脸识别算法一览


  1. 《Blessing of Dimensionality: High-dimensional Feature and Its Efficient Compression for Face Verification》,简称high LBP(0.9517),深度学习算法前比较经典的算法。对图像分块,各种overlap,最后把LBP特征堆积起来(维度10W+),经行LDA、PCA处理,然后计算距离。
  2. Joint Basyesian:《 Bayesian Face Revisited: A Joint Formulation 》简称Joint Bayesian(0.9242),用的是最大化后验概率的方法,其中公式笔者记得以前推了好久,不详细介绍。目前有很多在深度学习提取特征之后继续用Joint Bayesian提高的方法。
  3. 《 Deepface: Closing the gap to humal-level performance in face verification 》,简称DeepFace(0.9735)。FaceBook基于3D人脸模型的设计,400W的人脸训练数据对当时来说也是属于海量数据了,也让业界清晰的认识到,来吧,推数据吧!
  4. DeepID三部曲系列,重点是《DeepID3: Face Recognition with Very Deep Neural Networks》,简称DeepID3(0.9745),用到了VGG和googleNet的网络结构。
  5. 《 FaceNet: A Unified Embedding for Face Recognition and Clustering 》 简称FaceNet,FaceNet的核心思想来说就是triplet loss。
  6. 《 A Discriminative Feature Learning Approach for Deep Face Recognition 》简称Center Loss,这个也是经过很多人实验认证确实work的一种方式。
  7. 《 Large-Margin Softmax Loss for Convolutional Neural Networks 》简称L-Softmax,在softmax上进行处理,目的是让不同类分的更开。
  8. 《 SphereFace: DeepHypersphereEmbeddingforFaceRecognition 》简称A-Sodtmax,是在L-Softmax上的改进。A-softmax loss简单讲就是在large margin softmax loss的基础上添加了两个限制条件||W||=1和b=0,使得预测仅取决于W和x之间的角度。
    最重要的ResNet笔者没有单独列出来,毕竟ResNet是通杀的,笔者就不刻意介绍。介绍了这么多,其实笔者认为最重要的还是数据。大量的数据加上ResNet加上center loss 或是 其他loss实验,效果不会差,剩下的细节就是各位在炼丹中的经验和trick了。
  9. 《Pose-Robust Face Recognition via Deep Residual Equivariant Mapping》新研究提出深度残差等价映射:由正脸加强侧脸识别效果。由于类别样本不均衡,人脸检测只在正脸识别上有优秀的表现,它们很难识别侧脸样本。香港中文大学和商汤科技等研究者提出了一种在深度表示空间中通过等变映射在正脸和侧脸间建立联系的方法,该方法的计算开销较少,但可以大大提升侧脸识别效果。
  10. 《CosFace: Large Margin Cosine Loss for Deep Face Recognition》面向深度人脸识别的增强边缘余弦损失函数设计。人脸识别的核心任务包括人脸验证和人脸辨识。然而,在传统意义上的深度卷积神经网络的softmax代价函数的监督下,所学习的模型通常缺乏足够的判别性。
    为了解决这一问题,近期一系列损失函数被提出来,如Center Loss,L-Softmax,A-Softmax。所有这些改进算法都基于一个核心思想:增强类间差异并且减小类内差异。
    在本文中,作者从一个新的角度来解决这个问题,并设计了一个新的损失函数,即增强边缘余弦损失函数(LMCL)。更具体地说,通过对特征向量和权向量的L2归一化,把softmax损失函数转化为余弦损失函数,这样做消除了半径方向的变化,并在此基础上引入了一个余弦边界值m来进一步最大化所学习的特征在角度空间的决策间距。因此,采用这种归一化和增强余弦决策边距的方法,能够更有效的起到最大化类间差异和最小化类内差异的作用。

原文链接:人脸识别知多少——人脸识别算法综述

猜你喜欢

转载自blog.csdn.net/liuweiyuxiang/article/details/80870827