参考来源:http://www.cnblogs.com/lanye/p/5312620.html

人脸姿态估计:pitch,yaw,roll三种角度,分别代表上下翻转,左右翻转,平面内旋转的角度。
 
      人脸姿态估计的方法有基于模型的方法,基于表观的方法,基于分类的方法等等。其中,基于模型的方法得到的效果最好,因为其得到的人脸姿态是连续的,而另外两种,是离散的,并且很耗时间。
人脸姿态估计算法一般当做很多人脸对齐相关论文的副产品被提出,近期,比较“出名”的人脸对齐论文主要来自于CVPR,ICCV等,如下:
《Supervised Descent Method and its Applications to Face Alignment》,这篇论文提供了demo,并且附加了人脸姿态估计功能,估计精度还不错。
《Face Alignment at 3000 FPS via Regressing Local Binary Features》,这篇文章是最新的人脸对齐算法,基于随机森林的算法,速度比较快,精度基本和上一篇持平。
《Face Alignment by Explicit Shape Regression》这篇文章很出名,作者也和上一篇是同一人。
还有经典的人脸对齐鼻祖算法ASM,AAM,想必大家也都知道,这里不再多说,因为咱这篇博客的主题是人脸姿态估计嘛!~
基于模型的估计方法的前提是,手头必须具备两样东西,一个是人脸特征点(眼镜,嘴巴,鼻子等处的像素位置),另外一个,是需要自己制作一个3维的,正面的“标准模型”。
<ignore_js_op>

这个模型的好坏很重要,人脸的特征点精度可以不高,因为后面的姿态估计算法可以采用鲁棒方法予以弥补,但是标准模型一旦有问题,势必会导致姿态估计的精度偏低。
算法最重要的还是思想,其余诸如流程什么的,都是实现思想的手段而已。人脸姿态估计的思想:旋转三维标准模型一定角度,直到模型上“三维特征点”的“2维投影”,与待测试图像上的特征点(图像上的特征点显然是2维)尽量重合。这时候我们脑海中就应该浮现出一种诡异的场景:在幽暗的灯光中,一个发着淡蓝色光芒的人皮面具一点点的“自我调整”,突然一下子“完美无缺”的“扣在了你的脸上”。这就是人脸姿态估计的思想。
想到了什么没?这貌似听起来像是某种数学中常常介绍的一种方法。是的,大部分论文中也经常利用这种方式来建立模型。这个方法就叫做“非线性最小二乘”。
我们也可以利用非线性最小二乘方法来建立我们的模型,模型公式如下:
<ignore_js_op>

其中,(α,β,γ)代表人脸姿态三个旋转角度, N代表着一张人脸上标定特征点的个数,qi代表着待测试人脸特征点,pi代表对应着的三维通用标准模型特征点,R代表旋转矩阵, t为空间偏移向量,s为伸缩因子。R的具体形式是如下三个矩阵相乘:
<ignore_js_op>

给出了人脸姿态估计的模型,我们可以发现,这个公式的形式,刚好对应于刚刚提出的人脸姿态估计算法思想。数学是奇妙的!
更奇妙的在下面.....
这个公式看起来很直观,很好的解释了人脸姿态估计的内涵,但是,这个公式怎么求解?
对了,别忘记,这是“烂大街的”非线性最小二乘算法,从牛顿爷爷开始,就有着大把的优化方法,梯度下降,牛顿高斯,信赖域,马夸尔特等等等等等用于解决它,等到下一篇博客,我会尽量用通俗的语言,为大家介绍姿态估计的下一个重要阶段:迭代求精。

附图(姿态估计效果图):
<ignore_js_op>     <ignore_js_op><ignore_js_op>

原图                                       3D标准模型正面照                         姿态估计算法拟合图

paper 155:face/head pose estimation的更多相关文章

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

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

  2. human pose estimation

    2D Pose estimation主要面临的困难:遮挡.复杂背景.光照.真实世界的复杂姿态.人的尺度不一.拍摄角度不固定等. 单人姿态估计 传统方法:基于Pictorial Structures, ...

  3. paper 141:some paper with ComputerCV、MachineLearning[转]

    copy from:http://blog.csdn.net/zouxy09/article/details/8550952 一.特征提取Feature Extraction: ·         S ...

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

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

  5. 论文解读:3D Hand Shape and Pose Estimation from a Singl RGB Image

    本文链接:https://blog.csdn.net/williamyi96/article/details/89207640由于最近做到了一些 3D Hand Pose Estimation 相关的 ...

  6. paper 118:计算机视觉、模式识别、机器学习常用牛人主页链接

    牛人主页(主页有很多论文代码) Serge Belongie at UC San Diego Antonio Torralba at MIT Alexei Ffros at CMU Ce Liu at ...

  7. 论文笔记: Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation

    Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation 2018-11-03 09:58:58 Paper: http ...

  8. Deep High-Resolution Representation Learning for Human Pose Estimation

    Deep High-Resolution Representation Learning for Human Pose Estimation 2019-08-30 22:05:59 Paper: CV ...

  9. 手势估计- Hand Pose Estimation

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

随机推荐

  1. How to resolve error “Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7…” when building in Android Studio Ask Question

    //implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation & ...

  2. Pollard Rho算法浅谈

    Pollard Rho介绍 Pollard Rho算法是Pollard[1]在1975年[2]发明的一种将大整数因数分解的算法 其中Pollard来源于发明者Pollard的姓,Rho则来自内部伪随机 ...

  3. Java基础复习(1)

    1. Java 基本数据类型 参考博客: https://www.cnblogs.com/LiaHon/p/11043238.html Java语言提供了八种基本类型. 六种数字类型(四个整数型,两个 ...

  4. Linux下复杂PC问题——多进程编程/信号量通信/共享存储区

    进程相关函数 pid_t fork(); 头文件:unistd.h,sys/types.h 作用:建立一个新进程(子进程),子进程与原进程(父进程)共享代码段,并拥有父进程的其他资源(数据.堆栈等)的 ...

  5. 回调-> 观察者模式->反应堆模式

    关于回调: 回调是观察者模式以及反应堆模式的基础 一句话,回调就是一种双向调用模式,什么意思呢,就是说,被调用方在被调用时也会调用对方,这就叫回调.“If you call me, i will ca ...

  6. mac安装pip并升级pip版本

      最近想安装inchat,直接使用命令pip install install,结果提示 使用提示中的命令升级,结果提示找不到pip.很郁闷,明明有pip,结果一升级还给升没了.最后用的是这个方法完美 ...

  7. 基于Apache搭建HTTP HTTPS

    参考资料 <openssl攻略>--第一章 <Apache服务器配置与使用工作笔记>-- 第六章 第十四章 https://juejin.im/post/5a31faf2518 ...

  8. BERT实战——基于Keras

    1.keras_bert 和 kert4keras keras_bert 是 CyberZHG 大佬封装好了Keras版的Bert,可以直接调用官方发布的预训练权重. github:https://g ...

  9. Excel 技巧

    <!-- Excel跳转到指定行指定列 --> =HYPERLINK("#"&ADDRESS(要跳转到的行数,要跳转到的列数),"跳转")

  10. 20191108PHP数组查找练习

    <?php $arr=[20,30,60]; $new=array(22,"tom"=>33); echo $arr[2]; echo $new['tom']; for ...