一种基于单目相机的人脸实时交互动画的实现方法转让专利

申请号 : CN201910839412.7

文献号 : CN110599573B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢宁杨心如申恒涛

申请人 : 电子科技大学

摘要 :

本发明涉及三维角色动画技术,其公开了一种基于单目相机的人脸实时交互动画的实现方法,通过融合人脸表情捕捉和语音情感识别技术,生成动画参数,并通过基于骨骼的技术来实时合成可视化的动态皮肤变形动画,使得生成的实时动画的表情更加具有丰富性、自然性,真实感,更具备自身特色。该方法可以概括为:捕获人脸视频图像和语音输入信息,提取人脸表情动画参数和语音情感动画参数;通过动作状态空间模型学习由骨骼运动和相应的皮肤变形组成的训练序列,建立基于辅助骨控制器的虚拟角色骨骼蒙皮模型,通过提取的人脸表情动画参数和语音情感动画参数驱动所述虚拟角色骨骼蒙皮模型,生成实时交互动画。

权利要求 :

1.一种基于单目相机的人脸实时交互动画的实现方法,其特征在于,包括以下步骤:S1、通过单目相机捕获人脸视频图像,获取人脸图像序列;同时通过语音传感器捕获语音输入信息;

S2、在人脸图像序列中标记人脸特征点,并提取人脸表情动画参数;

S3、在捕获的语音输入信息中提取语音特征,并提取语音情感动画参数;

S4、通过动作状态空间模型学习由骨骼运动和相应的皮肤变形组成的训练序列,建立基于辅助骨控制器的虚拟角色骨骼蒙皮模型,通过提取的人脸表情动画参数和语音情感动画参数驱动所述虚拟角色骨骼蒙皮模型,生成实时交互动画;

步骤S4中,所述动作状态空间模型由三个关键元素组成:(S,A,{P})S表示虚拟角色每一帧的面部表情状态集合;

A表示一组动作集合,通过人脸表情识别和语音情感识别获取的参数作为一组动作向量,驱动下一帧虚拟角色变化状态;

P为状态转移概率,表示虚拟角色在当前帧t的表情状态st∈S,通过执行动作at∈A后转移到其他状态的概率分布。

2.如权利要求1所述的一种基于单目相机的人脸实时交互动画的实现方法,其特征在于,步骤S2中,采用双层级联回归模型进行人脸特征点的标记,利用基于脸部活动编码系统的Candide‑3人脸模型作为参数载体,提取人脸表情动画参数。

3.如权利要求2所述的一种基于单目相机的人脸实时交互动画的实现方法,其特征在于,所述双层级联回归模型采用两层回归结构,第一层采用由T个弱回归器以叠加的方式组合起来的增强回归模型;第二层由针对第一层中的每一个弱回归器采用K个回归模型级联而成的强回归器叠加而成。

4.如权利要求1所述的一种基于单目相机的人脸实时交互动画的实现方法,其特征在于,步骤S3具体包括:

S31、在语音输入信息中对语音情感信息特征进行分析与提取;

S32、将提取的语音情感特征进行情感识别,完成情感的判断;

S33、将语音情感结果对应于基于AU单元的脸部活动编码系统,提取相对应的AU参数,获得语音情感动画参数。

5.如权利要求1所述的一种基于单目相机的人脸实时交互动画的实现方法,其特征在于,步骤S4中,所述建立基于辅助骨控制器的虚拟角色骨骼蒙皮模型的方法包括:a.以已经制作好的没有辅助骨骼的虚拟角色的骨骼蒙皮模型作为原模型;

b.对骨骼蒙皮模型进行蒙皮权重优化;

c.将辅助骨逐渐的插入到原模型与目标模型面部产生最大近似误差的区域;

d.采用块坐标下降算法解决皮肤权重优化和辅助骨位置转换优化两个子问题;

e.构建辅助骨控制器:基于辅助骨控制器的皮肤变换q由静态组件x和动态组件y连接表示,q=x+y;其中,静态组件X根据原模型中的主要骨架姿势计算;动态组件y是使用动作状态空间模型控制。

说明书 :

一种基于单目相机的人脸实时交互动画的实现方法

技术领域

[0001] 本发明涉及三维角色动画技术,具体涉及一种基于单目相机的人脸实时交互动画的实现方法。

背景技术

[0002] 近年来,随着计算机软硬件设备持续不断的发展(如:苹果公司最新发布的增强现实应用开发工具包ARKit,谷歌公司推出的ARCore 1.0及系列支持工具等),将多媒体技术带入了一个全盛的发展时期,同时由于人们对人机交互界面的可视化要求越来越高,使得人脸建模与动画技术在人机交互中发挥着越来越重要的作用。三维人脸表情动画技术的应用领域非常广泛,如游戏娱乐、电影制作、人机交互、广告制作等等,具有重要的应用价值和理论意义。
[0003] 自从Parke[1]等人在1972年使用计算机生成人脸动画的开创性工作以来,世界上越来越多的研究者发现了三维人脸建模及其动画技术的研究使用价值,并作出了很多重要的贡献。如图1所示,这些工作主要包括如何使用有效的模型来表示人脸形状变化,如何准确、快速的捕获面部表情,如何实时精细的搭建三维人脸重建模型以及如何构造脸部数字化替身,并驱动它生成具有真实感的人脸模型。
[0004] Cao[2]等人在2013年提出了一个基于三维形状回归的实时人脸跟踪与动画方法。该方法使用单目视频相机作为人脸图像的采集设备,主要分为预处理和实时运行两个步骤进行。在预处理阶段,使用单目相机采集用户特定的姿势表情,包括一系列的面部表情和头部旋转动作,之后使用人脸特征点标记算法对用户人脸图像进行半自动特征点标记。基于[3]
标定特征点后的人脸图像,Cao 等人在2014年构建了一个面向视觉计算应用的三维人脸表情库FaceWarehouse。在该数据库中,提出了包含个体和表情两个属性的双线性人脸模型(BilinearFace Model),用于拟合生成用户特定的表情融合模型。通过该表情融合模型计算相机采集的该用户的每张图像中由特征点的三维位置组成的三维人脸形状向量。该方法的回归算法采用了形状相关特征的双层级联回归(Two‑level Boosted Regression)算法,所有图像和它们相对应的三维人脸形状向量被作为输入训练出该用户特定的三维形状回归器。在实时运行阶段,该用户特定的三维形状回归器基于当前帧和上一帧得到的人脸运动参数回归得到三维形状参数和人脸运动参数,包括头部的刚性变换参数和面部表情的非刚性面部运动参数,然后将这些参数迁移映射到虚拟角色上,驱动其生成和人脸运动相对应的表情动画。
[0005] 但上述方法具有一定的局限性,对于每一个新用户均需要生成用户特定的表情融[4]合模型和三维人脸形状回归器,需要约45分钟的预处理过程。Cao 等人在2014年又提出了一种基于偏移动态表情回归的实时人脸跟踪算法,该算法同是基于双层级联回归的算法,但对于新用户不需要进行任何的预处理操作,实现了任意用户的实时面部表情跟踪捕捉算法。
[0006] Cao等人在2013年提出的基于三维形状回归的实时人脸跟踪与动画方法以及Cao[4]等人在2014年又提出的基于偏移动态表情回归的实时人脸跟踪算法的工作重心都在于如何准确、高效、鲁棒的跟踪视频中人脸大幅度的运动,如皱眉、大笑、张嘴等大幅度表情,以及添加头部旋转、平移等刚性运动。但二者都忽略了人脸上的细节信息,如抬眉时人脸中的抬头纹,运动时引起的脸部皮肤的二次运动等等,而这些细节恰恰是帮助人们理解表情,让人脸更加富有表现力的重要特征。
[0007] 参考文献:
[0008] [1]Parke F I.Computer generated animation of faces[C]//ACM Conference.ACM,1972:451‑457.
[0009] [2]Cao C,Weng Y,Lin S,et al.3D shape regression for real‑time facial animation[J].ACMTransactions on Graphics,2013,32(4):1.
[0010] [3]Cao C,Weng Y,Zhou S,et al.FaceWarehouse:A 3D Facial Expression Database forVisual Computing[J].IEEE Transactions on Visualization&Computer Graphics,2014,20(3):413‑425.
[0011] [4]Cao C,Hou Q,Zhou K.Displaced dynamic expression regression for real‑time facialtracking and animation[J].Acm Transactions on Graphics,2014,33(4):1‑10.
[0012] [5]Ekman P,Friesen W  V.Facial Action Coding System:Manual[J].Agriculture,1978.
[0013] [6]Duffy N,Helmbold D.Boosting Methods for Regression[J].Machine Learning,2002,47(2‑3):153‑200.

发明内容

[0014] 本发明所要解决的技术问题是:提出一种基于单目相机的人脸实时交互动画的实现方法,通过融合人脸表情捕捉和语音情感识别技术,生成动画参数,并通过基于骨骼的技术来实时合成可视化的动态皮肤变形动画,使得生成的实时动画的表情更加具有丰富性、自然性,真实感,更具备自身特色。
[0015] 本发明解决上述技术问题采用的技术方案是:
[0016] 一种基于单目相机的人脸实时交互动画的实现方法,包括以下步骤:
[0017] S1、通过单目相机捕获人脸视频图像,获取人脸图像序列;同时通过语音传感器捕获语音输入信息;
[0018] S2、在人脸图像序列中标记人脸特征点,并提取人脸表情动画参数;
[0019] S3、在捕获的语音输入信息中提取语音特征,并提取语音情感动画参数;
[0020] S4、通过动作状态空间模型学习由骨骼运动和相应的皮肤变形组成的训练序列,建立基于辅助骨控制器的虚拟角色骨骼蒙皮模型,通过提取的人脸表情动画参数和语音情感动画参数驱动所述虚拟角色骨骼蒙皮模型,生成实时交互动画。
[0021] 作为进一步优化,步骤S2中,采用双层级联回归模型进行人脸特征点的标记,利用基于脸部活动编码系统的Candide‑3人脸模型作为参数载体,提取人脸表情动画参数。
[0022] 作为进一步优化,所述双层级联回归模型采用两层回归结构,第一层采用由T个弱回归器以叠加的方式组合起来的增强回归模型;第二层由针对第一层中的每一个弱回归器采用K个回归模型级联而成的强回归器叠加而成。
[0023] 作为进一步优化,步骤S3具体包括:
[0024] S31、在语音输入信息中对语音情感信息特征进行分析与提取;
[0025] S32、将提取的语音情感特征进行情感识别,完成情感的判断;
[0026] S33、将语音情感结果对应于基于AU单元的脸部活动编码系统,提取相对应的AU参数,获得语音情感动画参数。
[0027] 作为进一步优化,步骤S4中,所述动作状态空间模型由三个关键元素组成:(S,A,{P})
[0028] S表示虚拟角色每一帧的面部表情状态集合;
[0029] A表示一组动作集合,通过人脸表情识别和语音情感识别获取的参数作为一组动作向量,驱动下一帧虚拟角色变化状态;
[0030] P为状态转移概率,表示虚拟角色在当前帧t的表情状态st∈S,通过执行动作at∈A后转移到其他状态的概率分布。
[0031] 作为进一步优化,步骤S4中,所述建立基于辅助骨控制器的虚拟角色骨骼蒙皮模型的方法包括:
[0032] a.以已经制作好的没有辅助骨骼的虚拟角色的骨骼蒙皮模型作为原模型;
[0033] b.对骨骼蒙皮模型进行蒙皮权重优化;
[0034] c.将辅助骨逐渐的插入到原模型与目标模型面部产生最大近似误差的区域;
[0035] d.采用块坐标下降算法解决皮肤权重优化和辅助骨位置转换优化两个子问题;
[0036] e.构建辅助骨控制器:基于辅助骨控制器的皮肤变换q由静态组件x和动态组件y连接表示,q=x+y;其中,静态组件X根据原模型中的主要骨架姿势计算;动态组件y是使用动作状态空间模型控制。
[0037] 本发明的有益效果是:
[0038] 1.面部表情是人们情感的流露,但在一些特殊情况下,面部表情并不能完全表达角色的内心情感。如果仅通过捕获并追踪人脸表情特征点作为参数进行面部点到点的驱动,显然生成的人脸动画是不够生动的。比如,角色在微笑和苦笑时,两者面部表情相似,但却会发出不同的语气词,因此,语音情感识别技术的加入能更好的从语音的角度捕捉角色当前的情感状态变化。本发明将人脸表情捕捉技术与语音情感识别技术相结合,可以大大提高虚拟角色表情动画的丰富性、自然性,真实感。
[0039] 2.由于骨骼和肌肉的运动共同驱动了皮肤表情变化,为了更好的模拟皮肤运动,本发明采用骨骼蒙皮模型,通过基于骨骼的皮肤分解算法自动化添加辅助骨骼,将模拟头部骨骼运动的主要骨与模拟肌肉运动的辅助骨共同驱动虚拟角色进行动画。

附图说明

[0040] 图1为三维人脸动画的研究现状;
[0041] 图2为本发明的人脸实时交互动画的实现原理图;
[0042] 图3为增强回归结构示意图;
[0043] 图4为双层级联回归结构示意图;
[0044] 图5为ASSM的状态转移过程示意图。

具体实施方式

[0045] 本发明旨在提出一种基于单目相机的人脸实时交互动画的实现方法,通过融合人脸表情捕捉和语音情感识别技术,生成动画参数,并通过基于骨骼的技术来实时合成可视化的动态皮肤变形动画,使得生成的实时动画的表情更加具有丰富性、自然性,真实感,更具备自身特色。为实现该目的,本发明中的方案主要从以下几个方面实现:
[0046] 1.人脸运动捕获方面:
[0047] 人脸运动捕获包括两个部分:脸部表情的非刚性捕获和头部刚性变换捕获。根据人脸表情具有的独特肌肉运动特征,把人脸五官作为统一的整体进行协调,以展现出每一种人脸表情。通过基于人脸运动单元(AU)的脸部活动编码系统(FACS),把人脸表情对应的编码作为人脸表情语义属性.使用这种具有不变性的中间描述方法作为人脸表情识别可靠的特征表示,来弥补底层特征在人脸表情识别中的不足。
[0048] 2.语音情感识别方面:通过表演者的语音输入捕捉人的当前情感状态,通过语音特征提取、维数约简、分类等步骤,生成与表演者当前情感状态相对应的语音情感动画参数。
[0049] 3.目标数字化替身表达方面:使用基于骨骼的动态替身表达方法,该方法通过学习由骨骼运动和相应的皮肤变形序列组成的训练序列,得到包括软组织在内的非线性复杂变形的最优传递。通过人脸运动捕获中提取的用户表情语义,驱动角色头部骨骼运动对辅助骨进行程序化的控制,以模拟面部皮肤的动态变形。
[0050] 在具体实现上,本发明中的基于单目相机的人脸实时交互动画的实现方法的原理如图2所示,其包括以下手段:
[0051] (1)通过单目相机捕获人脸视频图像,获取人脸图像序列;同时通过语音传感器捕获语音输入信息;
[0052] (2)人脸的捕获与追踪:从捕获的人脸图像中标记人脸特征点,提取人脸表情动画参数;
[0053] 人脸特征点定位是人脸识别、人脸追踪、人脸动画和三维人脸建模中关键的一个环节。由于人脸多样性、光照等因素,在自然环境下人脸特征点定位依然是一个困难的挑战。人脸特征点的具体定义是:对于一个包含N个人脸特征点的人脸形状S=[x1,y1,...,xN,yN],对于一张输入的人脸图片,人脸特征点定位的目标是估计一个人脸特征点形状S,使得S与人脸特征点真实形状 的差值最小,S与 之间的最小化对齐差值可以定义为L2‑范式用该式来指导人脸特征点定位器的训练或者用来评估人脸特征点的定位算法的性能。
[0054] 本发明拟采用基于回归模型的算法框架来进行实时、高效地进行人脸检测和跟踪。
[0055] a)增强型回归(Boosted Regression)
[0056] 使用增强型回归将T个弱回归器(R1,...Rt,...RT)以叠加的方式组合起来。对于给0
定的人脸样本I以及初始化形状S,每一个回归器根据样本特征计算一个形状增量 并以级联的方式更新当前形状:
[0057] St=St+1+Rt(I,St‑1),t=1,...,T(1)
[0058] Rt(I,St‑1)表示回归器Rt利用输入样本图像I和上一个形状St‑1计算得到的形状增t t‑1 t量,R由输入样本图像I和上一个形状S 决定,使用形状索引特征来学习R ,如图3所示;
[0059] 给定N个训练样本 表示第i个样本的Ii的真实形状,对(R1,...Rt,T t...R)循环训练,直到训练误差不再增加。每个R都是通过最小化对齐误差来计算,即:
[0060]
[0061] 表示第i个图像的上一个形状估计值,Rt的输出为一个形状增量。
[0062] b)双层提升回归(Two‑level Boosted Regression)
[0063] 增强型回归算法是对整个形状进行回归,而输入图像中较大的外貌差异以及粗略的初始化人脸形状,使得单层弱回归器不再适用。单个回归器太弱,训练时收敛慢,测试时结果差。为了在训练的时候收敛更快更稳定,本发明采用了两层级联的结构,如图4所示。
[0064] 第一层采用上述的增强回归模型。对第一层的每个回归器Rt,又使用K个回归模型t 1 k K学习,即R=(r ,...r ,...r),在这里称r为初级回归器,通过K个初级回归器级联成一个t t‑1
强回归器。第一层和第二层的差别是,第一层中每个回归器R 的输入S 都不一样,而第二k t t‑1
层中的每个回归器r的输入都一样的。如R的第二层中所有的回归器输入均是S 。
[0065] 在进行人脸表情动画参数生成上,本发明利用Ekman等人[5]提出的基于AU单元的脸部活动编码系统FACS,该系统一共描述了44个基本运动单元,每个运动单元都由底层某部分或者某肌肉块控制。具体而言,可以利用基于脸部活动编码系统的Candide‑3人脸模型作为参数载体,提取人脸表情对应AU参数E。
[0066] Candide‑3人脸模型表示如下:
[0067]
[0068] 式中, 表示模型的基本形状,S为静态变形矩阵,A为动态变形矩阵,σ是静态变形参数,α是动态变形参数,R和t分别表示头部刚性旋转矩阵和头部平移矩阵。g为模型顶点坐标的列向量,用来表示各种特定的人脸表情形状。模型g由R,t,α,σ四个参数决定。
[0069] (3)在捕获的语音输入信息中提取语音特征,并提取语音情感动画参数;
[0070] 在语音输入信息中对语音情感信息特征进行分析与提取;将提取的语音情感特征进行情感识别,完成情感的判断;将语音情感结果对应于基于AU单元的脸部活动编码系统,提取相对应的AU参数,获得语音情感动画参数V。
[0071] (4)通过动作状态空间模型学习由骨骼运动和相应的皮肤变形组成的训练序列,建立基于辅助骨控制器的虚拟角色骨骼蒙皮模型,通过提取的人脸表情动画参数和语音情感动画参数驱动所述虚拟角色骨骼蒙皮模型,生成实时交互动画。
[0072] (a)动作状态空间模型(ASSM):
[0073] 动作状态空间模型由三个关键元素组成(S,A,{P}),其中:
[0074] S:表示状态集合,虚拟角色的面部表情状态(如高兴、难过等);
[0075] A:表示一组动作集合,通过人脸表情识别和语音情感识别获取的参数作为一组动作向量,驱动下一帧虚拟角色变化状态;
[0076] P:状态转移概率,表示虚拟角色在当前帧t的表情状态st∈S,通过执行动作at∈A后转移到其他状态的概率分布。
[0077] ASSM的动态过程如下:虚拟角色在状态s0,被表演者的动作向量a0∈A驱动下,根据概率P转移到下一帧状态s1,然后执行动作a1,…如此下去我们可以得到图5所示的过程。
[0078] (b)辅助骨框架:
[0079] 辅助骨定位过程:给定一组主要骨骼索引集P,用于计算主要骨骼的全局变换矩阵Gp∈P。令 和 表示在原始姿态下的主要骨骼矩阵和静态皮肤上第i个顶点的位置。表示主要骨骼对应的皮肤转换矩阵。被称为辅助骨的二次骨骼的索引集用H表示,对应的皮肤公式如下:
[0080]
[0081] vi表示变形皮肤顶点的位置,Sh表示对应于第h个辅助骨的皮肤矩阵。上式第一项对应于由主要骨骼驱动的皮肤变形,第二项为使用辅助骨骼的变形提供了额外的控制。辅助骨的数量是由设计者给出的,以平衡变形质量和计算成本。
[0082] 蒙皮分解:将皮肤分解分为两个子问题进行描述。第一个子问题估计所有最优皮肤权重 和皮肤矩阵 在每一帧t∈T的最佳近似训练数据。第二个子问题通过基于原始骨架的辅助骨控制模型近似估计离散转换
[0083] 给定主要骨架蒙皮矩阵 的训练序列和相应的顶点动画 在这里,蒙皮优化分解问题被公式化为最小二乘约束问题,最小化原模型和目标模型之间在整个训练数据集上的平方形状差异的总和。
[0084]
[0085] 其中,
[0086]
[0087]
[0088] 上式中,|·|n表示ln范式,V表示顶点集合的下标。常数k表示皮肤网格顶点受到骨骼影响的最大数量,以调整计算成本和准确度之间的平衡。
[0089] 辅助骨控制器:假设辅助骨是由只有球形关节的原始骨架驱动的,则辅助骨的姿势是由所有转动组件的主要骨骼rp∈SO(3)唯一决定的。由一个列向量表示为:
[0090] u:=Δt0||Δr0||r1||r2||…||r|p|  (9)
[0091] 该式中u∈R3|p|+6,||表示向量值的连接运算符,|P|为主要骨的数量,Δt0∈R3表示根节点的时间变化,Δr0∈SO(3)表示根节点的方向变化。
[0092] 每一个辅助骨作为主要骨的子骨附着在主要骨骼上,例如,Φ(h)被认为是第h个辅助骨对应的主要骨,S(h)是第h个辅助骨骼对应的皮肤矩阵,令 由局部转换Lh和全局转换组合而成。局部转换Lh由平移分量th和旋转分量rh组成。
[0093] 该模型假设皮肤变形建模为静态和动态变形的串联,前者是根据主要骨架的姿势来确定的,后者则取决于骨架运动和皮肤变形在过去时间步长的变化。因此,辅助骨q的皮肤变换由一个静态组件x和一个动态组件y连接表示,q=x+y。静态变换x是根据骨架姿势计算的,动态变换y是使用状态空间模型控制的,该模型考虑了之前骨骼姿势和辅助骨骼转换的积累信息。