论文部分内容阅读
人体运动模拟旨在对人体运动行为进行模拟实现,是虚拟现实领域中的重要研究方向。随着人体运动模拟技术的不断发展与成熟,被广泛运用于教育、影视、军事等众多领域。由于直接利用图像处理技术从视频中获取人体运动数据存在人体特征提取与跟踪困难,容易受到视频采集设备、环境等因素干扰,为了更好的进行运动模拟,目前人体运动模拟大多使用运动捕获的方法获取运动数据。然而由于人体具有局限性,很多动作无法达到预期的效果,此时需要对捕获的数据进行编辑。但是由于运动模拟数据庞大,对运动数据进行编辑工作量巨大,耗费时间多,工作效率低,而且容易造成运动不自然。为了摆脱人工拖拽编辑动作的方式,提高人体运动模拟的自然度,达到运动模拟预期效果,提升工作效率,本文提出了基于贝叶斯程序学习的运动模拟方法——HMBPL(Human motion simulation based on Bayesian program learning)方法。HMBPL方法分为三个部分:HMBPL运动学习、HMBPL运动合成以及HMBPL运动模拟。(1)HMBPL运动学习:解析运动捕获的BVH格式的运动样本数据的每一帧,将其分解为较为简单的部件,根据部件与根节点之间的关系进行组合,生成概念类,从中学习到运动的概念,然后对概念类添加运动变量生成新的动作数据。(2)HMBPL运动合成:由于运动学习仅是生成了动作数据,为了将动作数据帧连接起来,形成运动数据,需要进行运动合成。HMBPL运动合成根据预先知道的知识、算法生成的动作数据以及要生成的运动进行概率计算,选择最优的一帧动作数据,生成运动序列,获取新的运动数据。(3)HMBPL运动模拟:在获取新的BVH格式运动数据之后,在MATLAB环境中将运动数据映射到虚拟人上,驱动虚拟人完成运动模拟。HMBPL方法仅需很少的样本即可学习到样本数据的特征,实现了虚拟人的举一反三,学会一个动作,能自然而然的学会其他动作。通过实验证明HMBPL算法能够提升人体运动模拟效果,减少工作量,降低时间成本,提升工作效率。