CN100389430C - 基于aam的头部姿态实时估算方法及系统 - Google Patents

基于aam的头部姿态实时估算方法及系统 Download PDF

Info

Publication number
CN100389430C
CN100389430C CNB2006100122339A CN200610012233A CN100389430C CN 100389430 C CN100389430 C CN 100389430C CN B2006100122339 A CNB2006100122339 A CN B2006100122339A CN 200610012233 A CN200610012233 A CN 200610012233A CN 100389430 C CN100389430 C CN 100389430C
Authority
CN
China
Prior art keywords
asm
model
face
profile
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006100122339A
Other languages
English (en)
Other versions
CN1866271A (zh
Inventor
谢东海
黄英
邓亚峰
王浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CNB2006100122339A priority Critical patent/CN100389430C/zh
Publication of CN1866271A publication Critical patent/CN1866271A/zh
Application granted granted Critical
Publication of CN100389430C publication Critical patent/CN100389430C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于AAM的头部姿态实时估算方法及系统,首先训练获得ASM模型和AAM灰度模型;然后计算出人脸轮廓定位时需要的梯度矩阵和Hessain矩阵,获得预处理模型;在获得输入的人脸图像序列后,进行人脸检测与追踪,得到人脸轮廓的粗略位置,并获得人脸初始轮廓的位置,通过对图像序列重采样,获得一个与ASM平均轮廓脸大小相符的图像区域;在该图像区域内,根据梯度矩阵和Hessain矩阵,首先基于整体相似变换对人脸轮廓进行定位,然后基于ASM模型参数对轮廓进行精确定位,并计算对应的ASM参数;根据所述ASM参数与样本训练时确定的人脸角度的关系,估算出头部的姿态。本发明估算出的姿态比较准确,而且可以获得连续的姿态。

Description

基于AAM的头部姿态实时估算方法及系统
技术领域
本发明涉及一种人脸图像中的头部姿态估算方法及系统,尤其涉及一种基于AAM(Active Appearance Model)的头部姿态实时估算方法及系统。
背景技术
根据人脸信息来确定头部姿态是人机交互研究领域的一个重要的研究课题,它在人脸识别、人脸动画合成以及远程会议等方面有着非常广泛的应用。
目前常见的计算头部姿态的方法可以分为两类:一类基于统计理论,另外一类则是基于人脸特征点的几何信息或者结合三维模型。
基于统计的方法首先采集不同方向的人脸样本,然后训练出一个分类器,根据分类的结果来确定一个人脸的头部姿态信息。基于统计的方法原理简单,但是训练工作量巨大,获得的姿态的精确度也不高。尤其是这种方法不能够获得连续的姿态变化。
基于人脸特征点几何信息的头部姿态计算方法一般是首先检测出人脸的特征信息,然后利用不同角度几何信息的变化来确定姿态。比如有基于仿射关系的姿态计算方法以及融合了三维信息的姿态确定方法。基于几何信息的方法计算简单,但是在实时姿态计算中,姿态的计算受特征点定位和跟踪的影响。特征点的位置不准确将会极大的影响姿态参数的计算。
因此,实时的确定视频序列中人的头部姿态是一个很有挑战的问题,它不仅需要能够快速的跟踪视频中人脸的区域,还要求能够实时准确的计算出人的头部的姿态。
发明内容
本发明所要解决的技术问题在于提供一种基于AAM的头部姿态实时估算方法及系统,以准确地、连续地获得输入视频序列中的人脸姿态。
为解决上述技术问题,本发明提出一种基于AAM的头部姿态实时估算方法,包括如下步骤:
(1)根据采集的不同头部姿态的人脸图像样本,训练获得ASM模型和AAM灰度模型,其中,根据ASM模型获得一个ASM平均轮廓脸,根据AAM灰度模型得到一个平均灰度脸;
(2)根据所述ASM模型与AAM灰度模型,计算出人脸轮廓定位时需要的梯度矩阵和Hessain矩阵,并根据所述ASM模型、AAM灰度模型、梯度矩阵和Hessain矩阵,获得预处理模型;
(3)获得输入的人脸图像序列,并进行人脸检测与追踪,根据检测和跟踪得到人脸轮廓的粗略位置,并将ASM平均轮廓脸对应到人脸轮廓的粗略位置,获得人脸初始轮廓的位置,根据初始轮廓的位置,通过对图像序列重采样,获得一个与ASM平均轮廓脸大小相符的图像区域;
(4)在该图像区域内,根据所述预处理模型包括的梯度矩阵和Hessain矩阵,首先基于整体相似变换对人脸轮廓进行定位,然后基于ASM模型参数对轮廓进行精确定位,并计算对应的ASM参数;
(5)根据所述ASM参数与样本训练时确定的人脸角度的关系,估算出头部的姿态。
其中,步骤(1)所述ASM模型的训练,可以包括如下步骤:
(1a)标定出人脸图像样本中的人脸轮廓点;
(1b)根据所有标定出的轮廓点的横纵坐标组织成一维样本矢量,对所有样本进行PCA变换,得到ASM模型。
其中,步骤(1)所述AAM灰度模型的训练,可以包括如下步骤:
(1A)标定出人脸图像样本中的人脸轮廓点;
(1B)根据ASM模型确定平均轮廓脸;
(1C)对所述平均轮廓脸构三角网,并将三角网中的每个三角形进行离散化;
(1D)对每张人脸图像样本,在平均脸网格和标定网格的每个三角形之间建立仿射变化,通过图像重采样从实际人脸图像中采集出和平均脸大小相同的区域;
(1E)将平均脸网格中的所有点的灰度组织为一个矢量样本,对所有样本进行PCA变换,得到AAM灰度模型。
其中,所述步骤(1D)可以进一步包括;对采集的图像进行灰度归一化处理,使所有图像的整体灰度平均值和方差相同。
其中,所述步骤(1)可以进一步包括:通过采集肤色的样本和不属于肤色的样本作为正负样本,训练获得一个肤色模型,用以区分背景和肤色。
其中,步骤(3)所述重采样步骤,可以进一步包括:利用所述肤色模型去除背景的影响。
其中,步骤(4)所述对人脸轮廓进行定位,可以包括:
在初始轮廓的基础上通过整体相似变换使轮廓的大小基本上与人脸的大小一致;
所述基于ASM对轮廓进行精确定位,可以包括:使整体相似变换后的轮廓和图像中的人脸轮廓吻合。
其中,所述人脸图像样本包括人脸向左、向右、向上和向下四个方向的样本。
本发明进而提供一种基于AAM的头部姿态实时估算系统,包括:
训练模块,包括:ASM模型和AAM灰度模型生成单元、预处理模型生成单元,其中
ASM模型和AAM灰度模型生成单元,用于根据采集的不同头部姿态的人脸图像样本,训练获得ASM模型和AAM灰度模型,其中,根据ASM模型获得一个ASM平均轮廓脸,根据AAM灰度模型得到一个平均灰度脸;
预处理模型生成单元,用于根据所述ASM模型与AAM灰度模型,计算出人脸轮廓定位时需要的梯度矩阵和Hessain矩阵,并根据所述ASM模型、AAM灰度模型、梯度矩阵和Hessain矩阵,获得预处理模型;
估算模块,包括:人脸输入单元、轮廓定位单元、姿态估算单元,其中
人脸输入单元,用于获得输入的人脸图像序列,并进行人脸检测与追踪,根据检测和跟踪得到人脸轮廓的粗略位置,并将ASM平均轮廓脸对应到人脸轮廓的粗略位置,获得人脸初始轮廓的位置,根据初始轮廓的位置,通过对图像序列重采样,获得一个与ASM平均轮廓脸大小相符的图像区域;
轮廓定位单元,用于在该图像区域内,根据所述预处理模型包括的梯度矩阵和Hessain矩阵,首先基于整体相似变换对人脸轮廓进行定位,然后基于ASM模型参数对轮廓进行精确定位,并计算对应的ASM参数;
姿态估算单元,用于根据所述ASM参数与样本训练时确定的人脸角度的关系,估算出头部的姿态。
其中,所述训练模块,可以进一步包括一个肤色模型生成单元,用于通过采集肤色的样本和不属于肤色的样本作为正负样本,训练获得一个肤色模型,用以区分背景和肤色。
其中,所述人脸输入单元,可以在重采样过程中,利用所述肤色模型去除背景的影响。
其中,所述轮廓定位单元,可以通过在初始轮廓的基础上通过整体相似变换使轮廓的大小基本上与人脸的大小一致,并基于ASM对轮廓进行精确定位,使整体相似变换后的轮廓和图像中的人脸轮廓吻合。
本发明根据人脸跟踪和人脸特征点定位的结果来确定视频中人脸器官的初始轮廓位置,然后基于AAM模型来精确定位出器官的真实位置,由于轮廓的定位具有整体性,因此用定位的结果来反算出的姿态比较准确,而且可以获得连续的姿态。
附图说明
图1为根据本发明实施例所述的头部姿态估算系统的原理框图;
图2为根据本发明实施例所述的头部估算方法流程示意图;
图3为根据本发明实施例所述的采集样本示意图;
图4为根据本发明实施例所述的不同光照条件下的人脸样本示意图;
图5为根据本发明实施例所述的手工标定的人脸轮廓示意图;
图6为根据本发明实施例所述的ASM模型驱动形状的变化示意图;
图7为根据本发明实施例所述的用于纹理模型训练的样本生成示意图;
图8为根据本发明实施例所述的改变不同的λi得到的人脸图像示意图;
图9为根据本发明实施例所述的三角形中任意象素和三个顶点的联系示意图;
图10为根据本发明实施例所述的实时人脸轮廓定位和姿态估算驱动三维模型效果示意图。
具体实施方式
本发明提出的基于AAM的实时头部姿态计算的系统及方法,是基于AAM(Active Appearance Model)来实时地定位出视频序列中人脸轮廓,然后根据定位得到的人脸轮廓信息来反算出头部姿态信息。
AAM是图像理解的一种强大工具。它建立在的统计基础上,同时考虑了物体形状和形状覆盖区域内的纹理信息。基于AAM模型的人脸轮廓对齐也是目前非常流行的器官轮廓定位方法。
AAM包括两个部分,一个部分是对形状进行统计,另外一部分是对形状内部的纹理信息(本发明只针对灰度信息)的统计。单独对形状进行统计的模型就是ASM(Active Shape Model)模型,ASM模型是对样本空间代表的人脸形状变化的一种表示,因此可以在人脸器官轮廓定位的时候用来控制不同姿态的人脸形状变化。也可以仅使用ASM来定位轮廓,但这种方式只用到了轮廓点附近的灰度信息,所以定位的结果不够准确。AAM的灰度模型是在ASM的基础上统计人脸灰度信息的变化,用AAM的灰度模型来进行轮廓定位的本质是用实际人脸和AAM模型生成的人脸进行匹配,因此定位结果比较准确。而本发明就是将ASM和AAM灰度模型分开进行训练,分别得到两个训练模型。
从系统角度来说,本发明的一个实施例可以大致包括如下单元模块:
训练模块,包括:
ASM模型和AAM灰度模型生成单元,用于根据采集的不同头部姿态的人脸图像样本,训练获得ASM模型和AAM灰度模型,其中,根据ASM模型可获得一个ASM平均轮廓脸,根据AAM灰度模型可以得到一个平均灰度脸;
预处理模型生成单元,用于根据所述ASM模型与AAM灰度模型,计算出人脸轮廓定位时需要的梯度矩阵和Hessain矩阵,并根据所述ASM模型、AAM灰度模型、梯度矩阵和Hessain矩阵,获得预处理模型;
估算模块,包括:
人脸输入单元,用于获得输入的人脸图像序列,并进行人脸检测与追踪,根据检测和跟踪得到人脸轮廓的粗略位置,并将ASM平均轮廓脸对应到人脸轮廓的粗略位置,获得人脸初始轮廓的位置,根据初始轮廓的位置,通过对图像序列重采样,获得一个与ASM平均轮廓脸大小相符的图像区域;
轮廓定位单元,用于在该图像区域内,根据所述预处理模型包括的梯度矩阵和Hessain矩阵,首先基于整体相似变换对人脸轮廓进行定位,然后基于ASM模型参数对轮廓进行精确定位,并计算对应的ASM参数;
姿态估算单元,用于根据所述ASM参数与样本训练时确定的人脸角度的关系,估算出头部的姿态。
如图1所示,为根据本发明实施例所述的头部姿态估算系统的原理框图。其中,训练模块的目的是用大量的多姿态的人脸样本来训练ASM模型和AAM模型。我们的目的是要能够估算出视频中不同人脸头部姿态的参数,所以在样本集中包含了四种代表不同姿态人脸的样本。这四种姿态分别是左右旋转和上下旋转姿态。由于左右样本具有对称的特点,所以我们在采集样本的时候在左右旋转方向只采集一个侧面的图像。同时样本集中还包含了正面人脸的样本。对每张样本我们都要手工的标定出轮廓点的位置。将所有的标定出的轮廓点的纵横坐标组织为一个样本矢量,利用标准的ASM训练方法我们就可以训练出一个能够反映不同姿态变化的ASM模型。根据ASM模型可以获得ASM平均轮廓脸,根据标定出的廓点位置对ASM平均轮廓脸构建三角网格。
然后,选择训练好的ASM模型的平均轮廓脸网格作为AAM灰度模型的人脸区域。对每张样本按照廓点位置构建三角网格,在ASM平均轮廓脸网格和样本标定网格的每个三角形之间建立仿射变换,进行图像重采样就可以将不同样本中的人脸区域部分的灰度信息组织到一个规定大小的区域里面。将ASM平均轮廓脸网格中的所有点的灰度组织为一个矢量样本,进行PCA训练就可以得到AAM灰度模型。AAM灰度模型可以反映人脸的纹理变化。并且根据AAM灰度模型可以获得一个平均灰度脸,它的大小和ASM平均轮廓脸是一致的。
得到AAM灰度模型后,可以采用一种“Inverse Compositional Algorithm”算法来进行人脸轮廓定位。这种算法的优点在于可以事先计算出定位时需要的梯度矩阵和Hessain矩阵。这样就可以极大的提高定位的速度,达到实时的效果。可以将梯度矩阵和Hessain矩阵组织到预处理模型中。这样,预处理模型内可以包含有ASM模型、AAM灰度模型及梯度矩阵、Hessain矩阵。
然后,姿态估算模块就可以利用训练模块得到的预处理模型来进行人脸器官的实时定位。对视频中的每一帧,我们根据人脸检测和特征点跟踪的结果来获得初始轮廓的位置。根据初始轮廓结果可以构建三角网格,在网格的每个三角形和ASM平均轮廓脸构建的三角网格中对应的每个三角形之间建立仿射变换,重采样后就可以得到一个和AAM灰度模型的平均脸图像大小一样的图像。然后用迭代优化的算法来进行定位,优化的目的是使每一帧中的人脸区域的灰度信息和AAM模型中平均脸的灰度信息最相似。当定位得到的轮廓和视频中人脸的轮廓大致吻合后,我们可以根据当前轮廓对应的ASM模型参数来计算头部的姿态参数。
如图2所示,为根据本发明实施例所述的头部估算方法流程示意图。首先,根据采集的不同头部姿态的人脸图像样本,训练获得ASM和AAM灰度模型,其中,根据ASM可获得一个ASM平均轮廓脸,根据AAM灰度模型可以得到一个平均灰度脸(步骤201);根据所述ASM模型与AAM灰度模型,计算出人脸轮廓定位时需要的梯度矩阵和Hessain矩阵,并根据所述ASM模型、AAM灰度模型、梯度矩阵和Hessain矩阵,获得预处理模型(步骤202);获得输入的人脸图像序列,并进行人脸检测与追踪。根据检测和跟踪得到的人脸轮廓的粗略位置,并将ASM平均轮廓脸对应到人脸轮廓的粗略位置就可以获得人脸初始轮廓的位置。根据初始轮廓的位置,通过对图像序列重采样,获得一个与ASM平均轮廓脸大小相符的图像区域(步骤203);在该图像区域内,根据所述预处理模型包括的梯度矩阵和Hessain矩阵,首先基于整体相似变换对人脸轮廓进行定位(步骤204);然后基于ASM模型参数对轮廓进行精确定位,并计算对应的ASM参数(步骤205);根据所述ASM参数与样本训练时确定的人脸角度的关系,估算出头部的姿态(步骤206)。
步骤201中,对于样本图像的选择,正如上述,为了能够最大限度的反映不同姿态的人脸形状变化,选择的样本中要包含向左,向右,向上和向下四个方向的样本,如图3所示。
由于左右可以通过镜像来实现,所以在采集样本的时候可以只采集向左或者向右的人脸样本。镜像样本的一个优点是可以使最后训练得到的灰度模型左右脸的灰度一致。同时为了能够反映不同光照条件和不同人脸的灰度变化。训练样本还可以包含多个不同人在不同光照条件下的样本。如图4所示。
训练ASM和AAM灰度模型都需要预先知道人脸的轮廓,因此,本发明实施例中的样本轮廓点由手工来标定。如图5所示,手工在人脸的主要特征区域(眉毛、眼睛、鼻子、嘴巴和下巴)标注了58个点。对轮廓点标定之后的样本进行尺寸归一化处理。
对于ASM来说,采集训练很简单。首先将手工标定的轮廓点的坐标组织成为一个一维矢量。设一张人脸中的轮廓点的坐标为:(xi,yi),i=0,1,...,n,n为点的数目,那么可以将所有点的平面坐标组织称为一个一维矢量:Sj=[x0,y0,...,xn,yn],则Sj就是训练的一个样本。将所有标定的人脸轮廓中的平面点都组织成一维矢量,然后对所有的样本进行PCA变换就可以得到ASM模型:
s = s 0 + Σ i = 1 n p i s i
其中,s0是训练样本的均值,也就是平均轮廓脸,si则是PCA变换得到的和样本大小一致的特征分量,si可以用来描述形状的变化。如图6所示,为ASM模型驱动形状的变化(ASM模型根据pi的变化而改变头部姿态)。
人脸纹理变化统计模型的样本采集比ASM复杂一些。首先需要确定平均轮廓脸s0的大小,以平均脸覆盖的区域中的像素的灰度值作为矢量样本的元素。平均轮廓脸可以根据ASM来得到。为了得到平均脸覆盖区域内的像素的灰度值,我们首先对每个样本的轮廓点构三角网,然后将三角网中的每个三角形进行离散化并记录离散化后的像素点的坐标。
对任意一张标定了轮廓点的人脸s,我们按照平均轮廓三角网格的拓扑结果建立s0和s之间每个三角形之间的仿射关系。这个仿射关系可以用W(X;p)来表示,X表示s0上一个点的坐标,p对应了每对三角形之间的仿射变换的参数。根据W(X;p)就可以从实际人脸图像中采样出和平均脸大小完全一样的区域,这个过程就是人脸的重采样。如图7所示,显示了用于纹理模型训练的样本生成。
将平均轮廓包含范围内的每个像素点的纹理组织为一个矢量样本,对所有的进行PCA变换就可以得到纹理信息的统计模型:
A ( X ) = A 0 ( X ) + Σ i = 1 m λ i A i ( X ) , ∀ X ∈ s 0
和ASM一样,A0(X)是所有样本的均值,也就是上文提到的AAM灰度模型的平均脸图像,或称平均灰度脸(因为AAM灰度模型建立在ASM平均轮廓之上,所以A0的大小和S0覆盖的区域的大小是一样的)。Ai(X)是用PCA变换得到的特征分量。改变每个特征分量对应的参数λi我们可以得到不同的纹理。如图8所示,显示了改变不同的λi得到的人脸图像。
由于不同的人脸光照条件不同,在转换为灰度图像时就存在差别。因此在统计训练之前对采集的样本要进行灰度归一化的处理。归一化的方法很多,本发明实施例采用的方法是通过对灰度值进行拉伸和补偿使所有图像的整体灰度平均值和方差相同。
根据本发明的实施例,在利用AAM进行轮廓定位的时候,首先会给出一个轮廓的初始位置,然后根据初始轮廓的位置来从图像序列中采样出一个和标准人脸大小一样的图像区域。初始轮廓是由ASM统计得到的平均轮廓脸经过相似变换得到的,所以不会与图像中的人脸区域完全的吻合。基于初始轮廓采样得到的区域图像肯定会包含一些背景信息,这些背景信息会影响定位的精度甚至导致定位错误。
为了解决这种情况,本发明还可以进一步训练一个肤色模型来区分背景和肤色,在算法中将背景区域置为黑。经过试验,这样可以达到较好的定位效果。
肤色模型在现有文献中有详细的描述,例如Kjedlsen R.,Kender J.″Finding skin in color image″.Face and Gesture Recognition,1996。这种肤色模型将颜色模型从RGB空间转换到IQ空间。然后采集肤色的样本和不属于肤色的样本作为训练的正负样本,分别统计在IQ上的直方图。最后将正负样本的直方图相减就可以得到用来判断一个像素是否为属于肤色的直方图。如果一个像素的RGB值转换为IQ值后对应的直方图上的值为正值,那么就是肤色。
对于图2中的步骤202,由于人脸器官轮廓的定位可以看作是一个优化迭代的过程。如果考虑纹理的变化,那么优化目标方程如下:
Σ X ∈ s 0 [ A 0 ( X ) + Σ i = 1 m λ i A i ( X ) - I ( W ( X ; p ) ) ] 2
其中,I(X)是实际输入的图像,I(W(X,p))是根据仿射变换从输入图像中挖出的一块和平均纹理A0(X)大小一样的纹理区域。优化的目的是找到最优的变换W(X;p)和纹理参数λi,使上式达到最小化。
解决这类优化问题的传统方法是根据泰勒公式将I(W(X,p))展开成为p的线性函数。然后用迭代的方法(如牛顿法等)来找到最优值。
但是这种方法的缺点是每做一次迭代都要重新对输入的图像进行采样,并计算梯度矩阵和Hessian矩阵。在需要实时运行的场合,这种方法不能满足要求。Inverse Compositive Algorithm算法可以很好的解决这个问题。
Inverse Compositive Algorithm算法在现有文献中有详细的介绍,例如I.Matthews and S.Baker.Active Appearance Models Revisited InternationalJournal of Computer Vision,Vol.60,No.2,November,2004。它的思想是,在不考虑纹理变换参数λ时,可以将优化的目标方程改写为如下的形式:
Σ X [ I ( W ( X ; p ) - A 0 ( W ( x ; Δp ) ) ] 2
新的目标方程不再将输入序列展开为参数p的泰勒序列,而是反过来在平均纹理图像上进行泰勒分解:
Σ X [ I ( W ( X ; p ) - A 0 ( W ( x ; 0 ) ) - ▿ A 0 ∂ W ∂ p Δp ] 2
优化的最小二乘解为:
Δp = H - 1 Σ X [ ▿ A 0 ∂ W ∂ p ] T [ I ( W ( X ; p ) ) - A 0 ( X ) ]
由于梯度是在平均纹理图像上计算,那么梯度矩阵
Figure C20061001223300154
和Hessian矩阵(H)都可以预先计算出来,而不用每次迭代都重新计算。虽然梯度是在平均脸图像上计算出来,不过轮廓的定位却是在视频序列图像上来完成。我们需要利用计算出来的参数来算出轮廓在实际图像上的变化,这是一个反算的过程,因此这种方法被称作Inverse Compositive Algorithm。反算的更新策略如下:
W(X;p)←W(X;p)οW(X;Δp)-1
考虑纹理参数时,优化方程写为:
Σ X ∈ s 0 [ A 0 ( X ) + Σ i = 1 m λ i A i ( X ) - I ( W ( X ; p ) ) ] 2
方程中同时需要计算出人脸灰度统计模型的变化参数和轮廓的几何变化的参数,这会给优化带来困难。为了解决这个问题,可以采用了一种空间投影的技术(具体可以参见现有文献:Gregory D.Hager,Perter N.Belhumeur,Efficient Region Tracking With Parametric Models of Geometry and Illumination,IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol,20,NO.10,October 1998)。如果我们将矢量Ai张成的空间记为sub(Ai),Ai的正交空间记为sub(Ai),那么优化方程可以写为:
Σ X ∈ s 0 [ A 0 ( X ) + Σ i = 1 m λ i A i ( X ) - I ( W ( X ; p ) ) ] 2 sub ( A i ) ⊥ + Σ X ∈ s 0 [ A 0 ( X ) + Σ i = 1 m λ i A i ( X ) - I ( W ( X ; p ) ) ] 2 sub ( A i )
由于第一项是在sub(Ai)上来计算,那么包含Ai的所有项都可以被省掉。所以我们的优化方程可以写为:
Σ X ∈ s 0 [ A 0 ( X ) + I ( W ( X ; p ) ) ] 2 sub ( A i ) ⊥
这样我们就可以把AAM中的形状和纹理部分分开来进行解算。轮廓定位中我们实际上只需要计算形状部分的参数。一旦形状参数计算出来,λi就可以解算出来。
利用AAM计算得到的Ai分量数目和训练样本集的大小有关,样本越多,Ai的数量就多。我们将图像投影到sub(Ai)中等价于
Figure C20061001223300163
投影到sub(Ai),其方法是:
▿ A 0 ∂ W ∂ p - Σ i = 1 m [ A i ( X ) · ▿ A 0 ∂ W ∂ p ] A i ( X )
轮廓定位的快速算法可以得到一些预处理结果:整体相似变换时每个像素的梯度和Hessain矩阵,基于ASM的局部轮廓定位时每个像素的梯度和Hessain矩阵。我们可以把这些结果写到预处理模型中,在实时定位的时候直接使用。
对于图2中的步骤203,由于在进行轮廓定位之前首先要给出一个大致的轮廓位置,否则迭代会收敛到错误的位置,因此,可以利用人脸检测和人脸特征点跟踪的方法来给出人脸轮廓的粗略位置,并根据轮廓的粗略位置和ASM平均脸轮廓来确定定位时初始轮廓的位置。
人脸检测目前已经可以达到实时的效果,例如文献:Paul Viola,MichaelJones,Robust Real-time Object Detection,International Journal of ComputerVision,2001,其中介绍了实时的对象检测技术。但是人脸检测只能给出图像序列中人脸的大致区域。为了更准确的给出轮廓的初始位置,还需要对人脸特征点进行了检测和跟踪。人脸特征点就是人脸表面特征非常显著的一些点,如眉毛轮廓,眼睛,鼻孔,嘴角等位置。由于特征明显,这些点相对人脸表面的其它点比较容易定位和跟踪。
本发明实施例在跟踪得到的人脸特征点和平均轮廓脸s0对应的特征点之间建立仿射变换的模型,比如缩小或放大平均轮廓脸s0,然后利用仿射模型将平均轮廓脸s0脸的所有轮廓点对应到实际跟踪点的位置,至此,将平均轮廓脸s0进行仿射变换就得到了人脸的初始轮廓。
之后,对初始轮廓对应区域的人脸图象进行重采样,以获得一个与ASM平均轮廓脸大小相符的图像区域,其中重采样的方法与步骤201中的相同。
对于图2中的步骤204、205,本发明实施例利用投影的方法将优化时需要同时解算的两种未知参数分开来计算,轮廓定位实际上只需要计算形状变化参数。为了能够定位出任意图像中任意人脸的轮廓,我们分两步进行轮廓定位。第一步是整体相似变换的定位,即在初始轮廓的基础上通过整体相似变换使轮廓的大小基本与人脸的大小一致。这一步是后续精确定位的基础,因为根据我们的实验,如果轮廓的大小与人脸的大小出入过大,那么精确定位是不可能准确的。第二步是在ASM基础上对轮廓进行精确的定位,这一步的目的是使整体相似变换后的轮廓和图像中的人脸轮廓基本吻合。基于整体相似变换的定位无法处理人脸旋转、抬头低头所产生轮廓变形问题,所以只有通过基于ASM的方法来进行定位。
具体来说,对于步骤204中,整体相似变换模型W(X;p)可以写为:
x ′ y ′ = λ cos θ - sin θ sin θ cos θ x y + t x t y
这个模型包含了四个参数:缩放系数,旋转角度,纵横方向的平移系数。这四个参数可以控制轮廓的整体平移,缩放和旋转,可以处理图像中不同尺度和旋转角度的人脸轮廓整体的定位。
为了方便计算,可以把上面的方程改写为:
x ′ y ′ = a - b b a x y + c d
那么有:
∂ w ∂ p = ∂ x ′ ∂ p ∂ y ′ ∂ p = ∂ x ′ ∂ a ∂ x ′ ∂ b ∂ x ′ ∂ c ∂ x ′ ∂ d ∂ y ′ ∂ a ∂ y ′ ∂ a ∂ y ′ ∂ a ∂ y ′ ∂ a = x - y 1 0 y x 0 1
Δ X ′ = Δx ′ Δ y ′ = ∂ W ∂ p Δp
设X′=W(X,p),W(X;p+Δp)=X′+ΔX′
I ( W ( X , P + ΔP ) ) = I ( X ′ + Δ X ′ ) = I ( X ′ ) + ∂ I ∂ X ′ Δ X ′ = I ( X ′ ) + ∂ I ∂ x ′ ∂ I ∂ x ′ Δx ′ Δy ′
= I ( X ′ ) + ▿ I ( x ′ , y ′ ) ∂ W ∂ P ΔP
预处理(即步骤202生成预处理模型的过程中)的时候,将
Figure C20061001223300186
H = Σ X [ ▿ I ∂ W ∂ p ] T [ ▿ I ∂ W ∂ p ] 都事先存放起来。优化的时候,首先将当前轮廓的控制点组织为一个三角网格,然后利用三角网格对图像进行重采样。重采样的图像和平均脸(即平均灰度脸A0(X))相减得到差分图像。在此基础上,未知参数可以通过最小二乘的方法来解算。
对于步骤205,经过训练的ASM模型可以反映不同旋转角度、抬头和低头的人脸模型。建立在ASM上的轮廓定位的实现与基于整体相似变换的轮廓定位相似。首先也是在预处理时计算出ASM模型参数对灰度变换的影响(即梯度矩阵和Hessian矩阵),然后根据实际采样图像和平均脸图像的灰度差来计算对应的ASM参数。
基于ASM的关键是建立像素点灰度变化和ASM参数之间的联系。但是ASM只能用来反映组成轮廓的控制点的变化。所以我们首先要建立每个像素点和组成轮廓的控制点之间的联系。方法是根据轮廓上的控制点来组成Delaunay三角网,然后将三角网离散为像素点,并判断像素点落在哪个三角形之内。那么这个像素点就可以用这个三角形的三个顶点来表示。
如图9所示,根据本发明实施例,可以把(xi,yi)看作是坐标原点,从(xi,yi)到(xi,yi)和(xi,yi)到(xk,yk)的矢量可以看作是坐标轴的方向,那么α和β就是点(x,y)在坐标轴上的投影。
α = ( x - x i ) ( y k - y i ) - ( y - y i ) ( x k - x i ) ( x j - x i ) ( y k - y i ) - ( y j - y i ) ( x k - x i )
β = ( y - y i ) ( x k - x i ) - ( x - x i ) ( y k - y i ) ( x j - x i ) ( y k - y i ) - ( y j - y i ) ( x k - x i )
x y = x j - x i x k - x i y j - y i y k - y i α β + x i y i
轮廓控制点(xi,yi)、(xi,yi)和(xk,yk)可以和ASM的参数建立联系。那么像素点对ASM参数pm的偏导数为:
∂ x ∂ p m = ∂ x ∂ x i ∂ x i ∂ p m + ∂ x ∂ x j ∂ x j ∂ p m + ∂ x ∂ x k ∂ x k ∂ p m
∂ y ∂ p m = ∂ y ∂ y i ∂ y i ∂ p m + ∂ y ∂ y j ∂ y j ∂ p m + ∂ y ∂ y k ∂ y k ∂ p m
设xi在ASM训练样本矢量中的索引为l,那么
Figure C20061001223300196
的值就是ASM中pm对应的特征分量sm的第l个分量值。类似可以计算出
Figure C20061001223300197
Figure C20061001223300199
Figure C200610012233001911
和Hessian矩阵的值。这样就可以建立像素灰度和ASM分量之间的联系。
与基于整体相似变换的定位一样,可以利用最小二乘的方法来解算出控制形状变化的每个ASM参数的值。
对于图2中的步骤206,由于ASM训练模型的前两个参数控制了人脸的左右旋转和上下旋转,所以在估算姿态的时候只用到了前两个ASM参数。根据本发明实施例,在采集的样本的时候就大致知道人脸的角度,因此可以用已知样本的角度来建立ASM模型参数大小和角度之间的对应关系。轮廓定位完成,就可以得到对应的ASM参数。利用参数和角度之间的对应关系就可以估算出头部的姿态。
如图10所示,为利用本发明的头部姿态估算方法来驱动一个三维模型效果示意图。图中右边是实时轮廓定位的结果,左边是用定位结果估算出的姿态参数来驱动一个三维模型的效果。本发明的实施例在Intel P4 2.8GHz,512MB的计算机上能够达到30fps的速度。

Claims (13)

1.一种基于实时外观模型AAM的头部姿态实时估算方法,其特征在于,包括如下步骤:
(1)根据采集的不同头部姿态的人脸图像样本,训练获得实时形状模型ASM模型和AAM灰度模型,其中,根据ASM模型获得一个ASM平均轮廓脸;
(2)根据所述ASM模型与AAM灰度模型,计算出人脸轮廓定位时需要的梯度矩阵和Hessain矩阵,并根据所述ASM模型、AAM灰度模型、梯度矩阵和Hessain矩阵,获得预处理模型;
(3)获得输入的人脸图像序列,并进行人脸检测与追踪,根据检测和跟踪得到人脸轮廓的粗略位置,并将ASM平均轮廓脸对应到人脸轮廓的粗略位置,获得人脸初始轮廓的位置,根据初始轮廓的位置,通过对图像序列重采样,获得一个与ASM平均轮廓脸大小相符的图像区域;
(4)在该图像区域内,根据所述预处理模型包括的梯度矩阵和Hessain矩阵,首先基于整体相似变换对人脸轮廓进行定位,然后基于ASM模型参数对轮廓进行精确定位,并计算对应的ASM参数;
(5)根据所述ASM参数与样本训练时确定的人脸角度的关系,估算出头部的姿态。
2.如权利要求1所述的方法,其特征在于,步骤(1)所述ASM模型的训练,包括如下步骤:
(1a)标定出人脸图像样本中的人脸轮廓点;
(1b)根据所有标定出的轮廓点的横纵坐标组织成一维样本矢量,对所有样本进行PCA变换,得到ASM模型。
3.如权利要求1所述的方法,其特征在于,步骤(1)所述AAM灰度模型的训练,包括如下步骤:
(1A)标定出人脸图像样本中的人脸轮廓点;
(1B)根据ASM模型确定平均轮廓脸;
(1C)对所述平均轮廓脸构三角网,并将三角网中的每个三角形进行离散化;
(1D)对每张人脸图像样本,在平均脸网格和标定网格的每个三角形之间建立仿射变化,通过图像重采样从实际人脸图像中采集出和平均脸大小相同的区域;
(1E)将平均脸网格中的所有点的灰度组织为一个矢量样本,对所有样本进行PCA变换,得到AAM灰度模型。
4.如权利要求3所述的方法,其特征在于,所述步骤(1D)进一步包括:对采集的图像进行灰度归一化处理,使所有图像的整体灰度平均值和方差相同。
5.如权利要求1所述的方法,其特征在于,所述步骤(1)进一步包括:通过采集肤色的样本和不属于肤色的样本作为正负样本,训练获得一个肤色模型,用以区分背景和肤色。
6.如权利要求5所述的方法,其特征在于,步骤(3)所述重采样步骤,进一步包括:利用所述肤色模型去除背景的影响。
7.如权利要求1所述的方法,其特征在于,所述步骤(4)中,
所述对人脸轮廓进行定位,包括:在初始轮廓的基础上通过整体相似变换使轮廓的大小基本上与人脸的大小一致;
所述基于ASM模型参数对轮廓进行精确定位,包括:使整体相似变换后的轮廓和图像中的人脸轮廓吻合。
8.如权利要求1所述的方法,其特征在于,所述步骤(1)中的人脸图像样本包括人脸向左、向右、向上和向下四个方向的样本。
9.一种基于实时外观模型AAM的头部姿态实时估算系统,其特征在于,包括:
训练模块,包括:实时形状模型ASM模型和AAM灰度模型生成单元、预处理模型生成单元,其中
ASM模型和AAM灰度模型生成单元,用于根据采集的不同头部姿态的人脸图像样本,训练获得ASM模型和AAM灰度模型,其中,根据ASM模型获得一个ASM平均轮廓脸;
预处理模型生成单元,用于根据所述ASM模型与AAM灰度模型,计算出人脸轮廓定位时需要的梯度矩阵和Hessain矩阵,并根据所述ASM模型、AAM灰度模型、梯度矩阵和Hessain矩阵,获得预处理模型;
估算模块,包括:人脸输入单元、轮廓定位单元、姿态估算单元,其中
人脸输入单元,用于获得输入的人脸图像序列,并进行人脸检测与追踪,根据检测和跟踪得到人脸轮廓的粗略位置,并将ASM平均轮廓脸对应到人脸轮廓的粗略位置,获得人脸初始轮廓的位置,根据初始轮廓的位置,通过对图像序列重采样,获得一个与ASM平均轮廓脸大小相符的图像区域;
轮廓定位单元,用于在该图像区域内,根据所述预处理模型包括的梯度矩阵和Hessain矩阵,首先基于整体相似变换对人脸轮廓进行定位,然后基于ASM模型参数对轮廓进行精确定位,并计算对应的ASM参数;
姿态估算单元,用于根据所述ASM参数与样本训练时确定的人脸角度的关系,估算出头部的姿态。
10.如权利要求9所述的系统,其特征在于,所述训练模块,进一步包括一个肤色模型生成单元,用于通过采集肤色的样本和不属于肤色的样本作为正负样本,训练获得一个肤色模型,用以区分背景和肤色。
11.如权利要求10所述的系统,其特征在于,所述人脸输入单元,在重采样过程中,利用所述肤色模型去除背景的影响。
12.如权利要求9所述的系统,其特征在于,所述轮廓定位单元,通过在初始轮廓的基础上通过整体相似变换使轮廓的大小基本上与人脸的大小一致,并基于ASM对轮廓进行精确定位,使整体相似变换后的轮廓和图像中的人脸轮廓吻合。
13.如权利要求9所述的系统,其特征在于,所述训练模块使用的样本包括人脸向左、向右、向上和向下四个方向的样本。
CNB2006100122339A 2006-06-13 2006-06-13 基于aam的头部姿态实时估算方法及系统 Expired - Fee Related CN100389430C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100122339A CN100389430C (zh) 2006-06-13 2006-06-13 基于aam的头部姿态实时估算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100122339A CN100389430C (zh) 2006-06-13 2006-06-13 基于aam的头部姿态实时估算方法及系统

Publications (2)

Publication Number Publication Date
CN1866271A CN1866271A (zh) 2006-11-22
CN100389430C true CN100389430C (zh) 2008-05-21

Family

ID=37425289

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100122339A Expired - Fee Related CN100389430C (zh) 2006-06-13 2006-06-13 基于aam的头部姿态实时估算方法及系统

Country Status (1)

Country Link
CN (1) CN100389430C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012135979A1 (en) * 2011-04-08 2012-10-11 Nokia Corporation Method, apparatus and computer program product for providing multi-view face alignment

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527408B1 (ko) 2008-11-04 2015-06-17 삼성전자주식회사 얼굴 표정 검출 방법 및 시스템
JP2010186288A (ja) * 2009-02-12 2010-08-26 Seiko Epson Corp 顔画像の所定のテクスチャー特徴量を変更する画像処理
CN101814132B (zh) * 2009-02-25 2013-07-03 三星电子株式会社 人脸拟合方法
TWI412721B (zh) * 2009-03-20 2013-10-21 Hon Hai Prec Ind Co Ltd 產品零件間隙檢測系統及方法
CN102402691A (zh) * 2010-09-08 2012-04-04 中国科学院自动化研究所 一种对人脸姿态和动作进行跟踪的方法
CN102058983B (zh) * 2010-11-10 2012-08-29 无锡中星微电子有限公司 基于视频分析的智能玩具
KR101257207B1 (ko) * 2012-02-23 2013-04-22 인텔 코오퍼레이션 헤드 트래킹 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
CN103593654B (zh) * 2013-11-13 2015-11-04 智慧城市系统服务(中国)有限公司 一种人脸定位的方法与装置
CN103810687B (zh) * 2014-02-28 2017-02-15 北京京东尚科信息技术有限公司 一种图像处理方法及装置
CN105096377B (zh) * 2014-05-14 2019-03-19 华为技术有限公司 一种图像处理方法和装置
US9607388B2 (en) * 2014-09-19 2017-03-28 Qualcomm Incorporated System and method of pose estimation
CN105608710B (zh) * 2015-12-14 2018-10-19 四川长虹电器股份有限公司 一种非刚性人脸检测和追踪定位方法
CN118038560B (zh) * 2024-04-12 2024-08-30 魔视智能科技(武汉)有限公司 驾驶员的人脸姿态预测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004053795A2 (en) * 2002-12-11 2004-06-24 Koninklijke Philips Electronics N.V. Method and apparatus for correcting a head pose in a video phone image
US20040240708A1 (en) * 2003-05-30 2004-12-02 Microsoft Corporation Head pose assessment methods and systems
CN1601549A (zh) * 2003-09-26 2005-03-30 中国科学院自动化研究所 基于多特征融合的人脸定位与头部姿势识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004053795A2 (en) * 2002-12-11 2004-06-24 Koninklijke Philips Electronics N.V. Method and apparatus for correcting a head pose in a video phone image
US20040240708A1 (en) * 2003-05-30 2004-12-02 Microsoft Corporation Head pose assessment methods and systems
CN1601549A (zh) * 2003-09-26 2005-03-30 中国科学院自动化研究所 基于多特征融合的人脸定位与头部姿势识别方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012135979A1 (en) * 2011-04-08 2012-10-11 Nokia Corporation Method, apparatus and computer program product for providing multi-view face alignment

Also Published As

Publication number Publication date
CN1866271A (zh) 2006-11-22

Similar Documents

Publication Publication Date Title
CN100389430C (zh) 基于aam的头部姿态实时估算方法及系统
CN101777116B (zh) 一种基于动作跟踪的脸部表情分析方法
CN106055091B (zh) 一种基于深度信息和校正方式的手部姿态估计方法
CN102880866B (zh) 一种人脸特征提取方法
Nickels et al. Estimating uncertainty in SSD-based feature tracking
CN101964064B (zh) 一种人脸比对方法
CN101561710B (zh) 一种基于人脸姿态估计的人机交互方法
CN102313547B (zh) 基于手绘轮廓语义地图的移动机器人视觉导航方法
CN101968846B (zh) 一种人脸跟踪方法
US20160253807A1 (en) Method and System for Determining 3D Object Poses and Landmark Points using Surface Patches
CN106355147A (zh) 一种活体人脸检测头部姿态回归器的获取方法及检测方法
US20030012408A1 (en) Method and system using a data-driven model for monocular face tracking
US20040190775A1 (en) Viewpoint-invariant detection and identification of a three-dimensional object from two-dimensional imagery
CN101499128A (zh) 基于视频流的三维人脸动作检测和跟踪方法
CN102654903A (zh) 一种人脸比对方法
CN104123749A (zh) 一种图像处理方法及系统
CN103116902A (zh) 三维虚拟人头像生成方法、人头像运动跟踪方法和装置
Covell Eigen-points: control-point location using principal component analyses
CN107563323A (zh) 一种视频人脸特征点定位方法
CN100373395C (zh) 一种基于人脸统计知识的人脸识别方法
CN104794441A (zh) 复杂背景下基于主动形状模型和poem纹理模型的人脸特征定位方法
CN106952292A (zh) 基于6自由度场景流聚类的3d运动目标检测方法
CN110032927B (zh) 一种人脸识别方法
Chen et al. Single and sparse view 3d reconstruction by learning shape priors
Pham et al. Robust real-time performance-driven 3D face tracking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080521

Termination date: 20200613