论文部分内容阅读
虚拟人动作合成是利用计算机技术模拟人运动的过程,在多媒体领域有着广泛重要的应用,如影视特效、动漫、视频游戏以及虚拟现实等。目前,虚拟人动作合成主要有三类方法:交互式的关键帧动画、物理模拟和基于动作捕捉数据的动作合成方法。其中,基于动作捕捉数据的动作合成方法产生的动作最真实,其基本思想是将运动数据分割成短小的片段然后根据应用场景将这些片段进行重新组合以生成新的符合要求的动作。这类方法需要一个惩罚函数来刻画候选动作序列的质量,并通过最小化该惩罚函数获得满意的动作。基于动作捕捉数据的动作合成方法的解空间随着可用动作片段数量以及目标动作序列长度的增加而呈指数增长,因此,效率是这类方法的主要瓶颈。
本文研究基于动作捕捉数据的实时交互式虚拟人动作合成算法,主要贡献包括:
通过分析基于动作捕捉数据的动作合成方法,我们发现能够在有限步内找到这类问题的近似最优解甚至是最优解,由此我们提出一种基于遗传算法并行化的虚拟人动作实时交互式合成算法。遗传算法中的适应度函数衡量解的最优性,并行化通过通用图形处理器的多线程实现。我们还提出一种从动作数据中提取覆盖最大参数区域的相似动作段的算法。
实验表明基于遗传算法的虚拟人动作合成算法平均在10毫秒内完成没有障碍物环境中虚拟人的控制,在40毫秒内完成有大量障碍物的环境中虚拟人的控制。
提出动作索引表,这是一种新的用于记录虚拟人物到达离散、有限状态空间的最优策略的方法,可以作为动作数据组织形式成为其它动作合成算法的一部分。给出一个针对动作合成问题改进的动态规划算法以高效地离线构造动作索引表。
提出基于动作索引表的虚拟人动作实时交互式合成算法。该算法通过检索动作索引表得到从当前状态到达动作合成任务的目标状态的最优策略。在已经离线地完成动作索引表的构造的条件下,这种基于动作索引表的动作合成方法计算量很少,可以实现同时对动作虚拟人物甚至是虚拟人物人群的实时控制。
实验表明,基于动作索引表的动作合成算法效率很高,可以在40毫秒内完成同时控制100个虚拟人物在有大量障碍物环境中运动的任务。
虚拟人实时交互式动作合成很困难,对动作合成效果的真实性要求和对动作合成效率的实时性要求是该问题的两大难点。本文提出的两种算法都能够产生真实的虚拟人动作,并在效率上满足单个虚拟人的实时交互式动作合成需求,尤其是基于动作索引表的算法速度很快,可以满足同时对多个虚拟人甚至是虚拟人群的实时交互式动作合成需求。作为近似算法,对动作合成效果的进一步提高是我们下一步工作的重点。