文章目录
- 第一部分:人脸关键点检测历年论文汇总
- 1.1 2013 年以前
- 1.2 2013 年
- 1.3 2014 年
- 1.4 2015 年
- 1.5 2016 年
- 1.6 2017 年
- 1.7 2018 年
- 1.7.1 CVPR 2018: Wing Loss —— Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks
- 1.7.2 CVPR 2018: LAB —— Look at Boundary: A Boundary-Aware Face Alignment Algorithm
- 1.7.3 CVPR 2018: SBR —— Supervision-by-Registration: An Unsupervised Approach to Improve the Precision of Facial Landmark Detectors
- 1.7.4 CVPR 2018: SAN —— Style Aggregated Network for Facial Landmark Detection
- 1.8 2019 年
- 第二部分:知识补充
第一部分:人脸关键点检测历年论文汇总
1.1 2013 年以前
主要是传统方法,如 ASM、AAM等。
1.2 2013 年
1.2.1 CVPR 2013: DCNN —— Deep Convolutional Network Cascade for Facial Point Detection
文章作者:Jian Sun et al.
创新点:
- 这是 CNN 首次被用到人脸关键点检测中。
- 提出了一种级联的 CNN 架构,level-1 的设计解决了传统人脸关键点检测 (如 AAM,ASM 等) 的初始化问题 —— 若关键点初始化不当,算法容易陷入局部最优。
具体细节参见:
- 优快云. 深度学习(十五)基于级联卷积神经网络的人脸特征点定位 (重要!详细版)
- 优快云. 人脸关键点: DCNN - Deep Convolutional Network Cascade for Facial Point Detection (重要!精简版)
1.3 2014 年
1.3.1 ECCV 2014: TCDCN —— Facial Landmark Detection by Deep Multi-task Learning
作者:香港中文大学汤晓鸥团队
出发点:人脸关键点的检测会受到其他任务或因素的影响,比如人笑的时候嘴巴可能是长大的;头部偏转角度大时,瞳孔距离会变小。如果能够挖掘这些和人脸属性相关的信息,或许就能够为人脸关键点的检测提供帮助。
创新点:
- 将 MTL (Multi-Task Learning,多任务学习) 结合 CNN 应用到人脸关键点检测中。
- 针对多任务学习在人脸关键点检测任务中的两个主要问题 —— 不同任务学习难易程度不同以及不同任务收敛速度不同,分别提出了新的多任务学习的目标函数以及 Early Stopping 机制(详见下面的参考链接)。
参考资料:
- 优快云. 人脸关键点:TCDCN-Facial Landmark Detection by Deep Multi-task Learning (重要)
- 优快云. 多任务学习 “Facial Landmark Detection by Deep Multi-task Learning”
1.4 2015 年
1.5 2016 年
1.5.1 ECCV 2016: Stacked Hourglass —— Stacked hourglass networds for human pose estimation
关于这篇论文的解读:
- 知乎. 论文笔记Stacked Hourglass Networks (重要)
- 优快云. 论文解读-Stacked Hourglass Networks for Human Pose Estimation
摘录:
- Hourglass 模块是一种对称的结构,这种网络结构设计的初衷是为了捕捉各个尺度下的信息。它由一个 bottom-up 结构和一个 top-down 结构组成。其中,bottom-up 结构负责将图片从高分辨率降到低分辨率,top-down 结构负责将图片从低分辨率升到高分辨率。
- 在 Hourglass 结构中,通过卷积和 max pooling 可以将 feature map 降低到一个很低的分辨率。在每一个 max pooling 中,网络将产生分支,用于后续的特征融合。当下采样过程达到最低分辨率时,网络便开始进行上采样,同时融合不同尺度下的特征。在这篇论文中,用到的上采样方法是最近邻插值,之后再将两个 feature map 按元素位置相加。当上采样过程到达输出分辨率的时候,再接两个 1 x 1 的卷积层来进行最后的预测,最终输出一组 heatmap。对于给定的 heatmap,网络预测在每个像素处存在关节的概率。
1.5.2 ECCV 2016: RED —— A Recurrent Encoder-Decoder Network for Sequential Face Alignment
关于这篇论文的讲解:
摘录:
- 这篇论文是基于连续视频帧构建一个 recurrent encoder-decoder 模型,来进行由粗到精地人脸关键点回归。
- encoder-decoder:编码阶段先做特征学习,解码阶段做关键点回归。
- recurrent:利用视频连续帧的信息,完成由粗到精地回归。
1.6 2017 年
1.6.1 CVPR 2017: DAN —— Deep Alignment Network: A convolutional neural network for robust face alignment
DAN 依旧是一个级联模型。
创新点:
- 与以往的级联模型不同,DAN 输入的是整张人脸图片,克服了头部姿态以及初始化带来的问题。
- DAN 提出了 landmark heatmap 的概念。
详细内容参考:
- 优快云. 人脸关键点:DAN - Deep Alignment Network: A convolutional neural network for robust face alignment
- 优快云. 人脸关键点检测9——DAN
1.6.2 CVPR 2017: Stacked Hourglass Network —— Stacked Hourglass Network for Robust Facial Landmark Localisation
自 2016 年 stacked hourglass 结构被用在 pose estimation 中之后,2017 年,这一结构又被引入到人脸关键点检测中,证实了这一结构强大的提取多尺度特征的能力。
参考:
1.7 2018 年
1.7.1 CVPR 2018: Wing Loss —— Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks
主要创新点:
- 对基于 CNN 方法的人脸关键点检测中用到的各类损失函数进行了细致地分析,指出了 L1 损失函数、L2 损失函数的不足,并提出了适用于人脸关键点检测的损失函数 —— Wing Loss。
关于 L1 损失函数和 L2 损失函数的比较:
- L2 损失函数的导数是 x x x,它和自变量的大小是有关的。这就导致训练初期,如果预测值与 gt 值相差过大,那么损失函数对预测值的梯度就会非常大,从而导致训练不稳定(也就是说,L2 损失对 outliers (即离群点) 比较敏感。)
- L1 损失函数的导数是常数,这就导致在训练后期,当预测值与 gt 值差异很小时,L1 损失对预测值的导数的绝对值仍然为 1。此时学习率如果不变,那么损失函数将在稳定值附近波动,难以继续收敛达到更高精度。
- 而 Wing Loss 很好地结合了 L1 损失和 L2 损失的优点,同时规避了它们的缺点 —— 当 x x x 较小时,Wing Loss 对 x x x 的梯度也会变小;而当 x x x 较大时,Wing Loss 的梯度是一个常数(和 L1 Loss 一样),因此对 outliers 不敏感。
关于 Wing Loss 的表达式以及论文中涉及到的其他知识,参见:
- 优快云. 【论文解读】Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks (重要)
- 优快云. 人脸关键点: Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks
1.7.2 CVPR 2018: LAB —— Look at Boundary: A Boundary-Aware Face Alignment Algorithm
出发点:
- 这篇文章是为了解决人脸关键点检测中的姿态变化和遮挡问题的。
- 人脸是具有一定的结构信息的,每个关键点都是和一个人脸边界相互关联的。如果我们能够得到人脸的边界信息,那么必将对关键点的检测有所裨益。
创新点:
- 这篇论文是第一个将 boundary 信息融入到人脸关键点检测中的。
论文内容:
- 整个系统包含三个模块:
- boundary heatmap estimator:
- landmark regressor:
- boundary effectiveness discriminator:
- boundary heatmap 是通过 stacked hourglass 结构产生的。
- 通过 message passing 机制可以改善遮挡问题。
后话:
作者为什么会想出这样一个网络结构?主要是受人体姿态估计的影响:
- Stacked hourglass 结构通过一种 bottom-up, top-down 的设计,使网络能够捕捉到 multi-scale 的信息,从而达到很高的准确率;
- Message passing 机制在人体关节结构的建模中展现出了巨大的威力;
- 而且近来 adversarial learning 的引入能够帮助提高遮挡情况下人体姿态估计的准确率。
其他阅读材料:
- 简书. 论文 | Look at Boundary: A Boundary-Aware Face Alignment Algorithm
- 52CV.NET. [重磅]清华&商汤开源超高精度人脸对齐算法LAB
1.7.3 CVPR 2018: SBR —— Supervision-by-Registration: An Unsupervised Approach to Improve the Precision of Facial Landmark Detectors
关于这篇论文的翻译及讲解:
这篇文章是干什么的?
- Supervision-by-Registration 被译为“配准监督”,这篇文章就是关于这个配准监督算法的——它可以在无监督条件下,提高通用人脸关键点检测器的精度,使用的工具是光流法,光流法认为一个物体在前后两帧之间没有巨大而明显的变化。
创新点:
- 这篇文章的主要目的是提高人脸关键点检测的精确性,如缓解视频帧中人脸关键点检测的抖动问题。
- SBR 能在无监督条件下,增强通用人脸特征点检测器在图像和视频上的精度。
- 在无监督的条件下,视频中相邻帧之间同一个关键点的检测应与光流的配准一致,这里光流的一致性正是监督源。
- SBR 的主要优势在于不需要标注,从而使训练过程不再受人工标注的数量和质量问题的限制。
1.7.4 CVPR 2018: SAN —— Style Aggregated Network for Facial Landmark Detection
这篇文章是干什么的?
- 这篇文章主要是为了解决图像风格的变化对人脸关键点检测带来的影响,比如图片的明亮/昏暗、黑白/彩色等。这篇文章证实了图像风格的不一致可能会导致对同一张脸关键点的预测出现漂移,为了解决这个问题,作者提出了 SAN。
- SAN 包含两个模块:
- Style-aggregated Face Generation Module:用于将所输入的人脸图像的风格转换为 aggregated style (实际上就是统一所有人脸图像的图像风格);
- Facial Landmark Prediction Module:将原图像和统一风格后的图像作为输入,进行人脸关键点预测。
参考:
1.8 2019 年
1.8.1 ICCV 2019: FAB —— FAB: A Robust Facial Landmark Detection Framework for Motion-Blurred Videos
这篇文章的出发点:
-
当前,人脸关键点检测在静态的图像上已经做得很好了,但如果要用在模糊的视频中,效果则不尽如人意。主要原因是视频中模糊的图片丢失了人脸的结构信息,导致现有的人脸关键点检测算法无从下手。
-
“先有鸡还是先有蛋”的窘境:
- 人脸 deblur 算法需要依赖人脸结构的先验信息(如边界信息或关键点信息)来恢复人脸的形状以及细节;
- 而精确的人脸关键点位置的提取又依赖清晰的 deblur 之后的人脸图片;
可见,去模糊与关键点检测是互为前提的。
-
如何应对这种窘境呢?注意到“互为前提”就可以“互相帮助”。对于连续视频帧中的同一个人脸而言,假设我们事先已经知道了这张人脸前几帧的结构信息(如边界信息),那我们就可以先利用一些技术手段去预测下一帧的人脸结构信息(如:光流法)。接下来我们将这一帧预测出来的人脸结构信息作为先验,利用 deblur 模块进行去模糊,就可以得到和这一帧预测出来的人脸结构信息对应的清晰的人脸图片。之后,再利用这张人脸图片去提取关键点,这些关键点又可以转化为人脸的边界信息。等于说绕了一圈回来,我们从原始的几帧人脸边界信息出发,得到了下一帧的人脸边界信息。而这个下一帧的人脸边界信息又可以帮助预测下下一帧的人脸边界信息,如此周而复始,构成一个封闭的循环结构。
-
综上,这篇文章提出了一个“边界提取 + 去模糊 + 人脸关键点检测”的良性循环结构。整个系统由三个模块组成:structure predictor,stucture-aware motion deblurring network 以及 replaceable facial landmark detection network,可以很好地应对模糊视频中的人脸关键点检测问题。
第二部分:知识补充
他人的整理与总结:
- 优快云. 【人脸对齐-Landmarks】人脸关键点检测方法及评测汇总 (这个整理主要是对各种方法的指标和在数据集上的表现进行了汇总)