法律状态公告日
法律状态信息
法律状态
2019-10-08
未缴年费专利权终止 IPC(主分类):G06T13/00 授权公告日:20151118 终止日期:20181016 申请日:20121016
专利权的终止
2015-11-18
授权
授权
2013-04-03
实质审查的生效 IPC(主分类):G06T13/00 申请日:20121016
实质审查的生效
2013-02-27
公开
公开
技术领域
本发明属于计算机虚拟现实技术领域,特别是涉及一种计算机骨骼动画中基于运动捕获数据的运动合成与编辑方法。
背景技术
虚拟角色的运动大大增加了虚拟场景的真实感和沉浸感。虚拟角色的运动是虚拟现实和计算机动画等领域的一个经典研究内容。先后有基于关键帧,运动学,动力学等方法用于合成虚拟角色的运动。近年来,随着运动捕获设备的不断成熟和实用化,获取大量真实感运动数据成为可能。但是,由于人体运动运动的复杂性和多变性,捕获所有的人体运动是不现实也是不可能的。另外,运动捕获设备造价昂贵,便携性差等原因也让运动捕获设备的使用受到了限制。如何利用已有运动捕获数据泛化生成新的运动数据来满足特定的用户需求和环境约束成为一个研究热点和难点。
目前,从是否对已有的运动捕获数据进行修改的角度,可以将利用运动捕获数据进行运动合成的方法分为运动融合与运动重组两大类。运动融合通过对两个或多个运动数据片段进行显式或隐式的插值实现运动数据的泛化达到运动合成的目的。而运动重组通过排列组合的方式改变运动数据片段的顺序来达到合成新的运动的目的。在使用运动融合的技术中,一种非常有吸引力的运动生成方法是通过对已有运动数据集建模,构造一个能够显式的将运动数据集参数化为不同因子的生成模型来实现运动数据的泛化,达到运动合成目的。
要构建出一个好的生成模型需要解决以下问题:一为如何保证在不产生很大重构误差的前提下重构出训练数据。二为如何保证生成模型可以灵活的根据训练数据集和用户的需求不同而做适应性修改。三为如何能够让生成模型能够适用于多种类型运动上,而不局限于有限种类的运动上面。本发明将以这三个问题为基本出发点,通过将多因子高斯过程对运动捕获建模,提出了一个构建生成模型框架,实现了一系列灵活的运动合成与编辑的方法。
对于对运动数据建模构建生成模型这个问题,当前已经有许多很多研究工作。例如,利用双线性模型对运动捕获数据建模,实现内容与风格的分离;利用多线性模型对运动捕获数据进行建模,实现人物和风格的分离等。这些方法针对某一些问题,或在某一些运动数据集上取得很好的结果。但是,这些模型都有着它们自身的局限性。他们要么很难扩展到别的数据集上,要么很难通过对模型进行调整去处理一些类似问题。本发明通过将多因子高斯过程应用于运动捕获数据上,根据训练数据集的特质以及具体的问题,提出了一个利用运动捕获数据建模来构建生成模型的方法。由于多因子高斯过程内在的灵活性,表达能力强等性质让我们的方法客服了上面提到的那些研究工作构造的生成模型的局限性。所以我们的方法的优点可以概括为:一、灵活性强。我们可以针对训练数据集的不同,可以构造出两个、三个或四个因子等的生成模型;二、表达能力强。核函数的方法可以描述两个数据空间之间复杂的映射关系。而我们生成模型描述分解出因子与运动数据之间的映射关系是通过核函数实现的所以我们的生成模型可以表达复杂的函数映射关系,具有更强的表达能力。
发明内容
本发明的目的:将多因子高斯过程应用于运动捕获数据上,构建能够显式的将运动捕获数据参数化为不同因子的生成模型来实现灵活直观的运动合成与编辑方法。
本发明提出的计算机骨骼动画中基于运动捕获数据的运动合成与编辑方法,其主要步骤如下:
步骤(1)、对运动数据进行简单的预处理,标注出构造生成模型所需要的先验信息;
步骤(2)、根据步骤(1)的标注信息定义随机过程,根据各个因子的代表的具体意义,为每个因子指定合适的核函数来描述它与运动数据间的映射关系,对运动数据建模;
步骤(3)、构造最优化目标函数,利用数值最优化算法求解未知参数构建生成模型;
步骤(4)、利用步骤(3)得到的生成模型,通过对分解出的因子进行编辑来实现运动的合成与编辑。
进一步的,所述步骤(1)中对运动数据预处理和标注的具体内容如下:
步骤(A1)、根据运动捕获数据集计算特征向量。特征向量包括根节点位置偏移、根节点朝向、各个关节点自由度,各个关节的加速度;
步骤(A2)、对每个运动片段进行标注,标注内容具体可包括:人物、风格、内容、性别、年龄等信息。
进一步的,所述步骤(2)构造生成模型的步骤具体如下:
步骤(B1)、根据步骤(1)中标注的信息,定义一个随机过程;
步骤(B2)、根据每个因子的代表具体意义,为步骤(B1)定义的随机过程中每个因子指定合适的核函数。核函数可以是RBF函数,线性函数等任意有效的核函数;
步骤(B3)、在为每个因子指定核函数后,计算出每个因子的协方差矩阵,然后将各个协方差矩阵连乘得到生成模型的协方差矩阵,然后对运动数据建模就完成了。
进一步的,所述步骤(3)中构建目标函数求解未知参数的步骤如下:
步骤(C1)、构造条件概率公式,利用最大后验估计(MAP)构造目标函数;
步骤(C2)、利用数值最优化算法SCG求解未知参数得到生成模型。
进一步的,所述步骤(4)中利用得到的生成模型实现运动合成与运动编辑的具体内容有:
内容(D1)、通过指定因子参数,合成新的运动;
内容(D2)、通过估计未知运动的参数实现运动的从定向,运动风格的从定向;
内容(D3)、通过插值因子参数实现两种或几种运动实现运动融合来合成出新的运动。
本发明与现有技术相比的优势:
首先,高斯过程是一个强大的回归工具。通过设置不同的核函数可是实现对各种线性关系非线性关系的描述。具有很强的关系映射的表达能力。
其次,我们在对运动数据建模过程中,为了更加细腻和准确的描述各个运动数据集之间的关系,我们使用了多因子高斯过程模型来对运动数据建模。相对于单个隐变量因子的模型,这种建模方式更加精确鲁棒。
最后,通过建模结果构造出的生成模型提供过直观方便的交互手段让非专业动画人士也能利用该模型生成高质量的动画。
附图说明
图1为本发明的一种计算机骨骼动画中基于运动捕获数据的运动合成与编辑方法的整体过程示意图;
图2为本发明的估计未知运动参数,为该未知人物合成其他风格走的示意图;
图3为本发明的通过插值风格参数合成新的风格的运动示意图;
图4为本发明的通过插值内容参数合成不能内容的运动之间平滑过渡的示意图。
具体实施方式
下面结合附图与实例对本发明作进一步详细描述:
本发明实施过程包括四个主要步骤:运动数据预处理以及先验信息标注,定义随机过程并指定各个因子的核函数,构建目标函数求解未知参数构建生成模型,利用生成模型实现运动的合成与编辑。图1展示了本发明的整体过程示意图。
步骤一:运动数据预处理以及先验信息标注:
第一阶段:运动数据预处理:
运动数据预处理阶段主要处理的事情是计算与运动数据每一帧对应的特征向量。假设,当前给定训练运动数据集:Q={Qj|j=1,2,...,j}。其中,J是运动序列的总数。我们要为运动序列Qj中得每一帧qj,t计算一个特征向量yi,t。yi,t中的内容包括根节点的朝向、根节点的速度、各个关节点的自由度,各个关键的加速度。其中,根节点的朝向和各个关节的自由度用四元素表示,根节点的速度和各个关键点得速度由运动数据的当前帧qj,t减去上一帧qj,t-1得到。为了表示方便,计算出所有运动数据的特征向量后,我们将所有的特征向量放入一个矩阵YN×D=[y1,1,y1,2,...,yJ,T]中,其中N是训练数据的总的帧数,D是特征向量的维度。
第二阶段:运动数据先验信息的标注:
运动数据先验信息的标注的目的是为了在最优化过程中给未知参数一个好的初始值。运动数据可标注的信息是我们可以从运动数据中得到,且是我们关注的信息。例如,如果给定的训练数据集是由一些人做的不同风格的走的运动,并且我们想将运动参数化为人物与风格两个参数向量来表示,那么,我们需要标注的信息就是当前运动是由谁做的,当前运动是什么风格。
步骤二:定义随机过程并指定各个因子的核函数,构造出随机过程的协方差函数:
第一阶段:根据步骤一标注的先验信息数目,定义如下形式的随机过程:
>
其中,M是因子的总数、ε是0均值的高斯噪音、ΦM是xM对应的基函数列向量、
由于运动数据是时序相关的数据,所以在没有给定时序信息的前提下,如果用户没有给出连续的控制信号,生成新的运动数据是不可能的。所以在这里我们将st作为一个特殊的因子。我们将运动序列中的每一帧作为一个独立的状态。通常情况下,一个给定的运动序列的帧率是相同的。所以运动状态st可以参数化为时间的函数:
>
其中Δθ表示步长,实现中,我们采用两种方式参数化st。第一种方式(见公式(2)),将st投影到[0,1]区间,第二种方式(见公式(3))将st投影到单位圆上面区间。对于一个给定的运动序列,他的帧数是确定的,所以Δθ是可以确定的。在第一种情况下,Δθ=1/L;第二种情况下Δθ=2π/L,其中L是运动数列的帧数。
第二阶段:根据第一阶段定义的随机过程,为每个因子指定一个合适的核函数,确定高斯过程协方差函数的定义:
核函数表示的是两个数据空间之间函数映射关系,指定合适的核函数来正确的描述各个因子与运动数据之间的函数映射关系是很关键的。通常情况下,我们不可能确定对各个因子与运动数据之间精确的函数关系,只能大概的估计其关系是线性还是非线性的。如果实验效果不好,可以回头来从新指定核函数。
在这里,我们为st指定核函数为RBF函数:
>
在为每一个因子指定核函数后,高斯过程的协方差函数可以被定义如下:
K=K1*K2*...*KM*Ks+βI) (5)
其中K1是每一个因子对应的核函数计算出的核矩阵。
步骤三:构建目标函数求解未知参数构建生成模型:
第一阶段:利用最大后验(MAP)估计构建最优化目标函数:
由步骤二确定协方差函数后,给定{x1,...,xM},Ψ和W后,关于Y的联合概率密度分布如下所示:
>
其中,Ψ是各个因子x1对应的核函数的超参数(hyper-parameter)组成的列向量,wi是特征向量y的第i个维度的权重。令θ={{x1,...,xM},Ψ,W},则我们的目标函数就是(7)式:
maxθp(θ|Y)=maxθp(Y|θ)*p(θ) (7)
为了计算方便,最大化公式(7)等价于最小化公式(7)负的对数函数:
>
第二阶段:利用数值最优化算法最优化目标函数求解未知参数构造生成模型:
在这个阶段,我们的目标就是利用最优化算法最小化公式(8)。求解未知参数{x1,...,xM},Ψ和W。最小化公式(8)是一个数值最优化问题,所谓我们选择经典的数值最优化算法SCG最优化公式(8)。在求解出未知参数后,生成模型就可以描述成如下形式:
yt=g({x1,...,xM},st) (9)
步骤四:利用生成模型实现运动的合成与编辑:
有了生成模型后,我们可以通过直接操纵因子{x1,...,xM},来直观的实现运动的合成与编辑。利用生成模型我们可以实现以下功能:
内容一:未知运动的生成。有了生成模型我们简单的指定因子的值来实现运动的合成,例如,如果我们构造的生成模型是由两个因子人物和风格组成,那么我们可以简单的指定人物A和风格B,来为人物A合成一种风格为B的运动。
内容二:评估未知运动参数,实现运动风格的转移,运动重定向等功能。给定一个未知运动后y*,我们可以通过下式估计其对应的参数:
>
其中,是估计出的未知参数,似然部分(likelihood)用来衡量合成的运动与未知运动的相似性,先验部分(prior)约束合成的运动尽可能的靠近训练数据集。估计出未知参数后,我们可以固定某一个参数,改变其他的参数为这个人合成别的不同内容或不同风格的运动。图2展示了通过估计一段未知人物和风格的走的运动,为这个人物合成了三中其他运动的示意图。
内容三:插值各个因子实现不同风格,内容运动的融合从而达到合成新的风格的运动,或实现不同内容的运动之间的平滑过度的目的:
>
其中,α,λ等参数为插值的权重参数。图3和图4分别是插值风格参数合成新的风格运动,插值内容参数合成不同内容运动之间平滑过渡的示意图。
机译: 基于计算机的用于处理地下矿井中的多次潜水的方法,存在的介质,基于计算机的用于基于矿井中的矿物处理井底数据的方法的方法一个基于计算机的地下信息系统。根据地下矿井中的矿物来处理数据,并基于计算机对地下矿井中的数据进行处理的方法,仓储腿目前的计算机系统是基于计算机的,用于处理基于地下的一种形式的多次潜水。计算机根据地下矿井中的矿物质来处理数据u00e7o地下,以及基于计算机的数据处理方法
机译: 在计算机系统中可重复使用的打印作业的编辑和传送方法,包括基于用户对指示页面的响应来编辑订单数据,以及基于编辑后的数据来传送打印作业。
机译: 记录了一种基于数据库的数据关联方法和一种基于数据库的数据关联系统以及基于数据库的数据关联方法,并且计算机可读记录介质包括计算机可读记录介质。