一种虚拟人驱动方法、装置、设备及可读存储介质

文档序号:35066471发布日期:2023-08-09 06:19阅读:125来源:国知局
一种虚拟人驱动方法、装置、设备及可读存储介质与流程

本技术涉及计算机图形学领域,更具体地说,涉及一种虚拟人驱动方法、装置、设备及可读存储介质。


背景技术:

1、在实时人体动作的捕捉与迁移是计算机视觉与计算机图形学领域中一个重要且基础的问题,它在虚拟现实及混合现实等领域有着非常广泛的应用。例如,在混合现实中,通过引入虚拟角色模型,再利用实时获得的人体运动进行驱动,也即虚拟人驱动,可以获得更丰富的交互体验。正是由于人的运动在日常生活中无处不在,人体运动的捕捉具有极高的科研和应用价值。

2、现有的虚拟人驱动方法主要是先通过动作捕捉装置录制动作,再使用fbx动作文件来驱动虚拟人。然而该方法的使用成本较高,极大地限制了虚拟人的可交互性。


技术实现思路

1、本技术实施例提供了一种虚拟人驱动方法、装置、设备及可读存储介质,相比于现有技术中先通过动作捕捉装置录制动作,再使用fbx动作文件来驱动虚拟人的方法,大大降低了使用成本,提高了虚拟人的可交互性。

2、有鉴于此,本技术实施例提供了一种虚拟人驱动方法,所述方法包括:

3、获取视频帧数据,所述视频帧数据包括至少一个人物;

4、根据所述视频帧数据和姿态估计模型确定所述人物的关节点的三维空间坐标和所述人物的关节点的旋转角度;

5、根据所述三维空间坐标和所述旋转角度构建驱动文件;

6、基于所述驱动文件对虚拟人进行驱动。

7、可选的,所述姿态估计模型包括romp模型和mediapipe模型;根据所述视频帧数据和姿态估计模型确定所述人物的关节点的三维空间坐标和所述人物的关节点的旋转角度,包括:

8、将所述视频帧数据输入所述romp模型中,得到所述人物的躯干关节点的旋转角度和所述根关节点的局部旋转角度,所述躯干关节点为所述人物的关节点中除所述根关节点以外的关节点;

9、将所述视频帧数据输入所述mediapipe模型中,得到所述人物的关节点的初始三维空间坐标;

10、对所述初始三维空间坐标进行重定位,得到所述人物的关节点的目标三维空间坐标;

11、基于所述目标三维空间坐标构建以所述根关节点为原点的目标坐标系;

12、根据所述根关节点的局部旋转角度和所述目标坐标系构建所述根关节点的旋转矩阵;

13、将所述旋转矩阵转化为所述根关节点的欧拉角,得到所述根关节点的全局旋转角度,并将所述根关节点的全局旋转角度作为所述根关节点的旋转角度;

14、根据所述全局旋转角度和所述人物的关节点的原始三维空间坐标计算得到所述人物的关节点的三维空间坐标,所述原始三维空间坐标为所述人物处于绑定姿势时的三维空间坐标。

15、可选的,根据所述三维空间坐标和所述旋转角度构建驱动文件,包括:

16、创建初始驱动文件,所述初始驱动文件包括人物的关节点的原始三维空间坐标和原始旋转角度,所述原始三维空间坐标为所述人物处于绑定姿势时的三维空间坐标,所述原始旋转角度为零;

17、将所述原始三维空间坐标替换为所述人物的关节点的三维空间坐标;

18、对所述人物的关节点的旋转角度进行镜像处理,得到所述人物的关节点的镜像旋转角度;

19、将所述原始旋转角度替换为所述镜像旋转角度;

20、设定缩放值,得到所述驱动文件。

21、可选的,在所述根据所述三维空间坐标和所述旋转角度构建驱动文件之前,所述方法还包括:

22、分别对所述三维空间坐标和所述旋转角度进行滤波处理,得到过滤后的所述人物的关节点的三维空间坐标和过滤后的所述人物的关节点的旋转角度;

23、则,所述根据所述三维空间坐标和所述旋转角度构建驱动文件,具体为:

24、根据过滤后的所述人物的关节点的三维空间坐标和过滤后的所述人物的关节点的旋转角度构建驱动文件。

25、可选的,所述分别对所述三维空间坐标和所述旋转角度进行滤波处理,得到过滤后的所述人物的关节点的三维空间坐标和过滤后的所述人物的关节点的旋转角度,包括:

26、通过一欧元滤波器分别对所述三维空间坐标和所述旋转角度进行初次滤波处理,得到初次过滤后的三维空间坐标和初次过滤后的旋转角度;

27、通过加权均值滤波器分别对所述初次过滤后的三维空间坐标和所述初次过滤后的旋转角度进行再次过滤,得到过滤后的所述人物的关节点的三维空间坐标和过滤后的所述人物的关节点的旋转角度。

28、本技术实施例还提供了一种虚拟人驱动装置,所述装置包括:

29、获取单元,用于获取视频帧数据,所述视频帧数据包括至少一个人物;

30、确定单元,用于根据所述视频帧数据和姿态估计模型确定所述人物的关节点的三维空间坐标和所述人物的关节点的旋转角度;

31、构建单元,用于根据所述三维空间坐标和所述旋转角度构建驱动文件;

32、驱动单元,用于基于所述驱动文件对虚拟人进行驱动。

33、可选的,所述姿态估计模型包括romp模型和mediapipe模型;所述确定单元具体用于:

34、将所述视频帧数据输入所述romp模型中,得到所述人物的躯干关节点的旋转角度和所述根关节点的局部旋转角度,所述躯干关节点为所述人物的关节点中除所述根关节点以外的关节点;

35、将所述视频帧数据输入所述mediapipe模型中,得到所述人物的关节点的初始三维空间坐标;

36、对所述初始三维空间坐标进行重定位,得到所述人物的关节点的目标三维空间坐标;

37、基于所述目标三维空间坐标构建以所述根关节点为原点的目标坐标系;

38、根据所述根关节点的局部旋转角度和所述目标坐标系构建所述根关节点的旋转矩阵;

39、将所述旋转矩阵转化为所述根关节点的欧拉角,得到所述根关节点的全局旋转角度,并将所述根关节点的全局旋转角度作为所述根关节点的旋转角度;

40、根据所述全局旋转角度和所述人物的关节点的原始三维空间坐标计算得到所述人物的关节点的三维空间坐标,所述原始三维空间坐标为所述人物处于绑定姿势时的三维空间坐标。

41、可选地,所述构建单元具体用于:

42、创建初始驱动文件,所述初始驱动文件包括人物的关节点的原始三维空间坐标和原始旋转角度,所述原始三维空间坐标为所述人物处于绑定姿势时的三维空间坐标,所述原始旋转角度为零;

43、将所述原始三维空间坐标替换为所述人物的关节点的三维空间坐标;

44、对所述人物的关节点的旋转角度进行镜像处理,得到所述人物的关节点的镜像旋转角度;

45、将所述原始旋转角度替换为所述镜像旋转角度;

46、设定缩放值,得到所述驱动文件。

47、本技术实施例还提供了一种计算机设备,包括:存储器、处理器以及总线系统;

48、其中,所述存储器用于存储程序;

49、所述处理器用于执行所述存储器中的程序,以实现上述所述的任意一种虚拟人驱动方法;

50、所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。

51、本技术实施例还提供了一种计算机可读存储介质,存储有指令,当其在计算机上运行时,使得计算机执行如上述所述的任意一种虚拟人驱动方法。

52、本技术实施例提供了一种虚拟人驱动方法,包括:获取视频帧数据,所述视频帧数据包括至少一个人物;根据所述视频帧数据和姿态估计模型确定所述人物的关节点的三维空间坐标和所述人物的关节点的旋转角度;根据所述三维空间坐标和所述旋转角度构建驱动文件;基于所述驱动文件对虚拟人进行驱动。可见,本技术能够直接通过视频帧数据构建驱动虚拟人的驱动文件,实现仅通过视频就可驱动虚拟人,相比于现有技术中先通过动作捕捉装置录制动作,再使用fbx动作文件来驱动虚拟人的方法,大大降低了使用成本,提高了虚拟人的可交互性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1