文章:How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D facial landmarks)

作者:诺丁汉大学的Adrian Bulat& Georgios Tzimiropoulos

Github:https://github.com/1adrianb/face-alignment

2D-FAN:https://www.adrianbulat.com/downloads/FaceAlignment/2D-FAN-300W.t7

3D-FAN:https://www.adrianbulat.com/downloads/FaceAlignment/3D-FAN.t7

2D-to-3D FAN:https://www.adrianbulat.com/downloads/FaceAlignment/2D-to-3D-FAN.tar.gz

3D-FAN-depth:https://www.adrianbulat.com/downloads/FaceAlignment/3D-FAN-depth

摘要

在现存2D和3D人脸对齐数据集上,本文研究的这个非常深的神经网络达到接近饱和性能的程度。本文主要做了5个贡献:(1)结合最先进的人脸特征点定位(landmark localization)架构和最先进的残差模块(residual block),首次构建了一个非常强大的基准,在一个超大2D人脸特征点数据集(facial landmark dataset)上训练,并在所有其他人脸特征点数据集上进行评估。(2)我们构建一个将2D特征点标注转换为3D标注,并所有现存数据集进行统一,构建迄今最大、最具有挑战性的3D人脸特征点数据集LS3D-W(约230000张图像)。(3)然后,训练一个神经网络来进行3D人脸对齐(face alignment),并在新的LS3D-W数据集上进行评估。(4)本文进一步研究影响人脸对齐性能的所有“传统”因素,例如大姿态( large pose),初始化和分辨率,并引入一个“新的”因素,即网络的大小。(5)本文的测试结果显示2D和3D人脸对齐网络都实现了非常高的性能,足以证明非常可能接近所使用的数据集的饱和性能。训练和测试代码以及数据集可以从 https://www.adrianbulat.com/face-alignment/%20下载。

引言

随着深度学习和大规模注释数据集的发展,近年的工作已经显示出即使在最具挑战性的计算机视觉任务上也达到前所未有的准确性。在这项工作中,本文专注于特征点定位(landmark localization),尤其是人脸特征点定位,即:人脸对齐(face alignment),“人脸对齐”也可以说是过去几十年来计算机视觉中的研究热点。

目前,关于使用卷积神经网络(CNN)的特征点定位的研究,大大推动了其他领域的界限,例如人体姿态估计,但目前尚不清楚在人脸对齐方面取得怎样的成果。

历史上,根据任务的不同,有不同的技术已被用于特征点定位。例如,在神经网络出现之前,人体姿态估计的工作主要是基于图结构(Pictorial Structure)和各种复杂的扩展(Extension),因为它们能够模拟大的外观变化, 适应广泛的人类姿势。这些方法虽然没有被证明能够实现用于人脸对齐任务的级联回归方法(Cascaded Regression Method)表现出的高精确度,但另一方面,级联回归方法的性能在初始化不准确的情况下,或有大量的自我封闭的特征点或大的平面内旋转时会变差。

最近,基于热图回归(Heatmap Regression)的完全卷积神经网络架构彻底改变了人体姿态估计,即使对于最具挑战性的数据集也得到非常高的准确度。由于它们对端到端训练和人工工程的需求很少,这种方法可以很容易地应用于人脸对齐问题。

 使用2D-3D方法构建最大数据集(LS3D-W)

作者表示,按照这个路径,“我们的主要贡献是构建和训练这样一个强大的人脸对齐网络,并首次调查在所有现有的2D人脸对齐数据集和新引入的大型3D数据集上距离达到接近饱和性能(saturating performance)有多远”。

Contributions(具体的贡献):

1. 首次构建了一个非常强大的基准(baseline),结合state-of-the-art的特征点定位架构和state-of-the-art的 残差模块(residual block),并在非常大的综合扩展的2D人脸特征点数据集训练。然后,我们对所有其他2D数据集(约230000张图像)进行评估,分析真正解决2D人脸对齐问题还有多远。

2. 为了解决3D人脸对齐数据集少的问题,本文进一步提出了一种将2D注释转换为3D注释的2D特征点CNN方法,并使用它创建LS3D-W数据集,这是目前最大、最具挑战性的3D人脸特征点数据集(约230000张图像),是通过将现存的所有数据集统一起来得到的。

3. 然后,本文训练了一个3D人脸对齐网络,并在新的大型3D人脸特征点数据集进行评估,实际分析距离解决3D人脸对齐问题尚有多远。

4. 本文进一步研究影响人脸对齐性能的所有“传统”因素,例如大姿态(large pose),初始化和分辨率,并引入“新的”因素,即网络的大小。

5. 本文测试结果显示,2D和3D人脸对齐网络都实现了非常高准确度的性能,这可能是接近了所使用的数据集的饱和性能。

2D-FAN结构:

通过堆叠四个HG(HourGlass)构建的人脸对齐网络(Face Alignment Network, FAN),其中所有的 bottleneck blocks(图中矩形块)被替换为新的分层、并行和多尺度block。

方法及数据:2D、3D标注及2D-3D转换都接近饱和性能

文章首先构建人脸对齐网络“FAN”(Face Alignment Network),然后基于FAN,构建2D-to-3D-FAN,也即将给定图像2D面部标注转换为3D的网络。文章表示,据测试所知,在大规模2D/3D人脸对齐实验中训练且评估FAN这样强大的网络,还尚属首次。

他们基于人体姿态估计最先进的架构之一HourGlass(HG)来构建FAN,并且将HG原有的模块bottleneck block替换为一种新的、分层并行多尺度结构(由其他研究人员提出)。

2D-to-3D-FAN网络架构:基于人体姿态估计架构HourGlass,输入是RGB图像和2D面部地标,输出是对应的3D面部地标。

2D-FAN标记结果

3D-FAN标记结果

下面是跟现有方法(红色)的对比,这样看更能明显地看出新方法的精度:

除了构建FAN,作者的目标还包括创建首个超大规模的3D面部地标数据集。目前3D面部地标的数据还十分稀少,因此也让这项工作贡献颇大。鉴于2D-FAN卓越的效果,作者决定使用2D-to-3D-FAN来生成3D面部地标数据集。

但是,这也带来了一个问题,那就是评估2D转3D数据很难。现有的最大同类数据集是AFLW2000-3D。于是,作者先使用2D-FAN,生成2D面部地标标注,再使用2D-to-3D-FAN,将2D数据转换为3D面部地标,最后将生成的3D数据与AFLW2000-3D进行比较。

结果发现,两者确实有差异,下图展示了差异最大的8幅图像标记结果(白色是论文结果):

作者表示,造成差异的最大原因是,以前的方法半自动标记管道对一些复杂姿态没有生成准确的结果。于是,在改进数据后,他们将AFLW2000-3D纳入现有数据集,创建了LS3D-W(Large Scale 3D Faces in-the-Wild dataset),一共包含了大约230,000幅标记图像,也是迄今最大的3D人脸对齐数据集。

作者之后从各个方面评估了LS3D-W数据集的性能。研究结果表明,他们的网络已经达到了数据集的“饱和性能”,在构图、分辨率,初始化以及网络参数数量方面表现出了超高的弹性(resilience)。更多信息参见论文。

作者表示,虽然他们还没有在这些数据集中去探索一些罕见姿态的效果,但只要有足够多的数据,他们确信网络也能够表现得一样好。

作者:南君
出处:http://www.cnblogs.com/molakejin/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

paper 157:文章解读--How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D facial landmarks)的更多相关文章

  1. paper 159:文章解读:From Facial Parts Responses to Face Detection: A Deep Learning Approach--2015ICCV

    文章链接:https://arxiv.org/pdf/1509.06451.pdf 1.关于人脸检测的一些小小总结(Face Detection by Literature) (1)Multi-vie ...

  2. [转帖]2016年的文章: 解读ASP.NET 5 & MVC6系列教程(1):ASP.NET 5简介

    解读ASP.NET 5 & MVC6系列教程(1):ASP.NET 5简介 更新时间:2016年06月23日 11:38:00   作者:汤姆大叔    我要评论 https://www.jb ...

  3. 陈天奇XGBoost文章解读(未完成)

    这个是我下载的原文在看,然后结合一些网上的资料学习,先贴一个网上的资料. 终于有人说清楚了XGBoost算法 XGBoost阅读之Weighted quantile sketch XGBoost论文翻 ...

  4. Face recognition using Histograms of Oriented Gradients

    Face recognition using Histograms of Oriented Gradients 这篇论文的主要内容是将Hog算子应用到人脸识别上. 转载请注明:http://blog. ...

  5. AAAI2019 | 基于区域分解集成的目标检测 论文解读

    Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...

  6. paper 156:专家主页汇总-计算机视觉-computer vision

    持续更新ing~ all *.files come from the author:http://www.cnblogs.com/findumars/p/5009003.html 1 牛人Homepa ...

  7. 人脸识别必读的N篇文章

    一,人脸检测/跟踪 人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置和大小:对于跟踪而言,还需要确定帧间不同人脸间的对应关系. 1, Robust Real-time Object Dete ...

  8. Transformer解析与tensorflow代码解读

    本文是针对谷歌Transformer模型的解读,根据我自己的理解顺序记录的. 另外,针对Kyubyong实现的tensorflow代码进行解读,代码地址https://github.com/Kyuby ...

  9. 解读大内老A的《.NET Core框架本质》

    老A说的一句话让我很受启发,想要深入了解框架,你要把精力聚焦在架构设计的层面来思考问题.而透彻了解底层原理,最好的笨办法就是根据原理对框架核心进行重建或者说再造.看起来没有捷径,也是最快的捷径. 题外 ...

随机推荐

  1. html基础与表格的理解·

    1.静态网页与动态网页的区别:是否访问数据库 2.超文本:超文本是指超出文本的范围,可以插入声音视频,表格图片等 3.标记语言与网页结构:标记语言就是标签,网页结构包含<html>< ...

  2. Google File System 论文阅读笔记

    核心目标:Google File System是一个面向密集应用的,可伸缩的大规模分布式文件系统.GFS运行在廉价的设备上,提供给了灾难冗余的能力,为大量客户机提供了高性能的服务. 1.一系列前提 G ...

  3. 20190817 On Java8 第七章 封装

    第七章 封装 访问控制权限的等级,从"最大权限"到"最小权限"依次是:public,protected,包访问权限(没有关键字)和 private. 包的概念 ...

  4. 标准标签库JSTL(JSP Standard Tag Library)

    1, 核心标签(最常用, 最重要的) 表达式控制标签 out 输出常量 value---直接赋值 输出变量 default---默认值 escapeXml---控制转义字符(默认为true, 如果需要 ...

  5. MySQL-第二篇SQL语句基础(1)语句分类及DDL语句

    1.什么是SQL语句 SQL是Structed Query Language的缩写,即结构化查询语言.SQL是操作和检索数据库的标准语言,标准的SQL语句可以操作任何关系数据库. 2.标准的SQL语句 ...

  6. 1、引言(Introduction)

    1.1 欢迎 在生活中用到的机器学习算法: (1)打开谷歌.必应搜索到你需要的内容,正是因为他们有良好的学习算法 (2)每次您阅读您的电子邮件垃圾邮件筛选器,可以帮你过滤大量的垃圾邮件 机器学习为什么 ...

  7. 2014 SummerTrain Beautiful Garden

    There are n trees planted in lxhgww's garden. You can assume that these trees are planted along the ...

  8. harbar仓库的接口测试

    一.接口测试命令 api接口文档:https://github.com/goharbor/harbor/blob/release-1.7.0/docs/swagger.yaml 1)查看所属项目的信息 ...

  9. 【学习总结】java数据结构和算法-第一章-内容介绍和授课方式

    总目录链接 [学习总结]尚硅谷2019java数据结构和算法 github:javaDSA 目录 几个经典算法面试题 算法和数据结构的重要性 几个经典算法面试题 字符串匹配 暴力法:慢 kmp算法:更 ...

  10. 为什么需要在 React 类组件中为事件处理程序绑定this?

    https://juejin.im/post/5afa6e2f6fb9a07aa2137f51 事件绑定作为回调函数参数传递给函数,丢失其上下文,执行的是默认绑定,不是隐式绑定 类声明和类表达式的主体 ...