2.4 基于消除片段域数据冗余的方法
基于消除片段域数据冗余的方法又可细分为基于动作片段分析和基于聚类及降维的方法。
2.4.1 基于动作片段分析的方法
Lin等[24]首先定义了主片段、重复片段和唯一片段的概念。主片段是运动库中具有代表性的一些动作;重复片段(或称从片段)是与此类代表性动作相似的重复动作;而唯一性片段是不能归入到以上两类运动片段中的。首先,将运动分割成具有独立语义的片段,然后,对这些片段进行聚类,这样每个片段只包含相同语义的运动。聚类后,用主成分分析对数据进行降维。随后,各聚类中的运动被连接起来,并运用Kovar等[59]的运动匹配及检索方法进行重复运动片段的分析,可得到相似姿态路径。接着,对这些相似路径进行分析、切分,就能得到主片段以及与其相似的重复片段。这样,在每个聚类中,只需要存储主片段的原始值以及重复片段与主片段的差值,就能还原数据。对唯一片段这类数据,则需要进行单独处理。最后,还需要对以上主片段、差值序列数据利用Catmull-Rom样条曲线进行拟合,这样只需存储控制点信息就能有效地还原数据。Lin等[24]的算法集成了多种优秀的运动分析及编码算法,因此,取得了很高的压缩比和时间效率;但由于该算法依赖匹配网[59]进行运动片段的分析提取,其较高的时间复杂度使算法难以扩展到大型运动数据库中。
2.4.2 基于聚类及降维的方法
Gu等[14]观察到人体某个部分运动重复的概率要大于整个人体运动重复的概率。为了充分利用这种重复性,他们提出将人体骨骼结构分成一个层次结构,如图1.7所示。对层次结构的每个部分,用自适应的k-means进行聚类。将k-means的中心点作为运动的模式,这样,可确定层次中各节点运动的模式库。对输入的某一个运动,就可以将其转变为模式库索引编号的序列,这样能显著地压缩数据。该方法对重复运动较多的数据特别有效,它设计的提取和创建运动模式库的方法不仅可用于运动压缩,也可用于运动检索,但算法过于依赖数据聚类,使预处理过程的时间复杂度较高。
Hou等[40]首先对人体运动片段求出一个最优的片段长度,然后将人体运动切分成同一长度的片段集;为了利用运动片段之间的关联性,采用低秩逼近的方法将这些片段投射到一对正交的矩阵上,从而抛弃大部分冗余的元素,以达到数据压缩的目的。
如前所述,人体运动压缩中常混合采用多种冗余消除技术。而基于消除片段域冗余类方法更是在多种技术运用的基础上加入了片段分析技术。表2.1给出了重要方法所采用的冗余消除技术及误差控制方式,其中,“—”表示未采用相关技术。
表2.1 重要方法所采用的冗余消除技术及误差控制方式