CN115880403A - 针对动作捕捉数据的处理方法和系统 - Google Patents

针对动作捕捉数据的处理方法和系统 Download PDF

Info

Publication number
CN115880403A
CN115880403A CN202211452282.XA CN202211452282A CN115880403A CN 115880403 A CN115880403 A CN 115880403A CN 202211452282 A CN202211452282 A CN 202211452282A CN 115880403 A CN115880403 A CN 115880403A
Authority
CN
China
Prior art keywords
motion capture
information
key node
data
capture data
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
Application number
CN202211452282.XA
Other languages
English (en)
Inventor
盛亦来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202211452282.XA priority Critical patent/CN115880403A/zh
Publication of CN115880403A publication Critical patent/CN115880403A/zh
Priority to PCT/CN2023/106159 priority patent/WO2024103805A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种针对动作捕捉数据的处理方法,包括:基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息;基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息;根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息;将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。本申请实施例提供的技术方案可以提升动作捕捉数据兼容性,实现跨平台。

Description

针对动作捕捉数据的处理方法和系统
技术领域
本申请涉及计算机技术领域,尤其涉及一种针对动作捕捉数据的处理方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,直播等业务已成为当下一种热门的网络业务。为了进一步为提升直播的趣味性,以及兼顾内容生产者表现自我和保护自我这一矛盾需求的两面,视频平台提供了一个能快速生成自己的人格化身并融入到内容创作中的虚拟人物模型。以虚拟直播为例,主播可以为自身配置一个代替真实自己的虚拟人物模型。
在现有技术中,虚拟直播依赖于动作捕捉,根据直播过程中真人的动作,驱动虚拟人物模型呈现与真人相同或相近的动作,已逐渐成为虚拟直播所必备的基础能力。发明人了解到的是,在不同业务场景,不同平台中存在多套动作捕捉方案,每种动作捕捉方案识别后输出的动作捕捉数据差异性很大。面对多业务场景、跨平台的情况,需要针对每种动作捕捉方案分别适配算法,兼容性差,跨平台性差。
需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。
发明内容
本申请实施例的目的是提供一种针对动作捕捉数据的处理方法、系统、计算机设备及计算机可读存储介质,解决上述问题。
本申请实施例的一个方面提供了一种针对动作捕捉数据的处理方法,包括:
基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息;
基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息;
根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息;
将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。
可选的,所述基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息,包括:
根据各个特征点的位置信息,获取每个关键节点的偏移信息;
以树状结构的形式,保存各个关键节点的关键节点信息;
其中,所述关键节点信息包括相应关键节点的父节点信息、子节点信息和偏移信息。
可选的,所述方法还包括:
根据人体模型的层级标准,定义所述预设关键节点层级结构;
其中,所述预设关键节点层级结构设置为所述树状结构;在所述树状结构中:
设置根节点为预设中心点;
设置左髋骨节点和右髋骨节点,或者脊柱节点为所述根节点的子节点;
根据各个骨骼之间的位置设置各个关键节点之间的关系以及各个关键节点在所述树状结构中的位置。
可选的,所述方法还包括:
基于所述动作捕捉数据,获取所述预设中心节点的平移自由度信息;
所述平移自由度信息被写入到所述目标格式文件,并用于提供所述目标对象的移动信息。
可选的,所述将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中,包括:
以数据帧为单位,将所述各个关键节点的旋转自由度信息和所述多个关键节点信息封装为多个数据帧;其中,每个数据帧分别对应一个动作捕捉画面的动作捕捉数据;
根据预设帧数以及预设帧率,将所述多个数据帧写入到所述目标格式文件中。
可选的,所述方法还包括:
根据所述目标格式文件中的数据重定向至虚拟人物模型中,以驱动所述虚拟人物模型。
可选的,所述方法还包括:
根据所述各个关键节点的旋转自由度信息和所述多个关键节点信息实时驱动虚拟人物模型。
本申请实施例的一个方面又提供了一种针对动作捕捉数据的处理装置,包括:
第一获取模块,用于基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息;
生成模块,用于基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息;
第二获取模块,用于根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息;
写入模块,用于将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述针对动作捕捉数据的处理方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述针对动作捕捉数据的处理方法的步骤。
本申请实施例的一个方面又提供了一种针对动作捕捉数据的处理系统,包括:
数据接口层,用于接收各种动作捕捉方式提供的动作捕捉数据;
数据转换层,用于将所述动作捕捉数据转换为以树形结构存储的各个关键节点的关键节点信息,及根据所述动作捕捉数据确定所述各个关键节点的旋转自由度信息;
数据封装层,用于将所述旋转自由度信息和所述关键节点信息封装为数据帧;及
数据存储层,用于将所述数据帧写入到目标格式文件中,并保存所述目标格式文件。
本申请实施例提供的针对动作捕捉数据的处理方法、装置、计算机设备、计算机可读存储介质,以及针对动作捕捉数据的处理系统,可以包括以下技术效果:可以将各种动作捕捉方式得到的动作捕捉数据进行转换,遵循通用的预设规格层级结构的规范,生成树状结构的关键节点信息;将关键节点信息和各个关键节点的旋转自由度信息一起封装到统一的目标格式文件中,兼容好,实现跨业务、跨平台使用。
附图说明
图1示意性示出了根据本申请实施例的针对动作捕捉数据的处理方法的应用环境图;
图2示意性示出了根据本申请实施例一的针对动作捕捉数据的处理方法的流程图;
图3示意性示出了目标对象的特征点示意图;
图4示意性示出了目标对象的另一特征点示意图;
图5示意性示出了预设骨骼结构层级结构的部分节点关系图;
图6示意性示出了步骤S202的子流程图;
图7示意性示出了示例性应用中的操作流程图;
图8示意性示出了根据本申请实施例三的针对动作捕捉数据的处理装置的框图;
图9示意性示出了根据本申请实施例四的适于实现针对动作捕捉数据的处理方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个申请实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
以下为本申请的术语解释:
动作捕捉:记录被观察对象(人或物,或是动物)的动作,并做有效的处理。动作捕捉是一项能够实时地准确测量、记录运动物体在实际三维空间中的各类运动轨迹和姿态,并在虚拟三维空间中重构这个物体每个时刻运动状态的新技术。动作捕捉可以跟踪物体的关键部位,再经过计算机处理后得到三维空间坐标的数据。
虚拟人物模型驱动:利用姿态和表情数据使虚拟人物模型做出与摄像头所捕获真人相同或相近的动作或表情。
帧率(Frame rate):是以帧称为单位的位图图像连续出现在显示器上的频率。该术语同样适用于摄像机、计算机图形和动作捕捉系统。帧速率也可以称为帧频率,并以赫兹(Hz)表示。
BVH:是BioVision等设备对人体运动进行捕获后产生文件格式的文件扩展名。BVH文件包括角色的骨骼和肢体关节旋转数据。BVH是一种通用的人体特征动画文件格式,用于各种动画制作软件。通常可从记录人类行为运动的运动作捕捉获硬件获得。
为方便本领域技术人员理解本申请实施例提供的技术方案,下面相关技术进行说明:
随着计算机视觉技术的发展,虚拟人物模型通过直播的方式走入大众视野,受到越来越多用户的喜欢。在虚拟直播中,主播可以为自身配置一个代替真实自己的虚拟人物模型。
虚拟直播依赖于动作捕捉,根据直播过程中真人的动作,驱动虚拟人物模型呈现与真人相同或相近的动作,已逐渐成为虚拟直播所必备的基础能力。在不同业务场景,不同平台中存在多套动作捕捉方案,每种动作捕捉方案识别后输出的动作捕捉数据结构均不相同。在单一平台和业务场景中使用并无太大问题,但如果要多业务场景、跨平台使用,则需要针对每种动作捕捉方案单独适配算法,不利于业务的推进和推广。
为了进行动作捕捉相关业务的推广和推进,本申请提供了一种动作捕捉通用数据层,具体的:将不同动作捕捉方案、不同来源的动作捕捉数据转化为相同的数据结构—BVH动作捕捉数据格式,将这些转化过程封装成通用数据层,供业务方使用。效果可以包括:1.将所有动作捕捉方案,所输出的动作捕捉数据转为通用数据结构,即不论动作捕捉数据来源为何,均输出相同的数据结构,从而在业务实现上达成统一;2.通用的数据层可跨平台使用,技术上也更利于维护和扩展。
以下提供本申请实施例的示例性应用环境。
在直播场景下,主播终端2可以通过网络服务平台6将直播数据实时推送至观众终端4。其中:
网络服务平台6分配直播频道(即,直播间),可以用于主播终端2和观众终端4之间的交互或各个观众终端之间的交互,如:推流、拉流、互动(发送弹幕、打赏)等。其中,网络服务平台6可以是单个服务器、服务器集群或云计算服务中心。
网络服务平台6可以通过一个或多个网络分别与主播终端2、观众终端4建立网络连接。作为示例,所述一个或多个网络可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。所述一个或多个网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。所述一个或多个网络可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物。
主播终端2,用于实时生成直播数据,并进行直播数据的推流操作。所述直播数据可以包括音频数据或视频数据。主播终端2可以是智能手机、平板电脑等电子设备。在本实施例中,主播终端2安装有虚拟直播工具。所述虚拟直播工具用于显示虚拟人物模型,并用于生成和推送流数据,以及用于接收互动信息。虚拟直播工具可以提供相关操作界面。虚拟直播工具可以是客户端程序、浏览器等。在具体应用中,该虚拟直播工具还可以提供虚拟人物模型的导入、调整等各种功能。基于这些功能,用户可以通过手势或其他形式的输入指令来调整显示效果。
观众终端4,可以被配置为接收主播终端2的直播数据。观众终端4可以是任意类型的计算设备,如智能手机、平板设备、膝上型计算机、智能电视、车载终端等。观众终端4可以内置浏览器或专门程序,通过浏览器或专门程序接收所述直播数据以向用户输出内容。所述内容可以包括视频,音频,评论,文本数据和/或类似物。
观众终端4还可以包括接口,如输入元件(触摸屏)。输入元件可以被配置为接收用户指令,所述用户指令可以使观众终端4执行各类操作,如发送评论、打赏等。
以下将通过多个实施例介绍针对动作捕捉数据的处理方案。该方案可以通过主播终端2等设备实施。
实施例一
图2示意性示出了根据本申请实施例一的针对动作捕捉数据的处理方法的流程图。如图2所示,所述针对动作捕捉数据的处理方法可以包括步骤S200~S206,其中:
步骤S200,基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息。
步骤S202,基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息。
步骤S204,根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息。
步骤S206,将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。
本实施例提供的针对动作捕捉数据的处理方法,可以将各种动作捕捉方式得到的动作捕捉数据进行转换,遵循通用的预设规格层级结构的规范,生成树状结构的关键节点信息;将关键节点信息和各个关键节点的旋转自由度信息一起封装到统一的目标格式文件中。上述处理过程可以被封装成通用数据层,方便跨平台使用。
即:可以将各种动作捕捉方式得到的动作捕捉数据转为通用数据结构。不论动作捕捉数据来源为何,均输出相同的数据结构,从而在业务实现上达成统一。且,基于上述处理过程封装形成的通用数据层可跨平台使用,也更利于维护和扩展。
以下结合图2,对步骤S200~S206中各步骤进行详细阐述。
步骤S200,基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息。
本实施例可以用于各种场景中,如直播场景,或录播场景中。
在直播场景中,所述目标对象可以是主播,或者和主播连线的观众。
在录播场景中,所述目标对象可以录制对象。
所述动作捕捉数据基于目标动作捕捉方式获取,也可以是基于其他动作捕捉方式获取。多个动作捕捉方式可以包括光学动作捕捉、基于惯性传感器的动作捕捉、基于计算机视觉的动作捕捉等。其中,光学动作捕捉:是在身上贴反光点或者反光球,用红外线定位球的位置实现运动追踪。基于惯性传感器的动作捕捉:是利用陀螺仪速度计磁力计之类装置计算被捕捉物体的旋转和位移。基于计算机视觉的动作捕捉:由多个一个或多个摄像装置从预定角度对目标对象的监视和跟踪。
以基于计算机视觉的动作捕捉为例:可以根据目标对象的图像数据得到动作捕捉数据。
在示例性应用中,可以通过摄像装置拍摄所述目标对象,形成一帧一帧的图像数据。摄像装置可以是主播终端自带的摄像头,或通过有线或无线方式外接的摄像设备。示例性的,所述人体图像数据包含人体全身数据,优选采用广角摄像头拍摄。
接着,对目标对象的图像数据进行识别,得到人体中不同特征点的位置信息等。在示例性应用中,可以使用训练好的肢体模型识别所述目标图像数据中的人体及获取肢体特征点坐标集合。所述肢体模型可以深度学习模型或其他机器学习模型。
在示例性应用中,为提高识别准确性,可以将人体分为33个特征点。特征点可以由三维坐标构成。坐标系优选为左手坐标系。左手坐标系是指在空间直角坐标系中,让左手拇指指向x轴的正方向,食指指向y轴的正方向,如果中指能指向z轴的正方向,则这个坐标系为左手直角坐标系。当然,根据需要也可以采用其他坐标系。
如图3所示,33个特征点可以包括如下:0.鼻子、1.左眼内侧、2.左眼、3.左眼外侧、4.右眼内侧、5.右眼、6.右眼外侧、7.左耳、8.右耳、9.口左、10.口右、11.左肩(左大臂)、12.右肩(右大臂)、13.左肘、14.右肘、15.左手腕、16.右手腕、17.左手小指头、18.右手小指头、19.左脚指、20.右脚指、21.左手拇指、22.右手拇指、23.左髋(左大腿)、24.右髋(右大腿)、25.左膝、26.右膝、27.左足、28.右足、29.左脚跟、30.右脚跟、31.左脚指、32.右脚指。其中,数据不足时,可认为左右髋和左右大腿为相同节点,左右肩和左右大臂为相同节点。
在另一个示例性应用中,也可以将人体分为19个特征点。
如图4所示,这19个特征点可以包括如下:右目、左目、右耳、左耳、鼻、左肩、右肩、首、右手首、左肘、右肘、左手首、右腰、左腰、右膝、左膝、右足首、左足首。
步骤S202,基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息。
所述预设关键节点层级结构提供通用的数据结构,使动作捕捉数据转换为树状结构的关键节点信息。也就是说,不论动作捕捉数据来源为何,均输出相同的数据结构。
所述预设关键节点层级结构可以自定义,也可以通过以下方式得到:根据人体模型的层级标准,定义所述预设关键节点层级结构;其中,所述预设关键节点层级结构设置为所述树状结构;在所述树状结构中:设置根节点为预设中心点;设置左髋骨节点和右髋骨节点,或者脊柱节点为所述根节点的子节点;根据各个骨骼之间的位置设置各个关键节点之间的关系以及各个关键节点在所述树状结构中的位置。预设中心点可以由用户设置。在示例性的实施例中,所述预设中心点可以为所有特征点的中心点、左髋和右髋之间的中心点,或右足首和左足首之间的中心点。
关键节点可以是骨骼节点,也可以是一些其他节点。
结合图3和图5:
根节点为:髋(左髋和右髋之间的中心点)。
根节点的子节点:左髋、右髋、脊柱(可取左肩、右肩、左髋、右髋的中心点)。
以左髋为起始点,根据各个关键节点的连接次序设置左大腿、左膝、左足、左脚跟、左脚指的节点关系。例如,左膝为左足的父节点、左足为左脚跟的父节点。
以右髋为起始点,根据各个关键节点的连接次序设置右大腿、右膝、右足、右脚跟、右脚指的节点关系。例如,右膝为右足的父节点、右足为右脚跟的父节点。
脊柱的子节点:颈(可取左肩、右肩的中心点)、左肩、右肩。
以颈的子节点:头部(可取鼻子、左耳、右耳的中心点)为颈的子节点。
以左肩为起始点,根据各个关键节点的连接次序设置左大臂、左肘、左手腕的节点关系。
以右肩为起始点,根据各个关键节点的连接次序设置右大臂、右肘、右手腕的节点关系。
基于上述方式定义得到的预设关键节点层级结构,可以提供符合人体动作描述的数据结构,确保通过不同动作捕捉方式得到的不同动作捕捉数据的有效兼容和数据转换。
在可选的实施例中,如图6所示,步骤S202“基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息”可以包括:步骤S600,根据各个特征点的位置信息,获取每个关键节点的偏移信息;步骤S602,以树状结构的形式,保存各个关键节点的关键节点信息;其中,所述关键节点信息包括相应关键节点的父节点信息、子节点信息和偏移信息。以左肘为例,用左肘坐标减去其父节点(左大臂)的坐标即为左肘相对于其父节点(左大臂)的偏移信息。偏移信息又称为骨骼偏移信息,可以推知出每段骨骼的长度。在上述可选的实施例中,关键节点对应的关键节点信息以树状结构存储,利于维护和扩展。
步骤S204,根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息。
在示例性应用中,可以通过Quaternion.LookRotation(a,b)函数,根据对局部坐标轴(特征点坐标)的描述,构造对应的代表旋转程度的四元数。Quaternion.LookRotation(a,b)作用是:使得z轴始终精准指向a方向,使得y轴始终偏向b方向。之所以一个是精准指向,一个是偏向,是因为y和z轴是是垂直的,如果a和b不垂直,那么此函数就会保证z与a同方向,y和b大致同向。
以左肘为例以根节点为例:
首先计算肢体朝向,可取根节点及左、右髋(胯),设其坐标分别为a、b、c则肢体朝向forward为:
Vector3 d1=a–b;
Vector3 d2=a–c;
Vector3 forward=Vector3.Cross(d1,d2),Vector3.Cross为叉乘;
设左肘坐标为m,左手腕坐标为n,则左肘旋转自由度r可以通过如下公式计算:
r=Quaternion.LookRotation(m-n,forward);
其它节点计算方式类似。
在可选的实施例中,除获取旋转自由度信息外,还可以平移信息。因此,所述方法还可以包括:基于所述动作捕捉数据,获取所述预设中心节点的平移自由度信息;所述平移自由度信息被写入到所述目标格式文件,并用于提供所述目标对象的移动信息。预设中心点(根节点)的平移自由度信息,即为根节点的位置信息。其中,平移自由度信息的获取方式可以如下:根据当前帧的根节点的位置信息和参考帧的根节点的位置信息,获取根节点的平移信息(位置偏移)。通过上述方式得到的目标对象的平移信息准确可靠,提供了目标对象的整体移动信息。
步骤S206,将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。
所述目标格式文件可以是BVN文件等,将不同动作捕捉方式、不同来源的动作捕捉数据转化为BVH动作捕捉数据格式,可以通用于各种平台中,利于维护为扩展。
在示例性应用中,所述BVH文件可以用于重定向并驱动人物模型,相当于播放一段动画。其中,为BVH文件存储的过程,相当于录制了一段人物动作的动画,可用于数据测试的开发场景,更可用于动画播放、舞蹈等其它业务需要的场景。
在可选的实施例中,步骤S206“将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中”可以通过如下步骤实施:以数据帧为单位,将所述各个关键节点的旋转自由度信息和所述多个关键节点信息封装为多个数据帧;其中,每个数据帧分别对应一个动作捕捉画面的动作捕捉数据;根据预设帧数以及预设帧率,将所述多个数据帧写入到所述目标格式文件中。所述预设帧数和预设帧率可以根据原始数据的刷新率和数据量所确定。具体过程为:假如原始数据的刷新率为30Hz,则设置帧率为30,数据量为帧数的总和,每接收一帧数据帧数加1即可。在本实施例中,将数据封装到一个一个的数据帧,利于数据处理和管理,还可以根据帧率和帧数调整动作的速度。
在本实施例中,既可以在产生关键节点信息、旋转自由度信息、平移信息时,实时驱动虚拟人物模型,也可以将上述信息写入到目标格式文件之后,将所述目标格式文件导入到虚拟播放工具中,从而驱动虚拟播放工具中的虚拟人物模型。
在可选的实施例中,可以适用于异步驱动,所述方法还包括:
根据所述目标格式文件中的数据重定向至虚拟人物模型中,以驱动所述虚拟人物模型。
在可选的实施例中,可以适用于实时驱动,所述方法还包括:
根据所述各个关键节点的旋转自由度信息和所述多个关键节点信息实时驱动虚拟人物模型。
所述虚拟人物模型可以替代目标对象显示在显示界面,并跟随目标对象而运动。作为示例,显示界面可以是虚拟场景和多个虚拟元素的结合,也可以提供现实场景和多个虚拟元素的结合。在具体应用中,可以根据用户选择而定。当所述虚拟人物模型位于虚拟场景中时,其动作可以触发虚拟场景的天空盒等各类元素的变化。所述虚拟人物模型可以根据需要从云端下载得到,也可以对本地文件加载得到。
通常情况下,同一个虚拟人物模型的不同关节具有不同的初始旋转量,而且不同目标对象(人)的同一个关节也可能具有不同的旋转量,甚至初始的局部坐标系都不同,因此,可以计算虚拟人物模型的关键节点的初始对齐矩阵作为修正值。示例性的,可以通过初始对齐矩阵修正旋转信息,从而提高驱动虚拟人物模型的准确性。
以下提供一个修正示例:
(1)以虚拟人物模型的左膝盖为例,假设左膝盖与左足的初始坐标分别为a1、b1,膝盖的初始旋转四元数值为r1,身体的初始朝向为f1,则左膝盖的初始对齐矩阵IR的计算公式可以如下:IR=Quaternion.Inverse(Quaternion.LookRotation(a1-b1,f1))*r1。
(2)基于各个特征点的位置信息可以计算左膝的当前旋转值。具体的:假设左膝盖的特征点坐标与左足的特征点坐标分别为a2、b2,当前身体朝向为f2,则左膝当前的旋转r2的计算公式可以如下:r2=Quaternion.LookRotation(a2-b2,f2)。
(3)通过左膝的初始对齐矩阵修正当前旋转值,用于修正的计算公式如下:r2=r2*IR。
在得到各个关键节点的目标旋转信息后,即可按照旋转信息控制所述虚拟人物模型的动画效果,从而实现所述目标对象对所述虚拟人物模型的动作驱动。在直播场景下,目标对象可以和观众互动,例如基于观众要求临时做一个或多个动作,该一个或多个动作被一一对应地体现到虚拟人物模型的动画效果上,实现直播互动。在录播场景下,目标对象可以基于自己的动作提供虚拟人物模型的录制视频。
如此,可实现基于目标对象的动作驱动,适用于各种场景,适用于全身动作捕捉和驱动。
为便于理解,如图7所示,以下提供一个示例性应用:
步骤S700,执行当前动捕方式以获取动作捕捉数据,动作捕捉数据包括各个特征点的位置。
步骤S702,计算并创建人体骨骼的层级结构,即预设关键节点层级结构。
步骤S704,根据预设关键节点层级结构和动作捕捉数据,以树状结构存储各个关键节点的关键节点信息。关键节点信息包括相应关键节点的父、子节点信息和偏移信息。
步骤S706,计算根节点的平移自由度和各关键节点的旋转自由度信息(如,旋转量)。
步骤S708,根据各个关键节点的关键节点信息、旋转自由度信息和所述根节点的平移自由度,封装得到多个数据帧。其中,所述数据帧的置帧率与帧数可以设置。
步骤S710,将多个数据帧写入到BVH文件,并保存BVH文件。BVH文件用于驱动虚拟人物模型。
实施例二
本实施例提供了一种针对动作捕捉数据的处理系统,具体细节参考上文。
所述针对动作捕捉数据的处理系统,包括:
数据接口层,用于接收各种动作捕捉方式提供的动作捕捉数据;
数据转换层,用于将所述动作捕捉数据转换为以树形结构存储的各个关键节点的关键节点信息,及根据所述动作捕捉数据确定所述各个关键节点的旋转自由度信息;
数据封装层,用于将所述旋转自由度信息和所述关键节点信息封装为数据帧;及
数据存储层,用于将所述数据帧写入到目标格式文件中,并保存所述目标格式文件。
本实施例将处理流程封装成通用数据层,方便跨平台使用,技术上也更利于维护和扩展。该系统中,可以将各种动作捕捉方式得到的动作捕捉数据进行转换,遵循通用的预设规格层级结构的规范,生成树状结构的关键节点信息;将关键节点信息和各个关键节点的旋转自由度信息一起封装到统一的目标格式文件中。
实施例三
图8示意性示出了根据本申请实施例三的针对动作捕捉数据的处理装置的框图,该针对动作捕捉数据的处理装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。如图8所示,该针对动作捕捉数据的处理装置800可以包括第一获取模块810、生成模块820、第二获取模块830、写入模块840,其中:
第一获取模块810,用于基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息;
生成模块820,用于基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息;
第二获取模块830,用于根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息;
写入模块840,用于将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。
在可选的实施例中,所述生成模块820还用于:
根据各个特征点的位置信息,获取每个关键节点的偏移信息;
以树状结构的形式,保存各个关键节点的关键节点信息;
其中,所述关键节点信息包括相应关键节点的父节点信息、子节点信息和偏移信息。
在可选的实施例中,所述装置还包括定义模块(未标识),用于:
根据人体模型的层级标准,定义所述预设关键节点层级结构;
其中,所述预设关键节点层级结构设置为所述树状结构;在所述树状结构中:
设置根节点为预设中心点;
设置左髋骨节点和右髋骨节点,或者脊柱节点为所述根节点的子节点;
根据各个骨骼之间的位置设置各个关键节点之间的关系以及各个关键节点在所述树状结构中的位置。
在可选的实施例中,所述装置还包括第三获取模块(未标识),用于:
基于所述动作捕捉数据,获取所述预设中心节点的平移自由度信息;
所述平移自由度信息被写入到所述目标格式文件,并用于提供所述目标对象的移动信息。
在可选的实施例中,所述写入模块840还用于:
以数据帧为单位,将所述各个关键节点的旋转自由度信息和所述多个关键节点信息封装为多个数据帧;其中,每个数据帧分别对应一个动作捕捉画面的动作捕捉数据;
根据预设帧数以及预设帧率,将所述多个数据帧写入到所述目标格式文件中。
在可选的实施例中,所述装置还包括重定向模块(未标识),用于:
根据所述目标格式文件中的数据重定向至虚拟人物模型中,以驱动所述虚拟人物模型。
在可选的实施例中,所述装置还包括驱动模块(未标识),用于:
根据所述各个关键节点的旋转自由度信息和所述多个关键节点信息实时驱动虚拟人物模型。
实施例四
图9示意性示出了根据本申请实施例四的适于实现针对动作捕捉数据的处理方法的计算机设备的硬件架构示意图。计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,智能手机、平板电脑、电脑、车载终端、游戏机、虚拟设备等终端设备,外接显示设备的机顶盒等。
本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图9所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如针对动作捕捉数据的处理方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图9仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的针对动作捕捉数据的处理方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请。
实施例五
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的针对动作捕捉数据的处理方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的针对动作捕捉数据的处理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种针对动作捕捉数据的处理方法,其特征在于,包括:
基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息;
基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息;
根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息;
将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。
2.根据权利要求1所述的针对动作捕捉数据的处理方法,其特征在于,所述基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息,包括:
根据各个特征点的位置信息,获取每个关键节点的偏移信息;
以树状结构的形式,保存各个关键节点的关键节点信息;
其中,所述关键节点信息包括相应关键节点的父节点信息、子节点信息和偏移信息。
3.根据权利要求1所述的针对动作捕捉数据的处理方法,其特征在于,所述方法还包括:
根据人体模型的层级标准,定义所述预设关键节点层级结构;
其中,所述预设关键节点层级结构设置为所述树状结构;在所述树状结构中:
设置根节点为预设中心点;
设置左髋骨节点和右髋骨节点,或者脊柱节点为所述根节点的子节点;
根据各个骨骼之间的位置设置各个关键节点之间的关系以及各个关键节点在所述树状结构中的位置。
4.根据权利要求3所述的针对动作捕捉数据的处理方法,其特征在于,所述方法还包括:
基于所述动作捕捉数据,获取所述预设中心节点的平移自由度信息;
所述平移自由度信息被写入到所述目标格式文件,并用于提供所述目标对象的移动信息。
5.根据权利要求1至4任一项所述的针对动作捕捉数据的处理方法,其特征在于,所述将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中,包括:
以数据帧为单位,将所述各个关键节点的旋转自由度信息和所述多个关键节点信息封装为多个数据帧;其中,每个数据帧分别对应一个动作捕捉画面的动作捕捉数据;
根据预设帧数以及预设帧率,将所述多个数据帧写入到所述目标格式文件中。
6.根据权利要求1至4任一项所述的针对动作捕捉数据的处理方法,其特征在于,还包括:
根据所述目标格式文件中的数据重定向至虚拟人物模型中,以驱动所述虚拟人物模型。
7.根据权利要求1至4任一项所述的针对动作捕捉数据的处理方法,其特征在于,还包括:
根据所述各个关键节点的旋转自由度信息和所述多个关键节点信息实时驱动虚拟人物模型。
8.一种针对动作捕捉数据的处理装置,其特征在于,包括:
第一获取模块,用于基于目标动作捕捉方式获取目标对象的动作捕捉数据,所述目标动作捕捉方式是多个动作捕捉方式之一,所述动作捕捉数据包括所述目标对象的各个特征点的位置信息;
生成模块,用于基于所述动作捕捉数据和预设关键节点层级结构,生成树状结构下的多个关键节点信息;
第二获取模块,用于根据所述目标对象的各个特征点的位置信息,获取所述各个关键节点的旋转自由度信息;
写入模块,用于将所述各个关键节点的旋转自由度信息和所述多个关键节点信息写入到目标格式文件中。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任意一项所述的针对动作捕捉数据的处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至7任意一项所述的针对动作捕捉数据的处理方法的步骤。
11.一种针对动作捕捉数据的处理系统,其特征在于,包括:
数据接口层,用于接收各种动作捕捉方式提供的动作捕捉数据;
数据转换层,用于将所述动作捕捉数据转换为以树形结构存储的各个关键节点的关键节点信息,及根据所述动作捕捉数据确定所述各个关键节点的旋转自由度信息;
数据封装层,用于将所述旋转自由度信息和所述关键节点信息封装为数据帧;及
数据存储层,用于将所述数据帧写入到目标格式文件中,并保存所述目标格式文件。
CN202211452282.XA 2022-11-18 2022-11-18 针对动作捕捉数据的处理方法和系统 Pending CN115880403A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211452282.XA CN115880403A (zh) 2022-11-18 2022-11-18 针对动作捕捉数据的处理方法和系统
PCT/CN2023/106159 WO2024103805A1 (zh) 2022-11-18 2023-07-06 针对动作捕捉数据的处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211452282.XA CN115880403A (zh) 2022-11-18 2022-11-18 针对动作捕捉数据的处理方法和系统

Publications (1)

Publication Number Publication Date
CN115880403A true CN115880403A (zh) 2023-03-31

Family

ID=85760311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211452282.XA Pending CN115880403A (zh) 2022-11-18 2022-11-18 针对动作捕捉数据的处理方法和系统

Country Status (2)

Country Link
CN (1) CN115880403A (zh)
WO (1) WO2024103805A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024103805A1 (zh) * 2022-11-18 2024-05-23 上海哔哩哔哩科技有限公司 针对动作捕捉数据的处理方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110176062A (zh) * 2019-05-05 2019-08-27 北京当红齐天国际文化发展集团有限公司 一种基于运动捕捉数据的虚拟人体的控制方法
CN112381003B (zh) * 2020-11-16 2023-08-22 网易(杭州)网络有限公司 动作捕捉方法、装置、设备及存储介质
CN113420719B (zh) * 2021-07-20 2022-07-22 北京百度网讯科技有限公司 生成动作捕捉数据的方法、装置、电子设备以及存储介质
CN115880403A (zh) * 2022-11-18 2023-03-31 上海哔哩哔哩科技有限公司 针对动作捕捉数据的处理方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024103805A1 (zh) * 2022-11-18 2024-05-23 上海哔哩哔哩科技有限公司 针对动作捕捉数据的处理方法和系统

Also Published As

Publication number Publication date
WO2024103805A1 (zh) 2024-05-23

Similar Documents

Publication Publication Date Title
CN111970535B (zh) 虚拟直播方法、装置、系统及存储介质
CN110602517B (zh) 基于虚拟环境的直播方法、装置和系统
WO2021109376A1 (zh) 一种分镜效果的实现方法、装置及相关产品
CN109671141B (zh) 图像的渲染方法和装置、存储介质、电子装置
CN112381003B (zh) 动作捕捉方法、装置、设备及存储介质
CN111862348B (zh) 视频显示方法、视频生成方法、装置、设备及存储介质
TWI737460B (zh) 通信方法、電子設備和儲存介質
CN114615513B (zh) 视频数据生成方法、装置、电子设备及存储介质
WO2024103805A1 (zh) 针对动作捕捉数据的处理方法和系统
CN113852838B (zh) 视频数据生成方法、装置、电子设备及可读存储介质
CN112950751A (zh) 姿态动作的展示方法及装置、存储介质、系统
CN113822970A (zh) 直播控制方法、装置、存储介质与电子设备
CN111970453A (zh) 一种用于摄像机器人的虚拟拍摄系统及方法
CN112580582B (zh) 动作学习方法、装置、介质及电子设备
KR20180098507A (ko) 애니메이션 생성 방법 및 애니메이션 생성 장치
CN113965773A (zh) 直播展示方法和装置、存储介质及电子设备
CN115857676A (zh) 基于虚拟形象的显示方法和系统
CN116188742A (zh) 虚拟对象的控制方法、装置、设备及存储介质
CN115914718A (zh) 截取引擎渲染内容的虚拟制片视频重映方法及系统
CN115131528A (zh) 虚拟现实场景确定方法、装置及系统
CN112312041B (zh) 基于拍摄的图像校正方法、装置、电子设备及存储介质
CN115239856A (zh) 3d虚拟对象的动画生成方法、装置、终端设备及介质
CN115937371B (zh) 人物模型的生成方法和系统
CN113873175B (zh) 视频播放方法、装置和存储介质及电子设备
US20240185496A1 (en) Systems and Methods for Immersive Digital Experiences

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