版权:本文版权归作者和博客园共有 
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
 

这是一篇关于人脸特征点定位(人脸关键点检测)的论文,题目:A Convolution Tree with Deconvolution Branches: Exploiting Geometric Relationships for Single Shot Keypoint Detection(具有反卷积分支的卷积树:利用单个关键点检测的几何关系)

Abstract

最近,深度卷积神经网络被应用到了人脸对齐任务中,而且表现出了学习改进特征表示的潜力。尽管更深层可以捕捉类似姿态的抽象概念,但是很难在DCNNs中捕捉关键点之间的几何关系。本文提出卷积-反卷积网络用于人脸关键点检测,我们的模型预测关键点的2D位置,每个点的可见性以及3D头部姿态,同时利用不同关键点间的空间关系。与已有的对关系建模的方法不同,我们提出可学习的变换函数(transform function),捕捉特征级别的关键点的关系。然而,由于,姿态变化具有多样性,不能一次得到所有的关系,因此,提出了基于姿态的寻径函数(routing function),隐式地对主动关系建模。转换函数和寻径函数通过多任务框架中的卷积实现。我们的方法是一个单独关键点检测方法,与已有的基于级联回归的方法不同。实验表明,学习这些关系可以显著提升关键点检测的准确性,尤其是那些来自挑战数据集如AFW和AFLW中的人脸图像。

3. Convolution Tree with Deconvolution Branches具有反卷积分支的卷积树

人脸关键点检测任务是给一张人脸图像,估计L个关键点的2D坐标。深度网络在各种各样的视觉任务中很有效,我们将定位任务用端到端的可学习深度神经网络来表示。图2是我们方法的概述图,本文中用f*表示多层非线性函数,网络的输入是RGB图像w*h*3,标签图w*h*(L+1),标签图中每个1*1*(L+1)区域是向量标签{0,…,L+1},其中L是关键点数量,额外加一个通道是背景。

函数fconv表示一系列卷积、pooling操作、残差想家和非线性转换,用于抽取图像更低维度的特征表示,得到的特征可以作为图2中图像编码Cx,网络的参数用thetaconv表示:

同样地,函数fdeconv表示一系列滑动的卷积、非线性操作和batch normalization得到每个关键点的响应图。

Ri和thetadeconv是第i点的响应图和反卷积参数,theta_mi,j是从第i点到第j点流过信息的参数。

具有反卷积分支的卷积树在关键点检测中很重要,首先,它形成了输入图像的低维表示,生成和图像同样大小但有不同通道channels数目的输出,这样可以把回归部分放到反卷积输出后,得到更好的定位。接下来,输入图像的低维表示使得姿态部分隐式地控制不同卷积分支间的信息流。由于反卷积后的输出图和输入大小一样,输出响应图的上采样没有信息损失。

3.1.1 Message Passing and Routing Function

不同点得到的特征图中的空间分布和语义信息是相关的,因此一个点的信息可以流到相邻点,有效地提高每个点的特征表示的质量。我们用卷积实现信息流通,如图4。给定一幅图像a,鼻尖的特征图是b,嘴巴中心的三个候选响应图是c,根据学习到的转换函数fpi,pj,在候选嘴巴中心响应上加上鼻尖卷积后的响应图,得到图d所示的嘴巴中心的最可能更新。

我们希望能从所有其他关键点得到信息来优化某一个关键点的特征,但是有2个缺点:1.对相距很远的点的信息建模,例如眼角和下巴,转换函数需要更大,这会导致参数增多。2.某些点的关系是不稳定的,例如左眼角和右眼角,在侧脸图像中可能有一个点不可见,在这两个点之间传递信息会得到错误结果。因此,我们提出关键点的树结构,如图5,相距很近的关键点有稳定的关系,被连在一起,图5也表示了在假设鼻尖是根节点时的信息流。

这种树结构也用在人的姿态估计任务中,但是没有考虑不是所有的点同时对其他点有影响,比如遮挡,这在具有挑战情况下的人脸图像是很明显的。信息流高度依赖于人脸的3D姿态。由于深度卷积网络的分层性质,更深层具有更抽象的信息,比如,姿态、属性和目标类别。因此,我们在RGB图像上并行地做序列卷积、非线性、pooling和batch normalization,预测3D头部姿态。对这个并行网络的更深层的信息做pooling,把它加到卷积树的特征表示中,网络就能通过反卷积分支隐式地控制信息流。

3.1.2 Constrained Shape Prediction受限的形状预测

一旦有干扰,比如检测框中有另外一个局部的脸,响应图会有false positives,尽管通过信息传递层隐式地强加形状约束,这个问题大大减少了,但仍然会降低困难场景下的性能。因此,我们加了一个受限形状回归网络,输入是响应图,用来预测关键点的精确位置。这个回归网络保留形状约束的同时预测所有点的坐标。

ffid输出关键点坐标y(2L*1),不可见点的梯度不反向传播。所有坐标关于训练图像的平均形状做归一化。

3.1.3 Loss Functions

分类损失

坐标回归损失

姿态预测

可见性

4. Network Architecture and Implementation Details
4.1. fconv and fdeconv

A Convolution Tree with Deconvolution Branches: Exploiting Geometric Relationships for Single Shot Keypoint Detection的更多相关文章

  1. URAL 1018 Binary Apple Tree(树DP)

    Let's imagine how apple tree looks in binary computer world. You're right, it looks just like a bina ...

  2. tree .git

    $ tree .git .git ├── branches ├── config ├── description ├── FETCH_HEAD ├── gitk.cache ├── HEAD ├── ...

  3. BNUOJ 13358 Binary Apple Tree

    Binary Apple Tree Time Limit: 1000ms Memory Limit: 16384KB This problem will be judged on Ural. Orig ...

  4. timus 1018. Binary Apple Tree

    1018. Binary Apple Tree Time limit: 1.0 secondMemory limit: 64 MB Let's imagine how apple tree looks ...

  5. Expression Tree Basics 表达式树原理

    variable point to code variable expression tree data structure lamda expression anonymous function 原 ...

  6. HDU 1710 Binary Tree Traversals(二叉树遍历)

    传送门 Description A binary tree is a finite set of vertices that is either empty or consists of a root ...

  7. ZOJ 3201 Tree of Tree

    树形DP.... Tree of Tree Time Limit: 1 Second      Memory Limit: 32768 KB You're given a tree with weig ...

  8. hdu1710 Binary Tree Traversals(二叉树的遍历)

    A binary tree is a finite set of vertices that is either empty or consists of a root r and two disjo ...

  9. HDU 1710 二叉树的遍历 Binary Tree Traversals

    Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

随机推荐

  1. ABAP FORM打印转PDF/pdf 预览

    function ZSTXBC_SSFCOMP_PDF_PREVIEW. *"-------------------------------------------------------- ...

  2. YTU 1074: You are my brother

    1074: You are my brother 时间限制: 1 Sec  内存限制: 128 MB 提交: 10  解决: 7 题目描述 Little A gets to know a new fr ...

  3. HDU - 4333 Revolving Digits(拓展kmp+最小循环节)

    1.给一个数字字符串s,可以把它的最后一个字符放到最前面变为另一个数字,直到又变为原来的s.求这个过程中比原来的数字小的.相等的.大的数字各有多少. 例如:字符串123,变换过程:123 -> ...

  4. C语言预处理命令总结大全 :宏定义

    C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境.本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性.ANS ...

  5. 【TJOI 2014】 上升子序列

    [题目链接] 点击打开链接 [算法] 先考虑50分的做法 : f[i]表示以i结尾的本质不同的上升子序列的个数 则f[i] = sigma(f[j]) (j < i,a[j] < a[i] ...

  6. 珠宝 jewelry 省选模拟

    n种珠宝.每种各1个.有价格ci元,美度vi.  要求分别输出1元到m元 可买的最大优美度. 整数 :0<n<=10000000, 0<ci<=300,0<=vi< ...

  7. ACGAN 论文笔记

    <Conditional Image Synthesis With Auxiliary Classifier GANs> Odena A, Olah C, Shlens J. Condit ...

  8. bzoj1513

    二维线段树 听说二维线段树不能下传标记? 就是裸的二维线段树,由于每次高度只能增加,所以我们就可以标记永久化 每个线段树里有两个数组,mx和mark,每次修改路径上所有mx都要修改,mark是区间的精 ...

  9. Spring Cloud 与 Dubbo 区别

      Dubbo Spring Cloud 服务注册中心 Zookeeper Spring Cloud Netflix Eureka 服务调用方式 RPC REST API 服务监控 Dubbo-mon ...

  10. vs 中switch语句快捷键列出枚举

    先switch然后两下tab会补完到default,光标显示在switch后的变量这时输入枚举,输完后回车,自动补完所有枚举的case