最近再看face alignment的相关文章,目前比较流行的算法都是基于(Cascaded pose regression,CPR)[1]的框架上做的,该算法之所以流行的原因是简单高效。CPR分为训练和检测两个部分,首先介绍检测流程:

face alignment的目的是估计向量face shape,该向量由组成,其中K表示landmark的个数,由于每个landmark有横纵两个坐标,将所有的坐标连接起来构成长度为2K的向量即face shape。CPR检测流程如上所示,一共有T个stage,在每个stage中首先进行特征提取ft,这里使用的是shape-indexed features,也可以使用诸如HOG、SIFT等人工设计的特征,或者其他learning based features,可以通过查阅最新的cvpr文章进行了解,然后通过训练得倒的regressor R估计得到upadate vector 即增量ΔS,把ΔS加到前一个stage的shape上得到新的shape,这样通过不断的迭代即可以得到最终的shape。我感觉直白一些就是说通过不断的递归,使初始的shape朝着ground truth shape不断的靠近。

接下来是训练流程

首先是输入,N表示样本的个数,I表示图像,Si表示ground truth shape,剩下的那个参数表示initial shape,这个shape如何选取呢?从training data中随机的选取20个其他人脸的ground truth shape作为样本的initial shape 则训练样本的数量=原有的样本个数×20,即data augmentation 目的是为了enlarge training data和improve gengeralization ability。

接下来开始训练,每个stage中对于每个样本先通过ground truth shape与当前的shape相减计算得出ΔS,在第一个stage时,当前的shape为initial shape,然后进行特征提取得倒ft,之后通过loss function选择误差最小的regressor,如何建立regressor和ΔS,就需要看paper了,比如SDM,LBF,ERT等等,我会在之后的博客中分享。

最后利用特征ft 和regressor得倒ΔS加到上一个stage的shape上得到当前stage的shape,然后用于下一个stage的求解。

通过T个stage的训练将所有的regressor保存起来用于检测。

由上可以看出CPR中主要的操作是向量相加,不仅有效而且计算复杂度较低,所以近年来在face alignment中广泛应用。

参考文献

[1]Dollár, P., Welinder, P., Perona, P.: ‘Cascaded pose regression’. Proc.
IEEE Conf. Computer Vision and Pattern Recognition, 2010

Cascaded pose regression的更多相关文章

  1. 机器学习--详解人脸对齐算法SDM-LBF

    引自:http://blog.csdn.net/taily_duan/article/details/54584040 人脸对齐之SDM(Supervised Descent Method) 人脸对齐 ...

  2. 人脸识别技术大总结1——Face Detection & Alignment

    搞了一年人脸识别,寻思着记录点什么,于是想写这么个系列,介绍人脸识别的四大块:Face detection, alignment, verification and identification(re ...

  3. 人脸识别技术大总结(1):Face Detection & Alignment

    http://blog.jobbole.com/85783/     首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他技术 - 导航条 - 首页 最新文章 IT 职场 前端 - Ja ...

  4. 源自http://www.cnblogs.com/sciencefans/p/4394861.html

    人脸识别的四大块:Face detection, alignment, verification and identification(recognization),本别代表从一张图中识别出人脸位置, ...

  5. 手势估计- Hand Pose Estimation

    http://blog.csdn.net/myarrow/article/details/51933651 1. 目前进展 1.1 相关资料      1)HANDS CVPR 2016      2 ...

  6. paper 154:姿态估计(Hand Pose Estimation)相关总结

    Awesome Works  !!!! Table of Contents Conference Papers 2017 ICCV 2017 CVPR 2017 Others 2016 ECCV 20 ...

  7. DensePose: Dense Human Pose Estimation In The Wild(理解)

    0 - 背景 Facebook AI Research(FAIR)开源了一项将2D的RGB图像的所有人体像素实时映射到3D模型的技术(DensePose).支持户外和穿着宽松衣服的对象识别,支持多人同 ...

  8. (转)Awesome Human Pose Estimation

    Awesome Human Pose Estimation 2018-10-08 11:02:35 Copied from: https://github.com/cbsudux/awesome-hu ...

  9. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)

    IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...

随机推荐

  1. Android 集成支付宝支付详解

    一说到支付宝,相信没有人不知道,生活中付款,转账都会用到. 今天来详细介绍下在Android中如何集成支付宝支付到自己的APP中去.让APP能够拥有方便,快捷的支付功能. 准备工作: 商户在b.ali ...

  2. UVa 10295 - Hay Points

    题目:有非常多工人.相应一个能力描写叙述表,每种能力有一个权值,求每一个工人的能力值. 分析:字符串.hash表,字典树.利用散列表或者字典树存储相应的单词和权值.查询就可以. 说明:注意初始化,计算 ...

  3. Thinking in React(翻译)

    下面是React官方文档中的Thinking inReact文章的翻译,第一次翻译英文的文章,肯定有非常多不对的地方,还望多多包涵. 原文地址:https://facebook.github.io/r ...

  4. Android的activity的生命周期

    activity的生命周期有四个重要的状态:活动,暂停,停止,销毁 基本的方法有:onCreate.onStart.onResume.onPause.onStop.onDestory 最经常使用的方法 ...

  5. github 新建远程仓库 及 删除远程仓库

    一.新建远程仓库 1.点击 ' + ' 号 2.选择 ' new repository ' 3.填写信息  创建仓库 二.删除远程仓库 1.点击 ' Settings ' 按钮 2.滑动到最底部,点击 ...

  6. 常用linux系统监控命令

    一.内存监控 监控内存的使用状态是非常重要的,通过监控有助于了解内存的使用状态,比如内存占用是否正常,内存是否紧缺等等,监控内存最常使用的命令有free.vmstat.top等 1.1 free $ ...

  7. Json实现异步请求(提交评论)

    主要将代码粘贴,通过阅读代码理解当中的相关逻辑. html代码: <form id="form1" runat="server"> <p> ...

  8. POJ 2184 Cow Exhibition (01背包变形)(或者搜索)

    Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10342   Accepted: 4048 D ...

  9. hiberinate二级缓存

    hibernate.cfg.xml配置 <!-- 二级缓存类型 --> <property name="hibernate.cache.region.factory_cla ...

  10. IOS7 开发注意事项

    1,修改状态栏的样式和隐藏. 首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES: 然后,在UIVie ...