首页> 中国专利> 一种基于单摄像头与运动捕捉数据的人脸表情编辑方法

一种基于单摄像头与运动捕捉数据的人脸表情编辑方法

摘要

本发明公开了一种虚拟人脸表情编辑方法,包括离线过程和在线过程,离线过程包括:步骤1,利用人脸正面照片生成用户的虚拟三维人脸模型;步骤2,对运动捕捉数据进行解耦,分离姿态与表情;步骤3,构建人脸子空间关联模型;在线过程包括步骤:步骤4,对从单摄像头中捕捉到的视频图像进行视频分析,使用主动外观模型跟踪头部的三维空间位置与朝向以及视频中的主要面部特征,自动地将这些特征转换为两个部分的控制参数;步骤5,将噪声大分辨率低的表情控制参数用解耦后的运动捕捉数据进行动态数据滤波,滤波后的信号输入人脸子空间关联模型中,计算得到全局表情,最后通过将全局表情赋予离线过程生成的虚拟三维人脸,实现虚拟人脸的表情编辑。

著录项

  • 公开/公告号CN103473801A

    专利类型发明专利

  • 公开/公告日2013-12-25

    原文格式PDF

  • 申请/专利权人 中国科学院自动化研究所;

    申请/专利号CN201310451508.9

  • 发明设计人 吴怀宇;潘春洪;王舒旸;沙金正;

    申请日2013-09-27

  • 分类号G06T13/40(20110101);G06T17/00(20060101);G06T7/00(20060101);G06F17/50(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人宋焰琴

  • 地址 100190 北京市海淀区中关村东路95号

  • 入库时间 2024-02-19 22:10:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-14

    授权

    授权

  • 2014-01-22

    实质审查的生效 IPC(主分类):G06T13/40 申请日:20130927

    实质审查的生效

  • 2013-12-25

    公开

    公开

说明书

技术领域

本发明涉及计算机视觉技术领域,具体涉及一种基于单摄像头与运 动捕捉数据的人脸表情编辑方法。

背景技术

对虚拟三维人脸表情的控制与编辑一直是计算机视觉的一个难题, 关键在于人脸表情有非常大的自由度,每一块肌肉都可以产生丰富的变 化,丰富的人脸表情可以充分表达人的内心世界并打动观众,而人的视 觉对表情的微妙变化也极其敏感,但是让计算机理解或编辑人脸的表情 就非常复杂了,它涉及对表情的理解,表情的分类和差异,以及表情的 生理特征等许多内容。三维人脸动画技术主要可分为基于关键帧插值的、 基于参数化的、基于肌肉的、基于数据驱动的。

关键帧插值法:关键帧插值法是最简单也是最常用的方法。它指的 是在三维空间中获取空间顶点并将它从一个位置移动到另一个特定的位 置,计算机计算这两点之间的所有点,然后将该点沿计算得到点的轨迹 运动。关键帧插值技术虽简单快速。但只是用于关键帧变化较小的情形, 对于差异大的关键帧效果很不理想。

参数化方法:该方法仍然用多边形描述人脸表面,但用更少的参数 来描述运动变化。用户可以通过改变这些参数的值直接、方便地创建各 种人脸的形状和表情。这些参数包括:a)形状参数。用于控制个性人脸的 形状,包括人脸的大小、形状、人脸各个特征的相对位置以及控制人脸全 局特征的参数,如高度、宽度比等。b)表情参数。用来控制表情,如眼睛 区域的表情参数包括眼帘睁开、瞳孔的大小、眉毛的形状和位置等。参 数化方法表示依赖于人脸拓扑,因此很难设计一个通用的参数模型,只 有经验丰富的动画师才能设计高质量的人脸动画。

基于肌肉的方法:该方法用来模拟人体真实的肌肉与肌肉运动,根 据肌肉的运动特性定义了三种不同类型的肌肉,即线性肌、块状肌和括约 肌。这些肌肉不依赖于骨骼结构,使它们可以适应不同的面部拓扑结构。 这一方法引入解剖学原理,将肌肉嵌入到基于解剖学的人脸皮肤模型上, 构成质点—弹簧模型,通过对肌肉施加压力来变形该模型,从而达到真 实地模拟人脸及其表情变化的效果。该方法需要大量的计算,不同的模 型在考虑的深度和复杂性上差别很大:简化的模型很难达到理想的视觉 效果;复杂的模型则计算量大,即使一般复杂度的模型也难以达到实时。

数据驱动的方法:目前最为成功的人脸动画技术是通过表演数据驱 动人脸动画。该方法捕捉在各种面部表情下真实人脸部的特征来驱动脸 部模型产生真实的脸部表情。主要做法是在一个表演者的脸上设置许多 特征点,在表演者表演各种面部表情时,捕捉这些特征点的运动向量,然 后使用这些运动向量来驱动脸部模型的相应特征点产生脸部表情。它提 供了一种直观和有效的方式直接控制脸部表情的产生。现今的好莱坞大 片里,绝大部分电影比如《阿凡达》都是运用了这种运动捕捉技术。

现有技术能做到高质量三维人脸动画的方法或者需要经验丰富的专 业人员操作,或者要求复杂昂贵的硬件设施。因此有必要提供一种适用 于普通用户使用的成本低而且便捷并具有真实感的人脸表情编辑方法。

发明内容

为了解决现有技术的问题,本发明的目的是提供一种基于单摄像头 与运动捕捉数据的人脸表情编辑方法。

为了达成所述目的,本发明利用了运动捕捉数据数据库中蕴含的信 息,弥补了单摄像头采集信息的不足。

根据本发明提出的虚拟人脸表情编辑方法包括离线过程和在线过程, 其中,离线过程包括:步骤1,利用人脸正面照片生成用户的虚拟三维人 脸模型;步骤2,对运动捕捉数据进行解耦,分离姿态与表情;步骤3, 构建人脸子空间关联模型,以此实现由局部特征控制全局表情;在线过 程的输入包括用户在摄像头前的表情视频、离线处理得到的虚拟人脸三 维模型、解耦的运动捕捉数据和人脸子空间关联模型,在线过程包括步 骤:步骤4,对从单摄像头中捕捉到的表情视频进行视频分析,使用主动 外观模型跟踪头部的刚体运动以及视频中的面部特征点,然后从跟踪得 到的特征点中提取表情控制参数,得到两个部分的控制参数,即表情控 制参数和三维头部姿态参数;步骤5,将表情控制参数用解耦后的运动捕 捉数据进行动态数据滤波,滤波后的信号输入人脸子空间关联模型中, 计算得到全局表情,最后通过将全局表情赋予离线过程生成的虚拟三维 人脸,实现虚拟人脸的表情编辑。

本发明的有益效果:本发明用单摄像头采集用户所做的表情信息, 利用运动捕捉数据进行优化,最后实现虚拟人脸模型的表情编辑。与传 统的三维人脸表情动画技术的不同点在于,本发明不需要复杂的硬件设 备和专业人员的人工编辑,同时能实现高质量的表情效果。系统的离线 过程实质上利用运动捕捉数据分别构造了滤波器和局部特征全局表情关 联器,然后在线过程使用滤波器对视频采集的信号滤波,再由关联器计 算全局表情,最后成功地实现对虚拟人脸的表情编辑。

附图说明

图1为本发明基于单摄像头与运动捕捉数据的人脸表情编辑方法的 原理图;

图2为实用软件标记特征点生成人脸模型的示意图;

图3为运动捕捉视频示意图;

图4为运动捕捉数据解耦前后对比示意图;

图5为人脸层级分布图;

图6为人脸三维表情关联模型图,其中图6A是人脸子空间关联模型 图,图6B是对应于图6A的人脸三维表情图;

图7为将纹理模型从平均形状变换到目标人脸过程示意图;

图8为拟合跟踪的结果示意图;

图9为噪声信号滤波的流程图;

图10为表情编辑结果示例的示意图。

具体实施方式

下面将结合附图对本发明加以详细说明,应指出的是,所描述的实施 例仅旨在便于对本发明的理解,而对其不起任何限定作用。

图1为本发明基于单摄像头与运动捕捉数据的人脸表情编辑方法的 原理图。该方法分为在线过程与离线过程,在线过程为图1中虚线内部 分。离线过程则是运动捕捉数据预处理过程。在该方法中,人脸建模、 视频分析与表情编辑是该方法中的最基本的部分,即在不考虑结果质量 与真实感的情况下能基本实现表情编辑功能的基本组成部分;而其余部 分,包括解耦分离姿态、构建人脸表情关联模型、表情参数滤波和局部 表情参数计算全局表情则是针对视频提取存在的问题进行改进的核心部 分。

参照图1,该方法包括以下各步骤:

步骤1,将一张人脸正面照片,或通过摄像头拍摄将照片输入FaceGen  Modeller软件,对特征点进行标记,自动生成用户的虚拟三维人脸模型, 其中照片需要在均匀充足的光照下拍摄,且人脸状态应该是无表情无遮 挡的。图2是生成虚拟三维人脸模型的示意图。这一步骤的目的是,生 成虚拟三维人脸模型,为表情编辑提供实体,之后的虚拟表情将在此模 型上体现。

下面步骤2和步骤3是离线过程,完成了对运动捕捉数据的预处理, 步骤2和步骤3分别构建了滤波器和局部特征全局表情关联器,从而在 用户在线过程中对视频信号进行处理。步骤2为运动捕捉数据解耦,步 骤3为人脸子空间关联模型建立,下面对步骤2和步骤3进行详细说明。

步骤2,运动捕捉数据解耦,目的是剔除运动捕捉数据中的刚性运动, 保留表情运动作为视频信号的滤波器。本发明从大量的运动捕捉数据中 挖掘出合理,真实的人脸表情运动,用以弥补视频信号因噪声而丢失的 信息。为此需要将刚性运动对人脸表情变化的干扰剔除,即在每一帧数 据中分离平移、尺度变换、俯仰角、滚转角和偏航角共6个参数,即刚 体的6个自由度。利用构造的滤波器,在在线过程中自动地对视频信号 进行滤波。

本发明的运动捕捉数据解耦过程利用了加权旋转矩阵的正交性构建 旋转约束,利用关键帧构建基约束;每一帧数据都包括三维头部姿态和 脸部表情变化两部分。在该步骤,输入为样本足够丰富的运动捕捉数据 库,理想的数据库应至少包含50000帧且基本上涵盖所有日常表情。这 一步骤不需要捕捉数据的骨架信息,只需要所有标记点的坐标。通过奇 异值分解与两个约束条件(旋转约束,基约束)对每一帧的数据进行姿 态与表情变化的分离

运动捕捉(motion capture,后文简称mocap)用于准确测量运动物体 在三维空间的运动状况,其基于计算机图形学原理,通过排布在空间中 的数个视频捕捉设备将运动物体(跟踪器)的运动状况以图像的形式记录 下来,然后使用计算机对该图像数据进行处理,得到不同时间计量单位 上不同物体(跟踪器)的空间坐标(X,Y,Z)。本发明采用了Vicon公 司提供的一小段开放下载的表情捕捉数据,包括asf和amc格式的数据文 件和视频演示文件,视频截图如图3所示。在捕捉阶段,演示者不可避 免的会有表情之外的头部运动,这带来的后果就是记录的数据中头部动 作和表情动作是耦合的,所以本发明在使用运动捕捉数据之前必须对其 按照以下方式进行头部姿态和表情进行解耦。

首先将mocap数据导入matlab中,所有的数据点组成一个3F×P的 矩阵,其中F是整个mocap数据的帧数,P是模型中点的个数。假设一 个人脸表情是由L个独立的模型构成的,也就是说可以表示成变形基 S1,S2,…,SL的线性组合。每个变形基都是一个3×P的矩阵,描述了P个 点的形变方式。每一帧记录的mocap数据都包含了三维头部姿态和脸部 表情变化两部分:

Xf=Rf·(Σi=1Lcfi·Si)+Tf---(1)

式中Rf是3×3的头部旋转矩阵,Tf是3×1的头部平移矩阵,这两部 分体现了三维头部姿态。L为变形基个数,f表示第f帧,Si表示第i个 变形基,cfi表示第i个变形基在第f帧对应的权值。接下来就是从原始数 据Xf中分离出Rf和Tf两个头部姿态参数,让其只包含表情变形,首先从Xf中减去所有三维点的平均值(将每一个三维点x,y,z的值分别减去所有三 维点x,y,z的平均值),以此消去Tf,得到两个矩阵相乘的格式:

式中F是mocap数据的帧数,M是3F×P的原始数据矩阵;Q是3F×3L的 加权旋转矩阵,记录了每一帧中头部的旋转和每一个变形基的权重;B是 3L×P的矩阵包括了所有的变形基。式(2)表明,在没有噪声的情况下M的 秩最大为变形基的数量3L(实际上F和P的大小一般会很大,尤其帧数会 达到几万帧),所以本发明可以通过计算M的秩来设置变形基的数量。因 此对M进行奇异值分解(SVD),M=USVT。其中U是3F×3F阶酉矩阵,S 是半正定3F×3L阶对角矩阵,而VT,即V的共轭转置,是P×P阶酉矩阵。 接着得到了秩的最优近似,并且分解得到两个矩阵

Q~=U3F,3LS3L,3L12,B~=S3L,3L12VP,3LT---(3)

在保证指定数量的原始数据的能量的情况下,自动地确定L的大小。 以本发明为例,模型中点的个数P为36,取L为12能够保存足够的原始数 据能量。式(3)得到的两个矩阵是分别与Q,B维数相同的矩阵,但是并不是 本发明想要得到的分解。于是需要通过线性变换对其进行转化。任意一 个3L×3L大小的非奇异矩阵G,将它和它的逆同时插入之间时,得 到的乘积是相同的。所以真实的加权旋转矩阵Q和变形基矩阵B可以表示 成:

Q=Q~·GB=G-1·B~---(4)

其中G是某个合适的3L×3L矩阵。为了还原G,本发明用到了两组线性 约束:旋转约束和基约束来首先求出GGT

首先介绍运动恢复结构算法中常见的旋转约束。旋转矩阵的正交性 是一个非常强力的约束条件,这一性质经常被用于静态物体,复杂刚性 运动物体的结构重建。在本文的问题中旋转约束利用了加权旋转矩阵的 正交性。根据式将GGT设为一个3L×3L的正定对角矩 阵于是得到:

Q3*i-2:3*iQ3*j-2:3*jT=Σl=1LcilcjlRi·RjT,i,j=1,...,F---(5)

其中代表中的第i个三行。由于旋转矩阵的正交性:

Q~3*i-2:3*iG~Q~3*i-2:3*iT=Σl=1Lcil2·I3×3,i=1,...,F---(6)

其中I为单位阵。于是每一个三行矩阵可以贡献5个约束方程:

Q~3*i-2G~Q~3*i-2T=Q~3*i-1G~Q~3*i-1T=Q~3*iG~Q~3*iT---(7)

Q~3*i-2G~Q~3*i-1T=Q~3*i-2G~Q~3*iT=Q~3*i-1G~Q~3*iT=0---(8)

由于是正定对角矩阵,未知数个数为(9K2+3K)/2,而旋转约束可 以提供5×F个约束方程,当有足够的帧数时方程的个数是远大于未知数 个数的,也就是说可以通过求出这一超定方程组的最小二乘解来计算矩 阵。然而只用旋转约束求出的解是有歧义的,解空间中同时包含了大量 无效的解,这些解不满足矩阵的正定性。为了排除歧义性,找出真实的 唯一解,必须使用另一约束:基约束。

对于刚体运动来说,许多只利用旋转约束的物体可以成功地重建结 构,而非刚体运动和刚体运动的区别就在于,非刚体形变是许多固定变 形基的线性组合。这一现象说明了,只用旋转约束带来的歧义性与变形 基的选择有关。算法从运动捕捉数据中选择L个合适的帧,使其覆盖所 有的变形。用这L帧作为变形基,得到另一组约束,称为基约束。将两 种约束方程联立,求解其最小二乘意义上的解,即能得到满足条件的矩 阵,之后对进行SVD分解得到G。

在求解过程中还需注意的是Q矩阵中每一帧只对应一个旋转矩阵R, 因为R是由头部刚性运动引起的,即在同一帧内每一个变形基的旋转情 况都是一样的,只有权重的区别。然而通过以上两种约束求得的Q和B 不一定符合这一条件。下面举例说明:

Q矩阵中的第i个3列表示为(c1iR1…cFiRF)T,将其每一个3×3 分块矩阵左乘相同的一个旋转矩阵ri。而对B矩阵中对应的变形基Si右乘 则变换后的Q’与B’矩阵相乘仍然为M矩阵,且同时满足旋转约束与 基约束。针对这一问题,本发明需要第一列的R定位基准,将Q中之后 的L-1个三列中的R归一化,这样就得到了唯一的符合要求的Q和B矩 阵。之后只需将Q矩阵中的所有旋转矩阵去除,只保留变形基的权重, 到此对mocap数据的解耦就全部完成了,图4是本发明人脸mocap数据 解耦前后对比,上排两张图为解耦前正视与俯视图,下排两张为解耦后 正视与俯视图。

将每帧mocap数据投影到正面视点之后,与视频分析里提取的方法 一样提取每帧的表情控制参数。然后本发明用Xi={xb,i|b=1,2,…,37}表 示运动捕捉标记点在第i帧的3D位置,用Zi={za,i|a=1,2,…,12}表示控 制参数。Zi作为滤波器,将在在线过程中负责对视频信号进行滤波。

步骤3,人脸子空间关联模型建立。本发明通过运动捕捉数据对人脸 构建子空间分层模型,利用分层高斯过程潜变量模型算法计算高维全局 表情与低维局部特征之间的映射,以便之后由局部的表情特征构建全局 表情。

在该步骤,根据运动捕捉数据库中的骨架信息,构建分层的人脸子 空间关联模型,高层为整体表情外型,低层为局部脸部特征,利用分层 高斯过程潜变量模型和径向基函数等算法建立高层到低层的映射和低层 到高层的反映射。所述人脸子空间关联模型实现两个功能,一为将整体 表情变化分解为局部脸部特征变化,二为通过局部脸部特征变化计算得 到整体表情变化。其中后一功能用于本系统的在线过程,使得单摄像头 输入的局部信息能够相互关联产生真实感的表情。

人脸的表情是局部肌肉和皮肤协同动作的结果,局部的特征在表情 动作中是高度相关的。本发明使用了分层高斯过程潜变量模型 (hierarchical Gaussian process latent variable model,后文简称HGPLVM) 实现全局表情与局部特征之间的互相关联与控制。首先由于表情是高维 的,因此需要通过低维的子空间对表情进行表述,本发明中的子空间是 一个二维空间,其中的每一个坐标代表一种高维的表情状态。其次为了 寻找表情与局部特征的关联,将脸部表情分层,高层为整体表情外型, 低层为局部脸部特征,如左脸颊,前额,下唇,这些特征作为节点构成 了人脸的树状模型,同时这些节点都有对应的子空间。接着用HGPLVM, 径向基函数回归模型等算法建立高层到低层的映射和低层到高层的反映 射。最终达到关联整体表情与局部脸部特征和由局部特征的约束控制整 体表情的目的。

本发明将人脸分为5个部分:下巴、眉毛、眼镜、嘴巴、脸颊,同 时眉毛、眼睛、脸颊又分为左右,嘴巴分为上下,如图5所示。将人脸 分为三层:顶层为全局人脸表情,中间层分为下巴、眉毛、眼镜、嘴巴、 脸颊,底层将眉毛,眼睛,脸颊分为左右,嘴巴分为上下,之后,子空 间中的每个节点设为定义如下:

例如在某一种表情中,高层子空间状态为其对应的下一层子空间 状态为再下一层子空间状态为这几层 的状态都是在各自子空间中的一个坐标,并且坐标的位置相互之间是有 映射关联的。子空间中相对高层到相对低层的映射可以由HGPLVM计算 得到(此处提到的高层和低层是指上面提到的三层之间的相对低层与相 对高层的映射关系,即底层与中间层,中间层与顶层之间关系)。当在层 级模型中调整高层节点时,它的子节点会有相应的运动。然而,从低层 到高层的映射是不知道的。当用户设定低层节点时,其他节点的动作无 法得到。为了解决这一问题,本发明计算了子空间中的反映射。

给定一个低层节点,其父节点的状态通过下式计算得:

XlPar(reg)=gl,l+1xl+1reg,---(10)

其中gl,l+1表示以径向基函数为核的投影函数,Par(reg)表示reg节点 的父节点,由于Par(reg)节点对应的状态为第l层,所以reg节点 对应状态为第l+1层。如上式所示,对于第i个表情中的父节点:

xl,iPar(reg)=gl,l+1(Xl+1,ireg)=Σj=1Najk(xl+1,ireg,xl+1,jreg)---(11)

为第i表情的子节点,A{aj|j=1,…,N}是径向基函数的参数,N 为样本个数,其中k函数如下式,其值表示k函数中的两个参数(下式 中的xa,xb)间的距离:

k(xa,xb)=exp(-12(xa-xb)T(xa-xb))---(12)

反映射的输入为低层子空间变量,输出为高层子空间变量。训练数 据集中的低层变量与高层变量联系起来,一起作为训练数据来学习投影 函数中核的参数。得到反映射之后,全局表情对应的子空间状态可以由 低层变量计算得到,到此就完成了建立人脸子空间关联模型的过程。人 脸子空间关联模型的操作示意图如图6A和图6B所示。

在离线过程完成后,系统就构建完成了用于表情控制参数处理的滤 波器和关联器,之后用户的在线过程只需要在摄像头前做出各种表情,

然后系统会自动采集信息进行滤波计算全局表情,完成对三维人脸模型 的编辑。

下面步骤4和步骤5是在线过程,步骤4为视频分析,使用主动外 观模型对用户在摄像头前的表情进行跟踪采集,步骤5为表情控制参数 处理,将数据通过滤波器和关联器的优化来实现虚拟人脸表情真实感的 编辑。下面进行详细说明。

步骤4,视频分析,视频分析是数据输入部分,需要从视频中得到尽 可能多、尽可能精确的用户动作和表情信息,以便进行后续处理。这就 要求人脸跟踪算法有非常好的鲁棒性和实时性。在该步骤对从单摄像头 中捕捉到的视频图像进行视频分析,使用主动外观模型跟踪头部的三维 空间位置与朝向以及视频中的主要面部特征,然后自动地将这些特征转 换为两个部分的控制参数,即表情控制参数和三维头部姿态参数

本发明使用AAM(Active Appearance Model,主动外观模型)进行人脸 跟踪。AAM是一个关于视觉现象的参数化生成模型,主要用于人脸建模。 从AAM向上追溯,相关的模型还有ASM(Active Shape Model)和Snake 活动轮廓模型,这两个模型都是对形状进行建模。AAM是在ASM上的 一个改进,对人脸建模而言,ASM存在的一个主要问题就在于它没有充 分利用全部可用的信息,忽视了纹理方面的特征,而AAM则同时对脸部 形状和纹理进行建模。可以用两个式子来概括AAM模型:

s=s0+Σi=1npisiA=A0+Σi=1mλiAi---(13)

其中s,A分别为脸部形状与纹理向量,s0,A0为三维人脸的平均形状和 平均纹理向量,n和m是主元的个数,si,Ai分别是形状和纹理的第i个主 元向量,pii分别是形状和纹理的第i个组合系数。

在对人脸纹理特征采用PCA进行建模之前,需要首先对人脸形状进行 归一化,得到形状无关patch,而归一化的标准是通过Procrustes analysis 得到;对形状的建模也存在类似的情况,在PCA之前先进行全局性变换, 但这样得到的形状模型就不包含旋转、平移和尺度变换有关的信息,因 此之后的模型拟合也需要首先对目标人脸进行相同的变换。

训练出AAM之后,得到相应的参数p和λ,面对新的输入图像,模 型拟合的目标就是通过调整两组参数,使得组合产生的模型实例和输入 图像能够匹配上。这里首先需要解决的一个问题就是:模型实例如何产 生?调整参数p可以获取输入图像中人脸的形状,但是纹理模型是建立 在形状无关patch的基础上的,换言之是在平均形状上的模型,那么要生 成目标人脸的模型,就要将纹理模型从平均形状上,变换到当前估计的 目标人脸的形状上,这通过一个形变:W(x;p)来完成,其中像素点 x=(x,y)T,如图7所示。

这一过程也可以用下式来表示:

M(W(x;p))=A(x)   (14)

其中A(x)表示纹理模型中点x处的值,M即为与目标人脸相匹配的 模型实例,纹理模型中点x处的值和模型实例中点W(x;p)处的值相等。 解决了模型实例生成的问题,接下来就需要明确模型拟合的目标:模型 实例和目标人脸I(x)越接近越好,最好是一模一样,即I(x)=M(x),因 此可以通过最小化平方误差来确定最优的模型实例,目标函数如下式:

Σxs0[A0(x)+Σi=0mAi(x)-I(W(x;p))]2---(15)

其中s0即为平均形状,A0(x)为平均纹理模型,m为纹理主元个数,Ai(x) 为第i个纹理主元,I(W(x;p))表示将同样的形变过程W(x;p)运用到目标 人脸I(x)上。注意到这里是以模型实例的坐标系为标准。其中的差值可 以定义为误差图像E(x)。

针对式(15)所示的目标函数,本发明使用的方法是基于逆向复合图像 对准算法,其和传统拟合算法最大的区别,就在于更新参数时并不是直 接针对p,而是针对变换W(x;p)来进行更新,即更新规则从之前的 p←p+Δp变成了W(x;p)←W(x;p)οW(x;Δp)。符号ο用于表示逆向复合 更新方法以区别直接的相加关系。拟合跟踪的结果如图8所示。

本发明的人脸跟踪程序能实时地给出人脸的六个姿态参数和脸部66 个特征点的二维坐标。为了得到单纯的表情变化,将脸部特征点的运动 与头部的刚性运动进行分离,首先用x,y参数将其平移到屏幕中心,然 后用俯仰角,偏航角,滚转角(pitch,yaw,roll)三个参数构成的旋转 矩阵将人脸恢复到无旋转状态,最后用尺度变换也就是z参数将人脸恢复 到正常大小。又由于表情变化必须相对于无表情状态来说的,所以用户 在摄像头前的第一帧必须是中性表情的,程序自动将第一帧采集到的二 维数据设定为当前人脸的初始值,接下去的每一帧都将与初始表情比较 已获得当前帧的表情状态。

本发明对66个二维特征点采集12个表情控制参数:

1)嘴巴:通过对嘴巴周围特征点的跟踪,我们采集了上下嘴唇距离(1), 左右嘴角距离(1),上下嘴唇连线与垂直线角度(1),左右嘴角连线与水平 线角度(1),上下嘴唇中点与嘴角连线相对位置(1)与共5个参数。

2)眼睛:左右两只眼睛上眼睑和下眼睑距离(2)共2个参数。

3)眉毛:两个眉毛间的距离(1),左右眉毛分别相对左右眼睛的距离(2), 左右眉毛分别与水平线的角度(2)共5个参数。

综合上面12个参数我们用Zi={za,i|a=1,2,…,12}来表示第i帧时的 信号,其中a表示一个控制参数。除此之外,还有六个刚性运动参数为用 来控制虚拟模型的三维姿态。这些参数将通过表情控制参数处理模块, 最后控制虚拟人脸的表情。

步骤5,表情控制参数处理。由于主动外观模型跟踪算法对特征点的 跟踪存在抖动,本发明将视频分析提取的表情控制参数用解耦后的运动 捕捉数据进行动态数据滤波,滤波后的信号输入人脸子空间关联模型中, 计算得到全局表情,最后通过将全局表情赋予离线过程生成的虚拟三维 人脸,实现虚拟人脸的表情编辑。

在该步骤,视频跟踪得到的表情控制参数与mocap数据中得到的数据 是不一致的,因为用户与mocap数据采集者的人脸表情几何结构是不同 的,所以本发明在将两者进行使用之前,需要用中性表情的控制参数来 进行标准化,使他们保持一致。之后才能进行滤波。

基于视觉的控制参数通常带有很多噪声,本发明将其在一个固定的 时间间隔W内划分为片段,用运动捕捉数据库中的先验知识对其进行过 滤。

对每个新的片段,从运动捕捉数据库中查找与片段相关的样例。然 后用这些样例来构建局部线性的动态模型,捕捉固定长度序列下控制信 号的动态行为。对运动捕捉数据库的每一帧,找出与其具有相同的时间 窗口W的相邻帧的集合。所有的运动片段构成了高维格局下的非线性流 形,每个运动片段是流形中的一个点采样。视频接口下得到的控制参数 的运动片段可以看做是对流形的带噪声采样。过滤的思想就是用一个低 维线性子空间来近似高维非线性流形的局部区域,对每个带噪声采样, 对其进行主成分分析(PCA),用局部区域内的数据点来获取线性子空间, 然后用线性子空间重建采样。算法流程如图9所示。

如图9,令表示输入控制参数的片段,其中 表示步骤3中提取的12个表情参数在第i帧的信 号,本发明中时间间隔取0.5s,相当于10帧数据,过滤步骤为:

1)从运动捕捉数据中找出K个最接近的片段。考虑到运行速度与滤 波效果,K的取值范围为运动捕捉数据库和视频控制参数片段帧数的2 倍到4倍,例如本发明示例中片段帧数为10帧,采用的K为30。

2)计算K个片段的主成分。令前M个最大的特征向量U1,…,UM为 过滤基,M的取值需要保证99%的原始数据变化。本发明中M为7。

3)将投影到U1,…,UM张成的线性空间,重建控制参数。

以上过程就完成了对视频信号的滤波,接下去的任务是由滤波后的 视频信号即人脸的局部特征计算出全局表情。本发明利用了一个转播算 法。

设用户给定第l层某一个节点regj的状态为在该节点regj中用k 最近邻搜索(k-nearest neighbors,由KNN()表示)计算得到状态为 其中“KNN”表示和取,之后在regj的兄弟节点 Bro(regj)中找到与对应的是很简单的,其中将 子空间中的均值与用户输入的一同代入反映射函数gl-1,l(·)中 就能得到子空间变量中的父节点状态Par(regj)。这一传播过程将一直重 复知道根节点的状态被计算出来,这一算法流程如下:

4)重复1-3步,直到l=1,即计算到根节点为止

经过这一数据处理模块的两个过程-滤波和关联,由带噪声的视频信 号计算得到了全局表情,实现了对三维人脸模型的表情编辑。

在本发明的的方法被应用时,用户首先提供自己的正面照片,使用 FaceGen Modeller软件生成三维人脸模型,如图2所示,之后对如图3的 运动捕捉数据(图3中演示者佩戴了38个标记用于捕捉)进行预处理, 包括两个部分,(1)数据的解耦,剔除刚体运动,只保留人脸单纯的表情 变化如图4,图4中数据点为运动捕捉数据中间隔相同帧数选取的30帧 数据,(2)建立人脸分层模型如图5并计算高层子空间与低层子空间的映 射关系如图6A,在图6A中,每一个矩形分别代表二维子空间中的一个 节点,其中的白色曲线表示表情数据投影到子空间后的轨迹,控制其中 任意节点的运动都能在图6B的模型中直观地体现。图7为主动外观模型 的基本原理,示出了将纹理模型从平均形状变换到目标人脸W(x;p)。图 8是视频分析拟合跟踪的结果。之后将拟合得到的视频信号经过滤波,滤 波流程如图9,再输入如图6A所示的人脸子空间关联模型中,从而计算 得到最终的人脸表情,图10为表情编辑结果。

在本发明的一具体应用场景中,采用一台具有2.6G赫兹中央处理器 和1G字节内存的酷睿2计算机并用C语言编制了系统的在线过程,用 Matlab编写了离线过程对运动捕捉数据的处理,实现了本发明的人脸表 情编辑系统,还可以采用其他执行环境,在此不再详细赘述。

本发明用户通过在摄像头前做出不同的表情来驱动虚拟三维人脸做 出相同的真实感表情。首先,利用实时的人脸跟踪提取头部的刚性运动 参数和表情控制参数。但是由于视频跟踪信号有较大的误差和噪声,本 发明利用运动捕捉数据中蕴藏的信息,对视频信号滤波,为此需要对运 动捕捉数据进行解耦。此外为了能利用二维的局部表情特征编辑具有真 实感的全局表情,本发明使用了分层高斯过程潜变量模型对人脸建立子 空间映射。系统的在线过程不需要用户进行任何鼠标键盘交互操作,视 频捕捉的信号在经过分离后通过预处理的运动捕捉数据滤波,滤波后的 信号输入人脸分层模型转化为高维的表情信号用于控制虚拟人脸的运动 与表情。如今广泛运用于游戏与电影特效行业的运动捕捉技术与扫描技 术,存在设备复杂昂贵、采集技术要求高等特点,只能用于大成本制作 中,对于普通用户来说不具备实用性。而该系统结合了方便快捷的单摄 像头跟踪和高质量的运动捕捉数据,兼具通用性与真实感,不需要昂贵 的多摄像头捕捉装置,能在廉价的PC平台上实现。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并 不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理 解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发 明的保护范围应该以权利要求书的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号