【论文解读】How far are we from solving the 2D & 3D Face Alignment problem?
【参考】
https://github.com/facebookresearch/supervision-by-registration
https://www.adrianbulat.com/face-alignment/
1.介绍
这一节主要概述这篇论文的几点贡献:
-
构建了一个很强的2D人脸关键点检测baseline,主是结合了已有的最优的关键点检测的网络结构,并且在一个大规模的综合扩展了的2D人脸landmark数据集上进行训练。
-
为了弥补3D face alignment数据集的不足,提出了一个由2D标注转3D标注的CNN,并使用訪网络创建了LS3D-W数据集,这是至今为止最大规模的3D facial landmark数据集(约230000张图片)。
-
训练了一个3D face alignment网络,并且在新建的最大规模的3D face alignment数据集上进行评测。
-
进一步研究了影响face alignment性能的"传统"因素,像姿态、初始值以及分辨率等,并且提出了一个新的因素,就是网络的size。
2.相关工作
3.数据集
这一节主要描述论文中要用到的已存在的2D和3D数据集,在作者认为3D标注只不过是2D标注的一个映射。表1中总结了当前最流行的face alignment数据集及其主要特点。
3.1 训练数据集
Dataset | Size | annot | landmark number | description |
---|---|---|---|---|
300-W | 2D | 68 | 当前2D face alignment应用最为广泛的数据集,它本身就是由一系列小型数据集合并而来,包括:LFPW、HELEN、AFW和iBUG。对每个小型数据集重新按照Multi-PIE中68点标注规则进行标注,这个数据集包含大约4000张正脸照片。 | |
300-W-LP | 61225 | 2D and 3D | 68 | 300-W-LP是将300-W数据集的图片进行大角度变换而来,300-W数据集的YAW角度是[-45,45],而300-W-LP是[-90,90],300-W-LP数据集既提供了2D标注(300W-LP-2D)也提供了3D标注(300W-LP-3D)两种格式 |
3.2 测试数据集
Dataset | Size | annot | landmark number | description |
---|---|---|---|---|
300-W test set | 600 | 2D | 68 | 包含600张测试图片,主要是为了评测300-W挑战赛,这些图片分为了两类:室内(indoor)和室外(outdoor) |
300-VW | 218595 | 2D | 68 | 一个大规模的人脸跟踪数据集,包含114个视频,总共218595帧。在114个视频中,64个用于测试,剩余50个用于训练。测试视频又分为A、B、C三类,C类难度最大。需要注意的是有些视频(尤其是C类)的分辨率以及人脸质量很低,由于采用了半监督自动化标注方式,视频的标注并不是很准确。另外,脸部姿态,尤其是角度较大的时候错误也比较严重。 |
Menpo | 9000 | 2D | 68 |
Menpo is a recently introduced dataset [45] con- taining landmark annotations for about 9,000 faces from FDDB [18] and ALFW. |
AFLW2000-3D | 2000 | 3D | 68 | AFLW2000就是对AFLW中前2000张图像使用68点3D标注的方式重新进行标注后得到的数据集。原生AFLW(21点)包含25000张图像,来源于Flickr网站,包含大小和姿态等变化,综合难度较高。 |
3.3 评价
4.方法
4.1 2D和3D Face Alignment Networks
作者提出Face Alignment Network(FAN),这是已知最强2D/3D face alignment网络,它的网络结构基于Hour-Glass(HG)网络,对HG网络采取了堆叠(stack)的方式。HG网络采用了bootleneck block作为主要的构建模块,FAN中则更进一步使用最新提出的分级的、并行的和多尺度的block来取代bottleneck block。最终作者分别在300W-LP-2D和300W-LP-3D数据集上训练2D-FAN和3D-FAN。
4.2 2D-to-3D Face Alignment Networks
作者的目标是为了创建一个最大规模的3D人脸标注数据集,这一步肯定不是由人手工来完成,作者在这里创建了一个2D转3D的CNN网络,即2D-to-3D FAN。为了训练2d-to-3D FAN使用了300-W-LP数据集,因为300-W-LP数据集同时包含了2D和3D两种标注。
4.3 Training
独立训练了三个不同的网络:2D-FAN、3D-FAN和2D-to-3DFAN。对于前两个网络,将初始学习速率设置为10-4,并使用小批量10。训练过程中,在15个epochs后将学习率降至10-5,在接下来的15个epochs后再降至10-6,总共训练了40个epochs。使用了随机增强:翻转、旋转(从-50到50度)、颜色抖动、尺度噪声(从0.8到1.2)和随机遮挡。
2D-to-3D-FAN模型通过以下类似的过程进行训练:进一步增加数据增强量:旋转(从-70到70度)和缩放(从0.7到1.3)。此外,学习率初值被设置为10-3。所有网络都在Torch7中实现,并使用rmsprop优化器。