人体运动数据处理及合成中的关键算法
上QQ阅读APP看书,第一时间看更新

2.2 运动捕获数据压缩方法分类原则

从不同的角度划分,人体运动数据压缩有多种分类方法。

2.2.1 基于运动数据中的冗余类别进行分类

人体运动数据的冗余通常有三类:时间轴上的冗余、空间关节间的冗余以及片段之间的冗余。严格来说,片段之间的冗余属于时空冗余的组合。

(1)消除时空域数据冗余类方法

运动捕获数据是一种时间序列数据,相邻帧之间有很大的相关性,这样的相关性称为时域冗余。有许多消除这种冗余的方法:Arikan[13]利用贝塞尔曲线来拟合运动片段,使一个片段只通过几个控制点就可表示;Lin等[24]利用Catmull-Rom样条曲线来逼近经过重复运动分析后的数据;小波技术[17,28~30]通过存储有限的小波系数来表示整个运动等。

运动数据的各关节之间也有相关性,这种相关性称为空间相关性,如人走路,左手向后摆时,右腿一般会向前。这种空间的数据冗余使运动数据各关节之间具有某种程度的线性关系。Barbic等[22]在利用主成分分析对运动数据进行分析时观察到:在保留同等信息的预设下,表示单一运动需要的主元很少;而如果此单一运动与另外一个类型不同的运动片段拼接,要表示这个拼接后的数据,需要的主元则会有所增加。这一方面印证了人体运动中关节间的线性关系,另一方面证明运动数据越短小,运动越单一,这种线性关系就越突出。基于这些结论,研究者提出了基于分段主成份分析[13,15,25]的人体运动压缩方法。

Tournier等[16]则基于主成分分析在黎曼流形上的扩展,提出采用主测地线分析(PGA, principal geodesic analysis)挖掘分析人体运动数据内的低维流形;Hou等[38]和Kruger等[39]则用张量来表示人体运动数据,基于canonical polyadic张量分解[38]或高阶奇异值分解[39]来消除运动数据中的时空域冗余。

(2)消除片段域数据冗余类方法

除了时域冗余和空间冗余外,在大型运动库中,有许多重复或相似的运动片段,如果能充分利用这些重复片段,则能高效且快速地压缩运动数据。Arikan[13]首先提出了利用大型运动库中重复片段的概念。Gu等[14]k-means进行聚类,然后取聚类的平均值作为运动的模式,这样与之相似的运动只需要存储指向这个模式的索引,从而达到消除片段冗余的目的。Lin等[24]则提出在大型运动数据库中发现主片段,进而寻找与该主片段相似的重复片段,通过存储重复片段与主片段之间差值的方式有效地消除了片段冗余。Hou等[40]则将人体运动切分成等长最优的片段集,然后采用低秩逼近的方法将这些片段投射到一对正交矩阵上,从而最大程度地利用人体运动片段之间的低秩特点来消除其中的数据冗余。

2.2.2 基于运动数据是否损失进行分类

基于压缩过程中数据是否有损失分为有损压缩方法与无损压缩方法。人体运动压缩算法的损失来源于两个方面:一是人体运动数据经过了降维、曲线拟合和信号变换等有损处理过程;二是人体运动数据压缩流程中的量化步骤。以上处理过程通常是不可逆的,从而导致数据的损失。因此,绝大多数的人体运动数据压缩方法是有损的压缩方法[13~21]

为了满足工程领域对人体运动数据精确度较高的要求,有研究者提出无损压缩方法或近似无损压缩方法[34,36]。完全无损的压缩方法通常基于数据预测等完全可逆的变换;而部分无损的压缩方法则一般在变换中尽量保持可逆,另一方面则通过误差矫正算法对解压后的运动数据进行矫正,如Chew等[36]采用优化的运动过滤算法(MMF,modified motion filter)进行误差矫正。

要避免数据损失或者出现复杂的矫正过程,有效的方法是研究人体运动数据完全无损的压缩方法。Kuo等[41]采用片段级Hermite样条对每个自由度的数据进行插值预测,然后利用差分脉冲编码调制及Huffman编码对差值进行压缩。Wang等[34]对网格数据压缩中的平行四边形预测器[42]进行扩展,并根据人体运动数据的层次结构,提出采用带参数的平行四边形预测器对人体运动数据进行预测,然后采用熵编码算法进行压缩编码。

2.2.3 基于算法部署平台进行分类

基于算法运行的平台可分为基于移动平台和基于PC平台的压缩方法。移动平台具有功耗要求高、存储空间小等特点,算法通常尽量避免复杂运算。Chattopadhyay等[20]提出了基于层次结构的智能索引在移动设备上压缩和传输人体动画参数(BAP, body animation parameter)数据。Han[33]则采用多项式曲线拟合方法来减少人体运动数据在移动设备上的存储。运行于移动平台上的方法通常可运行在PC平台上,反之并不一定成立。

2.2.4 基于运动数据传送方式进行分类

基于人体运动数据在网络上传输的方式,可分为基于层次细节渐进和非渐进传输压缩方法。非渐进的压缩方法较为常见;渐进压缩方法通常基于人体骨架层次结构,通过对人体运动数据采用不同压缩粒度控制而实现渐进压缩与传输。如基于视频压缩Bit-plane coding[44]的方法、Li等[29]提出的基于小波技术的方法。

下面以基于冗余类别的分类方法为主线,对人体运动捕获数据压缩方法进行综述。需要注意的是,基于片段冗余的方法中很多也采用了消除时空冗余的方法,但由于这类方法的基本思想是消除片段的冗余,本文把它们归入此类。