虚拟人组合任务规划方法技术

技术编号:7844035 阅读:140 留言:0更新日期:2012-10-13 02:21
本发明专利技术提供一种虚拟人组合任务规划方法,包括:步骤1、基于运动捕获数据,构建虚拟人的行为图;步骤2、找到关键状态,并基于关键状态将组合任务分解为子任务;步骤3、学习每一个子任务的最优控制策略;和步骤4、基于虚拟人在环境中的初始状态,计算组合任务的最优动作序列。该方法能减少运动规划过程中所需的计算时间和存储空间;而且无需对控制器值函数的形状作任何假设,就能保证规划算法以概率一收敛至最优控制策略。

【技术实现步骤摘要】

本专利技术涉及虚拟人运动规划领域,尤其涉及一种。
技术介绍
近年来,虚拟人运动合成技术是角色动画和计算机游戏中的一个研究热点,在游戏娱乐、影视动漫、计算机辅助决策和虚拟装配等领域具有广泛应用。然而,如何对虚拟人的运动进行规划,使虚拟人具有一定的自治能力,仍然是一项具有挑战性的课题。 近年来,科学工作者探索多种方法规划虚拟人的运动,例如基于图的运动规划方法和基于增强学习的运动规划方法等。(I)在基于图的运动规划方法中,捕获的运动片段通过运动图的方式组织起来,其中结点代表运动片段,有向边则代表运动片段之间的过渡。通过在运动图上进行搜索,从而合成满足用户要求的虚拟人运动序列。基于图的运动规划方法能保留大量真实的人体运动细节,为创建逼真的角色动画提供了有效的手段,因此被广泛应用于计算机动画中。(2)基于增强学习(RL, Reinforcement Learning)的运动规划方法无需外界的监督指导信号,应用非常广泛。虚拟人通过试错搜索的方式直接与环境进行交互,根据环境反馈的增强信号训练最优控制策略,获得满足用户需求的最优动作序列,从而将运动的合成问题转化为控制策略的学习问题。然而,基于运动图的运动规划方法需要外界的监督指导信号,因此无法生成具有自治能力的虚拟人运动;而现有的基于增强学习的运动规划方法,要求样本运动具有相同的约束帧以防止运动融合过程中可能出现的脚步滑动问题。虚拟人的复杂运动或任务包含多种运动类型,因而包含多种约束帧,状态空间大大增加,规划过程存在维数爆炸问题。综上所述,利用现有的运动规划方法,或者无法生成具有自治能力的虚拟人运动,或者在规划复杂任务时,存在状态数目过多、计算时间过长(即维数爆炸)问题。
技术实现思路
本专利技术的目的是提供一种,减少运动规划过程中所需的计算时间和存储空间。根据本专利技术的一个方面,提供一种,包括步骤I、基于运动捕获数据,构建虚拟人的行为图;步骤2、找到关键状态,并基于关键状态将组合任务分解为子任务;步骤3、学习每一个子任务的最优控制策略;和步骤4、基于虚拟人在环境中的初始状态,计算组合任务的最优动作序列。可选的,所述运动捕获数据表示为C = Ic1, . . . , CmI其中,M为运动片段的总个数,每一个运动片段Ci (i = 1,...,M)由一组姿态组成,表示为Ci = (P1, , ρτ}其中,T是该运动片段的帧数,每个姿态表示为pt = {R, q0, . . . , qN} (t = I, . . . , T)其中,況3 ,表示虚拟人当前姿态根关节的位置;q(l表示虚拟人根关节的朝向,用单位四元数(w, X,y, z)表示;qn(n = I, . . . , N)表示除根关节外的其它关节相对于父关节的朝向,N表示人体模型的关节数目。可选的,步骤I还包括步骤I. I、将所述运动捕获数据分割为动作单元;步骤I. 2、将动作单元聚类,并将一类动作单元定义为行为;步骤I. 3、标定各种行为的约束关系;步骤I. 4、根据标定的约束关系,构建虚拟人的行为图。可选的,步骤2还包括步骤2. I、在状态空间中进行稀疏采样,随机抽取nst个二元组<〗,?> ;步骤2. 2、对于每个二元组<^ > ,将^作为起始状态,H乍为终止状态利用试错搜索方法训练Ntrain次,找到从纟到 的成功路径;计算每个状态s在这些路径中累计被访问的次数n (S);步骤2. 3、重复下面的步骤,直到获取指定数目的子任务找到关键状态Smax,满足smax = argsmaxn (s),作为子任务的终止状态; 计算每个状态s经由关键状态Smax被访问的次数n (s,SmJ ;计算《Omax) = avgsn(s, Smax );选择满足《O, Smax) > ^>max)的状态s加入该子任务的状态集合。可选的,步骤2. I还包括状态定义为s = (Bs, Xi, Yi, Zi, Θ )其中,Bs表示行为图中的结点;(Xi,yi; Zi)表示在欧式空间中虚拟人和其它物体的相对位置,i = I, . . . , η, η表示环境中物体的个数;Θ表示虚拟人根关节朝向的向量向x-z平面投影后与正X方向的夹角;动作定义为a = (Ba, xmid, Zmid)其中,83表示当前动作;(xmid,Zfflid)表示片段的中间着地点位移,是运动片段中间时刻相对于起始时刻的位移变化。可选的,步骤3还包括步骤3. I、定义学习模型的学习率、折扣因子;步骤3. 2、定义一步回报函数,并初始化累积回报函数;步骤3. 3、任意选取一个初始状态并根据已有的值函数为该初始状态选取一个最优动作,将状态更新为下一个状态,并修正期望累计回报函数;步骤3. 4、判断期望累积回报值是否收敛,如果不收敛,重复执行步骤3. 3。可选的,步骤3. 2包括 定义一步回报矩阵R :本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟人组合任务规划方法,包括 步骤I、基于运动捕获数据,构建虚拟人的行为图; 步骤2、找到关键状态,并基于关键状态将组合任务分解为子任务; 步骤3、学习每ー个子任务的最优控制策略;和 步骤4、基于虚拟人在环境中的初始状态,计算组合任务的最优动作序列。2.根据权利要求I所述虚拟人组合任务规划方法,其中,所述运动捕获数据表示为し {。1,· · ·,Cf^) 其中,M为运动片段的总个数,每ー个运动片段Ci (i = 1,...,Μ)由ー组姿态组成,表示为 Cj — IPj J · · ·,Pjl 其中,T是该运动片段的帧数,每个姿态表示为Pt 一 IR,Qo · · ·,(t — I,· · ·,τ) 其中,AeW3 ,表示虚拟人当前姿态根关节的位置%表示虚拟人根关节的朝向,用单位四元数(w, X,y, z)表示;qn(n = I, . . . , N)表示除根关节外的其它关节相对于父关节的朝向,N表示人体模型的关节数目。3.根据权利要求I所述虚拟人组合任务规划方法,其中,步骤I还包括 步骤1.1、将所述运动捕获数据分割为动作単元; 步骤I. 2、将动作単元聚类,并将一类动作単元定义为行为; 步骤I. 3、标定各种打为的约束关系;和 步骤I. 4、根据标定的约束关系,构建虚拟人的行为图。4.根据权利要求I所述虚拟人组合任务规划方法,其中,步骤2还包括 步骤2. I、在状态空间中进行稀疏采样,随机抽取nst个ニ元组<〗,?> ; 步骤2. 2、对于姆个ニ元组<& > ,将丨作为起始状态,乍为终止状态 利用试错搜索方法训练Ntrain次,找到从〗到 的成功路径; 计算每个状态s在这些路径中累计被访问的次数n (s);和步骤2. 3、重复下面的步骤,直到获取指定数目的子任务 找到关键状态Smax,满足smax = argsmax n (s),作为子任务的终止状态; 计算每个状态s经由关键状态Smax被访问的次数n (s,smax); 计算= avgsn(s,smJ ; 选择满足《(Wax) ...

【专利技术属性】
技术研发人员:李淳芃宗丹夏时洪王兆其
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1