基于视频流的三维人脸动作检测和跟踪方法

文档序号:6460240阅读:292来源:国知局
专利名称:基于视频流的三维人脸动作检测和跟踪方法
技术领域
本发明涉及人脸检测和跟踪领域,尤其是指一种在视频流中对三维人 脸及人脸动作进行检测和跟踪的方法。
背景技术
人脸是每个人都具有的重要特征,是最自然、最常用的交互手段之一, 在计算机视觉和图形学等领域具有相当广泛的应用,例如人机交互,安全 监控,游戏娱乐,计算机动画等。对人脸和人脸动作进行实时、准确的检 测和跟踪,在理论上和实际中都具有重要的意义。如何建立有效的模型, 选择最具表达能力的特征,构造准确的分类器,实现高效稳定的跟踪算法, 都是人们关心的理论问题。如果能够得到对人脸及人脸动作的准确的检测 和跟踪结果,就可以用来控制电脑中的对象或角色,或者用来辅助生成具 有真实感的人脸动画,或者从中获得表情信息。以往对这方面问题的研究, 主要集中在人脸检测,人脸关键点定位,人脸和人脸关键点跟踪这几个方 面。
人脸检测可以分为基于规则的检测方法和基于统计的检测方法两类。 基于规则的检测方法是指,首先从候选图像中抽取几何形状、灰度、纹理 等特征,然后检验它们是否符合关于人脸的先验知识。基于统计的检测方 法,将人脸区域看作一类模式,使用大量的"人脸"与"非人脸"样本进 行训练,构造分类器,然后使用分类器判断候选图像是否具有人脸模式。
因此,人脸检测问题被转化为统计模式识别的二分类问题。P. Viola等人 在2001年提出的综合Adaboost和Cascade算法实现的实时人脸检测算法, 在提高人脸检测精度的同时也大幅度地提高了检测速度,使得人脸检测从 真正意义上走向实用。
5人脸关键点定位即是检测由眉毛,眼睛,鼻子,嘴巴,以及人脸轮廓 等确定的一系列关键点的位置。人脸关键点定位方法可以分为基于可变形 人脸模型的方法,基于投影直方图分析的方法和模板匹配的方法三类。可 变形人脸模型的方法即首先通过训练的方法建立一个包含人脸关键点分 布的模型,使用形状,纹理等特征,对模型参数进行调整,得到输入人脸
上关键点的位置。典型的例子是Cootes等人提出的ASM方法和AAM方法。 基于投影直方图分析的方法是早期的人脸关键点定位常用的方法,这种方 法基于人脸器官的灰度分布特点,对一定宽度的一个区域带,利用灰度的 水平和垂直积分直方图的峰谷特征,进行人脸器官和关键点的定位。模版 匹配的方法是指,利用人脸或器官的模板在候选窗口逐点滑动进行特征匹 配定位。例如首先使用眼睛样本建立分类器,然后在人脸区域上部使用这 一分类器搜索最符合眼睛模式的区域,从而实现眼睛的定位。
人脸和人脸关键点跟踪的是在已经确定人脸和人脸关键点位置、姿态 等参数的条件下,在后续视频序列保持这些参数的输出。人脸跟踪等价于 在连续的视频帧间创建基于位置、速度、形状、纹理、色彩等有关特征的 对应匹配问题,常用的跟踪算法可以分为基于模型的方法和不使用模型的 方法两类,二者的区别在于是否使用到人脸这一特定对象的知识。
人脸检测,关键点定位,以及跟踪,常常结合在一起形成一个统一的 整体,以获得对人脸位置、姿态和动作的完整表达。在对视频序列进行处 理和分析的过程中,算法的准确性常常受到很多干扰因素的影响,例如光 照条件的变化,人脸区域受到遮挡等。另外,当人脸位置、姿态或动作参 数变化比较剧烈时,检测和跟踪的结果往往也会产生较大的误差。这些都 是设计人脸及人脸动作检测和跟踪方法需要考虑的问题。
现有技术在人脸及人脸动作跟踪方面,仍然存在一些缺陷,制约着相 关应用的实现。在跟踪精度方面,现有技术难以达到很高的精度,表现在 对面部器官形状和动作细节的刻画能力不足。在跟踪的稳定性方面,当头 部动作变化范围较大,或者运动速度过快,或者面部表情较大时,很多跟 踪方法无法收敛到正确的结果。在实用性方面,现有技术对于检测、定位、 跟踪这三者的结合,仍然缺少完整有效的解决方案。本发明针对这些问题, 平衡各方面性能的需求,同时考虑到实际应用中对计算速度的要求,给出了有效的解决方法。

发明内容
本发明的目的在于提供一种基于视频流的人脸及人脸动作检测和实 时跟踪的方法。三维可变形人脸网格的位置、姿态、形状和动作参数用来 描述人脸和人脸动作。本发明提供的方法不需要对特定的使用者进行训 练,不需要使用者手工参与,可以实现自动从视频流的前若干帧中检测出 人脸及人脸关键点的位置,然后就可以在头部存在较大范围的转动,较高 速度的运动,以及在较大程度的表情变化的情况下,进行人脸位置、姿态 和动作的跟踪。唯一的限制是用户在视频流的起始阶段为正面姿态和中性 表情。本发明提供的方法具有检测和跟踪准确,动作跟踪精细,实时性强 的优点。
本发明提供的基于视频的人脸及人脸动作检测和跟踪方法,包括以下 步骤
(1) 采用自动人脸检测和定位算法,对输入视频图像上人脸及人脸
关键点位置进行检测和定位。人脸检测方法采用了 Adaboost和Cascade 结合的人脸分类器,人脸关键点定位采用了 AAM算法。
(2) 使用检测和定位的结果对三维可变形人脸网格模型的形状、位 置和姿态进行初始化。包括以下步骤
(21) 使用将双眼和嘴巴中心三个点对齐的人脸样本,训练一个PCA 人脸子空间,用于对检测和定位的结果进行评估;
(22) 根据检测和定位的结果,采用最大化后验概率的方法,调整三 维可变形人脸网格模型的形状、位置和姿态参数;
(23) 根据三维可变形人脸网格的形状、位置和姿态参数,采用纹理 映射的方法,计算出形状和动作无关纹理图像;
(24) 使用(21)中所述的PCA人脸子空间,对二维形状和动作无关 纹理图像进行评估;
(25) 根据评估的结果,决定如何采用本次人脸检测和定位的结果对 三维可变形人脸网格模型的形状、位置和姿态参数进行初始化。如果评估 显示本次人脸检测和定位准确,则将这一结果记录下来,当准确检测和定
7位次数达到设定值时,使用所有已经记录的结果的均值对三维可变形人脸 网格模型的形状、位置和姿态参数进行初始化。
(3) 在对三维可变形人脸网格模型的形状、位置和姿态进行初始化 的同时,初始化人脸纹理模型。包括以下步骤
(31) 建立人脸纹理模型为每个像素都符合高斯分布的灰度图像,并 为每个像素设置可信度指标和初始化完成度指标。
(32) 根据三维可变形人脸网格的形状、位置和姿态参数,采用纹理 映射的方法,计算出形状和动作无关纹理图像;
(33) 根据三维可变形人脸网格的形状、位置和姿态参数,计算出形 状和动作无关纹理图像上每个像素的可信度指标。
(34) 使用形状和动作无关纹理图像,设置人脸纹理模型中每个像素 高斯分布的均值,设置每个像素的可信度指标,并根据可信度指标计算每 个像素的初始化完成度指标。
(4) 使用三维可变形人脸网格模型和人脸纹理模型,采用图像配准 的方法,在视频图像序列中对人脸位置、姿态和动作进行实时跟踪。在图 像配准过程中,使用人脸纹理模型上每个像素的可信度指标和初始化完成 度指标,参与计算三维可变形人脸网格模型的位置、姿态和动作参数。每 个像素的可信度指标是由对当前帧进行跟踪后的三维可变形人脸网格模 型的姿态确定的。具体来说,是由三维可变形人脸网格上三角形面法线方 向与图像平面法线方向的夹角确定的。
(5) 使用人脸纹理模型和PCA人脸子空间,对实时跟踪的结果进行 评估。进行评估时,使用人脸纹理模型上每个像素的可信度指标和初始化 完成度指标,参与计算评估结果。每个像素的可信度指标是由对当前帧进 行跟踪后的三维可变形人脸网格模型的姿态确定的。具体来说,是由三维 可变形人脸网格上三角形面法线方向与图像平面法线方向的夹角确定的。
(6) 根据评估结果,确定是否更新人脸纹理模型,是否在下一帧视 频图像中重新进行人脸及人脸关键点的检测和定位,以及是否重新初始化 人脸纹理模型。包括以下步骤
(61)如果评估结果显示跟踪正确,则更新人脸纹理模型,并在下一 帧中继续跟踪;否则,不更新人脸纹理模型,并累计跟踪不正确的次数。
8(62) 如果评估结果显示跟踪不正确,并且累计跟踪不正确的次数达 到设定值,则重新进行人脸及人脸关键点的检测和定位,并在下一帧中使 用这一检测和定位结果作为跟踪的初始值。
(63) 如果评估结果显示跟踪不正确,并且累计跟踪不正确的次数达
到另一设定值,则重新进行人脸及人脸关键点的检测和定位,重新初始化 人脸纹理模型,并在下一帧中使用这一检测和定位结果作为跟踪的初始 值。
本发明的有益效果通过采用上述步骤,可以实现对视频流中的人脸
及人脸动作的自动检测、定位和实时跟踪。在检测和定位阶段,使用PCA
模型进行评估,保证了检测和定位的准确性。由于人脸纹理模型是在跟踪 前的检测和定位阶段进行初始化的,所以不需要针对特定使用者进行提前 训练的过程,可以适用于任何使用者。使用三维可变形人脸网格进行位置、 姿态和动作的跟踪,可以适用于头部姿态和表情具有较大幅度变化的情
况,动作跟踪精细。同时使用人脸纹理模型和PCA模型对每一帧跟踪的结
果进行评估,保证了跟踪的准确性,以及在极端情况跟踪出现异常中断的 时候能够采用重新检测和定位等方式重新恢复跟踪。在跟踪过程中实时更 新人脸纹理模型,保证了跟踪算法对于光线变化具有一定鲁棒性。由于采 用了隶属于人脸纹理模型每个像素可信度指标,本方法具有对姿态和表情 变化的高度稳定性。


图1为本发明的人脸及人脸动作检测和跟踪方法的流程图; 图2为本发明使用的AAM模型示意图3为初始化三维人脸网格模型的形状、位置和姿态参数步骤的流程
图4为三维可变形人脸网格模型和坐标轴方向定义的示意图; 图5为为了确定三维可变形人脸网格模型的参数^而取的34个点的 位置;
图6 (a) 图6 (d)为形状和动作无关纹理图像示意图7 U) 图7 (d)为形状和动作无关纹理图像每个像素对应的可信度指标。的示意图8为使用本发明提供的方法进行人脸及人脸动作跟踪示例。
具体实施例方式
参见图1,本发明提供了一种人脸及人脸动作检测和跟踪方法,按照
以下步骤实施,其中,步骤(1) (3)为检测和定位阶段,发生在输入 视频序列的前若干帧,步骤(4) (6)为跟踪阶段,发生在后续视频序
列的每一帧
(1)采用自动人脸检测和定位算法,对输入视频图像上人脸及人脸 关键点位置进行检测和定位。
人脸检测方法采用了 Adaboost和Cascade结合的人脸分类器,这一 方法根据文献(Viola P. , Rapid object detection using a Boosted cascade of simple features, In Proc IEEE Conference on Computer Vision and Pattern Recognition, pp:511—518, 2001)中提出的算法实 现为了方便专利审查,也为了帮助公众更直接地理解发明,对于那些就满 足专利法第26条第3款(说明书应清楚、完整地描述发明)的要求而言 必不可少的内容,不能采用引证其他文件或者本申请中其他段落的方式撰 写,而应当将其具体内容写入说明书中。矩形Haar特征通过计算图像中 相邻区域像素灰度差,对人脸图像的灰度分布进行表达。为了从大量特征 中选择最具分类能力的有效特征,使用了基于Adaboost的统计学习算法 在。为了提高人脸检测的速度,采用了层次结构,即,相对较少的弱分类 器结合形成强分类器,多个强分类器串联进行分类,被前级强分类器判断 为非人脸的图像不再输入后级分类器,只有被所有强分类器都判断为人脸 的图像才作为人脸检测结果输出。
人脸关键点定位采用了 AAM (Active Appearance Model)方法,这一 方法根据文献 (I. Matthews, S. Baker, Active Appearance Models Revisited, International Journal of Computer Vision, v60, n2, ppl35-164, November, 2004)中提出的算法实现为了方便专利审查,也 为了帮助公众更直接地理解发明,对于那些就满足专利法第26条第3款 (说明书应清楚、完整地描述发明)的要求而言必不可少的内容,不能采用引证其他文件或者本申请中其他段落的方式撰写,而应当将其具体内容 写入说明书中。在这种方法中,形状模型和纹理模型用来表示人脸,每个 模型都是由平均参数加上若干变化参数组成的。参数与人脸形状和纹理的 对应关系由使用标定好的人脸图像进行的训练过程得出。在进行关键点定 位时,为了提高速度,采用了反转合成图像对齐方法。
我们使用的AM1模型由87个关键点组成,见图2,将进行关键点定位 后,这87个关键点在图像坐标系中的坐标记为尸扁,=(^雄,,,少扁,,)7', z = o,...,86。采用320X240的彩色视频图像作为输入,转换为灰度图像后, 使用上述方法进行人脸检测和关键点定位,完成一次人脸检测和人脸关键 点定位的总时间小于100ms。
(2)使用检测和定位的结果对三维可变形人脸网格模型的形状、位 置和姿态进行初始化在此处,不能采用"流程如图3所示"这样的表达方 式,而应对照图3对整个流程进行详细的描述,以符合专利法实施细则第 18条的规定。
我们使用的三维可变形人脸网格模型的示意图见图4,这一模型根据 Candide-3t莫型(J. Ahlberg, CANDIDE-3-An Updated Parametrized Face, Dept. Elect. Eng. , Link6ping Univ. , Sweden, 2001, Tech. Rep. LiTH-ISY-R-2326.)修改而来。我们使用的三维可变形人脸网格模型在 Candide-3模型的基础上增加了人脸两侧顶点和面的数量,以增强头部姿 态变化较大条件下的跟踪稳定性;并且,网格模型上每一个三角形的三个 顶点的编号都按照顺时针的次序重新进行了排列,可以在网格模型的参数 变化后,计算出每个三角形面的法向方向。三维可变形人脸网格模型的形
状可以用一个向量表示^(x^,^…^,;v^f ,其中"=121为网格顶点数量, 0c,,乂,z,f为网格顶点坐标,卜1,...^,网格顶点用尸,表示,S=0c,,y,,Z,)7'cg。
网格模型的形状是可以变化的,即
g = g + Srs(1)
其中g为平均形状,&,为形状变化增量,A力为动作变化增量,前者描述 网格模型针对不同的人脸在整体形状上的变化,如脸的高度,宽度,两眼 的距离,鼻子、嘴的位置等,后者描述脸部动作(即表情)引起的网格形 状的变化,如张嘴,铍眉等。S和^分别为形状变化和动作变化矩阵,矩阵的每一列都对应一种独立的变化模式。^和^分别为形状变化和动作变 化系数向量,改变他们的值,就可以使网格形状g产生变化。
在本发明提供的方法中,形状变化系数^是在检测和定位以后确定 的,在跟踪过程中不再发生改变,除非跟踪失败,需要重新初始化网格模 型;动作变化系数^在跟踪过程中根据每一帧图像上人脸的动作进行调 整,在检测和定位阶段,假设^中的每个值都为0,即人脸为中性表情。 人脸的动作跟踪的结果即由r,表达。另外,检测定位和跟踪阶段都需要确 定人脸三维网格模型的位置和姿态参数,即对人脸位置和姿态跟踪的结 果,用六个参数表示,分别为模型绕依附于图像的直角坐标系三个坐标 轴的旋转角度A, ,A,模型在图像坐标系中的平移量^, ~,以及将 网格模型g变化到图像坐标系所需的尺度变换系数"综上所述,在检测 和定位阶段,需要确定的参数记为/^(& A人AA^)、在跟踪阶段,需 要确定的参数记为"(^AHf一,、f 。
为了将网格模型g变换到依附于图像的直角坐标系,即图像坐标系上, 我们采用了弱投影变换
=MO,,x,z,,l)r (2) 其中(",^,f为网格模型第/个顶点在图像上的坐标,M为2X4的投影矩阵, 由^的前6个分量确定。使用(1)和(2),就可以计算出任意位置、姿 态、形状、动作参数下,三维可变形人脸网格模型的顶点在图像坐标上的
根据图3所示的流程,首先,我们使用了 799幅正面人脸图像,训练 一个PCA人脸子空间模型。这些图像来自799个不同的人,处于不同的光 照条件下。为了使子空间能够用较少的维数表达尽可能多的人脸纹理和光 照变化,将所有人脸图像的双眼和嘴的中心的位置进行了对齐。在本发明 提出的方法中,PCA人脸子空间模型用于判断人脸纹理是否为正常的人脸 图像。这一判断依赖于下面定义的相似性测度
<formula>formula see original document page 12</formula>
其中M为PCA人脸子空间的维数,x为人脸纹理图像,e是使用PCA模型
对输入人脸纹理进行近似时产生的重建误差,A,是PCA中#个最大的特征值,C是将人脸纹理投影到PCA人脸子空间时的投影系数,/^是训练PCA
模型时,除了最大的M个特征值以外,其它特征值的算术平均值。
在使用人脸检测和关键点定位算法得到AAM模型所定义的人脸上87 个关键点的坐标户皿,,后,对三维可变形人脸网格模型的位置、姿态和形状
参数进行初始化,即通过P^,, (/ = 0,...,86)确定向量p的值。为了实现这
一目的,我们从AAM模型中和三维人脸网格模型中选择了 34对具有相同 定义的点对。相同定义的点对是指在两个模型中,两个点分别所处的相对 于人脸器官的位置是相同的,例如都是左眼外眼角的点,或者都是左侧嘴 角的点,等等。三维人脸网格模型上的这34个点的选取见图5,它们在图 像平面上的坐标记为K,^y, / = 0,...,33,可以通过(1) (2)计算出来。 AAM模型上对应的34个点在图像平面上的坐标记为(。,G.f, y = 0,...,33。
(~,,/可以根据定义,由/^,计算出来,例如
0^25 , ^25 )
最小化(^,^y和(^G:r之间的距离,就可以求出三维人脸网格模型的
参数p,即最小化能量函数
^)=z
>0
2(4)
直接求使(4)最小化的p容易引起过拟合现象,因此,我们采取了 一种最大化后验概率的方式,即在已知三维人脸网格模型上34个点的位 置分布F的条件下,寻找合适的参数p最大化后验概率p(pl"。根据贝叶 斯公式,
M川,)i("P)iV) (5)
13其中第一项,当p确定后其概率与A,。y的分布相关,假设(^,v/'和
^,//之间的距离为高斯分布,方差为^,则/7(^ip) exp
2cr

;而
F 乂
第二项,假设先验概率Ap)也为高斯分布w(A ),贝L 尸(p) exp -:^"ZO-°
L 2 ' J
要使(5)式最大化,只需要最小化a.
为了求出argmin五,使用牛顿迭代法
p = p + a(p*_p) 其中a为大于0,远小于l的因子,//由下式求得:
g巾
、、 乂
1 5% 2
---^ +——

根据检测和定位的结果,采用上述方法求出三维可变形人脸网格模型 的形状、位置和姿态参数后,就可以采用纹理映射的方法,计算出形状和 动作无关纹理图像。
将三维可变形人脸网格模型上的每个三角形面在输入图像上所覆盖 的像素都映射到一幅图像上固定的位置,就形成了形状和动作无关纹理图 像。称为形状和动作无关纹理图像的原因是,理想情况下,不论输入图像 中的人脸是什么形状,做出什么动作,只要三维可变形人脸网格模型的参 数^和6是准确的,则映射后的图像上的人脸总是保持不变的,各个人脸
1420
器官只分布在固定的位置上。实际中,由于网格模型是一个三维模型,总 有一些三角形面与图像平面成接近垂直的角度,在这种情况下,投影的结 果会产生很大的变形。另外,当人脸网格模型存在较大的面外旋转时,一 些三角形面的正方向(指向网格模型外的方向)与图像平面向外的法线方 向的夹角大于90度,这些三角形面投影得到的像素也是没有用处的。所 以,在使用形状和动作无关纹理图像时,需要考虑到三角形面角度变化引 起的图像变形问题。图6是一些网格参数和对应的形状和动作无关纹理图
像的例子,其中图6 (a)、图6 (b)和图6 (c)为参数正确的情况,图6 (d)为参数不正确的情况。可以看出,当参数正确时,在人脸的正面部 分,纹理图像基本是动作无关的。
根据输入图像和三维可变形人脸网格模型的参数计算形状和动作无
关纹理图像的过程可以用下面的式子表示
jc =『0,rs,6) (6)
其中x为形状和动作无关纹理图像,y为输入的视频图像。在跟踪过程中, 由于&是固定不变的,所以映射过程可以简化为
jc =『o,6) (7)
在计算形状和动作无关纹理图像时,由于图像上每个像素点属于哪个 三角形面,以及在三角形面中的相对位置是什么,是固定的,所以可以提 前计算出来。即保存形状和动作无关纹理图像上每个像素点的对应的三角 形面编号,以及到三角形三个顶点的相对距离,在进行(6)或(7)的计 算时,直接使用这些保存的数据,找到形状和动作无关纹理图像上每个像 素在输入图像上对应的坐标位置,使用输入图像上这个坐标位置周围的像 素进行插值,或者使用输入图像上距离这个位置最近的像素的值作为输 出,可以显著提高计算速度。
在计算形状和动作无关纹理图像时,由于图像上每个像素点属于哪个 三角形面是确定的,所以可以根据当前形状、姿态、动作参数下的人脸三 维网格模型形状g,计算出每个像素点所属的三角形面的法线方向。前面 提到,这一方向与图像平面向外的法线方向之间的夹角越小,则投影之后 像素的值具有越高的准确性或可用性。将形状和动作无关纹理图像上每一
15像素都具有的这种属性称为可信度指标,用r,表示,则有
其中^是单调下降函数,且有^0) = 1, W2) = 0,仍是这个像素所在的三 角形面的法向方向与图像平面向外的法线方向之间的夹角。
由(8)式计算出的可信度指标r,将在后面的步骤中使用,可以起到增
强跟踪算法对头部姿态变化鲁棒性的作用。图7 (a) 图7 (d)是可信
度指标c的示意图,每组图像右侧的较小图像表示左侧图像中网格状态下 对应的形状和动作无关纹理图像上每个像素的可信度指标,亮度越高表示 可信度指标越大。
得到形状和动作无关纹理图像后,就可以使用(3)式,对其与人脸 子空间的接近程度进行评估。如果(3)式计算的结果大于设定值,说明 形状和动作无关纹理图像是正常人脸,进而说明前面人脸检测和关键点定 位的结果是准确的;反之,则说明前面人脸检测和关键点定位的结果是不 准确的。
根据图3的流程,需要将人脸检测及关键点定位,计算三维人脸网格 模型参数,计算形状和动作无关纹理图像,以及对其进行评估这样的过程 执行多次。每次执行一遍后,如果评估结果显示人脸检测及关键点定位的 结果是正确的,则将这次的三维人脸网格模型参数保存下来。当人脸检测 及关键点定位结果正确的次数大于某个设定值,例如5次后,则认为检测 和定位阶段结束,对这5次正确检测和定位时的三维人脸网格模型参数计 算平均值,作为这一步最终输出的人脸网格模型的形状、位置和姿态参数。 后面的跟踪过程以这一组位置和姿态参数值为初值,而人脸网格模型的形 状参数将保持不变。
(3)初始化人脸纹理模型。
人脸纹理模型是一幅与形状和动作无关纹理图像同样尺寸的图像,图 像上的每个像素都符合高斯分布WU,c7,),并且带有另外一个属性初始 化完成度指标/ ,, (^/ ,d。在本文中,人脸纹理模型有时也指p,组成的 图像。
前面已经提到,如果三维可变形人脸网格模型对人脸位置、姿态、动
16作的跟踪是正确的,则在形状和动作无关纹理图像中可信度指标较高的部 分,像素亮度分布是基本保持不变的。这种相对不变性就用人脸纹理模型 来描述,即用每个像素亮度的高斯分布A^/,,a,)来描述。
人脸纹理模型在跟踪阶段发挥作用,但是要在检测和定位阶段就开始
进行初始化,并在跟踪过程中不断更新。在步骤(2)中,已经使用PCA 人脸子空间对若干次人脸检测和定位的结果进行了评估,取其中用(3)
式计算出的相似性测度最高的形状和动作无关纹理图像,令人脸纹理模型 的—,等于此形状和动作无关纹理图像,及
= x, (9)
并令
〃,=化 (10) 其中,A为大于0,小于1的常数,r,为用(8)式计算出的可信度指标。
人脸纹理模型的CT,表示每帧跟踪时获得的形状和动作无关纹理图像中,每
个像素亮度变化的剧烈程度。在初始化时,可以将它们设置为一个相同的
值,例如0.02 (用0 1的浮点数表示亮度),然后在跟踪的过程中进行更 新;也可以让系统试运行一段时间,得到更新比较稳定后的c7,,作为最终 设计完成的系统的a,的初始值,然后同样在跟踪的过程中进行更新。
经过人脸纹理模型的初始化后,可以想象,由于检测和定位阶段发生 在视频流的前若干帧,前面假设这时人脸处在正面姿态,所以,形状和动 作无关纹理图像中间部分的可信度指标接近于1,两侧部分的可信度指标 接近于0。如果(10)式中的A取值为1,则初始化后的人脸纹理模型中间
部分的初始化完成度指标A接近于1,两侧部分的初始化完成度指标接近 于0。在后面的步骤(6)中可以看到,初始化完成度指标决定着人脸纹理 模型每一个像素点模型参数的更新速度,也就是说,人脸纹理模型中间部 分在跟踪过程中的更新速度将会比较慢,而两侧部分的更新速度将在开始 的一段时间内将会比较快,直到它们对应的初始化完成度指标也接近1。 人脸纹理模型两侧部分的更新主要发生在头部绕y轴发生旋转的时候。
经过前面步骤,检测和定位阶段结束,人脸纹理模型己经建立起来。 在后续的每一帧中,除非发生跟踪中断的特殊情况,都使用三维可变形人 脸网格模型和人脸纹理模型,对视频序列中的人脸的位置、姿态和动作参数6进行跟踪,即进入了跟踪阶段。
(4)使用三维可变形人脸网格模型和人脸纹理模型,采用图像配准 的方法,在视频图像序列中对人脸位置、姿态和动作进行实时跟踪。
前面已经提到,如果三维可变形人脸网格模型对人脸位置、姿态、动 作的跟踪是正确的,则在形状和动作无关纹理图像中可信度指标较高的部 分,像素亮度分布是基本保持不变的,即符合人脸纹理模型。所以,可以 利用这种不变性,对人脸网格模型参数6进行跟踪,即求使下面的损失函 数最小的参数6,,下标 表示是在当前时刻f输入的图像上进行跟踪
<formula>formula see original document page 18</formula>
其中W为形状和动作无关纹理图像中的像素数。暂时不考虑可信度指标的 问题,使(11)式最小的6,,可以使下式成立
<formula>formula see original document page 18</formula>
其中x(W根据(7)式计算
<formula>formula see original document page 18</formula>
考虑到6,是在V,上变化得到的,对『(XA)在^处进行一阶泰勒展开,得:
<formula>formula see original document page 18</formula>
其中G,是梯度矩阵
<formula>formula see original document page 18</formula>
结合(12) (13) (14)式,可得
<formula>formula see original document page 18</formula>
所以,
<formula>formula see original document page 18</formula>其中,Gf为G,的伪逆矩阵,G,、(G,G,r1《。使用(16)式中的A6,可以 对参数6进行更新
6' = 6 + 一 (17) e' = e(6') (18)
其中P为0到1之间的实数。如果e'小于。则用(17)式更新参数"然 后继续(16) (17) (18)的迭代过程,直到达到设定的收敛条件。如果e' 不小于"则尝试在(17)式中使用较小的p。如果/ 取很小仍不能使误 差减小,也认为达到了收敛条件,从而完成对参数6的更新。
在(16)式中,没有考虑到遮挡问题。遮挡的结果是使(16)式中的 ,0;,,6,_,)-&1)项在某些像素点产生很大的值,这种偏差不是正常的人脸 运动和动作引起的,所以会对A6的计算产生不利影响。采用一个A^xW的 对角矩阵丄,对每个像素的偏差部分进行加权,可以在一定程度上去除遮挡
的影响。A对角线上第f个元素的计算公式为
1 剩

《,'A-')'一"-'-' (19)
所以,(16)式变成
A6 = -Gfz,(Pro,A—,)-//,_,) (20)
在(20)式中,没有考虑到形状和动作无关纹理图像中可信度指标的 问题。为了使可信度指标低的点不对A6的计算产生影响,采用一个WxiV的 对角矩阵《对每个像素的偏差部分进行加权。《对角线上第/个元素的计
算公式为
《,(,X"A (21)
其中r,根据(8)式计算,A由(10)式初始化,跟踪过程中的更新方法将 在下面的步骤(6)中进行介绍。所以,(20)式变成
cr ......
,.,, > c
《△6 = -(『(y,, V,) - ) ( 22 )
(22)式是计算参数更新的最终公式。
在判断迭代是否收敛时,要考察由(11)式决定的误差是否减小。考 虑到形状和动作无关纹理图像中可信度指标的问题,同样需要对e的计算
方法进行加权
啦)=|>,|^^| /|>, (23) '.=1 LJ / '=1
其中/t,由(21)式决定。
在上述迭代计算参数6的过程中,需要根据(15)式计算形状和动作 无关纹理图像对参数6的梯度矩阵g, 。 g,的每一列都有7V个元素,对应6的 一个分量。将g,的第/列记为c^,则^为形状和动作无关纹理图像对参数
6的第y个分量的梯度向量。在实际中,使用数值差分的方法计算A:
G —,(少,A一,+c^)-『(乂,V,) (24)
其中数字5是一个适当的差分步长,9,是一个长度和6相同的向量,第y个
分量为1,其它分量都为0。为了获得更高的计算精度,采用使用多个不
同的步长计算差分再取平均的方法计算^ :
"丄g 『U,V,+化^)-pf(少,a—,) (25)
其中数字《为围绕参数6的第y个分量计算差分时取的最小步长,《是要
取的不同步长的次数,例如可取6或者8。
容易看出,在使用(25)式计算梯度矩阵g,的过程中,需要多次使用 (7)式计算形状和动作无关纹理图像。例如当参数6的维数为12,《取8 时,计算一次g,就需要使用96次(7)式。在对一帧视频图像进行处理时, 迭代往往要进行多次才能收敛,假如使用(22)式的次数为5次,则需要 96x5 = 480次使用(7)式计算形状和动作无关纹理图像,这会带来较大 的计算负担。事实上,在一般的跟踪过程中,使用者常常不会做出使参数 6的所有分量都发生显著变化的动作,g,中的一些列,即一些形状和动作 无关纹理图像对参数6分量的梯度向量,在相邻的帧之间变化很小,可以 利用这一特点,减少对g,中的一些列的计算。我们使用的方法是,考虑到
20动作无关纹理图像中的部分区域产生影响,
在计算A时,对ffO;,D和『Ov,A-2)这两幅图像中会受到参数6的第y个
分量影响的部分进行比较,即计算两幅图像这部分区域上的均方误差。如 果误差小于某个设定值,则不再重新计算G,.,而是继续使用上一帧跟踪时 用过的A。使用这种方法,即使对于使用者不停地做出各种头部运动和面
部动作的视频,也能减小计算G,时的计算量30X以上。如果视频中目标的 动作较少,还可以将计算量减少得更多。
经过步骤(4),完成了对人脸位置、姿态和动作参数的跟踪。
(5) 使用人脸纹理模型和PCA人脸子空间,对实时跟踪的结果进行评估。
评估的目的是判断对这一帧视频图像中的人脸及人脸动作的跟踪是 否准确,如果准确,则更新人脸纹理模型,继续跟踪;如果不准确,则需 要做出相应的处理。评估中,使用了两个独立的模型,即人脸纹理模型和 PCA人脸子空间模型,同时使用两个模型可以使评估的结果更加准确。
对于人脸纹理模型,首先根据在上一步中对人脸及人脸动作跟踪的结 果,即参数6,使用(7) (8)式计算出形状和动作无关纹理图像和可信度 指标,然后使用(23)式,计算形状和动作无关纹理图像与人脸纹理模型 的偏差。如果偏差小于设定值,则认为跟踪成功,否则认为跟踪失败。
对于PCA人脸子空间模型,同样先使用(7)式计算出形状和动作无 关纹理图像。为了克服头部左右旋转角度较大时引发的外侧图像变形,设 置当 的绝对值大于20度时,就将图像变形较小的一侧的形状和动作无 关纹理图像作水平镜像翻转,取代另一侧变形较大的部分,形成修正的形 状和动作无关纹理图像。对形状和动作无关纹理图像使用(3)式计算与 PCA人脸子空间的相似性测度,如果结果大于设定值,则认为跟踪成功, 否则认为跟踪失败。
当采用两个模型评估的结果都为跟踪成功时,最终认定跟踪成功,否 则认定跟踪失败。
(6) 根据评估结果,确定是否更新人脸纹理模型,是否在下一帧视 频图像中重新进行人脸及人脸关键点的检测和定位,以及是否重新初始化 人脸纹理模型。
21参见图1所示。在这一步骤中,设置了一个连续跟踪失败次数计数器 和两个判断跟踪中断的阈值,称为设定值L和设定值H。设定值L和设定 值H是根据连续出现跟踪失败的次数,判断是否出现跟踪中断的阈值。设
定值H大于设定值L。如果上一步的评估结果显示跟踪正确,则将连续跟
踪失败次数计数器清0,更新人脸纹理模型,并在下一帧中继续跟踪;否
则,将连续跟踪失败次数计数器加1。如果连续跟踪失败次数计数器的值
达到了设定值L,则认为发生了对同一个人跟踪过程中的跟踪中断。这时,
被跟踪的对象没有改变,也就是三维可变形人脸网格模型的形状参数r,和 人脸纹理模型都不需改变,只需要重新找到人脸的位置和姿态。所以,重 新进行人脸及人脸关键点的检测和定位,并在下一帧中使用这一检测和定 位结果作为跟踪的初始值。如果连续跟踪失败次数计数器的值达到了设定
值H,则认为产生跟踪中断的原因是被跟踪的对象发生了改变,这时,三
维可变形人脸网格模型的形状参数r,和人脸纹理模型都需要改变。所以, 重新进行人脸及人脸关键点的检测和定位,重新初始化人脸纹理模型,并 在下一帧中使用这一检测和定位结果作为跟踪的初始值。
在跟踪过程中,如果评估显示跟踪正确,则需要更新人脸纹理模型,
其意义是当光照条件发生缓慢变化时,更新人脸纹理模型可以克服关照 变化带来的影响;只有当头部绕y轴发生旋转时,形状和动作无关纹理图
像中两侧的区域的值才有意义,通过人脸纹理模型的更新过程,可以将这 部分纹理保存下来,增强头部姿态变化较大时跟踪的稳定性。当从/时刻
过渡到^1时刻时,人脸纹理模型的更新按照下面方式进行
",=(1-A(,)+^A(,)化 (26)
=G+ ,"(,)-/",(,) )2 (28) A(,+,) = + — (29)
其中a,为更新速度系数。当/小于等于某一设定值,例如30时,当 f大于这一设定值时,r保持不变。。为使用(8)式计算出的可信度指标。 x,为形状和动作无关纹理图像。/t为一个0到l之间的实数,控制着初始 化完成度指标A的增长速度。A被限制在不超过l的范围内。在更新人脸
22纹理模型的时候,也应该考虑到遮挡等因素,因为如果人脸纹理模型被不 正常地更新,将会对后续跟踪过程产生非常不利的影响。因此需要使用类 似于(19)式的方式,先计算形状和动作无关纹理图像与人脸纹理模型的 差别,对于那些差别大于设定值的像素,认为是遮挡等特殊原因造成的, 不对相应的人脸纹理模型中的像素参数进行更新。
本发明提供的人脸动作自动检测和实时跟踪方法,可以在视频中自动 检测人脸位置,并对人脸位置、姿态和动作进行实时准确的跟踪。在对姿 态跟踪方面,可以稳定跟踪头部在面内任意角度转动,面外左右方向转动
±45度以上,面外上下方向转动土30度以上。在面部动作方面,可以准 确跟踪嘴部动作和眉毛动作,用动作参数向量r,的形式表达出张嘴,闭嘴, 微笑,大笑,噘嘴,抿嘴,嘴角下垂,抬眉,皱眉等动作细节。图8是对 一段视频中的人脸动作进行跟踪的截图,共有9组,每组图像右侧的4幅 小图像从上至下依次为人脸纹理模型的均值,当前帧的形状和动作无关纹 理图像,人脸纹理模型的初始化完成度指标,以及当前形状和动作无关纹 理图像对应的可信度指标。本方法中的检测、定位和跟踪可以对任何使用 者进行,不需要针对特定使用者的训练过程。检测和定位快速,跟踪可以 满足实时性要求,对光照和遮挡等具有一定的鲁棒性。在跟踪中断之后, 可以自动恢复。此方法在人机交互,表情分析,游戏娱乐等领域具有较高 的实用价值和广泛的应用前景。
以上所述,仅为本发明中的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想 到的变换或替换,都应涵盖在本发明的包含范围之内。因此,本发明的保 护范围应该以权利要求书的保护范围为准。
2权利要求
1. 一种基于视频流的三维人脸动作检测和跟踪方法,其特征在于,包括以下步骤(1)采用自动人脸检测和定位算法,对输入视频图像上人脸及人脸关键点位置进行检测和定位;(2)使用检测和定位的结果对三维可变形人脸网格模型的形状、位置和姿态进行初始化;(3)在对三维可变形人脸网格模型的形状、位置和姿态进行初始化的同时,初始化人脸纹理模型;(4)使用三维可变形人脸网格模型和人脸纹理模型,采用图像配准的方法,在视频图像序列中对人脸位置、姿态和动作进行实时跟踪;(5)使用人脸纹理模型和PCA人脸子空间,对实时跟踪的结果进行评估;(6)根据评估结果,确定是否更新人脸纹理模型,是否在下一帧视频图像中重新进行人脸及人脸关键点的检测和定位,以及是否重新初始化人脸纹理模型。
2. 如权利要求l所述的方法,其特征在于,所述步骤(2)包括(21) 使用将双眼和嘴巴中心三个点对齐的人脸样本,训练一个PCA 人脸子空间,用于对检测和定位的结果进行评估;(22) 根据检测和定位的结果,采用最大化后验概率的方法,调整三 维可变形人脸网格模型的形状、位置和姿态参数;(23) 根据三维可变形人脸网格的形状、位置和姿态参数,采用纹理 映射的方法,计算出形状和动作无关纹理图像;(24) 使用(21)中所述的PCA人脸子空间,对二维形状和动作无关 纹理图像进行评估;(25) 根据评估的结果,决定如何采用本次人脸检测和定位的结果对 三维可变形人脸网格模型的形状、位置和姿态参数进行初始化。
3. 如权利要求l所述的方法,其特征在于,所述步骤(3)包括 (31)建立人脸纹理模型为每个像素都符合高斯分布的灰度图像,并为每个像素设置可信度指标和初始化完成度指标;(32) 根据三维可变形人脸网格的形状、位置和姿态参数,采用纹理 映射的方法,计算出形状和动作无关纹理图像;(33) 根据三维可变形人脸网格的形状、位置和姿态参数,计算出形 状和动作无关纹理图像上每个像素的可信度指标;(34) 使用形状和动作无关纹理图像,设置人脸纹理模型中每个像素 高斯分布的均值,设置每个像素的可信度指标,并根据可信度指标计算每 个像素的初始化完成度指标。
4. 如权利要求l所述的方法,其特征在于,所述步骤(4)在使用图 像配准的方法时,使用人脸纹理模型上每个像素的可信度指标和初始化完 成度指标,参与计算三维可变形人脸网格模型的位置、姿态和动作参数。
5. 如权利要求l所述的方法,其特征在于,所述步骤(5)在对实时 跟踪的结果进行评估时,使用人脸纹理模型上每个像素的可信度指标和初 始化完成度指标,参与计算评估结果。
6. 如权利要求l所述的方法,其特征在于,所述步骤(6)包括(61) 如果评估结果显示跟踪正确,则更新人脸纹理模型,并在下一 帧中继续跟踪;否则,不更新人脸纹理模型,并累计跟踪不正确的次数;(62) 如果评估结果显示跟踪不正确,并且累计跟踪不正确的次数达 到设定值,则重新进行人脸及人脸关键点的检测和定位,并在下一帧中使 用这一检测和定位结果作为跟踪的初始值;(63) 如果评估结果显示跟踪不正确,并且累计跟踪不正确的次数达 到另一设定值,则重新进行人脸及人脸关键点的检测和定位,重新初始化 人脸纹理模型,并在下一帧中使用这一检测和定位结果作为跟踪的初始 值。
7. 如权利要求2所述的方法,其特征在于,所述步骤(25)包括 如果评估的结果显示本次人脸检测和定位的结果是正确的,则记录下这一 结果;当正确检测的次数达到设定值后,对所有结果进行平均,得到三维 可变形人脸网格的形状、位置和姿态参数初始值。
8. 如权利要求4或5所述的方法,其特征在于,所述每个像素的可 信度指标是由对当前帧进行跟踪后的三维可变形人脸网格上三角形面的法线方向与图像平面的法线方向的夹角确定的。
全文摘要
本发明提出了一种基于视频流的三维人脸动作检测和跟踪方法。该方法首先在视频图像中检测到人脸和人脸上关键点的位置,初始化用于跟踪的三维可变形人脸网格模型和人脸纹理模型;然后使用这两个模型,采用图像配准的方法,对后续视频图像中人脸的位置、姿态和面部动作进行实时、持续的跟踪;一个PCA人脸子空间模型用于对检测、定位和跟踪的结果进行评估,如果发现跟踪中断,则自动采取措施重新恢复跟踪。本方法不需要对特定的使用者进行训练,头部姿态跟踪范围大,面部动作细节准确,且对光照和遮挡具有一定鲁棒性,在人机交互,表情分析,游戏娱乐等领域具有较高的实用价值和广泛的应用前景。
文档编号G06K9/62GK101499128SQ20081005718
公开日2009年8月5日 申请日期2008年1月30日 优先权日2008年1月30日
发明者宾 丁, 冯雪涛, 健 姚, 汪晓妍, 王阳生 申请人:中国科学院自动化研究所;北京盛开交互娱乐科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1