CN106600668A - 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 - Google Patents
一种与虚拟角色进行互动的动画生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN106600668A CN106600668A CN201611144592.XA CN201611144592A CN106600668A CN 106600668 A CN106600668 A CN 106600668A CN 201611144592 A CN201611144592 A CN 201611144592A CN 106600668 A CN106600668 A CN 106600668A
- Authority
- CN
- China
- Prior art keywords
- virtual role
- weapon
- depth
- virtual
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000003993 interaction Effects 0.000 title claims abstract description 27
- 230000009471 action Effects 0.000 claims abstract description 52
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000013507 mapping Methods 0.000 claims abstract description 7
- 230000000875 corresponding effect Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 15
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 210000000988 bone and bone Anatomy 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 210000003414 extremity Anatomy 0.000 claims description 6
- 230000007613 environmental effect Effects 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 210000004247 hand Anatomy 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 6
- 210000001503 joint Anatomy 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 210000002310 elbow joint Anatomy 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 210000000323 shoulder joint Anatomy 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005119 centrifugation Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种与虚拟角色进行互动的动画生成方法、装置及电子设备。所述方法包括:建立深度Q‑值网模型,并对所述深度Q‑值网络模型进行训练;将真实空间中的真实角色及其手持武器映射到虚拟空间;其中,虚拟空间包括真实角色及其手持武器对应的几何实体以及与所述真实角色进行互动的虚拟角色对应的几何实体;将当前帧中真实角色及其手持武器的当前状态、虚拟角色的当前状态作为所述深度Q‑值网络模型的输入,由所述深度Q‑值网络模型根据所述当前状态确定虚拟角色下一帧的抵挡动作,进而生成当前帧动画。该方法能够实时自动地生成虚拟角色的角色动画,该动画能够基于真人运动捕捉数据,做出实时的反馈,抵挡来自真人的攻击动作。
Description
技术领域
本发明涉及虚拟现实、人工智能等领域,具体而言,是一种与虚拟角色进行互动的动画生成方法、装置及电子设备。
背景技术
随着虚拟现实技术的不断发展,虚拟角色动画常常应用在动画、影视、游戏等许多重要的领域。用户能够通过各种各样的虚拟现实硬件设备在虚拟世界中游玩。这就不得不产生一个问题,那就是真人在虚拟环境中如何与虚拟世界进行交互,尤其是如何与虚拟角色进行互动。
在人工智能技术高速发展的今天,让人类拥有类人的智能并与真人进行人机交互是重要的研究课题,在语音翻译、图像识别都领域,都有很好的应用。同样,在虚拟现实领域,让虚拟角色在与真人互动的过程中实时生成角色动画,也有很重要的意义。
通常角色动画的生成有以下几种方法。第一种是运动重定位,即从已有的其他角色的动画或运动捕捉数据中,直接映射给新的虚拟角色,这种方法不能在交互的过程中基于不同的空间环境有所变化。第二种是动画合成,在动画集中有许多基础动画,通过插值变换,合成为新的动画,这种方法依赖于大量的动画集,动画集需要前期美工大量的动画建模。第三种是反向动力学解算,将虚拟角色的骨架结构作为链状动力学***,已知端点的目标空间坐标,反向求解每一个关节点的空间位移旋转,这种方法在动态规划每一帧的动作的时候,无法很好的适应外界环境的动态变化。
发明内容
(一)要解决的技术问题
本发明提供了一种与虚拟角色进行互动的动画生成方法、装置及电子设备。该技术方案使用了一种全新的互动型动画实时生成方法,能够实时自动地生成虚拟角色的角色动画。该动画能够基于真人运动做出实时的反馈,抵挡来自真人的攻击,能够最大程度的模拟真实人类的应激反应,并且模拟类人的动作。虚拟角色能够从先前的互动中学习游戏策略。并且该方法不局限于任何预定义动画,而以在线的方式,与真人玩家实时互动。
(二)技术方案
为解决上述技术问题,本发明提供了一种真人与虚拟角色进行互动的动画生成方法、装置及电子设备。
根据本发明一方面,提供了一种与虚拟角色进行互动的动画生成方法,包括如下步骤:
建立深度Q-值网模型,并对所述深度Q-值网络模型进行训练;
将真实空间中的真实角色及其手持武器映射到虚拟空间;其中,虚拟空间包括真实角色及其手持武器对应的几何实体以及与所述真实角色进行互动的虚拟角色对应的几何实体;
将当前帧中真实角色及其手持武器的当前状态、虚拟角色的当前状态作为所述深度Q-值网络模型的输入,由所述深度Q-值网络模型根据所述当前状态确定虚拟角色下一帧的抵挡动作,进而生成当前帧动画。
其中,所述方法还包括:
在生成当前帧动画之前,对虚拟角色的肢体动作进行校准,以拟合成类人动作。
其中,所述将真实空间中的真实角色及其手持武器映射到虚拟空间,包括:
在虚拟环境中建立几何实体,所述几何实体包括真实环境中将真实角色对应的几何实体和虚拟环境中与所述真实角色进行互动的虚拟角色对应的几何实体;
利用图像采集装置获取真实环境中真实角色的当前图像;
根据所述当前图像获得所述真实角色各个关节的空间位置,将真实角色持武器的手关节作为武器手持端的空间位置;
根据所述当前图像获取所述真实角色所持武器的深度图,并根据所持武器的深度图得到武器的旋转向量;
根据所述武器手持端的空间位置以及武器的旋转向量将真实角色所持武器的空间姿态映射到虚拟环境中。
其中,所述深度Q-值网模型的Q-值函数如下表示:
Q(s,a)=Eπ(Rt|st,at,π)
Rt是未来回报的真实值,Eπ是在策略π下的期望,Eπ(Rt|st,at,π)表示在st,at,π条件下的Rt,如下表示:
其中,γt′-t为在未来t′-t时刻获得的环境反馈的奖励,0<γ<1,t为当前时刻,T为终止时刻,rt′表示在t′时刻的环境奖励。
其中,所述环境奖励包括三种情况:
当真实角色手持武器与虚拟角色的武器发生碰撞的时候,虚拟角色抵挡成功,则环境奖励为正向反馈;
当真实角色手持武器与虚拟角色发生碰撞,或者虚拟角色的武器与虚拟角色本身发生碰撞的时候,虚拟角色抵挡失败,则环境奖励为负向反馈;
在没有检测到碰撞的时候,环境奖励为0。
其中,所述对所述深度Q-值网络模型进行训练,包括:
以预设ε的概率在动作集中随机选择动作样本;
初始化深度Q-值网络模型的参数;
在第i次迭代中,目标Q值由当前帧的环境奖励rt和下一帧状态的Q值乘以折损率共同决定的;
利用目标Q值,使用最小二乘法计算目标误差函数值;
使用随机梯度下降法更新所述深度Q-值网络模型的参数,并进行i+1次迭代,直至达到迭代结束条件。
其中,所述当前状态包括真实角色手持武器的姿态以及虚拟角色的关节的旋转值,所述真实角色手持武器的姿态包括真实角色手持武器的空间位移坐标和旋转值。
其中,所述在生成当前帧动画之前,对虚拟角色的肢体动作进行校准,以拟合成类人动作,包括:
建立抵挡型关节的动力学模型;
利用所述动力学模型修正Q-值网络模型输出的虚拟角色的抵挡动作的旋转角速度,具体如下表示:
τint为动力学模型中关节内部力矩,为目标抵挡型关节的角度,q为当前抵挡型关节的角度,kp、kd分别为角度增益和角速度增益;关节旋转角加速度通过下式计算得到:
其中,M(q)是骨骼质量矩阵,τext为动力学模型中关节外部力矩,是离心力;通过下式计算得到当前帧t的角速度q(t),以修正Q-值网络模型输出的虚拟角色的抵挡动作的旋转角速度:
其中q(t-1)、分别表示上一帧的角度、角速度、角加速度;
利用上述求出的抵挡型关节的抵挡动作预测虚拟角色其他关节的相应动作。
根据本发明第二方面,提供了一种与虚拟角色进行互动的动画生成装置,包括:
模型建立及训练模块,用于建立深度Q-值网模型,并对所述深度Q-值网络模型进行训练;
映射模块,用于将真实空间中的真实角色及其手持武器映射到虚拟空间;其中,虚拟空间包括真实角色及其手持武器对应的几何实体以及与所述真实角色进行互动的虚拟角色对应的几何实体;
动画生成模块,用于将当前帧中真实角色及其手持武器的当前状态、虚拟角色的当前状态作为所述深度Q-值网络模型的输入,由所述深度Q-值网络模型根据所述当前状态确定虚拟角色下一帧的抵挡动作,进而生成当前帧动画。
根据本发明第三方面,提供了一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于执行存储器中存储的可执行指令,以执行如下操作:
建立深度Q-值网模型,并对所述深度Q-值网络模型进行训练;
将真实空间中的真实角色及其手持武器映射到虚拟空间;其中,虚拟空间包括真实角色及其手持武器对应的几何实体以及与所述真实角色进行互动的虚拟角色对应的几何实体;
将当前帧中真实角色及其手持武器的当前状态、虚拟角色的当前状态作为所述深度Q-值网络模型的输入,由所述深度Q-值网络模型根据所述当前状态确定虚拟角色下一帧的抵挡动作,进而生成当前帧动画。
基于动画的逐帧生成是通过智能体与环境不断的交互过程中得到的。当智能体得到环境给出的当前状态,智能体基于当前状态,做决策需要选择动作。在动作与环境发生了交互之后,环境反馈给智能体下一帧的状态。本发明能够实时自动地生成虚拟角色的角色动画,该动画能够基于真人运动捕捉数据,做出实时的反馈,抵挡来自真人的攻击动作,而且产生的虚拟角色动画能够最大程度的模拟真实人类的应激反应,以类人的动作与真人玩家实时互动。
附图说明
图1是本发明中与虚拟角色进行互动的动画生成方法的流程图。
图2是本发明中基于深度Q-值函数的神经网络模型结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
如图1所示,是一种与虚拟角色进行互动的动画生成方法的流程图,该方法分为映射步骤、决策步骤和校准步骤三个阶段,其中,决策步骤中模型的建立和训练可以在动画生成之前预先建立和训练好,即可以在映射步骤之前执行,该方法具体包括如下步骤:
步骤S1、实体映射,该步骤中将真实空间的物体以几何实体的形式映射到虚拟环境中,并与虚拟环境中的物体发生碰撞交互。其中,步骤S1可以通过下述步骤实现:
步骤101、几何实体建立。在虚拟环境中建立预定的几何实体,并对建立的每一个几何实体使用物理代理进行蒙皮,用于之后作碰撞检测使用。所述预定的几何实体包括虚拟角色、虚拟角色的武器、真实玩家的武器。在一实施例中,所述虚拟环境基于渲染引擎建立。
步骤102、相机追踪,获得人体主要关节的空间位置,并将手关节的空间位置作为手持武器一端的空间位置。真人玩家站在图像采集设备如RGB-D、双目摄像机等前,挥动手中的武器,相机捕捉包括真人及其武器在内的物体的运动。在本实施例中,通过相机得到深度点云(即深度图中包含的信息。具体指图像中每个像素所对应的深度值),得到图像中每一个像素对应的空间物体距离摄像机的距离,即深度点云中每个像素的深度值。使用深度图来计算图像中的物体在每一帧的实时空间位置和旋转值。人体的主要关节的空间位置(即人体所在环境中人体关节的空间位置)可以由RGB-D相机,如kinect的开发工具集获得。例如,对于在线武器装备游戏中,记(xh,yh,zh)为手关节点的空间坐标,以手的关节点的位置代替手持武器一端的空间坐标。
步骤103、空间姿态提取。由于末端端点的运动模糊的问题,在本实施例中使用形态学的方式来求解武器另一端的空间位置。在深度图中,在本实施例中首先取阈值为d0,以人工的方法选定图像中能够区分前景背景的深度值作为阈值,去除图像背景,即从深度图中将像素值大于阈值d0的像素点的值置为0。那么剩下的只有第一目标深度图。第一目标深度图包括人体以及人体的附属物,如武器等。那么在第一目标深度图中,因为武器的部分对于真人来说较细,因而先对第一目标深度图做开运算,即先做腐蚀运算再做膨胀运算,得到仅包括人体的第二目标深度图。这样就能够把武器的部分从图像中删除,再用第一目标深度图和第二目标深度图做差,得到第三目标深度图,即深度图中武器深度图。该步骤中,在做开运算的过程中,武器部分中运动模糊的点都会被删除。在本实施例中,将第三目标深度图中所包含的像素值非零的点,作为空间点集(X,Y,Z),(X,Y)为第三目标深度图中的点坐标,Z为(X,Y)对应的像素值,即深度值。将空间点集使用最小二乘法拟合为一条直线,即可得到武器的旋转向量
步骤104、空间姿态映射。在本实施例中将步骤102和步骤103获取的真人手持武器的空间位移坐标(xh,yh,zh)和旋转值传递给虚拟环境中对应的真人武器的几何实体,于是该所述武器作为几何实体被映射到虚拟空间中。
步骤S2、状态到动作的决策。该步骤中主要是根据真人手持武器及虚拟角色的当前的状态来确定虚拟角色下一帧的抵挡动作。该步骤S2可以通过下述步骤实现:
步骤201、网络模型深度Q-值网络(DQN)的建立。通过DQN的网络模型,生成虚拟角色的抵挡动画。该动画生成任务可以被看作是有限马尔科夫决策过程。角色动画抵挡一次攻击可以记作一个决策序列。是用神经网络做每一帧动作的选择。
当前帧动画生成中所涉及的当前状态由步骤103所求得的当前真人武器的姿态以及虚拟角色相关关节的旋转值组成,记做si。所述当前真人武器的姿态包括真人武器的空间位移坐标和旋转值。当前帧的动作决策由当前状态求出,即at=π(st),其中π表示策略,是从当前状态到当前动作的映射。当前动作at的选择基于q-值函数q(s,a)。深度Q-值网络则是动作-值函数q(s,a)的逼近器。
虚拟角色作为智能体在动画生成的过程中不断地与环境发生交互。动画的逐帧生成即是通过智能体与环境交互中得到的。当智能体得到当前状态si后,智能体基于当前状态,做决策需要选择动作at,作为当前帧动画,并反馈给虚拟环境动作at。环境反馈给智能体下一帧的状态st+1,以及环境奖励rt。
在本实施例中的任务中,动作集包括各种抵挡关节的旋转。抵挡动作涉及的关节有两个:肩关节和肘关节。在所有的操作之前,都要进行合法性检测,即当前的生成动作是否在人体运动合理性的阈值之内。因为欧拉角存在万向节死锁的现象,关节可能会失去一个自由度,因此每个关节操作其中两个自由度。动作即每个关节绕一个旋转轴旋转在每一个决策过程中,它可以选择旋转或0°,每个关节的旋转角度有3种。将这些旋转动作结合起来,为避免万向节死锁,造成旋转动画不流畅,因而,每一个关节只选择其中的两个自由度,因而总共有2个关节,每个关节有2个轴向,所以总共有4个旋转轴。动画集总共会有34=81种动作。其中,并不是个定值,将会在校准步骤中设定。
对环境单帧的观察不足以了解整体的运动情形。因此在本实施例中观察一个序列作为当前状态st=x1,x2,...,xt。其中xt即为第t帧的环境当前帧状态,在本实施例中需要同时考虑攻击者当前状态和抵挡者当前状态。状态xt由虚拟角色右肩旋转值、虚拟角色右肘旋转值、玩家武器空间位移、玩家武器旋转值组成。为了对输入进行归一化,在本实施例中取最近的四帧作为当前状态st=xt-3,xt-2,xt-1,xt。所以在最初的3帧,虚拟角色不产生任何动作。因而状态是3×4×4=48的矩阵。
奖励rt有3种情况。当真人武器与虚拟角色的武器发生碰撞的时候,认为虚拟角色抵挡成功,会产生正向反馈;当真人武器与虚拟角色发生碰撞,或者虚拟角色的武器与虚拟角色本身发生碰撞的时候,认为虚拟角色抵挡失败,会产生负向反馈。其他没有检测到碰撞的时刻,都认为反馈为0。
未来回报用Rt来表示,是当前帧之后的所有帧的反馈值rt乘以折损率的加权和,也就是说,n帧后获得的反馈,是当前帧获得反馈折损γn,其中0<γ<1,t为当前时刻,T为终止时刻,在本实施例中表示检测到碰撞的时刻,γt′-t为在未来每个时刻获得的反馈,在当前时刻的折损率。这也意味着,在本实施例中的方法趋向于选择能够尽快完成抵挡任务的路径。
Q(s,a)=Eπ(Rt|st,at,π)
Rt是未来回报的真实值,在训练中需要拟合估计未来回报。Q-值函数是未来回报的期望,Eπ是在策略π下的期望,Eπ(Rt|st,at,π)表示在st,at,π条件下的Rt的期望。设Q*(s,a)是最优的未来期望回报,但是由于未来的策略的不确定性,想要确定Q*是不现实的。因而,在本实施例中使用深度神经网络作为非线性方程逼近器来估计Q-值函数。Q(s,a;θ)近似为最优Q值。θ是深度Q值网络的参数。当在本实施例中求解出θ,在本实施例中就可以估计每一个状态-动作对的Q-值。
Q(s,a;θ)≈Q*(s,a)
如图2所示,网络模型的结构。以最近几帧的状态向量作为网络模型的输入,输入层为48个节点,通过加权运算,输出当前状态所对应的动作集中每一种动作的q值。网络模型输出的维度与动作集中动作的个数相同,输出层为81个节点。
步骤S3、是网络模型训练的部分。该步骤用于训练所建立的网络模型。该步骤S3可以通过下述步骤实现:
步骤202、贪心搜索。在训练的过程中,使用ε-贪婪探索的策略。即以ε的概率在动作集中随机选择动作,而不是选择q值最大的动作。这是在优化过程中,对更多路径可能性的探索,从而避免陷入局部最优值。
在上式中给出了当前时刻动作at的策略π,即以1-ε的概率p选择能使Q值最大化的策略,argmaxQ(st,a),以ε的概率随机的在动作集A中选择动作。
在本实施例中的方法中ε的取值不是常量,而是随着迭代次数的增加而逐步减小。在L次迭代之后,固定为一个常量。即迭代次数0→L,概率ε:1→σ。这意味着,在初始的训练过程中,智能体更多地去探索可能的路径,而随着迭代次数的增加,随着训练的收敛,探索新的路径的可能性减少。
在上式中计算概率ε的选择,ε的取值随着迭代次数i的增加而变化,L表示人为设定的某迭代次数,在L次迭代之后,ε稳定在一个很小的正数σ,不再发生改变,σ为人为设定的常数。
探索只应用与模型训练的过程中。在模型使用的过程中,策略只遵循at=argmaxQ(st,a)。
步骤203、q-值迭代。初始动作-值函数Q0(s,a;θ0),对θ0初始化θ0~U(-0.5,0.5)。通过对网络的训练来介绍输出Q值和目标Q值之间的差异。
在第i次迭代中,目标的Q值是由当前帧反馈rt和下一时刻状态的Q值乘以折损率共同决定的。
上式计算得到,Q函数的目标值y,使用最小二乘法计算目标误差函数。
使用随机梯度下降法来更新参数θi,从而减小误差函数。为误差函数对θi求导得
参数θi用学习速率α乘以误差函数的导数来更新。当误差函数δ(θi)小于一定的阈值,即Qi≈Qi-1,那么则认为Q-网络模型收敛到最优动作-值函数Q*。
为了解决状态-动作对的空间太大的问题,可以选择使用经验回放的方法。在训练的过程中,将每一帧的{st,at,rt,st+1}作为一个元组存入到回放内存中,在每一帧的训练中,从回放内存中抽取一定批量的元组来更新网络参数。这种做法可以平滑训练数据分布情况。
步骤204、网络模型的使用。基于当前状态的实时动作决策,当前帧动画生成,是把动画生成作为一种决策步骤。即当每一帧的当前状态作为输入,该虚拟角色作为智能体,在与环境的交互过程中,基于该状态做出的决策,在动画集中选择一种动画作为当前帧实时响应动画。当前帧动画生成的决策是基于互动在未来能够得到更多的正向反馈。这种方法是一种连续决策的生成动画,直到达到交互的终止时刻,即检测到实体碰撞。
步骤S4、肢体校正是校准步骤。
步骤301、骨骼动力拟合。抵挡型关节的动力学模拟,虚拟角色完成攻击抵挡所涉及的关节只有右肩关节与右肘关节,因而本发明中把这两个关节称为抵挡型关节,也为任务相关型关节。虚拟角色的骨架结构属于链状刚体动力学***,由于产生的动画为均匀角速度,因而用动力学模型,修正步骤201中所提到的角速度以符合人体动力学模型。
链状关节的动力学模型的关节力矩为τint,τint内部力矩,由目标关节旋转角度和角速度求出。其中为目标关节角度,q为当前关节角度。kp、kd分别为角度增益和角速度增益。肢体的内部力矩和外部力矩符合力平衡。外部力矩τext包含重力等。
其中M(q)是骨骼质量矩阵,是离心力,由此可以计算出关节旋转角加速度
其中q(t)是当前帧t的角速度,可以由上一帧计算得到,q(t-1)、 分别表示上一帧的角度、角速度、角加速度。求得的q(t)用来替换动作集中的值。
步骤302、关节间预测。在以上的步骤中,求出了抵挡型关节右肩关节和右肘关节的运动动画,本实施例中使用关节间预测的方法求出虚拟角色其他的所有关节的动画。其他的关节为人物无关,主要是用来生成微小的摆动,来保持身体平衡,并使得全身动画更具有真实性。
在真实的人类运动中,关节之间使互相关联的。可以通过对运动捕捉数据的分析,推导出关节间的运动规律。比如说,当右臂运动的时候,脊椎会相应的旋转。同时基于身体平衡,左臂会向相反方向摆动。
在运动的过程中,为了保持身体的平衡,人体质心的投影应位于脚与地面的接触范围之内。用每根骨骼的中心点作为骨骼位置,骨骼质量可设与骨骼长度成正比,从而求出人体质心。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种与虚拟角色进行互动的动画生成方法,其特征在于,包括如下步骤:
建立深度Q-值网模型,并对所述深度Q-值网络模型进行训练;
将真实空间中的真实角色及其手持武器映射到虚拟空间;其中,虚拟空间包括真实角色及其手持武器对应的几何实体以及与所述真实角色进行互动的虚拟角色对应的几何实体;
将当前帧中真实角色及其手持武器的当前状态、虚拟角色的当前状态作为所述深度Q-值网络模型的输入,由所述深度Q-值网络模型根据所述当前状态确定虚拟角色下一帧的抵挡动作,进而生成当前帧动画。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在生成当前帧动画之前,对虚拟角色的肢体动作进行校准,以拟合成类人动作。
3.如权利要求1或2所述的方法,其特征在于,所述将真实空间中的真实角色及其手持武器映射到虚拟空间,包括:
在虚拟环境中建立几何实体,所述几何实体包括真实环境中将真实角色对应的几何实体和虚拟环境中与所述真实角色进行互动的虚拟角色对应的几何实体;
利用图像采集装置获取真实环境中真实角色的当前图像;
根据所述当前图像获得所述真实角色各个关节的空间位置,将真实角色持武器的手关节作为武器手持端的空间位置;
根据所述当前图像获取所述真实角色所持武器的深度图,并根据所持武器的深度图得到武器的旋转向量;
根据所述武器手持端的空间位置以及武器的旋转向量将真实角色所持武器的空间姿态映射到虚拟环境中。
4.如权利要求1或2所述的方法,其特征在于,所述深度Q-值网模型的Q-值函数如下表示:
Q(s,a)=Eπ(Rt|st,at,π)
Rt是未来回报的真实值,Eπ是在策略π下的期望,Eπ(Rt|st,at,π)表示在st,at,π条件下的Rt,如下表示:
其中,γt′-t为在未来t′-t时刻获得的环境奖励,0<γ<1,t为当前时刻,T为终止时刻,rt′表示在t′时刻的环境奖励。
5.如权利要求4所述的方法,其特征在于,所述环境反馈包括三种情况:
当真实角色手持武器与虚拟角色的武器发生碰撞的时候,虚拟角色抵挡成功,则环境奖励为正向反馈;
当真实角色手持武器与虚拟角色发生碰撞,或者虚拟角色的武器与虚拟角色本身发生碰撞的时候,虚拟角色抵挡失败,则环境奖励为负向反馈;
在没有检测到碰撞的时候,环境奖励为0。
6.如权利要求1或2所述的方法,其特征在于,所述对所述深度Q-值网络模型进行训练,包括:
以预设ε的概率在动作集中随机选择动作样本;
初始化深度Q-值网络模型的参数;
在第i次迭代中,目标Q值由当前帧的环境奖励反馈rt和下一帧状态的Q值乘以折损率共同决定的;
利用目标Q值,使用最小二乘法计算目标误差函数值;
使用随机梯度下降法更新所述深度Q-值网络模型的参数,并进行i+1次迭代,直至达到迭代结束条件。
7.如权利要求1所述的方法,其特征在于,所述当前状态包括真实角色手持武器的姿态以及虚拟角色的关节的旋转值,所述真实角色手持武器的姿态包括真实角色手持武器的空间位移坐标和旋转值。
8.如权利要求2所述的方法,其特征在于,所述在生成当前帧动画之前,对虚拟角色的肢体动作进行校准,以拟合成类人动作,包括:
建立抵挡型关节的动力学模型;
利用所述动力学模型修正Q-值网络模型输出的虚拟角色的抵挡动作的旋转角速度,具体如下表示:
τint为动力学模型中关节内部力矩,为目标抵挡型关节的角度,q为当前抵挡型关节的角度,kp、kd分别为角度增益和角速度增益;关节旋转角加速度通过下式计算得到:
其中,M(q)是骨骼质量矩阵,τext为动力学模型中关节外部力矩,是离心力;通过下式计算得到当前帧t的角速度q(t),以修正Q-值网络模型输出的虚拟角色的抵挡动作的旋转角速度:
其中q(t-1)、分别表示上一帧的角度、角速度、角加速度;
利用上述求出的抵挡型关节的抵挡动作预测虚拟角色其他关节的相应动作。
9.一种与虚拟角色进行互动的动画生成装置,其特征在于,包括:
模型建立及训练模块,用于建立深度Q-值网模型,并对所述深度Q-值网络模型进行训练;
映射模块,用于将真实空间中的真实角色及其手持武器映射到虚拟空间;其中,虚拟空间包括真实角色及其手持武器对应的几何实体以及与所述真实角色进行互动的虚拟角色对应的几何实体;
动画生成模块,用于将当前帧中真实角色及其手持武器的当前状态、虚拟角色的当前状态作为所述深度Q-值网络模型的输入,由所述深度Q-值网络模型根据所述当前状态确定虚拟角色下一帧的抵挡动作,进而生成当前帧动画。
10.一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于执行存储器中存储的可执行指令,以执行如下操作:
建立深度Q-值网模型,并对所述深度Q-值网络模型进行训练;
将真实空间中的真实角色及其手持武器映射到虚拟空间;其中,虚拟空间包括真实角色及其手持武器对应的几何实体以及与所述真实角色进行互动的虚拟角色对应的几何实体;
将当前帧中真实角色及其手持武器的当前状态、虚拟角色的当前状态作为所述深度Q-值网络模型的输入,由所述深度Q-值网络模型根据所述当前状态确定虚拟角色下一帧的抵挡动作,进而生成当前帧动画。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611144592.XA CN106600668A (zh) | 2016-12-12 | 2016-12-12 | 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611144592.XA CN106600668A (zh) | 2016-12-12 | 2016-12-12 | 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106600668A true CN106600668A (zh) | 2017-04-26 |
Family
ID=58802235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611144592.XA Pending CN106600668A (zh) | 2016-12-12 | 2016-12-12 | 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106600668A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537178A (zh) * | 2018-04-12 | 2018-09-14 | 佘堃 | 一种智能识别及互动的方法及*** |
CN108564641A (zh) * | 2018-03-16 | 2018-09-21 | 中国科学院自动化研究所 | 基于ue引擎的表情捕捉方法及装置 |
CN108919954A (zh) * | 2018-06-29 | 2018-11-30 | 蓝色智库(北京)科技发展有限公司 | 一种动态变化场景虚实物体碰撞交互方法 |
CN109597309A (zh) * | 2019-01-18 | 2019-04-09 | 北京瀚科瑞杰科技发展有限公司 | 一种虚实结合的靶机机动同步方法及*** |
CN109670600A (zh) * | 2018-12-14 | 2019-04-23 | 启元世界(北京)信息技术服务有限公司 | 基于云平台的决策方法和*** |
CN110018889A (zh) * | 2018-01-10 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 动画队列的排队方法、存储介质、设备及*** |
CN110930483A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN111223170A (zh) * | 2020-01-07 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 动画生成方法、装置、电子设备和存储介质 |
CN111260762A (zh) * | 2020-01-19 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
CN111292401A (zh) * | 2020-01-15 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机存储介质及电子设备 |
CN111340211A (zh) * | 2020-02-19 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种动作控制模型的训练方法、相关装置及存储介质 |
CN111494954A (zh) * | 2020-04-22 | 2020-08-07 | 网易(杭州)网络有限公司 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
CN111784805A (zh) * | 2020-07-03 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色交互反馈方法和装置 |
CN111986243A (zh) * | 2019-05-24 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 路肩提取方法及装置、电子设备和计算机可读介质 |
WO2023130809A1 (zh) * | 2022-01-04 | 2023-07-13 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、终端、存储介质及程序产品 |
CN116663417A (zh) * | 2023-06-01 | 2023-08-29 | 中国标准化研究院 | 一种虚拟地理环境角色建模方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885348A (zh) * | 2005-06-21 | 2006-12-27 | 中国科学院计算技术研究所 | 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法 |
CN101261660A (zh) * | 2008-04-23 | 2008-09-10 | 广州国信达计算机网络通讯有限公司 | 一种在网络游戏中用真人影像实现游戏角色动作的方法 |
CN104253864A (zh) * | 2014-09-17 | 2014-12-31 | 深圳市多彩人生技术有限公司 | 一种数据分层存储方法及*** |
-
2016
- 2016-12-12 CN CN201611144592.XA patent/CN106600668A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885348A (zh) * | 2005-06-21 | 2006-12-27 | 中国科学院计算技术研究所 | 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法 |
CN101261660A (zh) * | 2008-04-23 | 2008-09-10 | 广州国信达计算机网络通讯有限公司 | 一种在网络游戏中用真人影像实现游戏角色动作的方法 |
CN104253864A (zh) * | 2014-09-17 | 2014-12-31 | 深圳市多彩人生技术有限公司 | 一种数据分层存储方法及*** |
Non-Patent Citations (1)
Title |
---|
WANG YUMENG,ET AL: "a Virtual Character Learns to Defend Himself in Sword Fighting Based on Q-Network", 《2016 IEEE 28TH INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE(ICTAI)》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018889B (zh) * | 2018-01-10 | 2021-06-15 | 武汉斗鱼网络科技有限公司 | 动画队列的排队方法、存储介质、设备及*** |
CN110018889A (zh) * | 2018-01-10 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 动画队列的排队方法、存储介质、设备及*** |
CN108564641A (zh) * | 2018-03-16 | 2018-09-21 | 中国科学院自动化研究所 | 基于ue引擎的表情捕捉方法及装置 |
CN108564641B (zh) * | 2018-03-16 | 2020-09-25 | 中国科学院自动化研究所 | 基于ue引擎的表情捕捉方法及装置 |
CN108537178A (zh) * | 2018-04-12 | 2018-09-14 | 佘堃 | 一种智能识别及互动的方法及*** |
CN108919954A (zh) * | 2018-06-29 | 2018-11-30 | 蓝色智库(北京)科技发展有限公司 | 一种动态变化场景虚实物体碰撞交互方法 |
CN108919954B (zh) * | 2018-06-29 | 2021-03-23 | 蓝色智库(北京)科技发展有限公司 | 一种动态变化场景虚实物体碰撞交互方法 |
CN109670600A (zh) * | 2018-12-14 | 2019-04-23 | 启元世界(北京)信息技术服务有限公司 | 基于云平台的决策方法和*** |
CN109597309A (zh) * | 2019-01-18 | 2019-04-09 | 北京瀚科瑞杰科技发展有限公司 | 一种虚实结合的靶机机动同步方法及*** |
CN109597309B (zh) * | 2019-01-18 | 2024-02-27 | 北京瀚科科技集团有限公司 | 一种虚实结合的靶机机动同步方法及*** |
CN111986243A (zh) * | 2019-05-24 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 路肩提取方法及装置、电子设备和计算机可读介质 |
CN110930483A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN110930483B (zh) * | 2019-11-20 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN111223170A (zh) * | 2020-01-07 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 动画生成方法、装置、电子设备和存储介质 |
CN111223170B (zh) * | 2020-01-07 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 动画生成方法、装置、电子设备和存储介质 |
CN111292401A (zh) * | 2020-01-15 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机存储介质及电子设备 |
CN111292401B (zh) * | 2020-01-15 | 2022-05-03 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机存储介质及电子设备 |
US11790587B2 (en) | 2020-01-15 | 2023-10-17 | Tencent Technology (Shenzhen) Company Limited | Animation processing method and apparatus, computer storage medium, and electronic device |
WO2021143261A1 (zh) * | 2020-01-19 | 2021-07-22 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
CN111260762B (zh) * | 2020-01-19 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
US11928765B2 (en) | 2020-01-19 | 2024-03-12 | Tencent Technology (Shenzhen) Company Limited | Animation implementation method and apparatus, electronic device, and storage medium |
CN111260762A (zh) * | 2020-01-19 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
CN111340211A (zh) * | 2020-02-19 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种动作控制模型的训练方法、相关装置及存储介质 |
CN111494954A (zh) * | 2020-04-22 | 2020-08-07 | 网易(杭州)网络有限公司 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
CN111494954B (zh) * | 2020-04-22 | 2023-09-15 | 网易(杭州)网络有限公司 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
CN111784805B (zh) * | 2020-07-03 | 2024-02-09 | 珠海金山数字网络科技有限公司 | 一种虚拟角色交互反馈方法和装置 |
CN111784805A (zh) * | 2020-07-03 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色交互反馈方法和装置 |
WO2023130809A1 (zh) * | 2022-01-04 | 2023-07-13 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、终端、存储介质及程序产品 |
CN116663417B (zh) * | 2023-06-01 | 2023-11-17 | 中国标准化研究院 | 一种虚拟地理环境角色建模方法 |
CN116663417A (zh) * | 2023-06-01 | 2023-08-29 | 中国标准化研究院 | 一种虚拟地理环境角色建模方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106600668A (zh) | 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 | |
CN110930483B (zh) | 一种角色控制的方法、模型训练的方法以及相关装置 | |
CN111260762B (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
CN111292401B (zh) | 动画处理方法、装置、计算机存储介质及电子设备 | |
JP2022518970A (ja) | 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習 | |
US20130222433A1 (en) | Animation processing | |
CN108549233A (zh) | 一种带有直觉模糊信息的无人机空战机动博弈方法 | |
CN107610208B (zh) | 一种颗粒介质环境下动画角色的运动仿真方法 | |
US20210158162A1 (en) | Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space | |
Gritz et al. | Genetic programming evolution of controllers for 3-D character animation | |
US20220366246A1 (en) | Controlling agents using causally correct environment models | |
CN107004298A (zh) | 一种机器人三维模型的建立方法、装置及电子设备 | |
CN108983605A (zh) | 一种基于深度强化学习进行流体导向的刚体控制的方法 | |
CN113962390A (zh) | 基于深度强化学习网络构建多样化搜索策略的模型的方法 | |
CN114417738B (zh) | 稀疏imu实时人体动作捕捉及关节受力预测方法及*** | |
CN117215197A (zh) | 四旋翼飞行器在线轨迹规划方法、***、电子设备及介质 | |
Gao et al. | Optimal stroke learning with policy gradient approach for robotic table tennis | |
EP2156411A1 (en) | Digital representation and animation of physical objects | |
CN104318601B (zh) | 一种流体环境下人体运动仿真方法 | |
Kim et al. | Deep Q-network based rotary inverted pendulum system and its monitoring on the EdgeX platform | |
CN107391005A (zh) | 控制主机屏幕上光标移动的方法、游戏手柄 | |
CN115797517B (zh) | 虚拟模型的数据处理方法、装置、设备和介质 | |
Bai et al. | Wrighteagle and UT Austin villa: RoboCup 2011 simulation league champions | |
Saunders et al. | Parallel reinforcement learning simulation for visual quadrotor navigation | |
CN106910233B (zh) | 一种虚拟昆虫动画角色的运动仿真方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170426 |