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 -

teleport 组件的作用_人脸识别综述! 覆盖人脸检测,预处理和特征表示三大核心组件!...相关推荐

  1. teleport 组件的作用_承德专业做链轮组件哪家好

    承德专业做链轮组件哪家好 yjkss9 承德专业做链轮组件哪家好 通常加工企业为了保证圆弧和倒角的糖确度,般会采用数控装迓进行加工.进而保证元件加工的精确.第三是清洗作用:在金属切削过程中,要求切削液 ...

  2. teleport 组件的作用_新发现!新型焊带助组件输出功率增加2.1%

    广告位招租 银金属化浆料制造商Heraeus用一年多的时间在户外测试,结果表明,其与 Ulbrich Solar Technologies合资生产的新型选择性涂层焊带提高了光伏组件的输出功率. Her ...

  3. teleport 组件的作用_对于组件的可重用性,大佬给出来6个级别的见解,一起过目一下

    我们所有人都希望编写更少的代码,同时也要做更多的事情.为了实现这一点,我们构建了组件,以便可以多次重用它们. 有些组件只需要基本的可重用性,而另一些则需要更复杂的重构技术,我们才能充分复用它. 这里有 ...

  4. face recognition[翻译][深度人脸识别:综述]

    这里翻译下<Deep face recognition: a survey v4>. 1 引言 由于它的非侵入性和自然特征,人脸识别已经成为身份识别中重要的生物认证技术,也已经应用到许多领 ...

  5. 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述

    原标题:计算机视觉方向简介 | 人脸识别中的活体检测算法综述 本文转载自"SIGAI人工智能学习与实践平台"(ID:SIGAICN) 导言 1. 什么是活体检测? 判断捕捉到的人脸 ...

  6. 人脸检测和人脸识别综述(调研)

    5_人脸检测和人脸识别综述(调研) 一.人脸检测 1.基于知识的方法 2.基于模板匹配的方法 3.基于统计模型的方法 4.人脸检测的评价指标 4.人脸识别方法的对比 5.人脸检测目前和未来的研究方向和 ...

  7. 基于深度学习的人脸识别综述

    本文转载自 https://xraft.github.io/2018/03/21/FaceRecognition/ (作者:Caleb Ge (葛政)),如有侵权请告知删除. (下文中的"我 ...

  8. lacp静态和动态区别_静态人脸识别和动态人脸识别有哪些区别

    人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术.随着人脸识别技术的发展,在不同的实际应用场景会有不同的种类,比如说静态人脸识别和动态人脸识别,可应用在不同的场景中.这两者有哪些区别呢? ...

  9. 万字长文:人脸识别综述(学习笔记)

    人脸的检测与识别是一个历史悠久的方向,之前没做过相关的工作,所以对人脸检测的相关流程没有很清晰的概念.工作原因,近期对人脸识别的来龙去脉做一个笔记和知识梳理,从上到下的一个pipeline,文章部分内 ...

最新文章

  1. 10只机器狗拉卡车!井然有序,毫不费力 | 极客头条
  2. 3.7.1 读取输入
  3. 200528更新arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1...
  4. 关系数据库SQL之可编程性存储过程
  5. [Python人工智能] 三十二.Bert模型 (1)Keras-bert基本用法及预训练模型
  6. Id vs Instancetype
  7. 直播行业运维关注的流程图
  8. Oracle11g新特性:在线操作功能增强-Oracle11g在线重定义功能对物化视图... (转载)
  9. mysql fetch field_PHP mysql_fetch_field() 函数
  10. 在浏览的地址栏中,直接调用js「javascript:alert(hello wrold);」。
  11. editor修改样式 vue_vue修改富文本中的元素样式
  12. MigrationSchemaMissing: Unableto createthe django_migrations
  13. cad快速看图 2021
  14. MapServer+OpenLayers5+Vue实现栅格图层数据查询
  15. qqc什么梗_网络语cpdd是什么意思 王者荣耀QQ飞车里很常见
  16. mt6739耳机通道配置外置功放
  17. Learning Image Conditioned Label Space for Multilabel Classification
  18. 5v功放芯片哪个音质好
  19. Java 枚举类型的应用
  20. vue 项目中使用wangEditor上传图片视频到oos

热门文章

  1. 05_SpringCloud整合声明式HTTP客户端-Feign
  2. Windows环境 下载、安装、使用 RabbitMQ_(入门试炼_第1篇)
  3. Vue---淘宝镜像cnpm---安装vue-cli
  4. 平板电脑可以开发php吗,PHP代码判断设备是手机还是平板电脑(两种方法)
  5. wxpython富文本_去除富文本编辑器中的标签
  6. C语言 sizeof 函数 - C语言零基础入门教程
  7. java函数式编程 map_函数式编程-对Java 8流进行分区
  8. axis2接收json_AXIS2 如何返回JSON数据
  9. 求Sn = a+aa+aaa+...+aaaaaa(n个a),其中a是一个数字,n代表a的位数,例如 2+22+222+2222+22222(此时n=5),n由键盘输入。
  10. linux服务器做页面,linux服务器搭建在线预览环境