第3章 人体运动数据检索技术
由于运动捕获的成本比较高,当前基于数据驱动的角色动画研究的主要问题是如何充分重用已经捕获的运动数据[1]。有3种技术能达到这个目标:(1)基于运动图的技术[2~5],通过将短小运动片段连接起来满足各种约束,从而能交互式地合成各种运动;(2)运动参数化技术,通过内插[6,7](interpolation)、外插[8~10](extrapolation)等插值方法对运动进行混合,这样可以由已有运动生成新的或风格化的运动等,也可以为某个运动构建参数空间,从而扩大角色运动的自由度和活动范围等;(3)运动规划技术,基于运动图和运动参数化技术,通过重用现有运动片段,使虚拟角色根据目标和环境约束自我规划路径和运动。现有的运动规划技术研究主要关注于一个或多个虚拟角色Locomotion类运动的智能规划[11~15]、对环境中物体的抓取及操作[16,17]、对障碍物的智能躲避[14]及对环境的作用给予智能反应[18~20]等。
在以上基于数据驱动的运动捕获数据重用的算法中,经常需要从运动库中实时地进行基于样例的检索。如在构建某一运动的参数化空间时,需要从运动库中找到和这个运动相似的运动。因此,运动检索算法是一个基础算法,对整个运动数据的重用处理方法具有重要意义。
运动捕获数据是高维时间序列数据,最直接的运动捕获数据检索算法是直接应用动态时间规整(DTW,dynamic time warping)算法等时间序列匹配的算法。DTW算法首先被应用于语音识别中,Bruderlin 等[21]和Berndt等[22]将其应用于对时间序列数据库的检索中,随后,越来越多的研究者将这种技术应用于时间序列的匹配和比较中[23~26]。但DTW算法存在两个问题,一是时间效率低,二是如果数据中有噪音,则可能会出现不正确的匹配。针对第一个问题,研究人员基于原始数据构造一层较粗糙层次,这样,匹配可以在这个粗糙层中进行[25~27]。针对第二个问题,则可采用最长公共子串方法[28, 29]或Uniform scaling方法[30]解决。关于DTW算法,可参考Pejsa等[1]的相关综述。
除了基于DTW的方法,近年来,也产生了很多充分利用运动捕获数据几何特征和数据特点的检索算法,但是这些算法的核心还是基于时间序列的比较。