CFAN:Coarse-to-Fine Auto-Encoder Networks (CFAN) for Real-Time Face Alignment
|
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任 |

原始论文链接:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.702.1120&rep=rep1&type=pdf
框架:
CFAN是将深度网络(自编码网络)作为回归器,利用级联回归coarse-to-fine的框架,实现人脸特征点定位的方法。
它是一种用深度网络做人脸特征点定位的方法,采用的结构是级联栈式自编码(Stacked Auto-encoder Networks,SANs),级联过程由四个栈式自编码网络(SAN)完成。每个SAN根据前一个SAN的形状估计,在不同尺度图像下,学习人脸图像到人脸形状的映射。
第一个SAN(global SAN)的目标是尽力找到关键点的大致位置,所以检测好人脸的低分辨率图像作为输入,定位结果不够准确,但实现快速。输入的是全局图像特征,不是给定初始形状(一般是平均形状)的局部形状索引特征,优点是,避免了不准确的平均形状对后续refine过程的影响。无需给定初始形状,也是用自编码网络做定位的优点是,它会快速地从图像中自学习,得到一个更接近真实形状的初始形状S0。
后续级联三个SANs(local SANs)的目标是逐步精调(refine)前一个网络得到的形状估计,每个SAN的输入是前一个网络得到的形状(称为当前形状)在更高分辨率图像上的局部特征(形状索引特征),学习特征和形状差异delta_S(当前形状和真实形状的差)之间的关系,用来更新形状。将所有点的形状索引特征连接起来,一起更新所有特征点,有种增加形状约束的意思。

Global SAN
输入:人脸图像 x
标签:p个特征点的真实位置(真实形状) Sg
目标:学习图像x到人脸形状的映射F: x->S
网络结构:通常情况下,F是复杂的非线性的,为了达到目标,将k-1个单独的隐藏层自编码堆叠起来,作为深度神经网络,将图像映射到对应的形状上。那么人脸对齐任务就可以公式化为最小化下面的目标:


F={f1,f2,…fk},fi 是深度网络中第i层的映射函数。激活函数(sigma):sigmoid,激活函数的输出范围【0,1】对应于位置的范围。最后加一层线性回归(第k层)
输出:形状估计S0
【F有很多参数,容易陷入局部极小】
1.以堆栈方式,采用无监督的预训练来初始化前k-1层,随机初始化最后一层第k层
2.以有监督的方法finetuning整个网络
Local SANs
输入:当前形状下每个点的局部特征连接起来
标签:当前形状Sj-1和真实形状Sg的差delta_Sj
目标:前面得到的S0很接近真实形状,后面几个SANs的目标就是根据连接的局部形状索引特征(例如SIFT),迭代地预测delta_Sj

网络结构:与Global的相似,也是栈式深度自编码网络,只是输入是前一个网络预测形状在更高分辨率图像下的局部形状索引特征。

实验细节(68点,特征用的是sift特征)
global:50*50--1600--900--400--136(68*2)
local:sift特征--1296--784--400--136
由于68点的sift特征维数太大,为68*136=8704,需要用PCA降维再输入到网络中,所以三个local网络的结构为
local_1:降至1695维后的sift特征--1296--784--400--136
local_2:降至2418维后的sift特征--1296--784--400--136
local_3:降至2440维后的sift特征--1296--784--400--136
CFAN:Coarse-to-Fine Auto-Encoder Networks (CFAN) for Real-Time Face Alignment的更多相关文章
- Auto Encoder用于异常检测
对基于深度神经网络的Auto Encoder用于异常检测的一些思考 from:https://my.oschina.net/u/1778239/blog/1861724 一.前言 现实中,大部分数据都 ...
- div高度自适应(总结:min-height:100px; height:auto;的用法)
对于div高度自适应问题,我总是用一句话:height:auto来解决. 但是很多时候我们需要的是当div内部有内容时,高度会随着内容的增加和增加,当div中没有内容时,div能够保持一个固定的高度. ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第三周:浅层神经网络(Shallow neural networks) -课程笔记
第三周:浅层神经网络(Shallow neural networks) 3.1 神经网络概述(Neural Network Overview) 使用符号$ ^{[
- NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)
摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...
- Deep Learning 8_深度学习UFLDL教程:Stacked Autocoders and Implement deep networks for digit classification_Exercise(斯坦福大学深度学习教程)
前言 1.理论知识:UFLDL教程.Deep learning:十六(deep networks) 2.实验环境:win7, matlab2015b,16G内存,2T硬盘 3.实验内容:Exercis ...
- 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks
Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...
- 论文笔记之:Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking
Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking arXiv Paper ...
- 类型推导:函数模板与auto
1.从函数模板谈起 函数模板的类型推导机制是在c++98时代就有的,auto的类型推导机制与其基本一致,所以先理解函数模板类型推导. 函数模板可以用如下代码框架表示: #template<typ ...
随机推荐
- 漫谈Deep PCA与PCANet
又到了无聊的写博客的时间了,因为电脑在跑程序.眼下无事可做.我认为把昨天我看的一些论文方面的知识拿出来和大家分享一下. 美其名曰我是在研究"深度学习".只是因为本人是穷屌丝一个,买 ...
- SQLite数据库框架--FMDB简单介绍
1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比 ...
- UI:归档、反归档、数据持久化
支持的文件读写类型:字符串.数组.字典.NSdata (可变的.不可变的.共有8个类) 对于数组.字典在写入文件时,其中的元素也必须是以上四种类型之一. 支持的数据类型有限.且简单 写入文件: 字符 ...
- 关于JAVA通过REST接口对arcGis Server数据进行增删改查
一: 添加要素 public void create(BoxVo boxVo) throws Exception { // 创建HTTP客户端 CloseableHttpClient httpclie ...
- TCP/IP协议的建立连接与关闭连接过程
一.建立连接(三次握手) 第一次握手:建立连接时,客户端发送SYN(seq=x)包到服务器,并进入SYN_SENT状态,等待服务器的确认.SYN:同步序列编号(Synchronize Sequence ...
- 转载:Eclipse build Android时不生成apk问题解决方法
Eclisps有时build后不生成apk.没有对Eclise做过设置调整,android工程代码也是没有问题的.反正就是莫名奇妙的遇到两次,解决方法如下: 1. 设置:Preferences -&g ...
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(五)外借/阅览图书信息的增删改查
前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...
- bzoj 2152: 聪聪可可【点分治】
裸的点分治,运算在模3下进行然后统计答案的时候统计余1的*余2的*2+余0的^2 #include<iostream> #include<cstdio> using names ...
- UVA - 10859 Placing Lampposts 放置街灯
Placing Lampposts 传送门:https://vjudge.net/problem/UVA-10859 题目大意:给你一片森林,要求你在一些节点上放上灯,一个点放灯能照亮与之相连的所有的 ...
- (5)css盒子模型(基础上)
CSS 盒子模型概述 ***什么是CSS的盒子模型呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content).边框(border).内边距(padding).外边距(margin ...