一种高维动态数据处理方法转让专利

申请号 : CN200710120123.9

文献号 : CN101364307B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 庞俊彪黄庆明蒋树强

申请人 : 中国科学院计算技术研究所

摘要 :

本发明提供一种高维动态数据处理方法。首先计算高维动态数据对应的低维变量;然后计算低维变量张成的低维空间到高维数据所在的高维空间的映射;最后在低维空间采集样本,利用所述映射将样本映射到所述高维空间,形成新的高维动态数据。本方法应用于动态纹理图像序列方面,获得更逼真视觉效果且可以处理大多数自然场景中的动态纹理;应用于3D人体运动捕获数据处理方面,能够合成用户指定约束的人体运动数据。

权利要求 :

1.一种高维动态数据处理方法,包括下列步骤:

计算高维动态数据对应的低维变量;该步骤包括建立高斯过程隐藏变量模型,并根据此模型计算低维变量,所述高斯过程隐藏变量模型的核矩阵元素用径向基核函数表示;

计算所述低维变量张成的低维空间到所述高维数据所在的高维空间的映射;该步骤包括根据低维变量和所述径向基核函数中的核参数计算从低维空间到高维空间的映射,该映射的映射函数用高斯函数表示;

在所述低维空间采集样本,利用所述映射将样本映射到所述高维空间,形成新的高维动态数据。

2.一种动态纹理图像序列处理方法,包括下列步骤:

计算动态纹理图像序列对应的低维变量;该步骤包括建立高斯过程隐藏变量模型,并根据此模型计算低维变量,所述高斯过程隐藏变量模型的核矩阵元素用径向基核函数表示;

计算所述低维变量张成的低维空间到所述动态纹理图像序列所在高维空间的映射;该步骤包括根据低维变量和所述径向基核函数中的核参数计算从低维空间到高维空间的映射,该映射的映射函数用高斯函数表示;

在所述低维空间采集样本,利用所述映射将样本映射到高维空间,形成新的动态纹理图像。

3.一种3D人体运动数据处理方法,包括下列步骤:

计算3D人体运动数据对应的低维变量;该步骤包括建立高斯过程隐藏变量模型,并根据此模型计算低维变量,所述高斯过程隐藏变量模型的核矩阵元素用径向基核函数表示;

计算所述低维变量张成的低维空间到所述3D人体运动数据所在高维空间的映射;该步骤包括根据低维变量和所述径向基核函数中的核参数计算从低维空间到高维空间的映射,该映射的映射函数用高斯函数表示;

在所述低维空间采集样本,利用所述映射将样本映射到高维空间,形成新的3D人体运动数据。

4.如权利要求1至3中任一所述方法,其特征在于所述在低维空间采集样本采用Metropolis-Hastings采样算法自动采集样本。

5.如权利要求1至3中任一所述方法,其特征在于所述在低维空间采集样本通过人机交互方式选择样本。

说明书 :

一种高维动态数据处理方法

技术领域

[0001] 本发明涉及一种高维动态数据处理方法,尤其涉及动态纹理图像序列和3D人体运动数据的分析,合成和控制。

背景技术

[0002] 动态数据通常指数据单元之间具有时序关系的一类数据。典型的动态数据包括动态纹理图像序列,3D人体运动数据等。由于这些动态数据维数较高,如何去处理这些高维数据已成为各类应用问题的难点。
[0003] 动态纹理图像序列是指时间空间上呈现一种统计特性的图像序列。如跳动的火m×n焰,飘动的旗帜等。一帧长、宽分别为m和n的图像Im×n,可以看作是R 图像空间中的一个点。m×n的值通常大于1000(例如对于35×35像素大小的图像),所以动态纹理图像属于高维数据。3D人体运动数据(如图1所示)是指通过运动捕获设备得到人体各个关节点的3D运动数据。人体的每一个姿态由各个关节弯曲程度决定。在局部的坐标系下,每个关节的状态可以由3个参数描述,而人体运动的关节点数目j众多(>70),人体的一个姿态可以由3×j维数据描述,所以3D人体运动数据也是高维的动态数据。对于这些高维数据的处理在计算机图形、计算机动画中有广泛的应用。
[0004] 高维数据的处理包含数据分析、合成和控制。动态数据的分析是指将高维的动态数据投影到低维空间和对低维空间的动态特性进行分析。高维动态数据的合成和控制是指根据不同动态特性的需要选择一系列的低维空间中的点,然后将这些数据点重新映射到高维空间形成新的动态数据。
[0005] 动态纹理图像序列传统的分析方法,通常采用具有时间不变性的线性动态系统(linear dynamical system)。先用主成份分析(principal componentanalysis)将高维数据降到低维空间,然后在低维空间中对自回归动态模型进行系统辨识。从视觉上看,线性系统生成的动态纹理都不真实;因为此方法假设动态纹理具有时间不变性,所以不能处理自然场景下生成的很多动态纹理,如旗帜的随风飘动、火焰等。本发明采用一种非线性的降维方法对动态纹理图像序列进行建模,同时在低维空间中进行非线性采样合成,获得更逼真视觉效果的动态纹理图像序列,且能够处理大多数自然场景中的动态纹理。
[0006] 3D人体运动数据合成常用的方法是逆动力学(inverse kinematics)。20世纪90年代初,采用基本的逆动力学方法,寻找各个关节满足的约束。虽然各个关节满足自身的约束条件,但是求解出来满足约束的动作常常是不自然的。后来人们从样本中学习更真实的人体运动数据,常用的方法是将已经存在的运动数据进行直接复制、混合或在多个运动数据之间直接进行插值。这种方法虽然能合成更真实的运动数据,但是不能合成满足用户指定的某种动作约束的运动数据,例如原来只是“走”的运动数据,需要合成走的过程中,一只手突然举起然后放下。本发明方法能够合成这种用户指定约束的人体运动数据。

发明内容

[0007] 本发明目的是提供一种高维动态数据处理方法,此方法可以处理动态纹理图像序列和3D人体运动数据等高维动态数据,通过对现有数据的分析,形成具有不同动态特性的新的数据。
[0008] 为实现上述目的,根据本发明的一个方面,提供了一种高维动态数据处理的方法,包括下列步骤:
[0009] 计算高维动态数据对应的低维变量;该步骤包括建立高斯过程隐藏变量模型,并根据此模型计算低维变量,所述高斯过程隐藏变量模型的核矩阵元素用径向基核函数表示;
[0010] 计算所述低维变量张成的低维空间到所述高维数据所在的高维空间的映射;该步骤包括根据低维变量和所述径向基核函数中的核参数计算从低维空间到高维空间的映射,该映射的映射函数用高斯函数表示;
[0011] 在所述低维空间采集样本,利用所述映射将样本映射到所述高维空间,形成新的高维动态数据。
[0012] 根据本发明的又一方面,提供了一种动态纹理图像序列处理方法,包括下列步骤:
[0013] 计算动态纹理图像序列对应的低维变量;该步骤包括建立高斯过程隐藏变量模型,并根据此模型计算低维变量,所述高斯过程隐藏变量模型的核矩阵元素用径向基核函数表示;
[0014] 计算所述低维变量张成的低维空间到所述动态纹理图像序列所在高维空间的映射;该步骤包括根据低维变量和所述径向基核函数中的核参数计算从低维空间到高维空间的映射,该映射的映射函数用高斯函数表示;
[0015] 在所述低维空间采集样本,利用所述映射将样本映射到高维空间,形成新的动态纹理图像。
[0016] 根据本发明的又一方面,提供了一种3D人体运动数据处理方法,包括下列步骤:
[0017] 计算3D人体运动数据对应的低维变量;该步骤包括建立高斯过程隐藏变量模型,并根据此模型计算低维变量,所述高斯过程隐藏变量模型的核矩阵元素用径向基核函数表示;
[0018] 计算所述低维变量张成的低维空间到所述3D人体运动数据所在高维空间的映射;该步骤包括根据低维变量和所述径向基核函数中的核参数计算从低维空间到高维空间的映射,该映射的映射函数用高斯函数表示;
[0019] 在所述低维空间采集样本,利用所述映射将样本映射到高维空间,形成新的3D人体运动数据。
[0020] 根据本发明的又一方面,在低维空间采集样本可以采用Metropolis-Hastings采样算法自动采集样本,也可以通过人机交互方式选择样本。
[0021] 本方法应用于动态纹理图像序列方面,可以获得更逼真视觉效果且能够处理大多数自然场景中的动态纹理;应用于3D人体运动捕获数据处理方面,能够合成用户指定约束的人体运动数据。

附图说明

[0022] 以下,结合附图来详细说明本发明的实施例,其中:
[0023] 图1是3D人体运动数据(以“走”动作为例)可视化后的示意图。
[0024] 图2是动态纹理图像序列低维空间的示意图。
[0025] 图3是3D人体运动数据(以“走”动作为例)低维空间的示意图。

具体实施方式

[0026] 本发明用约束的高斯隐藏变量模型分析,合成和控制高维动态数据,下面进一步描述具体实施步骤。
[0027] 首先将t时刻的高维数据 非线性映射到低维变量 d<<D,其中t为时间标志,表示数据之间的时间相关性。D和d分别是高维空间和低维空间的维数。由高斯过程(Gaussian process)可得:
[0028]
[0029] 其中Y≡[y1,..,yN]T是N组不同时刻数据组成的高维动态数据,X=[x1,...,TxN] 是对应的低维变量,也称为隐藏变量。K是核矩阵,其每个元素是Ki,j=k(xi,xj)。为了得到非线性映射,采用径向基核函数(RBF):
[0030]
[0031] 其中A={α,β,γ}为核参数,α表示点xi和xj之间的相关性,γ是径向基函数的宽度,β表示噪声大小,δi,j表示德尔塔函数,当xi和xj相等时,函数值为1,反之为0。
[0032] 低维变量具有的流形结构是用近邻信息描述。首先获得高维数据之间的近邻关系[0033]
[0034] 其中,Ωi表示数据点yi的k近邻点的集合。在均方误差最小的意义下求得权重wij。低维空间也应该保持这种流形结构,最小化低维数据之间近邻关系的目标函数:
[0035]
[0036] 其中M是关系矩阵,其元素是:
[0037]-1 -1 -1
[0038] 为了避免模型过拟合,对核参数采用简单的先验概率p(A)∝α ·β ·γ 。在最大后验概率的意义下求解核参数和隐藏变量,即在等式(7)条件约束下,计算L取最小值时的核参数和隐藏变量。
[0039]
[0040] s.t:XTMX-η=0 (7)
[0041] 等式(6)可以转化为拉格朗日乘子等式(8),用梯度下降法对隐藏变量和核参数进行优化求解,其中η对最终结果没有影响,所以其数值大小可以随意,λ选择在0.9-1之间。
[0042]
[0043] 其中:
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051] 根据隐藏变量和核参数就可以计算从低维空间到高维空间的映射。将低维空间中的采样点x*映射为高维空间中的点y*,映射函数可以表示成高斯函数:
[0052]
[0053] 其中:
[0054]
[0055]
[0056] 对应的高维空间中的点y*为
[0057]
[0058] 高维数据y*的重构误差σ2可以表示成下面的函数
[0059]
[0060] 为了采样具有某种动态特性的样本点,可以使用Metropolis-Hastings采样算法自动采集样本点或通过人机交互的方式人工选择样本点。
[0061] 对于自动选择样本点,首先利用系统辨识方法对隐藏变量的线性状态作估计xt+1=Axt+vt,vt~N(0,∑),计算状态转移矩阵A和系统噪声∑。然后以Axt作为均值,系统噪声∑作为方差组成高斯函数N(xt+1;Axt,∑)。A和∑的具体计算过程为:设X2,N等于X的第2个数据到第N个数据组成的矩阵,X1,N-1等于X的第1个数据到第N-1个数据组成的矩阵。那么A等于矩阵X2,N与矩阵X1,N-1的Moore-Penrose逆矩阵的乘积。假设矩阵W等于X2,N减去矩阵A乘以矩阵X1,N-1的乘积。系统噪声∑可用通过对矩阵W做奇异值(singular value decomposition)分解获得。对W做奇异值分解W=U*S*V,系统噪声∑等于正交矩阵U乘以对角矩阵S。本发明将高斯分布N(xt+1;Axt,∑)作为提议密度,其中以Axt作为均值,∑作为方差。利用Metropolis-Hastings采样算法去选择一系列的样本。合成第t+1时刻的动态数据的具体方法实现如下:
[0062] 1.从提议密度N(xt+1p;Axt,∑)中随机的产生样本候选样本点xt+1p。
[0063] 2.根据下面的式子计算数值α
[0064]
[0065] 如果a≥1,那么接受新的样本点;否则,以概率a接受新的样本点。
[0066] 3.如果第2中样本点被接受,那么 否则,回到第1步,重新采样直到新的样本点被接受。
[0067] 4.将新的样本点xt+1利用公式(18)映射回高维空间得到第t+1时刻的样本点。
[0068] 其中,隐藏变量的概率密度p(x)可以通过帕仁(Parzen)窗估计。
[0069] 对于人机交互的方式选择样本点,只须将高维的动态数据投影到2维平面上,根据对动态模型的需要,用鼠标人工的选择一系列的样本点,然后将这些样本点映射到高维空间,形成新的动态数据。
[0070] 下面以动态纹理图像序列为例,具体描述高维动态数据处理过程。
[0071] 首先将t时刻的纹理 非线性映射到隐藏变量(低维变量) d<<D(如图2所示,其中2维空间每一个点代表一个纹理图像),其中t为时间标志,表示数据之间的时间相关性。D和d分别是高维空间和低维空间的维数。对于动态纹理图像而言,D=图像长×图像高。由高斯过程可得:
[0072]
[0073] 其中Y≡[y1,...,yN]T为动态数据,为N个不同时刻动态纹理图像组成的图像序T列,X=[x1,...,xN] 为对应的低维变量,也称为隐藏变量。K是核矩阵,其中核矩阵的每个元素Ki,j=k(xi,xj)。为了得到非线性映射采用径向基核函数:
[0074]
[0075] 其中A={a,β,γ}为核参数,α表示点xi和xj之间的相关性,γ是径向基函数的宽度,β表示噪声大小,δi,j表示德尔塔函数,当xi和xj相等时,函数值为1,反之为0。
[0076] 低维变量具有的流形结构是用近邻信息描述。首先获得高维数据之间的近邻关系[0077]
[0078] 其中,Ωi表示数据点yi的k近邻点的集合。在均方误差最小的意义下求得权重wij。低维空间也应该保持这种流形结构,最小化低维数据之间近邻关系的目标函数:
[0079]
[0080] 其中M是关系矩阵,其元素是
[0081]
[0082] 为了避免模型过拟合,对核参数采用简单的先验概率p(A)∝α-1·β-1·γ-1。在最大后验概率的意义下求解模型参数和低维变量,即在等式(27)条件约束下当L取最小值时,解得的核参数和隐藏变量。
[0083]T
[0084] s.t:XMX-η=0 (28)
[0085] 等式(26)可以转化为拉格朗日乘子等式,如上所述用梯度下降法计算隐藏变量和核参数求解。
[0086] 根据计算得到隐藏变量和核参数就可以计算从低维空间到纹理的映射。将低维空间中的采样点x*映射为纹理y*,映射函数可以表示成高斯函数:
[0087]
[0088] 其中:
[0089]
[0090]
[0091] 对应的纹理y*为
[0092]2
[0093] 纹理y*的重构误差σ 可以表示成下面的函数
[0094]
[0095] 为了合成具有某种动态特性的动态纹理图像序列,可以在低维空间中,使用Metropolis-Hastings采样算法自动采集样本点或通过人机交互的方式人工选择样本点。
[0096] 对于自动选择样本点,首先利用系统辨识方法对隐藏变量的线性状态作估计xt+1=Axt+vt,vt~N(0,∑),求得状态转移矩阵A和系统噪声∑。然后以Axt作为均值,系统噪声∑作为方差组成高斯函数N(xt+1;Axt,∑)。本发明将N(xt+1;Axt,∑)作为提议密度,其中以Axt作为均值,∑作为方差。利用Metropolis-Hastings采样算法去选择一系列的样本。合成第t+1时刻的纹理具体方法实现如下:
p p
[0097] 1.从提议密度N(xt+1 ;Axt,∑)中随机的产生样本候选样本点xt+1[0098] 2.根据下面的式子计算数值a
[0099]
[0100] 如果a≥1,那么接受新的样本点;否则,以概率a接受新的样本点。
[0101] 3.如果第2中样本点被接受,那么 否则,回到第1步,重新采样直到新的样本点被接受。
[0102] 4.将新的样本点xt+1利用公式(32)映射回高维空间得到第t+1时刻的纹理。
[0103] 其中,隐藏变量的概率密度p(x)可以通过Parzen窗估计。
[0104] 对于人机交互的方式选择样本点,只须将动态纹理图像投影到2维平面上,根据对动态模型的需要,用鼠标人工的选择一系列的样本点,然后将这些样本点映射到高维空间,形成新的动态纹理图像。
[0105] 对于3D人体运动数据而言(如图3所示,其中3维空间每一个点代表一个3D人体运动数据),其维数为D=3×关节点数,如上所述也属于高维动态数据,也可采用本发明方法进行类似处理。
[0106] 应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。