CN103473801B - 一种基于单摄像头与运动捕捉数据的人脸表情编辑方法 - Google Patents
一种基于单摄像头与运动捕捉数据的人脸表情编辑方法 Download PDFInfo
- Publication number
- CN103473801B CN103473801B CN201310451508.9A CN201310451508A CN103473801B CN 103473801 B CN103473801 B CN 103473801B CN 201310451508 A CN201310451508 A CN 201310451508A CN 103473801 B CN103473801 B CN 103473801B
- Authority
- CN
- China
- Prior art keywords
- face
- expression
- parameter
- dimensional
- subspace
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000033001 locomotion Effects 0.000 title claims abstract description 72
- 230000008921 facial expression Effects 0.000 title claims abstract description 25
- 230000014509 gene expression Effects 0.000 claims abstract description 107
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000001914 filtration Methods 0.000 claims abstract description 14
- 230000001815 facial effect Effects 0.000 claims abstract description 9
- 238000000926 separation method Methods 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 40
- 210000003128 head Anatomy 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 23
- 210000004709 eyebrow Anatomy 0.000 claims description 12
- 239000012634 fragment Substances 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 238000012549 training Methods 0.000 claims description 4
- 239000000470 constituent Substances 0.000 claims description 3
- 239000011521 glass Substances 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 2
- 238000013519 translation Methods 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 abstract description 6
- 210000003205 muscle Anatomy 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000000513 principal component analysis Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 3
- 206010053238 Amimia Diseases 0.000 description 2
- 208000031481 Pathologic Constriction Diseases 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 210000001215 vagina Anatomy 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 241000228740 Procrustes Species 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 244000061456 Solanum tuberosum Species 0.000 description 1
- 235000002595 Solanum tuberosum Nutrition 0.000 description 1
- 210000003484 anatomy Anatomy 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- QBWCMBCROVPCKQ-UHFFFAOYSA-N chlorous acid Chemical compound OCl=O QBWCMBCROVPCKQ-UHFFFAOYSA-N 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003387 muscular Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 235000012015 potatoes Nutrition 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 210000005070 sphincter Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Abstract
本发明公开了一种虚拟人脸表情编辑方法,包括离线过程和在线过程,离线过程包括:步骤1,利用人脸正面照片生成用户的虚拟三维人脸模型;步骤2,对运动捕捉数据进行解耦,分离姿态与表情;步骤3,构建人脸子空间关联模型;在线过程包括步骤:步骤4,对从单摄像头中捕捉到的视频图像进行视频分析,使用主动外观模型跟踪头部的三维空间位置与朝向以及视频中的主要面部特征,自动地将这些特征转换为两个部分的控制参数;步骤5,将噪声大分辨率低的表情控制参数用解耦后的运动捕捉数据进行动态数据滤波,滤波后的信号输入人脸子空间关联模型中,计算得到全局表情,最后通过将全局表情赋予离线过程生成的虚拟三维人脸,实现虚拟人脸的表情编辑。
Description
技术领域
本发明涉及计算机视觉技术领域,具体涉及一种基于单摄像头与运动捕捉数据的人脸表情编辑方法。
背景技术
对虚拟三维人脸表情的控制与编辑一直是计算机视觉的一个难题,关键在于人脸表情有非常大的自由度,每一块肌肉都可以产生丰富的变化,丰富的人脸表情可以充分表达人的内心世界并打动观众,而人的视觉对表情的微妙变化也极其敏感,但是让计算机理解或编辑人脸的表情就非常复杂了,它涉及对表情的理解,表情的分类和差异,以及表情的生理特征等许多内容。三维人脸动画技术主要可分为基于关键帧插值的、基于参数化的、基于肌肉的、基于数据驱动的。
关键帧插值法:关键帧插值法是最简单也是最常用的方法。它指的是在三维空间中获取空间顶点并将它从一个位置移动到另一个特定的位置,计算机计算这两点之间的所有点,然后将该点沿计算得到点的轨迹运动。关键帧插值技术虽简单快速。但只是用于关键帧变化较小的情形,对于差异大的关键帧效果很不理想。
参数化方法:该方法仍然用多边形描述人脸表面,但用更少的参数来描述运动变化。用户可以通过改变这些参数的值直接、方便地创建各种人脸的形状和表情。这些参数包括:a)形状参数。用于控制个性人脸的形状,包括人脸的大小、形状、人脸各个特征的相对位置以及控制人脸全局特征的参数,如高度、宽度比等。b)表情参数。用来控制表情,如眼睛区域的表情参数包括眼帘睁开、瞳孔的大小、眉毛的形状和位置等。参数化方法表示依赖于人脸拓扑,因此很难设计一个通用的参数模型,只有经验丰富的动画师才能设计高质量的人脸动画。
基于肌肉的方法:该方法用来模拟人体真实的肌肉与肌肉运动,根据肌肉的运动特性定义了三种不同类型的肌肉,即线性肌、块状肌和括约肌。这些肌肉不依赖于骨骼结构,使它们可以适应不同的面部拓扑结构。这一方法引入解剖学原理,将肌肉嵌入到基于解剖学的人脸皮肤模型上,构成质点-弹簧模型,通过对肌肉施加压力来变形该模型,从而达到真实地模拟人脸及其表情变化的效果。该方法需要大量的计算,不同的模型在考虑的深度和复杂性上差别很大:简化的模型很难达到理想的视觉效果;复杂的模型则计算量大,即使一般复杂度的模型也难以达到实时。
数据驱动的方法:目前最为成功的人脸动画技术是通过表演数据驱动人脸动画。该方法捕捉在各种面部表情下真实人脸部的特征来驱动脸部模型产生真实的脸部表情。主要做法是在一个表演者的脸上设置许多特征点,在表演者表演各种面部表情时,捕捉这些特征点的运动向量,然后使用这些运动向量来驱动脸部模型的相应特征点产生脸部表情。它提供了一种直观和有效的方式直接控制脸部表情的产生。现今的好莱坞大片里,绝大部分电影比如《阿凡达》都是运用了这种运动捕捉技术。
现有技术能做到高质量三维人脸动画的方法或者需要经验丰富的专业人员操作,或者要求复杂昂贵的硬件设施。因此有必要提供一种适用于普通用户使用的成本低而且便捷并具有真实感的人脸表情编辑方法。
发明内容
为了解决现有技术的问题,本发明的目的是提供一种基于单摄像头与运动捕捉数据的人脸表情编辑方法。
为了达成所述目的,本发明利用了运动捕捉数据数据库中蕴含的信息,弥补了单摄像头采集信息的不足。
根据本发明提出的虚拟人脸表情编辑方法包括离线过程和在线过程,其中,离线过程包括:步骤1,利用人脸正面照片生成用户的虚拟三维人脸模型;步骤2,对运动捕捉数据进行解耦,分离姿态与表情;步骤3,构建人脸子空间关联模型,以此实现由局部特征控制全局表情;在线过程的输入包括用户在摄像头前的表情视频、离线处理得到的虚拟人脸三维模型、解耦的运动捕捉数据和人脸子空间关联模型,在线过程包括步骤:步骤4,对从单摄像头中捕捉到的表情视频进行视频分析,使用主动外观模型跟踪头部的刚体运动以及视频中的面部特征点,然后从跟踪得到的特征点中提取表情控制参数,得到两个部分的控制参数,即表情控制参数和三维头部姿态参数;步骤5,将表情控制参数用解耦后的运动捕捉数据进行动态数据滤波,滤波后的信号输入人脸子空间关联模型中,计算得到全局表情,最后通过将全局表情赋予离线过程生成的虚拟三维人脸,实现虚拟人脸的表情编辑。
本发明的有益效果:本发明用单摄像头采集用户所做的表情信息,利用运动捕捉数据进行优化,最后实现虚拟人脸模型的表情编辑。与传统的三维人脸表情动画技术的不同点在于,本发明不需要复杂的硬件设备和专业人员的人工编辑,同时能实现高质量的表情效果。系统的离线过程实质上利用运动捕捉数据分别构造了滤波器和局部特征全局表情关联器,然后在线过程使用滤波器对视频采集的信号滤波,再由关联器计算全局表情,最后成功地实现对虚拟人脸的表情编辑。
附图说明
图1为本发明基于单摄像头与运动捕捉数据的人脸表情编辑方法的原理图;
图2为实用软件标记特征点生成人脸模型的示意图;
图3为运动捕捉视频示意图;
图4为运动捕捉数据解耦前后对比示意图;
图5为人脸层级分布图;
图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数据都包含了三维头部姿态和脸部表情变化两部分:
式中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×3L阶酉矩阵,S是半正定3L×3L阶对角矩阵,而VT,即V的共轭转置,是P×3L阶酉矩阵。接着得到了秩的最优近似,并且分解得到两个矩阵
在保证指定数量的原始数据的能量的情况下,自动地确定L的大小。以本发明为例,模型中点的个数P为36,取L为12能够保存足够的原始数据能量。式(3)得到的两个矩阵是分别与Q,B维数相同的矩阵,但是并不是本发明想要得到的分解。于是需要通过线性变换对其进行转化。任意一个3L×3L大小的非奇异矩阵G,将它和它的逆同时插入之间时,得到的乘积是相同的。所以真实的加权旋转矩阵Q和变形基矩阵B可以表示成:
其中G是某个合适的3L×3L矩阵。为了还原G,本发明用到了两组线性约束:旋转约束和基约束来首先求出GGT。
首先介绍运动恢复结构算法中常见的旋转约束。旋转矩阵的正交性是一个非常强力的约束条件,这一性质经常被用于静态物体,复杂刚性运动物体的结构重建。在本文的问题中旋转约束利用了加权旋转矩阵的正交性。根据式将GGT设为一个3L×3L的正定对角矩阵于是得到:
其中代表中的第i个三行。由于旋转矩阵的正交性:
其中I为单位阵。于是每一个三行矩阵可以贡献5个约束方程:
由于是正定对角矩阵,未知数个数为(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 processlatent variable model,后文简称HGPLVM)实现全局表情与局部特征之间的互相关联与控制。首先由于表情是高维的,因此需要通过低维的子空间对表情进行表述,本发明中的子空间是一个二维空间,其中的每一个坐标代表一种高维的表情状态。其次为了寻找表情与局部特征的关联,将脸部表情分层,高层为整体表情外型,低层为局部脸部特征,如左脸颊,前额,下唇,这些特征作为节点构成了人脸的树状模型,同时这些节点都有对应的子空间。接着用HGPLVM,径向基函数回归模型等算法建立高层到低层的映射和低层到高层的反映射。最终达到关联整体表情与局部脸部特征和由局部特征的约束控制整体表情的目的。
本发明将人脸分为5个部分:下巴、眉毛、眼镜、嘴巴、脸颊,同时眉毛、眼睛、脸颊又分为左右,嘴巴分为上下,如图5所示。将人脸分为三层:顶层为全局人脸表情,中间层分为下巴、眉毛、眼镜、嘴巴、脸颊,底层将眉毛,眼睛,脸颊分为左右,嘴巴分为上下,之后,子空间中的每个节点设为定义如下:
例如在某一种表情中,高层子空间状态为其对应的下一层子空间状态为再下一层子空间状态为这几层的状态都是在各自子空间中的一个坐标,并且坐标的位置相互之间是有映射关联的。子空间中相对高层到相对低层的映射可以由HGPLVM计算得到(此处提到的高层和低层是指上面提到的三层之间的相对低层与相对高层的映射关系,即底层与中间层,中间层与顶层之间关系)。当在层级模型中调整高层节点时,它的子节点会有相应的运动。然而,从低层到高层的映射是不知道的。当用户设定低层节点时,其他节点的动作无法得到。为了解决这一问题,本发明计算了子空间中的反映射。
给定一个低层节点,其父节点的状态通过下式计算得:
其中gl,l+1表示以径向基函数为核的投影函数,Par(reg)表示reg节点的父节点,由于Par(reg)节点对应的状态为第1层,所以reg节点对应状态为第1+1层,l表示所述人脸子空间关联模型中的第l层。如上式所示,对于第i个表情中的父节点:
为第i表情的子节点,A{aj|j=1,...,N}是径向基函数的参数,N为样本个数,其中k函数如下式,其值表示k函数中的两个参数(下式中的xa,xb)间的距离:
反映射的输入为低层子空间变量,输出为高层子空间变量。训练数据集中的低层变量与高层变量联系起来,一起作为训练数据来学习投影函数中核的参数。得到反映射之后,全局表情对应的子空间状态可以由低层变量计算得到,到此就完成了建立人脸子空间关联模型的过程。人脸子空间关联模型的操作示意图如图6A和图6B所示。
在离线过程完成后,系统就构建完成了用于表情控制参数处理的滤波器和关联器,之后用户的在线过程只需要在摄像头前做出各种表情,然后系统会自动采集信息进行滤波计算全局表情,完成对三维人脸模型的编辑。
下面步骤4和步骤5是在线过程,步骤4为视频分析,使用主动外观模型对用户在摄像头前的表情进行跟踪采集,步骤5为表情控制参数处理,将数据通过滤波器和关联器的优化来实现虚拟人脸表情真实感的编辑。下面进行详细说明。
步骤4,视频分析,视频分析是数据输入部分,需要从视频中得到尽可能多、尽可能精确的用户动作和表情信息,以便进行后续处理。这就要求人脸跟踪算法有非常好的鲁棒性和实时性。在该步骤对从单摄像头中捕捉到的视频图像进行视频分析,使用主动外观模型跟踪头部的三维空间位置与朝向以及视频中的主要面部特征,然后自动地将这些特征转换为两个部分的控制参数,即表情控制参数和三维头部姿态参数
本发明使用AAM(Active Appearance Model,主动外观模型)进行人脸跟踪。AAM是一个关于视觉现象的参数化生成模型,主要用于人脸建模。从AAM向上追溯,相关的模型还有ASM(Active Shape Model)和Snake活动轮廓模型,这两个模型都是对形状进行建模。AAM是在ASM上的一个改进,对人脸建模而言,ASM存在的一个主要问题就在于它没有充分利用全部可用的信息,忽视了纹理方面的特征,而AAM则同时对脸部形状和纹理进行建模。可以用两个式子来概括AAM模型:
其中s,A分别为脸部形状与纹理向量,s0,A0为三维人脸的平均形状和平均纹理向量,n和m是主元的个数,si,Ai分别是形状和纹理的第i个主元向量,pi,λi分别是形状和纹理的第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),因此可以通过最小化平方误差来确定最优的模型实例,目标函数如下式:
其中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”表示和取,之后在regi的兄弟节点Bro(regi)中找到与对应的是很简单的,其中将子空间中的均值与用户输入的一同代入反映射函数gl-1,l(·)中,就能得到子空间变量中的父节点状态Par(regj)。这一传播过程将一直重复知道根节点的状态被计算出来,这一算法流程如下:
1)在regj中用KNN定位
4)重复1-3步,直到1=1,即计算到根节点为止
经过这一数据处理模块的两个过程-滤波和关联,由带噪声的视频信号计算得到了全局表情,实现了对三维人脸模型的表情编辑。
在本发明的的方法被应用时,用户首先提供自己的正面照片,使用FaceGenModeller软件生成三维人脸模型,如图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平台上实现。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种虚拟人脸表情编辑方法,该方法包括离线过程和在线过程,其中,
离线过程包括:步骤1,利用人脸正面照片生成用户的虚拟三维人脸模型;步骤2,对运动捕捉数据进行解耦,分离姿态与表情;步骤3,构建人脸子空间关联模型,以此实现由局部特征控制全局表情;
在线过程的输入包括用户在摄像头前的表情视频、离线处理得到的虚拟人脸三维模型、解耦的运动捕捉数据和人脸子空间关联模型,在线过程包括步骤:步骤4,对从单摄像头中捕捉到的表情视频进行视频分析,使用主动外观模型跟踪头部的刚体运动以及视频中的面部特征点,然后从跟踪得到的特征点中提取表情控制参数,得到两个部分的控制参数,即表情控制参数和三维头部姿态参数;步骤5,将表情控制参数用解耦后的运动捕捉数据进行动态数据滤波,滤波后的信号输入人脸子空间关联模型中,计算得到全局表情,最后通过将全局表情赋予离线过程生成的虚拟三维人脸,实现虚拟人脸的表情编辑;
步骤5进一步包括:利用离线过程解耦的运动捕捉数据对视频表情参数进行滤波,滤波包括如下步骤:
首先将噪声信号在一个固定的时间间隔W内划分为片段,令表示输入控制参数的片段,从运动捕捉数据中找出K个最接近的片段,K的取值取决于给定运动捕捉数据库和视频中提取的控制参数的属性,计算K个片段的主成分,令前M个最大的特征向量U1,...,UM为过滤基,M的取值保证99%的原始数据变化,将投影到U1,...,UM张成的局部线性空间,重建控制参数。
2.如权利要求1所述的方法,其特征在于,步骤2进一步包括:所述运动捕捉数据解耦过程利用了加权旋转矩阵的正交性构建旋转约束,利用关键帧构建基约束;每一帧数据都包括三维头部姿态和脸部表情变化两部分,表示为式中L为变形基个数,f表示第f帧,Si表示第i个变形基,cfi表示第i个变形基在第f帧对应的权值,Rf是3×3的头部旋转矩阵,Tf是3×1的头部平移矩阵,Rf和Tf这两部分体现了三维头部姿态,需要被剔除,从Xf中减去所有三维点的平均值,以此消去Tf,得到两个矩阵相乘的格式:
对M进行奇异值分解,得到两个矩阵 通过上述旋转约束和基约束消除歧义性,得到正确的加权旋转矩阵和基矩阵分解,其中U是3F×3L阶酉矩阵,S是半正定3L×3L阶对角矩阵,VT即V的共轭转置,是P×3L阶酉矩阵,F是运动捕捉数据帧数,P是模型中点的个数。
3.如权利要求1所述的方法,其特征在于,所述人脸子空间关联模型分为三层,顶层为全局人脸表情,中间层分为下巴、眉毛、眼镜、嘴巴、脸颊,底层将眉毛,眼睛,脸颊分为左右,嘴巴分为上下。
4.如权利要求1所述的方法,其特征在于,所述人脸子空间关联模型训练时,由分层高斯过程潜变量模型计算得到子空间中高层到低层的逐层映射,从而将全局表情变化分解为局部特征变化,之后通过式计算子空间中相对低层到相对高层的逐层反映射,得到反映射之后,顶层全局表情对应的子空间状态由其低层变量,即中间层变量和底层变量计算得到,其中gl,l+1表示以径向基函数为核的投影函数,Par(reg)表示reg节点的父节点,由于Par(reg)节点对应的状态为第l层,所以reg节点对应状态为第l+1层,l表示所述人脸子空间关联模型中的第l层。
5.如权利要求1所述的方法,其特征在于,步骤4进一步包括:使用主动外观模型实时地给出人脸姿态参数和脸部特征点的二维坐标,对二维特征点采集表情控制参数。
6.如权利要求1所述的方法,其特征在于,步骤5中,将滤波后信号输入人脸子空间关联模型,通过反映射和传播算法计算全局表情。
7.根据权利要求5所述的方法,其特征在于,人脸姿态参数包括平移、尺度变换、俯仰角、滚转角和偏航角。
8.根据权利要求5所述的方法,其特征在于,所述表情控制参数为12个,包括嘴部5个、眼睛2个、眉毛5个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310451508.9A CN103473801B (zh) | 2013-09-27 | 2013-09-27 | 一种基于单摄像头与运动捕捉数据的人脸表情编辑方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310451508.9A CN103473801B (zh) | 2013-09-27 | 2013-09-27 | 一种基于单摄像头与运动捕捉数据的人脸表情编辑方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103473801A CN103473801A (zh) | 2013-12-25 |
CN103473801B true CN103473801B (zh) | 2016-09-14 |
Family
ID=49798634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310451508.9A Active CN103473801B (zh) | 2013-09-27 | 2013-09-27 | 一种基于单摄像头与运动捕捉数据的人脸表情编辑方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103473801B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015042867A1 (zh) * | 2013-09-27 | 2015-04-02 | 中国科学院自动化研究所 | 一种基于单摄像头与运动捕捉数据的人脸表情编辑方法 |
CN106104633A (zh) * | 2014-03-19 | 2016-11-09 | 英特尔公司 | 面部表情和/或交互驱动的化身装置和方法 |
CN104103091B (zh) * | 2014-07-17 | 2016-10-05 | 北京毛豆科技有限公司 | 3d智能建模方法和系统及3d模型柔性制造系统 |
EP3216008B1 (en) | 2014-11-05 | 2020-02-26 | Intel Corporation | Avatar video apparatus and method |
CN104766054A (zh) * | 2015-03-26 | 2015-07-08 | 济南大学 | 人机交互界面中基于视觉关注模型的手势跟踪方法 |
CN105184845B (zh) * | 2015-09-09 | 2018-11-30 | 深圳华侨城文化旅游科技股份有限公司 | 角色模型的形成方法及系统 |
CN106251294B (zh) * | 2016-08-11 | 2019-03-26 | 西安理工大学 | 一种单幅正视人脸图像的虚拟多姿态生成方法 |
CN108629801B (zh) * | 2018-05-14 | 2020-11-24 | 华南理工大学 | 一种视频序列的三维人体模型姿态与形状重构方法 |
CN110941977A (zh) * | 2018-09-25 | 2020-03-31 | Oppo广东移动通信有限公司 | 图像处理方法、装置、存储介质及电子设备 |
CN109285208A (zh) * | 2018-09-29 | 2019-01-29 | 吉林动画学院 | 基于表情动态模板库的虚拟角色表情卡通化算法 |
CN109584353B (zh) * | 2018-10-22 | 2023-04-07 | 北京航空航天大学 | 一种基于单目视频重建三维人脸表情模型的方法 |
CN109621419B (zh) * | 2018-12-12 | 2022-05-03 | 网易(杭州)网络有限公司 | 游戏角色表情的生成装置方法及装置、存储介质 |
CN109978996B (zh) * | 2019-03-28 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 生成表情三维模型的方法、装置、终端及存储介质 |
US10991143B2 (en) * | 2019-07-03 | 2021-04-27 | Roblox Corporation | Animated faces using texture manipulation |
CN112101095B (zh) * | 2020-08-02 | 2023-08-29 | 华南理工大学 | 基于语言和肢体特征的自杀和暴力倾向情感识别方法 |
CN111932661B (zh) * | 2020-08-19 | 2023-10-24 | 上海艾麒信息科技股份有限公司 | 一种人脸表情编辑系统及方法、终端 |
CN112232281A (zh) * | 2020-11-04 | 2021-01-15 | 深圳大学 | 一种人脸属性编辑方法、装置、智能终端及存储介质 |
CN112364787A (zh) * | 2020-11-13 | 2021-02-12 | 江苏汉德天坤数字技术有限公司 | 一种面部微表情识别方法 |
CN113255457A (zh) * | 2021-04-28 | 2021-08-13 | 上海交通大学 | 基于人脸表情识别的动画角色面部表情生成方法及系统 |
CN113505717B (zh) * | 2021-07-17 | 2022-05-31 | 桂林理工大学 | 一种基于人脸面部特征识别技术的在线通行系统 |
CN114422832A (zh) * | 2022-01-17 | 2022-04-29 | 上海哔哩哔哩科技有限公司 | 主播虚拟形象生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916454A (zh) * | 2010-04-08 | 2010-12-15 | 董洪伟 | 基于网格变形和连续优化的高分辨率人脸重建方法 |
CN101944238A (zh) * | 2010-09-27 | 2011-01-12 | 浙江大学 | 基于拉普拉斯变换的数据驱动人脸表情合成方法 |
CN102254154A (zh) * | 2011-07-05 | 2011-11-23 | 南京大学 | 一种基于三维模型重建的人脸身份认证方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068277B2 (en) * | 2003-03-13 | 2006-06-27 | Sony Corporation | System and method for animating a digital facial model |
US8194093B2 (en) * | 2004-09-15 | 2012-06-05 | Onlive, Inc. | Apparatus and method for capturing the expression of a performer |
-
2013
- 2013-09-27 CN CN201310451508.9A patent/CN103473801B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916454A (zh) * | 2010-04-08 | 2010-12-15 | 董洪伟 | 基于网格变形和连续优化的高分辨率人脸重建方法 |
CN101944238A (zh) * | 2010-09-27 | 2011-01-12 | 浙江大学 | 基于拉普拉斯变换的数据驱动人脸表情合成方法 |
CN102254154A (zh) * | 2011-07-05 | 2011-11-23 | 南京大学 | 一种基于三维模型重建的人脸身份认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103473801A (zh) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473801B (zh) | 一种基于单摄像头与运动捕捉数据的人脸表情编辑方法 | |
CN104008564B (zh) | 一种人脸表情克隆方法 | |
CN108288072A (zh) | 一种基于生成对抗网络的面部表情合成方法 | |
Cheng et al. | Parametric modeling of 3D human body shape—A survey | |
CN101751689B (zh) | 一种三维人脸重建方法 | |
CN110599573B (zh) | 一种基于单目相机的人脸实时交互动画的实现方法 | |
Ersotelos et al. | Building highly realistic facial modeling and animation: a survey | |
CN110033505A (zh) | 一种基于深度学习的人体动作捕捉与虚拟动画生成方法 | |
CN106778628A (zh) | 一种基于tof深度相机的面部表情捕捉方法 | |
CN106023288A (zh) | 一种基于图像的动态替身构造方法 | |
CN105144247A (zh) | 用户的三维表示的生成 | |
CN108363973A (zh) | 一种无约束的3d表情迁移方法 | |
CN110415308A (zh) | 一种基于循环空间转换网络的人脸漫画生成方法 | |
CN110298916A (zh) | 一种基于合成深度数据的三维人体重建方法 | |
Ping et al. | Computer facial animation: A review | |
CN107066979A (zh) | 一种基于深度信息和多维度卷积神经网络的人体动作识别方法 | |
Huang et al. | A review of 3D human body pose estimation and mesh recovery | |
CN117095128A (zh) | 一种无先验多视角人体服饰编辑方法 | |
CN106326980A (zh) | 机器人和机器人模拟人脸面部运动的方法 | |
Wu et al. | 3D film animation image acquisition and feature processing based on the latest virtual reconstruction technology | |
CN110717978A (zh) | 基于单张图像的三维头部重建方法 | |
CN110223368A (zh) | 一种基于深度学习的面部无标记运动捕捉方法 | |
Lu et al. | Parametric shape estimation of human body under wide clothing | |
CN116957866A (zh) | 一种数字人教师个性化教学装置 | |
CN113379890B (zh) | 一种基于单张照片的人物浅浮雕模型生成方法 |
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 |