The Elements of End-to-end Deep Face Recognition: A Survey of Recent Advances
人脸识别是计算机视觉社区中最基础和历史悠久的话题之一。随着深度卷积网络和大尺度数据集发展,深度人脸识别取得极大进步并且应用到许多领域。给定一个自然图像或者视频帧作为输入,一个端到端人脸识别系统输出人脸特征进行识别。 为了达到这个目标,整个系统通常由三个关键组件构成:人脸检测,人脸预处理和人脸表示。人脸检测定位出图像或者视频帧中的人脸;接着人脸预处理用于矫正人脸角度并且裁剪出一个归一化的像素尺寸;最后在识别阶段,从预处理后的人脸中提取具有判别性特征进行识别。这三个阶段由深度卷积网络完成。本文回顾近年来人脸识别中三个组件的进展。作为开始,我们介绍端到端人脸识别系统框架,接着分别回顾三个组件的进展,包含许多先进算法,评价指标,数据集,性能比较,挑战和进一步研究方向。我们希望这项调查能够为我们带来有益的想法,以便更好地了解端到端人脸识别的概况并以系统的方式进行更深入的探索。
1 简介
人脸识别是计算机视觉中一个广泛研究的话题。在人类生物识别技术的现有技术中,人脸识别是身份验证和监视系统等现实应用中使用最广泛的技术。根据数据模态可以分为基于2D图像和基于3D扫描方法,它们在发展和应用中不同。本文关注于基于2D图像端到端人脸识别,以图像或视频帧为输入,输出人脸特征表示。我们全面回顾人脸识别系统中核心的三个组件:人脸检测,人脸预处理和人脸识别。下面分别简要介绍每一个组件。人脸检测是人脸识别的第一步骤。旨在找到人脸区域。在深度学习之前,划时代意义的人脸检测工作是Viola-Jones[32]人脸检测器,基于Haar特征,使用AdaBoost分类器构建一个级联结构。后来一系列工作研究基于人工设计特征[7,165,172]和不同分类器【16,127,155】来提高检测性能。同时一些方法[59,281]研究DPM进行人脸检测。**读者可以从[304]中了解更多传统人脸检测方法。**近来,随着DCNNs发展,人脸检测变得更加鲁棒,可以更好适应大范围人脸姿态和遮挡。
接着,人脸预处理旨在矫正人脸到一个固定角度,同时裁剪出一个归一化尺寸,然后用于后续人脸特征表示。这是人脸识别系统中重要的中间环节。在本文中,我们介绍了两种主要的人脸预处理方法,即人脸对齐和人脸正面化。一般来说,人脸对齐是利用空间变换,参照面部关键点,将人脸扭曲到一个规范的位置。因此,人脸定位是人脸对齐的必要步骤。大多数传统的面部地标定位研究都集中在生成方法[36,37]或识别方法[158,354]上,并且有一些关于它们的详尽调查[100,249,371]。有些方法没有利用人脸关键点,而是直接从输入的人脸生成对齐的人脸。另外,人脸正面化研究从非正面输入合成正面人脸,这是处理大姿态人脸识别的常用方法。在人脸识别阶段,从预处理后的人脸中提取出具有判别性特征。这是人脸识别最后也是核心步骤。在早期研究中,许多方法都是通过将面部图像投影到低维子空间中来计算面部表示的,例如Eigenfaces [229]和Fisherfaces [12]。后来,更多的基于局部描述符的手工制作方法[3,137]出现在人脸表示中。对于这些传统方法的详细回顾,可以参考[6,233,312]。最近,人脸表示受益于DCNN的发展,见证了高性能人脸识别的巨大进步。本文研究关注于近来每一个组件的进展。人脸识别的性能取决于所有组件的贡献,也就是任意一个组件性能不佳都会损害最终的表现。为了建立一个高性能端到端人脸识别系统,有必要讨论每一个组件及其相互影响。前面出现很多人脸识别综述工作,本文工作与他们的差别在表1中。
特别的,早期综述[6,233,312]没有包含基于深度学习方法;另外,[15,206]关注于3D人脸识别和特殊任务[48,369]。本文关注2D人脸识别,这在实际应用中最广泛。[181]回顾三个组件的进展但是不包含近年来发展的技术。如图1所示,近年来出现了大量的工作。
[246]系统研究深度人脸识别,但他们关注深度人脸表示,并且基于训练损失进行分类是不全面的。例如,他们通过基于欧几里得距离的损失,基于角/余弦余量的损失,softmax损失及其变化对深度人脸表示的监督学习进行了分类,但是,几乎所有基于角度/余弦余量的损失都实现为 softmax损失的变化,而不是单个集合的变化。我们建议一个更加合理的分类如5.2部分。[2]研究基于传统和深度学习的2D和3D人脸识别,但是缺少人脸表示。总之,人脸识别技术需要系统全面的回顾三个组件,但是很少有工作做到.因此本文系统回顾基于深度学习方法的每一个组件。回顾内容包含算法设计,评价指标,数据集,性能比较,挑战和发展方向。本文贡献如下:
- 全面回顾基于深度学习的端到端人脸识别系统的三个组件:人脸检测,人脸预处理和人脸表示
- 从多个角度讨论三个组件:算法,评价标准,数据集,性能等等。
- 我们进一步整理现存挑战和发展方向。
2.概述
如图2所示,人脸识别系统包含人脸检测,人脸预处理和人脸表示三个部分。人脸表示用于计算二者相似性,以进一步判断人脸是否属于同一个个体。
我们针对这三个要素来构造正文部分(第3、4、5节),每个要素都是一个研究主题,涉及计算机视觉方面的大量文献。在本节中,我们简要概述了这三个要素,并在以下正文部分中深入探讨了这三个要素。人脸检测需要找到图像中所有人脸多位置,返回边界框和置信度,第三部分详细讨论了人脸检测技术。人脸预处理根据人脸关键点进行对齐,通常情况下使用图3中四点和五点进行对齐。
3.人脸检测
人脸检测代表性的发展如图4所示。下面首先把人脸检测技术进行分类,然后介绍人脸检测数据集和常用评价指标,最后是人脸检测挑战和方向。
3.1 人脸检测分类
图4 人脸检测发展,表2把人脸检测技术划分为基于多阶段,单阶段,基于anchor,anchor-free,多任务,CPU实时和面向问题的方法。
图5 单阶段和多阶段人脸检测器比较
表3 CPU实时人脸检测器比较
3.2 评价指标和数据集
表4人脸检测数据集评价指标:AP,IoU,ROC,FPS,
图6是WIDER FACE是先进的方法PR曲线。
3.3挑战和方向
运行实效性
图像变化
有效和统一的anchor设置
anchor-free 人脸检测框架
高效检测框架
4.人脸预处理
给定人脸检测区域,人脸预处理用于矫正人脸。图7是人脸预处理方法进展,表5是预处理方法分类。
4.1 基于关键点人脸对齐
图8是沙漏网络用于关键点定位。
图9是3D模型用于人脸对齐。
图10是不基于关键点对齐工作。在一个可训练网络中同时进行人脸对齐和表示。
图11人脸正面化,从侧脸合成正脸。
表6是人脸关键点数据集
评价指标归一化平均误差NME
图12是300W数据集上不同方法性能比较
5.人脸表示
人脸表示的目标是把对齐的人脸映射到特征空间,其中相同主体的特征尽可能相似,不同个体之间特征尽可能不同。在实际应用中,人脸识别包含人脸认证和人脸识别。人脸认证是指预测一对面部图像是否属于同一身份。人脸识别可以被认为是人脸认证的扩展,其目的是确定一组身份(即画廊)中人脸的特定身份(即探针);此外,在开放式面部识别的情况下,需要先前的任务,其任务是预测面部是否属于画廊身份之一。无论是哪一个任务,都需要人脸表示用于计算人脸相似性。
图13 人脸表示的训练和测试阶段
图14人脸表示发展
表7人脸表示方法分类
表8 在LFW和MegaFace数据集上人脸识别性能对比。
表9深度人脸识别常用训练和测试集
6.讨论和结论
表10深度人脸识别中主要挑战
在这项调查中,我们系统地回顾了端到端深层人脸识别要素的最新进展,这些要素包括人脸检测,人脸预处理和人脸表示。尽管有很多关于人脸识别的调查,但它们主要关注人脸表示问题,而没有考虑其他渠道因素的相互影响,而本次调查是第一个对端到端深度要素进行全面回顾的调查人脸识别。我们从多方面对每个元素中的许多方法进行了详细的讨论和比较。此外,我们分析了现有挑战并收集了它们的某些有前途的未来研究方向。此外,我们讨论了它们的相互作用以及整体框架的未来工作。我们希望这项调查能够为我们带来有益的想法,以便更好地了解端到端人脸识别的概况并以系统的方式进行更深入的探索。
微信公众号
如果你绝对本文对你有帮助,欢迎关注微信公众号计算机视觉前沿获取更多精彩内容,每天进步一点点,小编等你来!
- END -