关闭

Supervised Descent Method and its Applications to Face Alignment

标签: 机器学习alignment
4070人阅读 评论(2) 收藏 举报
分类:

本方法是当前人脸对齐最流行的算法,速度很快,很稳定。下面我将介绍一下这篇文章的整体思路和相关细节。
在介绍之前,先给出几个有用的链接:
1.)
本论文作者主页,形象地介绍了SDM的特点:
http://xiong828.github.io/sdm.html
2. )
superviseddescent C++11版本的实现:
http://patrikhuber.github.io/superviseddescent/
下面开始介绍:
人脸对齐就是要找人脸的特征点。如图

我们要找到眼睛、鼻子、嘴巴等特征点。那么如何去做呢?方法有很多。本文讲述了使用SDM去求特征点的方法。假设我们有一个初始的特征点x0,希望通过迭代,逐步求出准确地特征点x。这就是大致的思路。

SDM方法(Supervised Descent Method )

Derivation of SDM

给定一幅含有m个像素的图像dRm×1,d(x)Rp×1用来索引图像的p个特征点,x代表p个特征点。h(d(x))R128p×1代表SIFT特征向量。在训练阶段,我们假设准确的p个特征点已知,设为x。我们另外选取训练集特征点的平均值x0作为初始值。如图:

这样,Face Alignment可以通过在Δx求解如下的最优化问题:

f(x0+Δx)=||h(d(x0+Δx))Φ||22

这里Φ=h(d(x))代表手工标记的特征点的SIFT特征。在训练阶段,ΦΔx已知。
f(x0+Δx)f(x0)+Jf(x0)TΔx+12ΔxTH(x0)Δx

对上面关于Δx求导,令f(x0+Δx)=0,可得
Δx1=H1Jf=2H1JTh(Φ0Φ)

,这里Φ0=h(d(x0)).
R=2H1JThΔΦ0=Φ0Φ,于是R可看作Δx1ΔΦ0的线性回归系数。但是,我们知道在测试阶段,Φ是未知的,但是固定的。因此我们不再使用Φ做训练,而是改用下面的公式:
Δx1Δx1Δx1===2H1JTh(Φ0Φ)2H1JThΦ0+(2H1JTh)(Φ)RΦ0+b0

使用训练样本,我们的方法可以学习R0,b0.
通常这种方法不可能一步迭代完成,需要进行多步,除非f是二次的。为了处理这个非二次的方程,SDM将产生一系列的下降方向{Rk}和偏差{bk}.

xk=xk1+Rk1Φk1+bk1(1)
,使得对于训练图片集,xk将收敛到x.

Learning for SDM

假定给定一系列人脸{di}与对应的特征点{xi}.对于每张图片,从初始的特征点xi0出发,R0,b0可以通过求解最优化问题获得:

argR0minb0dip(xi0)||ΔxiR0Φi0b0||2dxi0

这里Δxi=xixi0,Φi0=h(di(xi0)).
我们假定xi0可以从服从正态分布的人脸检测框对齐采样。于是上面的最优化问题化为:
argR0minb0dixi0||ΔxiR0Φi0b0||2

以上方程是个线性的最优化问题,可以直接求解。
当第一步求解完毕后,代入方程式(1),可以求出x1,进而又可以计算特征向量Φik=h(di(xik))Δxki=xixik.这样Rk,bk可以通过一个新的线性回归得到。
argRkminbkdixik||ΔxkiRkΦikbk||2

随着k的增大,误差逐渐减小,一般4到5次的迭代就可以达到比较好的效果。

Training for SDM

当我们计算出一系列的{Rk},{bk},我们就可以通过迭代式(1)通过迭代求解特征点。一般初始的特征点可以选取训练时的初始特征点。
后续我们还会给出SDM方法的Matlab代码及相关说明,你就会看到比较清楚的步骤和效果了。

3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Supervised Descent Method(人脸对齐之SDM论文解析)

这篇文章主要提出了一种名为SDM(Supervised Descent Method)的方法,用来最小化非线性最小二乘(Non-linear Least Squares)目标函数,即目标函数是均方误差...
  • jiajinrang93
  • jiajinrang93
  • 2017-03-31 22:51
  • 2122

人脸对齐之SDM(Supervised Descent Method)

SDM(Supervised Descent Method)是一种监督下降方法,属于解决非线性最小化NLS(Non-linear Least Squares)问题的一种方法。   解决非线性最优化...
  • qq_14845119
  • qq_14845119
  • 2016-12-08 17:01
  • 3392

人脸对齐SDM

本文所述方法为SDM在人脸对齐上的应用(Supvised Descent Method)。SDM本是一种求函数逼近的方法,可以用于最小二乘求解。SDM并非一种人脸对齐方法,只是作者在提出新的人脸对齐方...
  • huneng1991
  • huneng1991
  • 2016-07-16 11:34
  • 7110

SDM For Face Alignment 流程介绍及Matlab代码实现之训练篇

SDM 训练阶段的任务如下: 载入标准化的数据(包括400*400的正脸及特征点) 对每一张标准化的图片,模拟人脸检测仪,产生10个扰动的人脸框及相应的初始特征点x0x_0。 求解Δ...
  • xiamentingtao
  • xiamentingtao
  • 2015-08-06 00:16
  • 8266

人脸对齐SDM技术

人脸对齐技术
  • ljp12345
  • ljp12345
  • 2016-12-17 16:03
  • 585

人脸对齐之SDM / 人脸对齐之LBF / 人脸实时替换

SDM(Supervised Descent Method)是一种监督下降方法,属于解决非线性最小化NLS(Non-linear Least Squares)问题的一种方法。   解决非线性最优化...
  • Taily_Duan
  • Taily_Duan
  • 2017-01-17 16:08
  • 3540

人脸对齐之SDM论文解析

人脸对齐之SDM论文解析以及牛顿迭代法
  • wfei101
  • wfei101
  • 2017-06-14 23:11
  • 231

【OpenCV】人脸对齐landmark及位置姿态EstimateHeadPose(SDM)

SDM:https://github.com/RoboPai/sdm #include "stdafx.h" #include #include #include #include "op...
  • Taily_Duan
  • Taily_Duan
  • 2017-03-06 16:17
  • 2163

人脸识别之人脸对齐(一)--定义及作用

原文: http://www.thinkface.cn/thread-4354-1-1.html http://www.thinkface.cn/thread-4488-1-1.html...
  • qq_15807167
  • qq_15807167
  • 2017-01-18 22:41
  • 1063

【人脸对齐】Supervised Descent Method and its Applications to Face Alignment

【人脸对齐】Supervised Descent Method and its Applications to Face Alignment cppmc426 发表于 2015-3-29 1...
  • zkl99999
  • zkl99999
  • 2015-12-02 22:15
  • 1095
    个人资料
    • 访问:285058次
    • 积分:4126
    • 等级:
    • 排名:第8660名
    • 原创:117篇
    • 转载:82篇
    • 译文:8篇
    • 评论:106条
    个人网站
    最新评论