CN113628307B - 一种三维模型的骨骼驱动方法及设备 - Google Patents
一种三维模型的骨骼驱动方法及设备 Download PDFInfo
- Publication number
- CN113628307B CN113628307B CN202110879708.9A CN202110879708A CN113628307B CN 113628307 B CN113628307 B CN 113628307B CN 202110879708 A CN202110879708 A CN 202110879708A CN 113628307 B CN113628307 B CN 113628307B
- Authority
- CN
- China
- Prior art keywords
- node
- skeleton
- nodes
- dimensional model
- child
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及三维重建技术领域,提供一种三维模型的骨骼驱动方法及设备,通过预先建立的目标对象的骨架中第一骨骼节点与三维模型的骨架中第二骨骼节点的对应关系,得到不存在对应的第二骨骼节点的第一单一骨骼节点,和不存在对应的第一骨骼节点的第二单一骨骼节点,改变第一单一骨骼节点的父子节点的连接关系,并更新存在对应的第二骨骼节点的第一骨骼节点的骨骼数据,以及改变第一单一骨骼节点和第二单一骨骼节点的父子节点的连接关系,使得改变后的第二骨骼节点均存在对应的第一骨骼节点,并对目标对象的骨架和三维模型的骨架的坐标系进行统一,利用相应第一骨骼节点的骨骼数据,驱动三维模型运动,从而提高三维模型的利用率。
Description
技术领域
本申请涉及三维重建技术领域,尤其涉及一种三维模型的骨骼驱动方法及设备。
背景技术
目前,模型动画的两种方式包括顶点动画和骨骼动画。在骨骼动画中,模型具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。骨骼动画模型的运动需要骨骼数据的驱动,骨骼数据有两种,一种是离线生成的骨骼数据,一般叫做动画数据;另一种是通过采集设备实时采集的目标对象的骨骼数据。
传统的骨骼动画驱动方法要求三维模型的骨架与目标对象的骨架(骨骼节点数量、骨骼节点之间的父子关系等)一致,当二者不一致时,无法利用骨骼数据驱动三维模型的骨骼产生运动。所以,当通过离线动画数据驱动三维模型时,建模人员需要按照目标对象的骨架制作三维模型,并依据制作的三维模型的骨架生成动画数据。当通过采集设备实时采集的目标对象的骨骼数据驱动三维模型时,建模人员需要根据采集设备实时采集的目标对象的骨骼结构制作相应的三维模型。
因此,无论采用离线动画数据驱动三维模型的骨骼节点运动,还是采用实时采集的骨骼数据驱动三维模型的骨骼节点运动,都需要利用目标对象的骨架定制匹配的三维模型,这样不仅增加了建模人员的工作量,且骨骼结构一致性导致了三维模型的利用率较低。
发明内容
本申请实施例提供了一种三维模型的骨骼驱动方法及设备,用以提高三维模型的利用率。
第一方面,本申请实施例提供一种三维模型的骨骼驱动方法,包括:
获取目标对象的骨架包含的各个第一骨骼节点的驱动信息,所述各个第一骨骼节点之间存在第一父子关系;
根据各个第一单一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息;其中,所述第一单一骨骼节点为所述各个第一骨骼节点中不存在对应的第二骨骼节点的节点,所述第二骨骼节点为预先构建的与所述目标对象同类型的三维模型的骨架包含的各个骨骼节点,各个第二骨骼节点之间存在第二父子关系,所述第二父子关系用于基于各个第二单一骨骼节点的子节点,更新相应第二单一骨骼节点的目标父节点的子节点,所述第二单一骨骼节点为所述各个第二骨骼节点中不存在对应的第一骨骼节点的节点;
将所述目标对象的骨架变换至所述三维模型的骨架对应的坐标系下,并根据所述各个第一骨骼节点的驱动信息,确定所述各个第一骨骼节点全局变换矩阵;
根据所述各个第一骨骼节点的全局变换矩阵,确定存在对应的第一骨骼节点的各个第二骨骼节点的全局变换矩阵,并根据各个第二骨骼节点的全局变换矩阵,驱动所述三维模型运动。
第二方面,本申请实施例提供一种重建设备,包括显示器、存储器、处理器:
所述显示器,与所述处理器连接,被配置为显示驱动后的三维模型;
所述存储器,与所述处理器连接,被配置为存储计算机程序指令;
所述处理器,被配置为根据所述计算机程序指令,执行以下操作:
获取目标对象的骨架包含的各个第一骨骼节点的驱动信息,所述各个第一骨骼节点之间存在第一父子关系;
根据各个第一单一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息;其中,所述第一单一骨骼节点为所述各个第一骨骼节点中不存在对应的第二骨骼节点的节点,所述第二骨骼节点为预先构建的与所述目标对象同类型的三维模型的骨架包含的各个骨骼节点,各个第二骨骼节点之间存在第二父子关系,所述第二父子关系用于基于各个第二单一骨骼节点的子节点,更新相应第二单一骨骼节点的目标父节点的子节点,所述第二单一骨骼节点为所述各个第二骨骼节点中不存在对应的第一骨骼节点的节点;
将所述目标对象的骨架变换至所述三维模型的骨架对应的坐标系下,并根据所述各个第一骨骼节点的驱动信息,确定所述各个第一骨骼节点全局变换矩阵;
根据所述各个第一骨骼节点的全局变换矩阵,确定存在对应的第一骨骼节点的各个第二骨骼节点的全局变换矩阵,并根据各个第二骨骼节点的全局变换矩阵,驱动所述三维模型运动。
第三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行本申请实施例提供的三维模型的骨骼驱动方法。
本申请的上述实施例中,利用目标对象的骨架包含的第一骨骼节点与预先构建的三维模型的骨架包含的第二骨骼节点之间的对应关系,得到各个第一骨骼节点中不存在对应的第二骨骼节点的第一单一骨骼节点,以及各个第二骨骼节点中不存在对应的第一骨骼节点的第二单一骨骼节点,进一步地,根据各个第一骨骼节点之间的第一父子关系,确定第一单一骨骼节点的目标子节点,以及根据各个第二骨骼节点之间的第二父子关系,确定第二单一骨骼节点的目标父节点,并且对目标父节点的子节点进行更新,从而在目标对象的骨架与三维模型的骨架不一致时,仍可利用目标对象的骨骼数据驱动三维模型的骨架运动,无需重建三维模型,减少了重建工作量,提高了三维模型的利用率;并且,通过获取的各个第一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息,将目标对象的骨架变换至三维模型的骨架对应的坐标系后,根据各个第一骨骼节点的驱动信息确定的相应第一骨骼节点的全局变换矩阵,并确定存在对应的第一骨骼节点的各个第二骨骼节点的全局变换矩阵,根据各个第二骨骼节点的全局变换矩阵驱动三维模型运动,从而实现利用目标对象的骨骼数据驱动三维模型运动,提高了三维模型的重建效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请的实施例提供的三维模型的骨架结构;
图2示例性示出了本申请的实施例提供的目标对象的骨架结构;
图3示例性示出了本申请的实施例提供的更新后的三维模型的骨架结构;
图4示例性示出了本申请的实施例提供的三维模型的骨骼驱动方法流程图;
图5a示例性示出了本申请的实施例提供的两个骨架的三维空间关系;
图5b示例性示出了本申请的实施例提供的平移目的对象的骨架示意图;
图5c示例性示出了本申请的实施例提供的旋转目的对象的骨架示意图;
图6示例性示出了本申请的实施例提供的完整的三维模型的骨骼驱动方法流程图;
图7示例性示出了本申请的实施例提供的重建设备的结构图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
骨架(骨骼结构的简称)由一系列具有层次关系的关节(即骨骼节点)组成,是一种树状结构,关节和关节之间具有父子关系。一个骨架仅有一个根关节,其它关节是根关节的子孙关节。一个父关节可以有一个或多个子关节。其中,父关节的运动影响子关节的运动,但子关节的运动不影响父关节的运动,因此,平移或旋转父关节时,也会同时平移或旋转其所有子关节。
图1示例性示出了本申请实施例提供的人体三维模型的骨架。如图1所示,图中圆圈表示关节,箭头表示关节之间的父子关系,箭头的起点为父,箭头指向的节点为子。每个关节对应唯一的编号,图1中节点0为根节点,节点9是节点0的子节点,节点10是节点9的子节点,节点11是节点10的子节点,节点12、节点13和节点17是节点11的子节点,以此类推即为整个骨架。
图2示例性示出了本申请实施例提供的目标对象的骨架。如图2所示,目标对象的骨架包含23个关节,关节与关节之间也具有父子关系,父子关系的表述与图1一致。相对于图1,目标对象的骨架包含的关节数目大于人体三维模型的骨架包含的关节数目,即三维模型的骨架与目标对象的骨架不一致,以目前的骨骼动画驱动方案,则无法利用目标对象的骨骼数据驱动三维模型的骨骼节点运动,需重建与目标对象的骨架一致的三维模型,模型利用率较低。
为了解决上述问题,本申请实施例提供一种三维模型的骨骼驱动方法及设备,用以在目标对象的骨架与预先构建的同类型的三维模型的骨架不一致时,仍可以利用目标对象的骨骼数据驱动三维模型的骨骼节点运动,减少了建模人员的工作量,提高了三维模型的利用率。
需要说明的是,图1和图2仅是一种示例,本申请实施例除适用于人体模型外,还是适用于其他三维模型的重建。
如图1、图2示出的,骨架中按顺序存储了每个关节(骨骼节点)的属性信息,属性信息包括骨骼节点的编号,以及骨骼节点的父节点和子节点。各个骨骼节点之间的父子关系,可通过骨骼节点的编号和骨骼节点之间的排列顺序进行表示。
一种可选的方式为,基于骨架的树状结构生成骨骼节点的索引数组,索引数组中元素的顺序表示骨骼节点的编号,元素值表示骨骼节点的父节点的编号,骨骼节点的编号从0开始,其中,根节点没有父节点,因此,根关节的父节点编号设为-1,表示为无效编号。
以图1示出的三维模型的骨架为例,该骨架对应的索引数组M1为{-1,0,1,2,3,0,5,6,7,0,9,10,11,11,13,14,15,11,17,18,19},其中,节点0为根节点,其父节点的编号为-1,节点1的父节点为节点0,节点2的父节点为节点1,节点3的父节点为节点2,节点4的父节点为节点3,节点5的父节点为节点0,依此类推,得到骨架包含的各个骨骼节点之间的父子关系。
以图2示出的目标对象的骨架为例,该骨架对应的索引数组M2为{-1,0,1,2,3,0,5,6,7,0,9,10,11,10,13,14,15,16,10,18,19,20,21},其中,节点0为根节点,其父节点的编号为-1,节点1的父节点为节点0,节点2的父节点为节点1,节点3的父节点为节点2,节点4的父节点为节点3,节点5的父节点为节点0,依此类推,得到骨架包含的各个骨骼节点之间的父子关系。
同一类别的骨架,骨架结构相似。如图1和图2示出的均为人体的骨架,每个骨骼节点都会分布在人体的特定部位,因此,可以建立两个骨架包含的骨骼节点之间的对应关系。本申请实施例对对应关系的建立规则不做限制性约束。
例如,可以建立两个骨架中骨骼节点的距离能量函数,将两骨架中距离最小的两个骨骼节点确定为对应的关节点。
以图1和图2为例,三维模型的骨架和目标对象的骨架中骨骼节点的对应关系为Map={(0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(11,10),(12,12),(13,13),(14,14),(15,15),(16,17),(17,18),(18,19),(19,20),(20,22)}。其中,Map中每个元素组中的第一个子元素表示三维模型的骨架中骨骼节点的编号,每个元素组中的第二个子元素表示目标对象的骨架中骨骼节点的编号。例如(0,0)表示三维模型的骨架中的骨骼节点0对应目标对象的骨架中的骨骼节点0,(11,10)表示三维模型的骨架中骨骼节点11对应目标对象的骨架中的骨骼节点10。
为了区别描述,本申请的实施例中,将目标对象的骨架包含的骨骼节点记为第一骨骼节点,各个第一骨骼节点之间的父子关系记为第一父子关系,将三维模型的骨架包含的骨骼节点称为第二骨骼节点,各个第二骨骼节点之间的父子关系记为第二父子关系。
由图1和图2示出的两个骨架中骨骼节点的对应关系可知,MAP中元素组的数量小于图1或图2骨架中的骨骼节点数量。实际场景中,MAP中元素组的数量也可以等于图1或图2骨架中的骨骼节点数量,但不会大于,这是因为两个骨架中骨骼节点的数量和分布不是完全相同的,存在无法对应的关节。比如,图1的骨架中每条胳膊有4个骨骼节点,而图2的骨架中每条胳膊有5个骨骼节点;再比如,图1的骨架中胸腹部有4个骨骼节点,而图2的骨架中胸腹部有3个骨骼节点,因此,经过映射后元素组的数量会小于骨架中骨骼节点的数量。
建立两个骨架中骨骼节点的对应关系后,基于该对应关系可以确定目标对象的骨架包含的各个第一骨骼节点中,不存在对应的第二骨骼节点的第一单一骨骼节点,得到第一单一骨骼节点集合,以及确定三维模型的骨架包含的各个第二骨骼节点中,不存在对应的第一骨骼节点的第二单一骨骼节点,得到第二单一骨骼节点集合。
仍以图1和图2为例,目标对象的骨架中骨骼节点16、21不存在对应的第二骨骼节点,第一单一骨骼节点集合L1={16,21},三维模型的骨架中骨骼节点10不存在对应的第一骨骼节点,第二单一骨骼节点集合L2={10}。
针对第一单一骨骼节点集合中的各个第一单一骨骼节点,由于其不存在对应的第二骨骼节点,不会控制三维模型的骨架中任何骨骼节点的运动,而第一单一骨骼节点的子节点会根据第一单一骨骼节点的运动而运动。因此,需确定第一单一骨骼节点的目标子节点。其中,目标子节点存在对应的第二骨骼节点。
具体实施时,根据目标对象的骨架包含的各个第一骨骼节点之间的第一父子关系,确定第一单一骨骼节点的子节点,查找MAP表,确定第一单一骨骼节点的子节点是否存在对应的第二骨骼节点,若存在,将第一单一骨骼节点的子节点作为目标子节点,若不存在,则继续查找下一级子节点,直至查找的子节点存在对应的第二骨骼节点,将存在对应的第二骨骼节点的子节点作为第一单一骨骼节点的目标子节点,以更新第一父子关系。
以第一单一骨骼节点集合L1为例,骨骼节点16、21不存在对应的第二骨骼节点,查找索引数组M2,由于M2中记录了各个第一骨骼节点之间的第一父子关系,得到骨骼节点16的子节点为骨骼节点17,骨骼节点21的子节点为骨骼节点22,由MAP表可知,骨骼节点17对应的三维模型的骨架中的骨骼节点16,骨骼节点22对应的三维模型的骨架中的骨骼节点21,即骨骼节点16、21的子节点存在对应的第二骨骼节点,因此,将目标对象的骨架中的骨骼节点17作为骨骼节点16的目标子节点,将骨骼节点22作为骨骼节点21的目标子节点。
针对第二单一骨骼节点集合中的各个第二单一骨骼节点,由于其不存在对应的第一骨骼节点,无法利用目标对象的骨骼数据驱动该骨骼节点运动。而在整个骨架中,父节点的运动会影响子节点的运动,子节点的运动不会影响父节点的运动,因此,可改变第二单一骨骼节点的子节点所属的目标父节点,使第二单一骨骼节点的子节点随目标父节点的运动而运动。其中,目标父节点存在对应的第一骨骼节点。
具体实施时,根据三维模型的骨架包含的各个第二骨骼节点之间的第二父子关系,确定第二单一骨骼节点的父节点,查找MAP表,确定第二单一骨骼节点的父节点是否存在对应的第一骨骼节点,若存在,将第二单一骨骼节点的父节点作为目标父节点,若不存在,则继续查找上一级父节点,直至查找的父节点存在对应的第一骨骼节点,将存在对应的第一骨骼节点的父节点作为第二单一骨骼节点的目标父节点。进一步地,将第二单一骨骼节点的全部子节点,作为目标父节点的子节点,以更新第二父子关系。
以第二单一骨骼节点集合L2为例,骨骼节点10不存在对应的第一骨骼节点,查找索引数组M1,由于M1中记录了各个第二骨骼节点之间的第二父子关系,得到骨骼节点10的父节点为骨骼节点9,子节点为骨骼节点11,由MAP表可知,骨骼节点9对应的目标对象的骨架中的骨骼节点9,即存在对应的第一骨骼节点,因此,将三维模型的骨架中的骨骼节点9作为骨骼节点10的目标父节点,将骨骼节点11作为目标父节点9的子节点,如图3所示。
通过改变第一单一骨骼节点和第二单一骨骼节点连接的骨骼节点的父子关系后,第二骨骼节点都存在对应的第一骨骼节点,第一单一骨骼节点的目标子节点也都存在对应的第二骨骼节点,因此,可利用第一骨骼节点的骨骼数据驱动三维模型的骨架运动,从而实时重建交互过程中的三维模型。
图4示例性示出了本申请实施例提供的一种三维模型的骨骼驱动方法流程图,如图4所示,该流程由重建设备执行,主要包括以下几步:
S40 1:获取目标对象的骨架包含的各个第一骨骼节点的驱动信息。
该步骤中,不同的运动姿态下,目标对象的骨架包含的各个第一骨骼节点的骨骼数据不同,每个骨骼数据中存储了每个骨骼节点的驱动信息,用于驱动预先构建的三维模型的骨架进行相应的运动。各个第一骨骼节点的驱动信息可通过采集设备(例如RGB相机、深度相机、动作捕捉设备等)进行采集,也可以从采集设备采集的图像中提取。其中,驱动信息包括第一骨骼节点相对于其父节点的方向信息R、第一骨骼节点在其父节点的局部坐标系中的坐标信息T、以及第一骨骼节点相对于其父节点的缩放信息S。各个第一骨骼节点之间的第一父子关系的描述参见前述实施例,在此不再重复。
S402:根据各个第一单一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息。
该步骤中,根据目标对象的骨架包含的第一骨骼节点与预先构建的三维模型的骨架包含的第二骨骼节点之间的对应关系,参见MAP表,可以确定各个第一骨骼节点中不存在对应的第二骨骼节点的节点(即第一单一骨骼节点),由于第一单一骨骼节点不存在对应的第二骨骼节点,不控制任何第二骨骼节点的运动,但第一单一骨骼节点的运动会影响目标子节点的运动,因此,需利用各个第一单一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息。其中,目标子节点存在对应的第二骨骼节点,目标子节点的确定方式参照前述实施例,在此不再重复。
在S402中,针对各个第一单一骨骼节点中的任意一个第一单一骨骼节点i,根据第一单一骨骼节点i的驱动信息,更新第一单一骨骼节点i的任一目标子节点I的驱动信息。
具体实施时,将目标子节点I相对于第一单一骨骼节点i的方向信息R,替换为第一单一骨骼节点i相对于其父节点的方向信息Ri,将目标子节点I相对于第一单一骨骼节点i的缩放信息S,替换为第一单一骨骼节点i相对于其父节点的缩放信息Si,将目标子节点I在第一单一骨骼节点i的局部坐标系中的坐标信息T,替换为目标子节点T在第一单一骨骼节点i的局部坐标系中的坐标信息TI与第一单一骨骼节点i在其父节点的局部坐标系中的坐标信息Ti的和。由于坐标信息T描述的是在父节点的局部坐标系中的坐标,也描述了其和父节点之间的长度,所以目标子节点I替换后的坐标信息T(T=TI+Ti)描述了目标子节点和第一单一骨骼节点i的父节点之间的长度,保证了模型各部分长度的正确性。
S403:将目标对象的骨架变换至三维模型的骨架对应的坐标系下,并根据各个第一骨骼节点的驱动信息,确定各个第一骨骼节点全局变换矩阵。
该步骤中,由于目标对象的骨架和三维模型的骨架的三维坐标系不一定相同,所以需要先将二者的坐标系进行统一。
图5a示例性示出了本申请实施例提供的三维模型的骨架和目标对象的骨架在三维坐标系中的示意图,如图5a所示,目标对象的骨架(在图5a中用虚线表示)与三维模型的骨架(在图5a中用实线表示)不统一,可将目标对象的骨架变换至三维模型的骨架对应的坐标系下。
具体实施时,移动目标对象的骨架,使得各个第一骨骼节点中的根节点与各个第二骨骼节点中的根节点重合,如图5b所示;进一步地,确定移动后的目标对象的骨架相对于三维模型的骨架的旋转矩阵,并根据确定的旋转矩阵旋转移动后的目标对象的骨架。其中,旋转矩阵的确定方式包括:
方式一
三维模型的骨架姿势一般比较固定,通常为T Pose或A Pose,而目标对象处于动态的运动过程,其骨架姿势不断发生变化。若根据两个骨架中的骨骼节点确定旋转矩阵时,为保证模型变换的准确性,需要保持目标对象的骨架姿势与三维模型的骨架姿势一致。
例如,三维模型的骨架姿势为直立,当前目标对象的骨架姿势为弯腰,如果根据当前姿势下两个骨架各自腰部的骨骼节点的向量确定旋转矩阵,由于向量不仅受二者坐标系的影响,也会受骨架姿势的影响,导致确定的旋转矩阵不准确,进而无法准确对齐两个骨架。因此,需要用目标对象的骨架姿势为直立时的骨骼数据进行坐标系的对齐。
具体实施时,在目标对象的骨架姿势与三维模型的骨架姿势一致时,从各个第一骨骼节点中选取第一参考父节点以及第一参考父节点的子节点,从各个第二骨骼节点中选取第二参考父节点以及第二参考父节点的子节点,确定第一参考父节点到第一参考父节点的子节点的第一向量,以及第二参考父节点到第二参考父节点的子节点的第二向量,根据第一向量和第二向量,确定移动后的目标对象的骨架和三维模型的骨架之间的旋转矩阵,并根据旋转矩阵,旋转平移后的目标对象的骨架,完成二者坐标系的对齐统一,如图5c所示。
本申请实施例中,对第一参考父节点及其子节点的选取,以及第二参考父节点及其子节点的选取不做限制性要求。
以第一参考父节点为各个第一骨骼节点中的第一根节点0、以第二参考父节点为各个第二骨骼节点中的第二根节点0为例,第一参考父节点的子节点为第一骨骼节点9,第二参考父节点的子节点为第二骨骼节点9,确定的第一根节点0到第一骨骼节点9的第一向量V,以及第二根节点0到第二骨骼节点9的第二向量V’,进一步地,确定V旋转到V’的旋转矩阵R,根据R旋转目标对象的骨架。
方式二
直接根据采集设备采集的数据确定旋转矩阵。具体的,获取目标对象在采集设备坐标系下的旋转角度以及位置信息,并根据旋转角度以及位置信息,确定移动后的目标对象的骨架相对于三维模型的骨架的旋转矩阵,进一步地,根据确定的旋转矩阵,旋转平移后的目标对象的骨架,完成二者坐标系的对齐统一。
坐标系统一后,在S403中,根据各个第一骨骼节点的驱动信息,确定各个第一骨骼节点全局变换矩阵。
本申请的实施例中,各个第一骨骼节点各自的驱动信息,组成了相应骨骼节点的局部变换矩阵P,根据更新后的各个第一骨骼节点之间的第一父子关系,将各个第一骨骼节点各自对应的局部变换矩阵,转换为相对于根节点的全局变换矩阵。以各个第一骨骼节点中任一一个非根节点的第一骨骼节点j为例,假设第一骨骼节点j在其父节点(即第一骨骼节点j-1)的局部坐标系下的局部变换矩阵为Pj-1,j,第一骨骼节点j-1在父节点(即第一骨骼节点.j-2)的局部坐标系下的局部变换矩阵为Pj-2,j-1,将Pj-1,j与Pj-2,j-1相乘,从而得到第一骨骼节点j在第一骨骼节点j-2的局部坐标系下的局部变换矩阵,依此类推,直至得到第一骨骼节点j在根节点的坐标系下的全局变换矩阵。
以图2中目标对象的骨架为例,骨骼节点2在根节点0的世界坐标系下的全局变换矩阵为P2,其中,P2=P0*P1,P1为骨骼节点2在骨骼节点1的局部坐标系下的局部变换矩阵,P0为骨骼节点1在根节点0的世界坐标系下的全局变换矩阵,P0*P1表示骨骼节点2在根节点0的世界坐标系下的全局变换矩阵。
S404:根据各个第一骨骼节点的全局变换矩阵,确定存在对应的第一骨骼节点的各个第二骨骼节点的全局变换矩阵,并根据各个第二骨骼节点的全局变换矩阵,驱动三维模型运动。
该步骤中,通过改变第二单一骨骼节点连接关节点的父子节点,如图3示出的,第二骨骼节点都存在对应的第一骨骼节点,因此,得到各个第一骨骼节点的全局变换矩阵后,针对三维模型中存在对应的第一骨骼节点的各个第二骨骼节点中的任一一个第二骨骼节点z,通过查找MAP表,确定其对应的第一骨骼节点z’,将第一骨骼节点z’的全局变换矩阵,作为第二骨骼节点z的全局变换矩阵,并根据第二骨骼节点z的全局变换矩阵,以及三维模型中隶属于第二骨骼节点的各个顶点的局部坐标,确定各个顶点的全局坐标,进一步地,根据存在对应的第一骨骼节点的各个第二骨骼节点对应的各个顶点的全局坐标,驱动三维模型运动,使得三维模型的运动姿态与目标对象的运动姿态相匹配,并根据当前视频帧中纹理数据,渲染驱动后的三维模型,从而完成三维模型的实时重建。
具体实施时,以隶属于第二骨骼节点z的任意一个顶点q为例,首先,将顶点q在第二骨骼节点z的局部坐标系下的局部坐标,与第二骨骼节点的全局变换矩阵Pz相乘,得到顶点q在根节点的世界坐标系下的全局坐标。
以图3中三维模型的骨架为例,假设隶属于骨骼节点2的顶点q的局部坐标为(X,Y,Z),顶点q在三维模型的骨架的世界坐标系下的全局坐标可以表示为Pq*(X,Y,Z),其中,Pq=P0*P1*P2,q,P2,q表示将顶点q变换到骨骼节点2的局部坐标系下的局部变换矩阵,P1*P2,q表示将顶点q变换到骨骼节点1的局部坐标系下的局部变换矩阵,P0*P1*P2,q表示将顶点q变换到骨骼节点0的全局坐标系下的全局变换矩阵。
本申请的上述实施例中,预先建立目标对象的骨架包含的第一骨骼节点与三维模型的骨架包含的第二骨骼节点之间的对应关系,基于该对应关系,确定各个第一骨骼节点中不存在对应的第二骨骼节点的第一单一骨骼节点,以及各个第二骨骼节点中不存在对应的第一骨骼节点的第二单一骨骼节点,由于各个骨骼节点之间存在父子关系,利用第一骨骼节点之间的第一父子关系,确定第一单一骨骼节点的目标子节点,并更新目标子节点的驱动信息,以及利用各个第二骨骼节点之间的第二父子关系,确定第二单一骨骼节点的目标父节点,并且更新目标父节点的子节点,保证更新后的第二骨骼节点均存在对应的第一骨骼节点,从而在目标对象的骨架与三维模型的骨架不一致时,仍可利用第二骨骼节点对应的第一骨骼节点的驱动信息,驱动三维模型运动,因而无需重建三维模型,减少了重建工作量,提高了三维模型的利用率;在驱动三维模型运动的过程中,对两个骨架的坐标系进行统一,使得第一骨骼节点的全局变换矩阵与三维模型的世界坐标系相对应,并将第一骨骼节点的全局变换矩阵作为对应的第二骨骼节点的全局变换矩阵,结合隶属于各个第二骨骼节点的各个顶点的局部坐标,确定三维模型中各个顶点的三维坐标,根据确定的三维坐标改变三维模型的运动姿态,使得三维模型与目标对象的运动姿态相匹配,从而实现模型的三维重建。
需要说明的是,本申请实施例提供的三维模型的骨骼确定方法,不仅适用于利用实时采集的目标对象的骨骼数据驱动三维模型运动,还是用于利用离线动画数据驱动三维模型的运动。例如,将若干视频帧的骨骼数据保存在文件中,逐帧从文件中获取骨骼数据,然后按照图4所示的流程驱动三维模型,即可实现模型动画的效果。
需要说明的是,本申请实施例中虽然不要求三维模型和骨骼动画数据的骨骼结构一致,但二者必须属于同一种物体种类,比如三维模型是人体,那么采集或者使用的骨骼动画数据也必须是人体的数据。
需要说明的是,本申请实施例中的重建设备包括但不限于智能电视、智能手机、笔记本电脑、台式机、VR/AR头戴式设备等具有交互功能的显示终端。
图6示例性示出了本申请实施提供的完整的利用目标对象的骨骼数据驱动三维重建的骨骼进行运动的方法流程图,如图6所示,该流程由重建设备执行,主要包括以下几步:
S601:根据三维模型的骨架生成索引数组M1,以及根据目标对象的骨架生成索引数组M2。
该步骤中,索引数组M1中记录了三维模型的骨架包含的各个第二骨骼节点之间的第二父子关系,索引数组M1中元素的顺序表示第二骨骼节点的编号,元素值表示第二骨骼节点的父节点的编号,索引数组M2中记录了目标对象的骨架包含的各个第一骨骼节点之间的第一父子关系,索引数组M2中元素的顺序表示第一骨骼节点的编号,元素值表示第一骨骼节点的父节点的编号。
S602:建立三维模型的骨架包含的各个第二骨骼节点和目标对象的骨架包含的各个第一骨骼节点的对应关系。
该步骤中,可以根据骨骼节点之间的距离建立对应关系,以第二骨骼节点x为例,确定其到各个第一骨骼节点的距离,将最小距离对应的第一骨骼节点y作为第二骨骼节点x的对应节点,记为(x,y)。其中,对应关系的可用映射表MAP表示,MAP中每个元素组中的第一个子元素表示三维模型的骨架中骨骼节点的编号,每个元素组中的第二个子元素表示目标对象的骨架中骨骼节点的编号,具体描述参见前述实施例,在此不再重复。
S603:根据建立的对应关系,确定各个第一骨骼节点中不存在对应的第二骨骼节点的第一单一骨骼节点,得到第一单一骨骼节点集合,以及确定各个第二骨骼节点中不存在对应的第一骨骼节点的第二单一骨骼节点,得到第二单一骨骼节点集合。
该步骤的具体描述参见前述实施例,在此不再重复。
S604:针对第一单一骨骼节点集合中的任一第一单一骨骼节点,根据索引数组M2和建立的对应关系,确定第一单一骨骼节点的目标子节点。
该步骤中,根据索引数组M2,确定第一单一骨骼节点的子节点,通过建立的对应关系,确定该子节点是否存在对应的第二骨骼节点,若存在,则确定该子节点为第一单一骨骼节点的目标子节点,若不存在,则将该子节点作为父节点,继续向下查找,直至确定的子节点存在对应的第二骨骼节点。具体过程参见前述实施例,再此不再重复。
S605:针对第二单一骨骼节点集合中的任一第二单一骨骼节点,根据索引数组M1和建立的对应关系,确定第二单一骨骼节点的目标父节点。
该步骤中,根据索引数组M 1,确定第二单一骨骼节点的父节点,通过建立的对应关系,确定该父节点是否存在对应的第一骨骼节点,若存在,则确定该父节点为第二单一骨骼节点的目标父节点,若不存在,则将该父节点作为子节点,继续向上查找,直至确定的父节点存在对应的第一骨骼节点。具体过程参见前述实施例,再此不再重复。
S606:将第二单一骨骼节点的全部子节点,作为目标父节点的子节点。
该步骤中,由于父节点的运动影响子节点的运动,而子节点的运动不影响父节点的运动,且第二单一骨骼节点不存在对应的第一骨骼节点,无法被驱动,因此,将其全部子节点作为目标父节点的子节点,使其子节点随目标父节点的运动而运动。
S607:针对每一视频帧,获取目标对象的骨架中各个第一骨骼节点的驱动信息。
该步骤的详细描述参见S40 1,在此不在重复。
S608:根据各个第一骨骼节点中第一单一骨骼节点的驱动信息,更新相应的目标子节点的驱动信息。
该步骤中,将各个目标子节点的驱动信息中的方向信息,替换为相应第一单一骨骼节点的方向信息,将各个目标子节点的驱动信息中的坐标信息,替换为目标子节点的坐标信息与相应第一单一骨骼节点的坐标信息的和,将各个目标子节点的驱动信息中的缩放信息,替换为相应第一单一骨骼节点的缩放信息。具体描述参见S402,在此不再重复。
S609:对目标对象的骨架进行平移和旋转,使其与三维模型的骨架的坐标系统一。
该步骤中,对目标对象的骨架进行平移,使目标对象的骨架中的根节点与三维模型的骨架的中的根节点重合,进一步地,确定目标对象的骨架相对于三维模型的骨架的旋转矩阵,根据确定的旋转矩阵对目标对象的骨架进行旋转,具体过程参见S403,在此不再重复。
S610:根据各个第一骨骼节点的驱动信息,得到相应骨骼节点的局部变换矩阵。
S611:根据更新后的各个第一骨骼节点之间的父子关系,将各个骨骼节点的局部变换矩阵转换为相对于根节点的全局变换矩阵。
其中,S610-S611的过程参见S403,在此不再重复。
S612:将存在对应的第二骨骼节点的第一骨骼节点的全局变换矩阵,作为相应的第二骨骼节点的全局变换矩阵,并根据三维模型中隶属于相应的第二骨骼节点的各个顶点的局部坐标,确定各个顶点在三维模型的世界坐标系下的三维坐标。
该步骤中,由于S606改变了第二单一骨骼节点关联的父子节点间的连接关系的,使得改变后的各个第二骨骼节点均存在对应的第一骨骼节点。详细描述参见S404,在此不再重复。
S613:根据各个第二骨骼节点对应的各个顶点的三维坐标,驱动三维模型的顶点运动。
该步骤中,由于改变后的各个第二骨骼节点均存在对应的第一骨骼节点,因此,在预先创建的三维模型的骨架与目标对象的骨架不一致时,仍可利用目标对象的骨骼数据,驱动三维模型运动,从而重建与目标对象的运动姿态相匹配的三维模型。
基于相同的技术构思,本申请实施例提供一种重建设备,该重建设备可实现本申请实施例提供的三维模型的骨骼驱动方法,且能达到同样的技术效果。
参见图7,该重建设备包括显示器701、存储器702、处理器703,显示器701,存储器702与处理器703通过总线(在图7中用双向箭头表示)连接,显示器701被配置为显示驱动后的三维模型;存储器702被配置为存储计算机程序指令;处理器703被配置为根据所述计算机程序指令,执行本申请上述实施例中三维模型的骨骼驱动方法。
本申请实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。
本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例的方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种三维模型的骨骼驱动方法,其特征在于,包括:
获取目标对象的骨架包含的各个第一骨骼节点的驱动信息,所述各个第一骨骼节点之间存在第一父子关系;
根据各个第一单一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息;其中,所述第一单一骨骼节点为所述各个第一骨骼节点中不存在对应的第二骨骼节点的节点,所述第二骨骼节点为预先构建的与所述目标对象同类型的三维模型的骨架包含的各个骨骼节点,各个第二骨骼节点之间存在第二父子关系,所述第二父子关系用于基于各个第二单一骨骼节点的子节点,更新相应第二单一骨骼节点的目标父节点的子节点,所述第二单一骨骼节点为所述各个第二骨骼节点中不存在对应的第一骨骼节点的节点;
将所述目标对象的骨架变换至所述三维模型的骨架对应的坐标系下,并根据所述各个第一骨骼节点的驱动信息,确定所述各个第一骨骼节点全局变换矩阵;
根据所述各个第一骨骼节点的全局变换矩阵,确定存在对应的第一骨骼节点的各个第二骨骼节点的全局变换矩阵,并根据各个第二骨骼节点的全局变换矩阵,驱动所述三维模型运动。
2.如权利要求1所述的方法,其特征在于,所述驱动信息包括所述第一骨骼节点在所述第一骨骼节点的父节点的局部坐标系中的坐标信息、以及所述第一骨骼节点相对于所述第一骨骼节点的父节点的方向信息和缩放信息;
所述根据各个第一单一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息,包括:
将所述目标子节点相对于相应第一单一骨骼节点的方向信息,替换为相应第一单一骨骼节点相对于相应第一单一骨骼节点的父节点的方向信息;以及
将所述目标子节点在相应第一单一骨骼节点的局部坐标系中的坐标信息,替换为所述目标子节点在相应第一单一骨骼节点的局部坐标系中的坐标信息,与相应第一单一骨骼节点在相应第一单一骨骼节点的父节点的局部坐标系中的坐标信息的和;以及
将所述目标子节点相对于相应第一单一骨骼节点的缩放信息,替换为相应第一单一骨骼节点相对于相应第一单一骨骼节点的父节点的缩放信息。
3.如权利要求1或2所述的方法,其特征在于,所述第一单一骨骼节点的目标子节点是通过以下方式确定的:
根据所述各个第一骨骼节点之间的第一父子关系,确定所述第一单一骨骼节点的子节点;
若所述子节点不存在对应的第二骨骼节点,则继续查找下一级子节点,直至查找的子节点存在对应的第二骨骼节点,将存在对应的第二骨骼节点的子节点作为所述第一单一骨骼节点的目标子节点,以更新所述第一父子关系。
4.如权利要求1所述的方法,其特征在于,所述第二单一骨骼节点的目标父节点是通过以下方式确定的:
根据所述各个第二骨骼节点之间的第二父子关系,确定所述第二单一骨骼节点的父节点;
若所述父节点不存在对应的第一骨骼节点,则继续查找上一级父节点,直至查找的父节点存在对应的第一骨骼节点,将存在对应的第一骨骼节点的父节点作为所述第二单一骨骼节点的目标父节点,以更新所述第二父子关系。
5.如权利要求1或4所述的方法,其特征在于,所述第二单一骨骼节点的目标父节点的子节点是通过以下方式更新的:
将所述第二单一骨骼节点的全部子节点,作为所述目标父节点的子节点。
6.如权利要求1所述的方法,其特征在于,所述将所述目标对象的骨架变换至所述三维模型的骨架对应的坐标系下,包括:
移动所述目标对象的骨架,使得所述各个第一骨骼节点中的根节点与所述各个第二骨骼节点中的根节点重合;
确定移动后的目标对象的骨架相对于所述三维模型的骨架的旋转矩阵,并根据确定的旋转矩阵旋转移动后的目标对象的骨架。
7.如权利要求6所述的方法,其特征在于,通过以下方式确定旋转矩阵:
在所述目标对象的骨架姿势与所述三维模型的骨架姿势一致时,确定所述各个第一骨骼节点中选取的第一参考父节点到所述第一参考父节点的任一子节点的第一向量,以及所述各个第二骨骼节点中选取的第二参考父节点到所述第二参考父节点的任一子节点的第二向量,并根据所述第一向量和所述第二向量,确定移动后的目标对象的骨架相对于所述三维模型的骨架的旋转矩阵;或者
获取所述目标对象在采集设备坐标系下的旋转角度以及位置信息,并根据所述旋转角度以及位置信息,确定移动后的目标对象的骨架相对于所述三维模型的骨架的旋转矩阵。
8.如权利要求1所述的方法,其特征在于,所述根据所述各个第一骨骼节点的驱动信息,确定所述各个第一骨骼节点全局变换矩阵,包括:
根据所述各个第一骨骼节点各自的驱动信息,生成相应第一骨骼节点的局部变换矩阵;
根据更新后的各个第一骨骼节点之间的第一父子关系,将所述各个第一骨骼节点各自对应的局部变换矩阵,转换为相对于根节点的全局变换矩阵。
9.如权利要求1所述的方法,其特征在于,根据所述各个第一骨骼节点的全局变换矩阵,确定存在对应的第一骨骼节点的各个第二骨骼节点的全局变换矩阵,并根据各个第二骨骼节点的全局变换矩阵,驱动所述三维模型运动,包括:
针对存在对应的第一骨骼节点的各个第二骨骼节点中的任一个,将对应的第一骨骼节点的全局变换矩阵,作为所述第二骨骼节点的全局变换矩阵;
根据所述第二骨骼节点的全局变换矩阵,以及所述三维模型中隶属于所述第二骨骼节点的各个顶点的局部坐标,确定所述各个顶点的全局坐标;
根据所述各个顶点的全局坐标,驱动所述三维模型运动。
10.一种重建设备,其特征在于,包括显示器、存储器、处理器:
所述显示器,与所述处理器连接,被配置为显示驱动后的三维模型;
所述存储器,与所述处理器连接,被配置为存储计算机程序指令;
所述处理器,被配置为根据所述计算机程序指令,执行以下操作:
获取目标对象的骨架包含的各个第一骨骼节点的驱动信息,所述各个第一骨骼节点之间存在第一父子关系;
根据各个第一单一骨骼节点的驱动信息,更新相应第一单一骨骼节点的目标子节点的驱动信息;其中,所述第一单一骨骼节点为所述各个第一骨骼节点中不存在对应的第二骨骼节点的节点,所述第二骨骼节点为预先构建的与所述目标对象同类型的三维模型的骨架包含的各个骨骼节点,各个第二骨骼节点之间存在第二父子关系,所述第二父子关系用于基于各个第二单一骨骼节点的子节点,更新相应第二单一骨骼节点的目标父节点的子节点,所述第二单一骨骼节点为所述各个第二骨骼节点中不存在对应的第一骨骼节点的节点;
将所述目标对象的骨架变换至所述三维模型的骨架对应的坐标系下,并根据所述各个第一骨骼节点的驱动信息,确定所述各个第一骨骼节点全局变换矩阵;
根据所述各个第一骨骼节点的全局变换矩阵,确定存在对应的第一骨骼节点的各个第二骨骼节点的全局变换矩阵,并根据各个第二骨骼节点的全局变换矩阵,驱动所述三维模型运动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110879708.9A CN113628307B (zh) | 2021-08-02 | 2021-08-02 | 一种三维模型的骨骼驱动方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110879708.9A CN113628307B (zh) | 2021-08-02 | 2021-08-02 | 一种三维模型的骨骼驱动方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113628307A CN113628307A (zh) | 2021-11-09 |
CN113628307B true CN113628307B (zh) | 2023-07-28 |
Family
ID=78382116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110879708.9A Active CN113628307B (zh) | 2021-08-02 | 2021-08-02 | 一种三维模型的骨骼驱动方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113628307B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113850893B (zh) * | 2021-11-30 | 2022-02-25 | 北京健康有益科技有限公司 | 骨骼点动作数据生成方法、装置、存储介质及电子设备 |
CN114926572A (zh) * | 2022-05-18 | 2022-08-19 | 聚好看科技股份有限公司 | 一种角色动画中衣物的驱动方法及设备 |
CN116030192B (zh) * | 2022-12-23 | 2023-07-07 | 深圳六零四五科技有限公司 | 一种基于动力学特征的骨骼段预处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204819537U (zh) * | 2015-07-31 | 2015-12-02 | 北京家度科技有限公司 | 一种多功能早教机器人 |
CN105528804A (zh) * | 2015-12-17 | 2016-04-27 | 网易(杭州)网络有限公司 | 计算机动画中骨骼链的处理方法及装置 |
CN112165630A (zh) * | 2020-10-16 | 2021-01-01 | 广州虎牙科技有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN112330805A (zh) * | 2020-11-25 | 2021-02-05 | 北京百度网讯科技有限公司 | 人脸3d模型生成方法、装置、设备及可读存储介质 |
CN112562043A (zh) * | 2020-12-08 | 2021-03-26 | 北京百度网讯科技有限公司 | 图像处理方法、装置和电子设备 |
CN112669414A (zh) * | 2020-12-22 | 2021-04-16 | 完美世界(北京)软件科技发展有限公司 | 动画数据的处理方法及装置、存储介质、计算机设备 |
CN112686993A (zh) * | 2021-01-27 | 2021-04-20 | 大连理工大学 | 用于三维对象的三维重建方法、设备及计算机存储介质 |
-
2021
- 2021-08-02 CN CN202110879708.9A patent/CN113628307B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204819537U (zh) * | 2015-07-31 | 2015-12-02 | 北京家度科技有限公司 | 一种多功能早教机器人 |
CN105528804A (zh) * | 2015-12-17 | 2016-04-27 | 网易(杭州)网络有限公司 | 计算机动画中骨骼链的处理方法及装置 |
CN112165630A (zh) * | 2020-10-16 | 2021-01-01 | 广州虎牙科技有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN112330805A (zh) * | 2020-11-25 | 2021-02-05 | 北京百度网讯科技有限公司 | 人脸3d模型生成方法、装置、设备及可读存储介质 |
CN112562043A (zh) * | 2020-12-08 | 2021-03-26 | 北京百度网讯科技有限公司 | 图像处理方法、装置和电子设备 |
CN112669414A (zh) * | 2020-12-22 | 2021-04-16 | 完美世界(北京)软件科技发展有限公司 | 动画数据的处理方法及装置、存储介质、计算机设备 |
CN112686993A (zh) * | 2021-01-27 | 2021-04-20 | 大连理工大学 | 用于三维对象的三维重建方法、设备及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
Lossy-to-lossless compression of medical volumetric data using three-dimensional integer wavelet transforms;Xiong Z;《IEEE transactions on medical imaging》;459-470 * |
基于Kinect的骨骼动画技术研究;黄健聪;《中国优秀硕士学位论文全文数据库信息科技辑》(第01期);I138-862 * |
Also Published As
Publication number | Publication date |
---|---|
CN113628307A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113628307B (zh) | 一种三维模型的骨骼驱动方法及设备 | |
Mihajlovic et al. | LEAP: Learning articulated occupancy of people | |
Tagliasacchi et al. | 3d skeletons: A state‐of‐the‐art report | |
CN110264563A (zh) | 一种基于orbslam2的八叉树建图方法 | |
CN110288681B (zh) | 角色模型的蒙皮方法、装置、介质及电子设备 | |
CN108629831A (zh) | 基于参数化人体模板和惯性测量的三维人体重建方法及系统 | |
Wang et al. | Sequential 3D human pose and shape estimation from point clouds | |
CN114782634B (zh) | 基于表面隐函数的单目图像着装人体重建方法与系统 | |
CN111062326B (zh) | 一种基于几何驱动的自监督人体3d姿态估计网络训练方法 | |
CN115222792B (zh) | 一种铁路桥梁数字孪生建模方法 | |
CN110007754B (zh) | 手与物体交互过程的实时重建方法及装置 | |
CN111028335B (zh) | 一种基于深度学习的点云数据的分块面片重建方法 | |
Boukhayma et al. | Surface motion capture animation synthesis | |
Zhu et al. | Mocanet: Motion retargeting in-the-wild via canonicalization networks | |
CN114863061A (zh) | 一种远程监护医学图像处理的三维重建方法及系统 | |
CN114429527A (zh) | 基于slam的远程操作场景三维重建方法 | |
Zhu et al. | ToothCR: a two-stage completion and reconstruction approach on 3D dental model | |
CN113989928A (zh) | 一种动作捕捉和重定向方法 | |
Allegre et al. | The hybridtree: Mixing skeletal implicit surfaces, triangle meshes, and point sets in a free-form modeling system | |
Tang et al. | Streaming 3D shape deformations in collaborative virtual environment | |
US20230104702A1 (en) | Transformer-based shape models | |
CN109859255A (zh) | 大动作运动物体的多视角非同时采集与重建方法 | |
CN110689616B (zh) | 基于三维数字地球的输水渠道参数化建模方法 | |
Hijazi et al. | Fully-automatic branching reconstruction algorithm: application to vascular trees | |
Chen et al. | Mesh sequence morphing |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |