Unconstrained Face Alignment via Cascaded Compositional Learning

\documentclass{article} %article文章
%\documentclass[journal]{IEEEtran}
\usepackage{cTex} %使用中文字符
\usepackage{amsmath} %使用数学公式
\usepackage{amssymb}
%\usepackage[colorlinks]{hyperref} %超级链接宏包
\usepackage[pagebackref,colorlinks]{hyperref} %超级链接宏包
\usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry} %设置也边距
\usepackage{caption}
\usepackage[ruled,vlined]{algorithm2e}%算法
\renewcommand{\algorithmcfname}{算法} %%将算法的标题:从Algorithm 1 到 算法1.
%%===设置参考文献===
\renewcommand{\refname}{参考文献}
%%==图片序号与标题之间的冒号改为空格,将图片序号中的”Fig”改为”图“
\captionsetup[figure]{labelsep=space}

%%==设置字体===
\newcommand{\wuhao}{\fontsize{10.5pt}{\baselineskip}\selectfont} %五号
\newcommand{\liuhao}{\fontsize{7.875pt}{\baselineskip}\selectfont} %六号
\setmainfont{Times New Roman} % 全局西文用 Times New Roman 字体
\setCJKmainfont{SimSun} % 全局中文用 Adobe Song Std 字体
\title{Unconstrained Face Alignment via Cascaded Compositional Learning}
\date{}
\author{\footnote{xuluhui123@126.com}}
\renewcommand \figurename {\liuhao 图}

\begin{document}
\maketitle
\section*{摘要}
我们提出了一个实际的方法解决单幅图像无约束的人脸对齐问题。在我们的无约束问题中,我们需要处理大的头部姿态和丰富的形状变形引起的大的形状和表观的变化。为了能够在无约束的场景中,使我们的级联回归能够处理全局形状变化和不规则的表观- 形状关系,我们将优化空间分为多个同种类型的域,将从多个特定域的回归中估计的组合作为预测的形状。通过使用特定表示的学习目标函数和一个新的树分裂函数,我们的方法能够估计一个鲁棒性的,并且有意义的组合。由于使用了快速的域排除机制,以及利用了快速的像素特征,我们的方法的速度能够达到300FPS。并且在精度上超过了现有的方法。
\section{简介}

本文中,我们提出了一个有效的并且高效的无约束的人脸对齐方法。它不依赖于3D人脸模型和3D注释,没有假定头部姿态的范围。它能够很容易的处理整个AFLW数据集中的任意的角度以及丰富的表情。此外对齐只需要在单张图像上进行,而不需要时间先验。我们将给出这些吸引人的属性可以通过将流行的级联回归策略表示为一个级联的组合学习(cascaded compositional learning,CCL) 问题来完成。特别地,我们不使用单个级联回归来覆盖全局形状参数空间,和文献[37]一样,我将最优化空间划分成多个同种类型的域。针对每一个域使用一个特定域的级联回归。给定一幅测试图像,它的形状可以估计为各种DHDs(domains of homogeneous descent) 的组合形状。

\begin{figure}[htbp]
\centering
\includegraphics[width=1\textwidth]{figure1.png}
\caption{\fontsize{7.875}{0.5\baselineskip}\selectfont {三种方法在AFLW数据集上的测试误差分布。我们选择两个因素,Yaw和嘴角的大小,为了可视化分布,并且提供5 个区域(I,V) 有代表性的人脸图像。通过观察可以看出,一个级联回归方法仅在前侧人脸区域获得小的误差。一个多视角的方法不能全面的解决全局形状和表观变化。我们的级联组合的学习在所有人脸中产生满意的结果.}} %captions 不采用自动编号
\label{fig-001}
\end{figure}

我们强调CCL拥有的一些唯一的属性:\
(i)\emph{鲁棒性的组合预测:}我们使用一个新的分裂函数,在一个决策树框架中估计一个组合矢量。函数的表示满足,其直接地最优化基准点的位置,因此,给定任意的姿态和人脸形变,可以产生精确的对齐。(如果优化参数的话,在后面我们会看到,小的形状参数误差并不对应小的基准点定位误差。)我们注意到这不是一个很天真的混合估计,我们需要确保这棵树能够估计有意义的一个组合,该组合捕捉域之间的唯一相关性,因此估计的组合矢量,语义上允许更相邻的域共享相似的推荐,而不是域空间的远离的域。(ii)快速:我们将方法表示为实时的丢弃无希望的域。此外该方法利用快速的像素差特征[5]。
\section{相关工作}
Jourabloo等人[18]提出了一个3D方法,即利用级联回归预测3D基形状的系数,和3D-2D的投影矩阵。我们在实验室中表明最优化基形状系数和投影是间接的,并且是次优的,因为更小的参数误差并不一定等价于更小的对齐误差[5]。Tulyakov等人将回归目标扩展到3D空间。然而,这个方法依赖于有形状变化限制的3D数据集,并且不能利用现有的2D自然场景下的数据集,例如AFLW和20K+数据集。Wu[34]等人提出了一个遮挡鲁棒的级联回归方法来处理极端的姿态和遮挡,但是它们的方法仅在少量的实验室环境下的挑战图像进行了验证,其缺乏特定的机制来处理任意形状变化,而不仅是两种标准的侧面视角。Hsu 等人[17]扩展了混合树模型[45],并且达到了更好的精度和效率。然而其是假定人脸形状是一个树结构,在形状变化了施加了强的约束。
\section{级联组合学习}
给定一个人脸图像I,人脸形状对齐算法的目标是预测人脸形状S.也就是L个基准点的x,y坐标[x1,y1,...,xl,yl,...,xL,yL]
级联回归方法(例如[36,27]包含T次迭代,每次迭代过程通过下面的形式更新形状:
St=St1+WtΦ(I;St1)

其中学习的线性回归Wt用于将形状索引特征ϕt(I,St1)映射为形状残差。\par
为了解决当局部回归应用到大的全局变换的形状时局部回归的限制,我们提出了将每一次迭代中的形状预测表示为多个DHDs 下的形状估计的组合。为了更精确的表示,我们定义一组特定域“局部-下降”回归Wt=wt1,...,wtk,...,wtK 和一个组合估计器ft,我们在一次级联中通过下面的公式预测形状:
St=k=1Kptkstk,stk=St1+stk

stk=wtkΦt(I;St1),pt=ft(Φt(I;stk=1...K))

其中每一个域的下降stk和组合矢量pt=[pt1,...,ptk,...,ptK]T都是基于从形状索引特征的估计。(等式???在第???进行了详细的描述).因此,组合pt是一个有意义的定性的域的描述。例如,两个不兼容的域(左侧视角和右侧视角域)的组合不能同时发生.每个组合也是非负的,其提供了有效的形状贡献。我们指出,组合pt是在stk之后进行估计的,因此它可以直接利用局部表观特征Φt(I;stk){\footnote{我们将在部分???展示特征ΦΦ的变种,可以更好的用于推断组合p}}. 因此,在无约束的场景下,我们的方法可以仅抽取\emph{快速像素特征}(fast pixel feature) 进行基准点的检测。\
\textbf{域划分}.我们通过将所有的训练样本分为K个子集来定义K个域。采用文献[37]中方法,我们根据形状和局部表观的主成分来划分所有的样本。每一个成分将样本分成两半,因此,K总是2的幂次方。值得说明的是,头部姿态不是划分的唯一潜在因素。通过观察每一个域的平均人脸,我们发现一些域由形变或者表观属性主导。例如,完全张开的嘴,大的面部缩放,大的人脸轮廓或者带有墨镜的人脸。所有的域共享同样的特征映射(Φt)。\textcolor[rgb]{0.00,0.25,0.50}{(即公式???中求解stk对于不同的域(不同的k)采用相同的Φ)}\
\textbf{推断}.图???阐述了CCL测试阶段中的一次迭代。我们首先基于先前迭代的形状估计获得形状索引特征。接着将该特征送入到所有域来获得各个域的估计的形状残差和相应的更新后位置处的索引特征。然后我们通过联合的考虑所有域的局部表观来预测各个域的组合。我们重复上面的过程T(等式???,???)次获得我们最终的估计.注意,第一次迭代没有St1,因此每个域从其特定域的平均形状开始。为了进一步的加速,我们适当的实时的排除不兼容的域。就像图???展示的,如果一个域k对应的组合估计是0 (也就是说ptk=0). 我们立即排除这个域,并且以后绕过它的计算。我们经验地发现这个策略加速了推断的过程(4倍),没有任何精度的损失。

\begin{figure}[htbp]
\centering
\includegraphics[width=\textwidth]{figure2.png}
\caption{\fontsize{7.875}{0.5\baselineskip}\selectfont {阐述了级联组合学习(CCL)的一次迭代。它包括三个步骤:1)鲁棒的特征映射,获得形状索引特征$\Phi^t(I;S^{t-1})$;2)每一个域获得回归形状$s_k^t$和相应的特征$\Phi'^t(I;s_k^t)$;3)预测组合$\mathbf p^t$,获得估计的形状$S^t$。因此,我们的模型每次迭代包括三个成分:特征的提取$\Phi^t$,一组局部回归器$W^t={w_1^t,...,w_k^t,...,w_K^t}$和组合估计器$f^t$.使用实时的域的排除机制,在步骤2中,如果第k个域在迭代前已经被排除,那么我们可以绕过$s_k^t$和$\Phi^t(I;s_k^t)$的计算。第k个域排除之后,$s_k^t$和$\Phi^t(I;s_k^t)$的值保持固定。}}% captions 不采用自动编号
\label{fig-002}
\end{figure}

\textbf{学习},我们连续的学习形状映射Φt和组合形状估计(Wt,pt)。它们的动机和学习步骤都在第??????中详细的描述。为了讨论我们框架的核心步骤,我们通过引入组合形状(Wt,pt)的学习开始。
\subsection{组合形状估计}\label{sec-031}
组合形状的学习包括学习WtptWt的学习很简单,因为我们已经假定每一个域k是同质(同类)下降的。回归器wtk可以通过脊回归学习:

minwtkiTk||S^iSt1iwtkΦt(I;St1i)||22+γ||wtk||2F

\Tk表示第k个域的训练样本的索引。(\textcolor[rgb]{0.00,0.25,0.50}{即针对不同的域,使用该域下的数据集学习多个回归器})\
\indent 形状预测的难点源于组合pt(等式???ft )的精确估计。通过将每个域看作一个类,ft 直接建模的可以是一般的多分类器。(例如,SVC或者分类随机森林等)。在测试阶段,我们简单的设置pt为类的后验概率估计。然而我们发现这些一般的分类方法产生差的结果。一个主要原因是它们将不同的域看作是相等的。特别的,在训练阶段,对于每个样本,它们仅支持一个最优的域,并且对于任何其他的域的预测给出相同的损失惩罚。这带来了两个缺点,导致了坏的结果。首先,盆地的吸引现象的存在,一些次优的域也可以提供较准确的stk。它们提供了类似于最优域的基准点位置和局部表观,但是被看作是负类,这混淆了一个分类器的训练。其次,分类器的训练并没有严重的惩罚不兼容的域(例如,右侧视角域和左侧视角域)。在测试阶段,包含不兼容的域将严重的损害整体的鲁棒性。\
\indent 我们通过直接的优化组合形状Si和真实的形状S^i之间的差异预测组合p,来克服上面提到的问题。为了简单,本节我们省去索引t).

\centeringminfs.t.SipiiT||S^iSi||22=k=1Kpi,ksi,k=f(Φi),pi0,||pi||1=1

其中si,k表示基于学习的回归器得到的训练样本i,域为k的回归的形状。Φi表示所有的特征Φ(I;si,k),(k=1,...,K)。 直接对形状优化,能够使我们重新调整对不同组合的组态的惩罚,因此避开了分类器学习的限制。对p施加概率的单纯性约束,这样的话,生成的模型同样服从分类可信度评估的生成空间(即概率的满足非负,和为1)。\
\indent 为了快速的预测一个有意义的和鲁棒性的组合,我们选择随机森林模型作为等式???f的特定形式。我们不使用分类熵进行直接的分裂,我们提出了一个新的分裂机制来学习树(等式???,该机制能够直接的关于组合pt对形状进行优化.为了更准确的描述,我们通过组合地优化分裂参数Θ(选择特征索引和阈值)和组合pα,α=L,R,并且使用下面的损失函数,来学习分裂一个节点:
\centeringminΘ;p(α)α=L,RiQ||S^iSi||22s.t.Si=k=1K(p(α))kSi,k,p(α)0,||p(α)||1=1

Q表示当前分裂节点中训练样本的索引。\
\indent 训练完后,我们的树结构包括下面的学习参数:1)每一个分裂或者叶子节点j载有一个唯一的组合矢量pj;2)每一个节点j 载有分裂参数Θj;3)每一个叶子节点j载有训练样本索引Qj,其是训练过程中达到该叶子的训练样本的索引。\
\indent 在测试阶段,我们将每一个样本贯穿每一颗树,达到一个叶子节点。我们用Q表示所有训练样本索引Qj的并集(这里的j 表示叶子节点)。我们将K 表示在当前迭代之前还未排除的域的索引。我们通过优化下面的公式,获得组合预测:
\centeringminpiQ||S^ikKpksi,k||22s.t.p0,||p||1=1,pk=0|kK

注意i仍是训练样本的索引。最优化可以通过二次规划有效的求解,并且我们经验的发现获得组合p消耗的时间与特征提取处理的时间相比可以忽略不计。使用获得的\emph{组合矢量},我们通过等式???聚合所有的形状惩罚获得我们形状的估计。
\subsection{学习一个适当的特征映射}\label{sec-032}
\noindent Φt:\textbf{丰富特征编码}。特征映射Φt扮演着重要的着色,因为它即用于回归也用于组合的预测。为了速度快以及更强的局部表征学习(local representation learning),我们基于LBF框架[27]构造我们的特征表示.原始的LBF通过对每一个基准点生成一个回归森林[3] 来学习局部表示。我们经验上发现,将我们的问题扩展到无约束的场景时,这样的编码(2D 回归偏移的codebook)是不足的。因为LBF 对于\emph{自遮挡}(self-occlusion{\footnote{self-occlusion表示:}})没有鲁棒性,并且当特征索引在(取在)背景区域时,通常导致错误的组合估计。我们的框架需要一个更积地学习背景的表示,并且对基准点的可见性进行编码。\
因此,类似于人脸检测应用[6],额外的包含了负的训练样本,如图???(b).我们增大了决策空间,2D回归偏移πlS^ti,使用额外的二值分类标签c^i(l),描述了局部区域基准点的可见性。类似于文献[12,6],我们使用Hough Forest策略,学习最小化有结构的目标损失函数。特别地,一个节点是一个回归分裂的概率等价于当前分裂节点中正样本的比例。图???提供了丰富特征学习的说明。\
\indent 我们指出新特征的两个主要的优点。首先,特征中的指示器更好的对可视性信息进行了编码。这对于预测组合pt(等式???)是一个强有力的线索。第二,这个特征与原始的LBF特征相比,对于自遮挡有更好的鲁棒性,更有利于回归精度。它避免了启发式的遮挡模式的划分[41]或者遮挡特征降低权重[34]。\
Φt:\textbf{针对组合预测学习适当的特征}。为了进一步的针对组合预测(等式??? 中的p)来剪裁特征,以及为了树的学习,我们对获得的特征Φ平滑和将其压缩为K×L- 维中间表示Φ.基于经验,我们发现Φ是高维的,并且每一个指示器含有很大的噪声。这样的表示并不适合指导树中的二进制测试。因此,我们抛弃2D回归偏移信息,以及对特征中的局部的可视性分类信息进行提纯。为了更精确的表示,对于每一个从基准点l(索引在sk)抽取的特征ϕl(I;sk),我们学习一个线性映射,其将ϕ(I,sk)映射到局部的可视性分类标签c^(l),我们的实验表明,这样的表示对于树来学习组合预测具有足够的可区分性。

\begin{figure}[htbp]
\centering
\includegraphics[width=0.5\textwidth]{figure3.png}
\caption{\fontsize{7.875}{0.5\baselineskip}\selectfont {在当前的局部区域,测试人脸的左嘴角是不可见的.我们特征映射方法的树很令人满意的将样本送入到大多数树的“不可见”的叶子节点,同时原原来的LBF特征[27]包含很强的噪声.(b)典型的用来训练的训练样本。原始的LBF特征仅包括正样本的情况(+)}} %captions 不采用自动编号
\label{fig-03}
\end{figure}

\section{实验}
数据集.我们选择两种类型的数据集:In-the-wild 和Lab-Environment

\section{附录}

如何去求解公式???

\centeringminpiQ||S^ikKpksi,k||22s.t.p0,||p||1=1,pk=0|kK

我们使用matlab工具包求解该二次规划问题。首先需要将二次规划问题转换为标准的二次规划形式:

\centeringminx12xTHx+fTxAxbAeqx=beqlbxub

\section{理解}
从公式???和公式???可以看出,我们的目标是公式???中的第一个,其计算需要后面的,公式???中的第二个公式的计算也用到后面的公式。因此,知道了初始化形状St1以及图像本身I,我们可以通过公式stk=wtkΦt(I;St1)计算得到stk,知道了stk我们就可以利用公式stk=St1+stk计算出stk,利用stk我们可以计算出pt,利用pt,我们可以计算出最终要估计的形状St。因此我们可以看出,我们要学习的参数包括了两个:Wp (或者说函数映射f的学习).\
W的学习采用常规的方法。
p怎么学习呢?我知道在face alignment at 3000fps中,针对每一个基准点,我们利用随机森林,采用最大方差的分裂方式对节点进行了分裂,最终叶子节点中存储了到基准点的2D偏差矢量。
公式???:

pt=ft(Φt(I;stk=1...K))

其中t表示stage,f表示映射函数。Φt表示纹理的映射。像文中说的那样,我们可以学习一个分类器,类别数为组合空间的个数(即K的大小),来学习概率p。但是这样是不行的。\
\indent 因此,提出了公式???的情况,直接对组合形状Si和真实的形状S^i进行优化。来克服上目的问题。公式???的优化不是传统意义的优化,因为在映射函数f的计算过程中使用了随机森林,因此这里的S^i起着“监督”的作用。随机森林的训练需要知道训练样本集(图像集)以及从选取的特征,这里的用到了每一个视角更新后的形状下的纹理特征。随机森林学习的另外一个重要点就是节点的分裂准则,这直接影响到最终节点存储的类型。下面我们来分析一下节点分裂公式???:
\centeringminΘ;p(α)α=L,RiQ||S^iSi||22s.t.Si=k=1K(p(α))ksi,k,p(α)0,||p(α)||1=1

其中Θ表示节点的分裂参数(即选择的特征和阈值),Q表示当前分裂节点中训练样本的索引。公式???意义就是节点进行分裂后,使得左右节点中的样本能够“更纯”,能抽出“基”来对真实的形状进行表示。树的训练结束后,我们会关心,树的叶子节点都存了哪些信息?每个分裂节点存储着分裂参数Θ,每一个叶子节点存储着达到该叶子节点所有的样本。\
\indent 通过上面的训练后,我们会想怎么用呢?即测试的时候是什么样的情况?\
我们知道对于一个样本穿过随机森林中的每棵树,最终达到叶子节点。这样对于每棵树,都只达到一个叶子节点,我们将这些叶子节点中已知的训练样本搜集起来构成集合Q,即求解公式7:
\centeringminpiQ||S^ikKpksi,k||22s.t.p0,||p||1=1,pk=0|kK

注意:这里公式7的求解和上面的随机森林的求解不一样,这里是真正意义的优化,这里使用二次规划。因为这里的组合状态数量不是很大,例如是十几或者几十。我们可以利用matlab中的二次规划工具包。
二次规划问题的推导:
\centeringminx12xTHx+fTxAxbAeqx=beqlbxub

\begin{figure}[htbp]
\centering
\includegraphics[width=0.5\textwidth]{figure3.png}
\caption{\fontsize{7.875}{0.5\baselineskip}\selectfont {在当前的局部区域,测试人脸的左嘴角是不可见的.我们特征映射方法的树很令人满意的将样本送入到大多数树的“不可见”的叶子节点,同时原原来的LBF特征[27]包含很强的噪声.(b)典型的用来训练的训练样本。原始的LBF特征仅包括正样本的情况(+)}} %captions 不采用自动编号
\label{fig-03}
\end{figure}

我们知道矩阵H,就是关于p的二次方,f是关于p的一次方,因为每个元素位置是等价的,因此我们只求关于p1的二次方和一次方系数即可,经过推导,我们有下面的公式:

f(p1)=p21iQj=12ns2i,1,j+p1p2iQj=12nsi,1,jsi,2,jp1iQj=12n2s^i,jsi,1,j

\end{document}

pdf下载地址:
http://download.csdn.net/detail/xuluhui123/9629518

posted on 2016-09-13 15:10  Raby_Draby  阅读(507)  评论(0)    收藏  举报

导航