CN116071485A - 一种人体三维重建方法及设备 - Google Patents
一种人体三维重建方法及设备 Download PDFInfo
- Publication number
- CN116071485A CN116071485A CN202111273524.4A CN202111273524A CN116071485A CN 116071485 A CN116071485 A CN 116071485A CN 202111273524 A CN202111273524 A CN 202111273524A CN 116071485 A CN116071485 A CN 116071485A
- Authority
- CN
- China
- Prior art keywords
- model
- parameterized
- node
- vertex
- human body
- 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
Images
Classifications
-
- 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
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及计算机视觉和计算机图形学技术领域,提供一种人体三维重建方法及设备,通过多个预设关键点和正面点云数据,对参数化人体模型和被驱动模型进行了两次拟合,得到目标参数化人体模型,根据预设的距离策略,自动地将被驱动模型的各个顶点与目标参数化人体模型的相应节点进行快速、合理的绑定,减少了绑定时间,提高了重建效率,并且根据绑定节点的蒙皮权重和获取的参数化人体模型的骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重,使得捕捉到的运动逻辑数据更能贴合被驱动模型,保证被驱动模型与重建对象的姿态和动作一致,避免“穿帮”和“滑步”现象,进而提高了重建模型的精度和真实性。
Description
技术领域
本申请涉及计算机视觉和计算机图形学技术领域,尤其涉及一种人体三维重建方法及设备。
背景技术
随着虚拟现实(Virtual Reality,VR)技术和增强现实(Augmented Reality,AR)技术逐渐从军事和工业领域正逐步扩展到娱乐和生活领域,人们的社交方式发生了改变。形象逼真的虚拟化身在虚拟空间中进行社交,重现了第一代社交方式中面对面的沉浸感,虚拟/增强现实社交方式可能成为继第四代移动互联网时代之后的第五代社交媒体。而人体三维重建作为虚拟社交的关键技术,具有重要的研究意义。
通常的,人体三维重建涉及形态、姿态和纹理数据。重建过程中,首先从各类传感器获得采集信息,然后使用三维重建方法对采集信息进行处理,从而重建出人体三维模型。
由于网络带宽的限制,目前,3D全息通讯和虚拟直播等社交场景中,大多采用″预建模+人体姿态″的方式实现实时驱动以满足带宽要求,通过运动捕捉技术获取人体姿态以实时驱动一个预先生成的人体三维模型,从而完成人体的动态三维重建。重建过程中,人体姿态与人体三维模型的运动匹配与绑定作为实时驱动的关键技术,直接影响了模型的重建质量。
目前,运动匹配和绑定主要有两种方式:一种是动画师手工绑定,这种方式精度高,但是往往需要花费数十个小时,导致模型的重建效率较低;另一种是自动将定义好的人体骨架绑定到人体三维模型,这种方式节约了绑定时间,但精度低,绑定不合理会造成驱动效果差,进而降低了重建模型的保真度。
发明内容
本申请实施例提供了一种人体三维重建方法即设备,用以提高三维模型的重建效率和重建精度。
第一方面,本申请实施例提供一种人体三维重建方法,包括:
获取预先构建的参数化人体模型中骨骼节点的运动逻辑数据;
根据预先构建的被驱动模型中多个预设关键点的三维坐标,对所述参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型;
分别提取所述被驱动模型和所述初始参数化人体模型正面视角下的点云数据,并根据提取的点云数据,确定模型之间的刚性变换关系;
根据所述刚性变换关系,将所述被驱动模型和所述初始参数化模型进行对齐并拟合,得到目标参数化人体模型;
根据预设的距离策略,将所述被驱动模型的各个顶点与所述目标参数化人体模型的相应节点进行绑定,并根据绑定节点的蒙皮权重和所述骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重;所述节点的蒙皮权重是基于所述骨骼节点预先确定的;
根据所述被驱动模型中各个顶点的运动逻辑数据和蒙皮权重,驱动所述被驱动模型运动,得到人体三维模型。
第二方面,本申请实施例提供一种重建终端,包括处理器、存储器、显示器和至少一个外部通信接口,所述至少一个外部通信接口、所述显示器、所述存储器和所述处理器之间通过总线连接,所述存储器存储有计算机程序指令,所述处理器被配置为基于所述计算机程序指令,执行以下操作:
通过所述至少一个外部通信接口,获取预先构建的参数化人体模型中骨骼节点的运动逻辑数据;
根据预先构建的被驱动模型中多个预设关键点的三维坐标,对所述参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型;
分别提取所述被驱动模型和所述初始参数化人体模型正面视角下的点云数据,并根据提取的点云数据,确定模型之间的刚性变换关系;
根据所述刚性变换关系,将所述被驱动模型和所述初始参数化模型进行对齐并拟合,得到目标参数化人体模型;
根据预设的距离策略,将所述被驱动模型的各个顶点与所述目标参数化人体模型的相应节点进行绑定,并根据绑定节点的蒙皮权重和所述骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重;所述节点的蒙皮权重是基于所述骨骼节点预先确定的;
根据所述被驱动模型中各个顶点的运动逻辑数据和蒙皮权重,驱动所述被驱动模型运动,得到人体三维模型并由所述显示器显示。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行人体三维重建方法。
本申请的上述实施例中,基于多个预设关键点,对参数化人体模型进行刚性变换,得到拟合后的初始参数化人体模型,并根据被驱动模型和初始参数化人体模型正面视角下的点云数据,将被驱动模型和初始参数化模型进行对齐并进行非刚性拟合,得到目标参数化人体模型,进一步地,根据预设的距离策略,自动地将被驱动模型的各个顶点与目标参数化人体模型的相应节点进行快速、合理的绑定,减少了绑定时间,提高了重建效率,并且根据绑定节点的蒙皮权重和获取的参数化人体模型的骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重使得捕捉到的运动逻辑数据更能贴合被驱动模型,避免“穿帮”和“滑步”现象,进而提高了重建模型的精度;根据绑定后确定的各个顶点的运动逻辑数据和蒙皮权重,驱动被驱动模型运动,使得被驱动模型与重建对象的姿态和动作一致,保证模型的真实性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请实施例提供的实时驱动系统的架构图;
图2示例性示出了本申请实施例提供的人体三维重建方法的整体框架图;
图3示例性示出了本申请实施例提供的人体三维重建方法中运动匹配和绑定的逻辑图;
图4示例性示出了本申请实施例提供的人体三维重建的方法流程图;
图5示例性示出了本申请实施例提供的模型关键点示意图;
图6示例性示出了本申请实施例提供的模型正面点云提取示意图;
图7示例性示出了本申请示例提供的重建终端的结构图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
为清楚描述本申请的实施例,下面对本申请的名词进行解释说明。
骨骼节点:三维模型中人体关节处的点。
顶点:三维模型由多个多边形(如:三角形或四边形)网格组成,每个多边形就可以看成一个顶点。顶点越多,模型越精细。
节点:是对三维模型的顶点进行空间采样后得到的点。
目前,远程社交交互系统的核心技术涉及实时三维重建技术、二维或三维数据的编解码及传输技术、沉浸式渲染显示技术等。其中,三维重建技术中涉及的三维数据包括描述三维几何的顶点数据、面片数据和纹理数据,顶点数据包括顶点位置、顶点法线、顶点颜色。通常的,重建模型的精度越高,所需的三维重建的体素分辨率越高,数据量的增长会越剧烈,数据传输所用的时间越长,这样,会造成渲染时延,出现卡顿的现象。因此,在没有成熟高效高保真的三维数据压缩技术的前提下,基于动态的三维重建方法中,云端传输技术对重建模型的质量及显示效果有重要影响。
例如,以网速为30FPS为例,192*192*128分辨率的体素需要的传输码率为256Mbps,这种分辨率大小对应模型在渲染显示端的成像效果非常差,而384*384*384分辨率的体素需要的传输码率为1120Mbps,数据量呈爆炸形增长,在理想的网络带宽条件下,也难以实时传输。
随着运动捕捉技术和网络技术的发展,在保证重建模型精度的前提下,为减少传输的数据量,降低网络带宽的要求,减小渲染时延,可采用″预建模+人体姿态″实时驱动的方式实现人体的动态三维重建。首先,预先构建一个人体三维建模,采用运动匹配和绑定方法,将驱动模型的运动逻辑数据与被驱动的人体三维模型的运动逻辑数据进行对齐,并将模型数据和绑定关系保存在渲染显示端;然后,利用有标记或无标记的基于2D或3D人体姿态检测算法,实时提取并传输用于驱动人体三维模型的运动逻辑数据。相对于传输三维重建数据,减少了传输的数据量,降低了传输网络的链路压力,这样,基于5G广域网可以实现三维模型全息通讯,满足模型精度和实时性的要求。
图1为本申请实施例提供的″预建模+人体姿态″实时驱动的系统架构图,如图1示出的,该系统包括运动捕捉模块、运动匹配和绑定模块、运动驱动模块共三个模块。
(1)运动捕捉模块:根据运动数据捕捉方式的不同,可以分为有标记点的运动捕捉方法和无标记点的运动捕捉方法。
有标记点的动作捕捉方法是一种″侵入″式动作捕捉方法,该方法要求采集对象佩戴不同类型的传感器在所要获得运动逻辑数据的节点处,然后通过实时获取传感器的信号数据,采用捕捉算法将信号数据转换为用于驱动的运动逻辑数据。其中,佩戴的传感器的类型可以分为机电式、电磁式、惯性式和光学式,各类传感器各有优劣,但整体上可以提供比较准确、鲁棒和实时的动作捕捉性能。由于有标记点的动作捕捉方法无需借助外部成像设备,因此,运动数据的采集不受场地限制。
目前,常用的有标记点的人体动作捕捉方法包括光学式动作捕捉方法和惯性式动作捕捉方法。随着微机电系统(Micro-Electro-Mechanical System,MEMS)技术的发展,惯性测量单元(Inertial Measurement Unit,IMU)的体积和成本有所降低,促进了惯性式动作捕捉方法的应用,通过在人体不同部位上佩戴IMU即可实时获得该部位的空间加速度和姿态,从而快速捕捉人体运动逻辑数据。
无标记点的运动捕捉方法一般时实时获取采集对象的2D图像或者是3D点云,运用机器学习或深度学习算法,实时获取人体骨架的几何信息,再利用空间变换方法,将获取的几何信息转换为用于驱动的运动逻辑数据。无标记点的运动捕捉方法不需要在采集对象身上佩戴任何传感器,不会对人体运动有过多的干扰或者限制。该方法往往采用单个或多个相机作为传感器,采用基于计算机视觉和计算机图形学的动作捕捉方法来对人体动作进行捕捉。由于采集到的是相机拍摄到的图像,相对于稀疏绑定在人体关节处的传感器,可以获得更稠密的信息,因此,无标记点的运动捕捉方法常常用于重建自由度较高的非刚性运动的人体稠密表面模型及获取人体渲染材质信息。
目前,常用的无标记点的运动捕捉方法可以分为基于图像识别的无标记动作捕捉和基于模板跟踪的无标记动作捕捉两大类。
(2)运动匹配和绑定模块:常用的运动匹配和绑定方法包括手工嵌入绑定和自动嵌入绑定两种。
手工嵌入绑定是由专业的动画师将预先定义的驱动模型的驱动节点与被驱动模型的上的顶点绑定,获得每一个顶点与驱动节点的绑定关系和蒙皮权重。具体的,专业的动画师通过专业的绑定软件,将提供驱动数据的驱动模型的节点,手工绑定到对应的被驱动模型的顶点;再对驱动结果进行验证,根据验证结果对绑定的节点进行调整,得到最佳的模型嵌入和绑定关系,然后根据调整后的节点计算得到被驱动模型中每个顶点的运动逻辑数据。
以3D制作软件为Maya为例,动画师可直接借助于软件接口或插件进行动画制作。具体的,动画师通过图形化的点击和拉拽操作,将人体骨骼节点与被驱动模型进行绑定以使人体骨骼嵌入被驱动模型中,该软件会自动确定初始蒙皮权重,动画师根据运动逻辑数据模拟驱动过程,并根据驱动效果,更新和修正初始蒙皮权重,完成运动匹配和绑定的优化。
自动嵌入绑定是根据机器学习、图形学等算法,将实时获取的产生运动逻辑数据的预设驱动模型的骨架信息(骨架中的骨骼节点通过人体的铰链结构连接),拟合到被驱动模型的内部,再通过距离等指标,计算得到被驱动模型中每个顶点的蒙皮权重和运动逻辑数据,进而驱动整个人体三维模型运动。
(3)运动驱动模块:根据蒙皮算法、顶点的蒙皮权重,将驱动模型的运动逻辑数据转换为被驱动模型的运动逻辑数据,也就是获取驱动模型的实时姿态和动作,使得被驱动模型做出与驱动模型一致的姿态和动作,达到远程驱动的效果。
基于图1所示的实时驱动的系统架构,能够保证精准的运动捕捉、合理的驱动骨架与被驱动模型的运动逻辑数据的匹配与绑定,以及高效率、高还原度的蒙皮动画算法,是实现基于实时驱动的全息通讯的核心技术,而运动捕捉和运动驱动相对比较成熟,影响实施驱动的关键在于运动匹配和绑定。
目前,高精度的实时驱动系统中,需要在运动捕捉模块应用传感器获取标记点的运动逻辑数据,并将标记点与被驱动的模型进行手工嵌入绑定,最后应用物理仿真和蒙皮算法将传感器捕捉的运动逻辑数据转换为被驱动模型的运动逻辑数据,进而完成实时驱动。这种系统的优点是驱动效果精度高、逼真,可以任意根据需要调整和校正绑定结果和驱动结果。但是手工嵌入绑定需要较大的人力、物力成本,运动捕捉传感器昂贵,运动匹配和绑定时间比较长、不能自动化。而基于无标记点的实时驱动系统,通常是先将定义好的驱动模型与被驱动模型进行自动的绑定,然后利用2D或者3D的人体骨骼点检测算法实时捕捉驱动模型的运动逻辑数据,最后通过蒙皮算法完成对被驱动模型的实时驱动。这种系统的优点是驱动系统简单、易于搭建和使用,但是驱动的效果不够真实,往往由于运动匹配和绑定的不合理,导致被驱动的模型发生不正常的动作、″穿帮″等现象。
为了解决运动匹配和绑定模块中的问题,本申请实施例提供了一种人体三维重建方法及设备,该方法中的运动匹配和绑定过程,既可以实现无标记点系统的简单性、便捷性,又可以达到有标记点系统的合理性、准确性,实现实时驱动效果。具体的,借助于参数化人体模型,将驱动模型和被驱动模型进行快速、合理地自动绑定,相对于手工嵌入绑定,节约了人力物力,减少了绑定时间,进而提高了整个三维重建的效率;相对于现有的自动绑定,提高了绑定的准确性和性,使得捕捉到的运动数据更能贴合被驱动模型,避免″穿帮″和″滑步″现象,提高了模型的保真度;进一步地,利用捕捉到的运动逻辑数据驱动被驱动模型时,提高了模型的重建精度。
下面结合附图详细描述本申请的实施例。
图2为本申请实施例提供的人体三维重建方法的整体框架图,如图2示出的,首先,通过运动捕捉技术,实时提取待重建对象对应的驱动模型骨架的姿态和动作信息,并转换为用于驱动的运动逻辑数据;然后,通过三维重建算法,重建被驱动模型,将参数化人体模型与被驱动模型进行两次拟合,使参数化人体模型嵌入到被驱动模型中,并根据人体骨架铰链原理,得到被驱动模型的骨架信息;对拟合后的参数化人体模型的顶点进行空间采样,得到节点变形图,将被驱动模型的顶点与参数化人体模型的节点进行绑定,确定每个顶点的蒙皮权重;最后,借助于参数化人体模型,将驱动模型的运动逻辑数据转换为被驱动模型的运动逻辑数据,运用线性蒙皮或双四元数蒙皮算法,按照每个顶点的蒙皮权重,将运动逻辑数据转换为被驱动模型的姿态和动作。
图3为本申请实施例提供的人体三维重建方法中运动匹配和绑定的逻辑图,如图3示出的,运动匹配和绑定主要包括三部分,分别是:1)对参数化人体模型进行采样,获得节点变形图;2)参数化人体模型和被驱动模型的拟合;3)被驱动模型中顶点的蒙皮权重和运动逻辑数据的计算。其中:
第一部分是定义一个可以嵌入到被驱动模型内部的参数化人体模型,对参数化人体模型表面的所有顶点进行空间均匀采样,得到节点变形图,每个节点关联多个骨骼节点。由于参数化人体模型定义了人体骨架信息(包含骨骼节点的索引信息及各个骨骼节点的父子关系),根据顶点与关联的骨骼节点的距离,可以得到参数化人体模型上每个顶点的蒙皮权重,对顶点进行空间均匀采样后,可以得到所有节点的蒙皮权重。当获得了参数化人体模型中人体骨架的驱动信息(运动逻辑数据)后,根据节点与骨骼节点的关联关系,就可以直接获得每个节点的驱动信息。
第二部分是拟合优化的过程,将参数化人体模型嵌入到被驱动模型中,整个拟合包括刚性拟合和非刚性拟合。首先,将参数化人体模型与被驱动模型进行刚性拟合,然后,将参数化人体模型和被驱动模型进行非刚性拟合。经两次拟合优化,得到目标参数化人体模型的形状参数和姿态参数。拟合目的是让被驱动模型中的每个顶点与参数化人体模型中的节点进行绑定,从而在获得参数化人体模型的节点的驱动信息后,根据绑定关系得到被驱动模型中顶点的驱动信息。
第三部分是根据拟合后的参数化人体模型和被驱动模型,按照距离策略,将被驱动摸着中的每个顶点与参数化人体模型中距离最近的至少一个节点进行绑定,根据绑定后的至少一个节点与相应顶点的距离,确定相应顶点的蒙皮权重。
通过上述运动匹配和绑定,在得捕捉到采集对象骨架的运动逻辑数据后,驱动参数化人体模型,得到节点变形图中各个节点的运动逻辑数据,进一步地,转换为被驱动模型的运动逻辑数据,按照每个顶点的蒙皮权重,驱动被驱动模型。
基于上述运动匹配和绑定的逻辑框图,图4示例性示出了本申请实施例提供的人体三维重建方法的方法流程图,该流程由重建终端执行,主要包括以下几步:
S401:获取预先构建的参数化人体模型中骨骼节点的运动逻辑数据。
执行S401时,预先构建一个参数化人体模型,将构建的参数化人体模型与待重建对象的驱动模型进行骨骼节点的匹配,当运动捕捉模块实时获取到待重建对象对应的驱动模型的骨骼节点的运动逻辑数据后,根据匹配关系,可以获得参数化人体模型中骨骼节点的运动逻辑数据。其中,运动逻辑数据可采用有标记点的运动捕捉方法,也可采用无标记点的运动捕捉方法,此部分不作为本申请的重点,对此不再详细展开。
在一种可选的实施方式中,参数化人体模型可以为SMPL模型,还可以为STAR模型。以参数化人体模型为SMPL模型为例,SMPL模型的表达公式为:
其中,所述表示人体形状参数,所述表示人体姿态参数,W()表示线性蒙皮函数,J()表示预测不同人体关节点位置的函数,T表示人体模型网格,Bs()表示人体形状参数对人体模型网格T的影响函数,Bp()表示人体姿态参数对人体模型网格T的影响函数,Tp()表示在人体形状参数和人体姿态参数的共同作用下对人体模型网格T进行形变的函数,s、p、ω分别表示形状权重、姿态权重、蒙皮权重。
S402:根据预先构建的被驱动模型中多个预设关键点的三维坐标,对参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型。
在一种可选的实施方式中,采用三维重建算法,基于参数化人体模型的姿态(如:Tpose),预先构建一个待重建对象的被驱动模型(还可以是数字卡通模型)。在执行S402时,确定被驱动模型中全部顶点的中心点,并确定中心点在世界坐标系中的三维坐标,中心点的三维坐标,可以作为对参数化人体模型的进行刚性变换的平移初值。得到被驱动模型的中心点的三维坐标后,按照被驱动模型中多个预设关键点与中心点的预设缩放比例,根据中心点的三维坐标,确定多个预设关键点的三维坐标。
关键点的选取方式参见图5,如图5所示,预设关键点的数量为7个,分别位于模型的头顶、左手、右手、左小腿、右小腿、左腰部、和右腰部。
进一步地,根据被驱动模型中多个预设关键点的是三维坐标,对参数化人体模型进行粗拟合。具体的,基于被驱动模型中的多个预设关键点,提取参数化人体模型中相应的关键点,根据被驱动模型中多个预设关键点的三维坐标,对参数化人体模型中相应的关键点进行刚性变换,得到参数化人体模型中初始形状参数和根节点的姿态参数,并根据初始形状参数和根节点的姿态参数,更新参数化人体模型,得到初始参数化人体模型。
S403:分别提取被驱动模型和初始参数化人体模型正面视角下的点云数据,并根据提取的点云数据,确定模型之间的刚性变换关系。
为了提高被驱动模型和初始参数化人体模型间刚性变换关系的准确性及求解速度,在一种可选的实施方式中,可使用被驱动模型和初始参数化人体模型正面视角下的点云数据进行求解。
具体的,在执行S403时,根据模型的三维空间坐标系,选取被驱动模型和初始参数化人体模型的一个二维投影面,以其中的一个模型为例,二维投影面的选取如图6所示,将模型的正方向的作为二维投影平面,分别提取被驱动模型和初始参数化人体模型在二维投影平面的点云数据。进一步地,采用迭代最近点(Iterative Closest Point,ICP)算法,根据提取的正面点云数据,确定被驱动模型和初始参数化人体模型之间的刚性变换关系(包括旋转矩阵和平移向量),从而优化参数化人体模型的初始形状参数和根节点的姿态参数。
S404:根据刚性变换关系,将被驱动模型和初始参数化模型进行对齐并拟合,得到目标参数化人体模型。
在执行S404时,根据被驱动模型和初始参数化人体模型之间的刚性变换关系,将被驱动模型和初始参数化模型中的顶点进行刚性对齐,按照建立的非刚性变换的预设能量函数,根据被驱动模型中的各个顶点数据(如:坐标、法向等),对刚性对齐后的初始参数化模型进行拟合,并利用高斯牛顿法,得到初始参数化模型的目标形状参数和各个节点的姿态参数,根据目标形状参数和各个节点的姿态参数,得到目标参数化人体模型。
在一种可选的实施方式中,被驱动模型和初始参数化模型点云之间迭代求解的预设能量函数定义为:
Eloss=Esdata+Epri 公式3
其中,Esdata为数据项,用于衡量参数化人体模型的点云数据与被驱动模型的点云数据中的对应点对之间的对齐程度,为Epri为参数化人体模型中的人体姿态先验项。
S405:根据预设的距离策略,将被驱动模型的各个顶点与目标参数化人体模型的相应节点进行绑定,并根据绑定节点的蒙皮权重和骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重。
在执行S405时,对目标参数化人体模型表面的顶点进行空间均匀采样获得各个节点,根据预设的距离策略,将被驱动模型的各个顶点与目标参数化人体模型的相应节点进行绑定。
以被驱动模型的各个顶点中任意一个顶点为例,确定目标参数化人体模型的各个节点中,与该顶点距离最近的至少一个节点,并将至少一个节点与一个顶点进行绑定。
在目标参数化人体模型中,每个节点受相关联的多个骨骼节点驱动,当获得骨骼节点的运动逻辑数据后,便可得到相应节点的运动逻辑数据,并且,每个顶点的蒙皮权重是基于该顶点与关联的骨骼节点的距离确定的,是固定值,而节点是通过对顶点进行空间均匀采样得到的,因此,根据采样顶点的蒙皮权重,可以得到每个节点的蒙皮权重。而目标参数化人体模型中的节点与被驱动模型的顶点进行了绑定,进而,可以根据各个顶点绑定的节点,确定各个顶点的运动逻辑数据和蒙皮权重。
以被驱动模型中的各个顶点中的任意一个顶点为例,描述顶点的运动逻辑数据和蒙皮权重的计算过程。具体的,分别确定该顶点绑定的至少一个节点到该顶点的距离,对至少一个距离进行归一化,得到该顶点的蒙皮权重,根据该顶点绑定的至少一个节点各自关联的目标参数化模型中各个骨骼节点的运动逻辑数据,以及至少一个节点各自的蒙皮权重,确定至少一个节点各自的运动逻辑数据,根据该顶点的蒙皮权重以及该顶点绑定的至少一个节点的运动逻辑数据,确定该顶点的运动逻辑数据。
以一个顶点绑定n个节点为例,顶点的蒙皮权重的计算公式为:
其中,i表示第i个节点,n表示一个顶点绑定的节点数目,di表示第i个节点到一个顶点的距离。可选的,n=4。
S406:根据被驱动模型中各个顶点的运动逻辑数据和蒙皮权重,驱动被驱动模型运动,得到人体三维模型。
在一种可选的实施方式中,采用线性蒙皮或者双四元数蒙皮算法,依据人体骨骼铰链原理,根据各个顶点的运动逻辑数据和蒙皮权重,驱动被驱动模型运动,使得被驱动模型的姿态和动作与待重建对象一致,得到人体三维模型,完成人体三维重建。
需要说明的是,本申请实施例的三维重建方法,也适用人体局部模型的重建。例如,当重建头部三维模型时,选用的参数化模型可以为FLAM模型、3DMM模型;当重建手部三维模型时,选用的参数化模型可以是MANO模型。
本申请的上述实施例中,预先构建参数化人体模型和被驱动模型,通过参数化人体模型和驱动模型的匹配,将实时捕捉的驱动模型骨架的运动逻辑数据,转换为参数化人体模型骨架的运动逻辑数据,进一步地,基于多个预设关键点和正面点云数据,对参数化人体模型和被驱动模型进行刚性拟合,使参数化人体模型和被驱动模型进行对齐,并按照预设能量函数,对参数化人体模型和被驱动模型进行非刚性拟合,得到目标参数化人体模型,根据预设的距离策略,自动地将参数化人体模型中采样得到的节点与被驱动模型的顶点进行快速、合理地绑定,相对于手工绑定,节约了人力、物力,节约了绑定时间,进而提高了模型的重建效率;相对于现有的自动绑定,提高了绑定的准确性,减少了″穿帮″和″滑步″现象,提高了模型的保真度;进一步地,根据绑定关系,确定每个顶点的蒙皮权重和运动逻辑数据,从而驱动被驱动模型,使得捕捉到的运动逻辑数据更能贴合被驱动模型,提高了模型的重建精度。
需要说明的是,本申请实施例的上述终端,可以是智能手机、平板电脑、台式机、笔记本电脑、智能电视以及VR头戴式显示设备、AR眼镜等具有交互功能的终端。
基于相同的技术构思,本申请实施例提供一种重建终端,该重建终端可执本申请实施例提供的人体三维重建的方法流程,并能达到同样的技术效果,在此不再重复。
参见图7,该重建终端包括处理器701、存储器702、显示器703和至少一个外部通信接口704,至少一个外部通信接口704、显示器703和存储器702与处理器701通过总线705连接;存储器702中存储有计算机程序,处理器701通过执行计算机程序实现以下操作:
通过至少一个外部通信接口704,获取预先构建的参数化人体模型中骨骼节点的运动逻辑数据;
根据预先构建的被驱动模型中多个预设关键点的三维坐标,对参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型;
分别提取被驱动模型和初始参数化人体模型正面视角下的点云数据,并根据提取的点云数据,确定模型之间的刚性变换关系;
根据刚性变换关系,将被驱动模型和初始参数化模型进行对齐并拟合,得到目标参数化人体模型;
根据预设的距离策略,将被驱动模型的各个顶点与目标参数化人体模型的相应节点进行绑定,并根据绑定节点的蒙皮权重和骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重;节点的蒙皮权重是基于骨骼节点预先确定的;
根据被驱动模型中各个顶点的运动逻辑数据和蒙皮权重,驱动被驱动模型运动,得到人体三维模型并由显示器703显示。
可选的,处理器701根据预设的距离策略,将被驱动模型的各个顶点与目标参数化人体模型的相应节点进行绑定,具体被配置为:
对目标参数化人体模型表面的点进行采样,得到目标参数化人体模型的各个节点;
针对被驱动模型的各个顶点中任意一个顶点,确定目标参数化人体模型的各个节点中,与一个顶点距离最近的至少一个节点,并将至少一个节点与一个顶点进行绑定。
可选的,处理器701根据绑定节点的蒙皮权重和骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重,具体被配置为:
针对各个顶点中的任意一个顶点,执行以下操作:
分别确定一个顶点绑定的至少一个节点到一个顶点的距离,对至少一个距离进行归一化,得到一个顶点的蒙皮权重;
根据至少一个节点各自关联的各个骨骼节点的运动逻辑数据,以及至少一个节点各自的蒙皮权重,确定至少一个节点各自的运动逻辑数据;
根据至少一个节点的运动逻辑数据和一个顶点的蒙皮权重,确定一个顶点的运动逻辑数据。
可选的,处理器701通过以下方式确定多个预设关键点的三维坐标:
确定被驱动模型的中心点在世界坐标系中的三维坐标;
按照被驱动模型中多个预设关键点与中心点的预设缩放比例,根据中心点的三维坐标,确定多个预设关键点的三维坐标。
可选的,处理器701对参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型,具体被配置为:
对参数化人体模型中相应的关键点进行刚性变换,确定参数化人体模型的初始形状参数和根节点的姿态参数;
根据初始形状参数和根节点的姿态参数,更新参数化人体模型,得到初始参数化人体模型。
可选的,处理器701根据刚性变换关系,将被驱动模型和初始参数化模型进行对齐并拟合,得到目标参数化人体模型,具体被配置为:
按照非刚性变换的预设能量函数,根据被驱动模型中的各个顶点数据,对对齐后的初始参数化模型进行拟合,得到初始参数化模型的目标形状参数和各个节点的姿态参数;
根据目标形状参数和各个节点的姿态参数,得到目标参数化人体模型。
本申请实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。
本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例的方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种人体三维模型重建方法,其特征在于,包括:
获取预先构建的参数化人体模型中骨骼节点的运动逻辑数据;
根据预先构建的被驱动模型中多个预设关键点的三维坐标,对所述参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型;
分别提取所述被驱动模型和所述初始参数化人体模型正面视角下的点云数据,并根据提取的点云数据,确定模型之间的刚性变换关系;
根据所述刚性变换关系,将所述被驱动模型和所述初始参数化模型进行对齐并拟合,得到目标参数化人体模型;
根据预设的距离策略,将所述被驱动模型的各个顶点与所述目标参数化人体模型的相应节点进行绑定,并根据绑定节点的蒙皮权重和所述骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重;所述节点的蒙皮权重是基于所述骨骼节点预先确定的;
根据所述被驱动模型中各个顶点的运动逻辑数据和蒙皮权重,驱动所述被驱动模型运动,得到人体三维模型。
2.如权利要求1所述的方法,其特征在于,所述根据预设的距离策略,将所述被驱动模型的各个顶点与所述目标参数化人体模型的相应节点进行绑定,包括:
对所述目标参数化人体模型表面的点进行采样,得到所述目标参数化人体模型的各个节点;
针对所述被驱动模型的各个顶点中任意一个顶点,确定所述目标参数化人体模型的各个节点中,与所述一个顶点距离最近的至少一个节点,并将所述至少一个节点与所述一个顶点进行绑定。
3.如权利要求1所述的方法,其特征在于,所述根据绑定节点的蒙皮权重和所述骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重,包括:
针对所述各个顶点中的任意一个顶点,执行以下操作:
分别确定所述一个顶点绑定的至少一个节点到所述一个顶点的距离,对所述至少一个距离进行归一化,得到所述一个顶点的蒙皮权重;
根据所述至少一个节点各自关联的各个骨骼节点的运动逻辑数据,以及所述至少一个节点各自的蒙皮权重,确定所述至少一个节点各自的运动逻辑数据;
根据所述至少一个节点的运动逻辑数据和所述一个顶点的蒙皮权重,确定所述一个顶点的运动逻辑数据。
4.如权利要求1所述的方法,其特征在于,通过以下方式确定所述多个预设关键点的三维坐标:
确定所述被驱动模型的中心点在世界坐标系中的三维坐标;
按照所述被驱动模型中多个预设关键点与所述中心点的预设缩放比例,根据所述中心点的三维坐标,确定所述多个预设关键点的三维坐标。
5.如权利要求1-4中任一项所述的方法,其特征在于,对所述参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型,包括:
对所述参数化人体模型中相应的关键点进行刚性变换,确定所述参数化人体模型的初始形状参数和根节点的姿态参数;
根据所述初始形状参数和根节点的姿态参数,更新所述参数化人体模型,得到初始参数化人体模型。
6.如权利要求1-4中任一项所述的方法,其特征在于,所述根据所述刚性变换关系,将所述被驱动模型和所述初始参数化模型进行对齐并拟合,得到目标参数化人体模型,包括:
按照非刚性变换的预设能量函数,根据所述被驱动模型中的各个顶点数据,对对齐后的初始参数化模型进行拟合,得到所述初始参数化模型的目标形状参数和各个节点的姿态参数;
根据所述目标形状参数和所述各个节点的姿态参数,得到目标参数化人体模型。
7.一种重建终端,其特征在于,包括处理器、存储器、显示器和至少一个外部通信接口,所述至少一个外部通信接口、所述显示器、所述存储器和所述处理器之间通过总线连接,所述存储器存储有计算机程序指令,所述处理器被配置为基于所述计算机程序指令,执行以下操作:
通过所述至少一个外部通信接口,获取预先构建的参数化人体模型中骨骼节点的运动逻辑数据;
根据预先构建的被驱动模型中多个预设关键点的三维坐标,对所述参数化人体模型中相应的关键点进行刚性变换,得到初始参数化人体模型;
分别提取所述被驱动模型和所述初始参数化人体模型正面视角下的点云数据,并根据提取的点云数据,确定模型之间的刚性变换关系;
根据所述刚性变换关系,将所述被驱动模型和所述初始参数化模型进行对齐并拟合,得到目标参数化人体模型;
根据预设的距离策略,将所述被驱动模型的各个顶点与所述目标参数化人体模型的相应节点进行绑定,并根据绑定节点的蒙皮权重和所述骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重;所述节点的蒙皮权重是基于所述骨骼节点预先确定的;
根据所述被驱动模型中各个顶点的运动逻辑数据和蒙皮权重,驱动所述被驱动模型运动,得到人体三维模型并由所述显示器显示。
8.如权利要求7所述的重建终端,其特征在于,所述处理器根据预设的距离策略,将所述被驱动模型的各个顶点与所述目标参数化人体模型的相应节点进行绑定,具体被配置为:
对所述目标参数化人体模型表面的点进行采样,得到所述目标参数化人体模型的各个节点;
针对所述被驱动模型的各个顶点中任意一个顶点,确定所述目标参数化人体模型的各个节点中,与所述一个顶点距离最近的至少一个节点,并将所述至少一个节点与所述一个顶点进行绑定。
9.如权利要求7所述的重建终端,其特征在于,所述处理器根据绑定节点的蒙皮权重和所述骨骼节点的运动逻辑数据,确定相应顶点的运动逻辑数据和蒙皮权重,具体被配置为:
针对所述各个顶点中的任意一个顶点,执行以下操作:
分别确定所述一个顶点绑定的至少一个节点到所述一个顶点的距离,对所述至少一个距离进行归一化,得到所述一个顶点的蒙皮权重;
根据所述至少一个节点各自关联的各个骨骼节点的运动逻辑数据,以及所述至少一个节点各自的蒙皮权重,确定所述至少一个节点各自的运动逻辑数据;
根据所述至少一个节点的运动逻辑数据和所述一个顶点的蒙皮权重,确定所述一个顶点的运动逻辑数据。
10.如权利要求7所述的重建终端,其特征在于,通过以下方式确定所述多个预设关键点的三维坐标:
确定所述被驱动模型的中心点在世界坐标系中的三维坐标;
按照所述被驱动模型中多个预设关键点与所述中心点的预设缩放比例,根据所述中心点的三维坐标,确定所述多个预设关键点的三维坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111273524.4A CN116071485A (zh) | 2021-10-29 | 2021-10-29 | 一种人体三维重建方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111273524.4A CN116071485A (zh) | 2021-10-29 | 2021-10-29 | 一种人体三维重建方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116071485A true CN116071485A (zh) | 2023-05-05 |
Family
ID=86182438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111273524.4A Pending CN116071485A (zh) | 2021-10-29 | 2021-10-29 | 一种人体三维重建方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116071485A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117542123A (zh) * | 2024-01-09 | 2024-02-09 | 轻威科技(绍兴)有限公司 | 基于稀疏6节点的人体骨骼解算方法和系统 |
-
2021
- 2021-10-29 CN CN202111273524.4A patent/CN116071485A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117542123A (zh) * | 2024-01-09 | 2024-02-09 | 轻威科技(绍兴)有限公司 | 基于稀疏6节点的人体骨骼解算方法和系统 |
CN117542123B (zh) * | 2024-01-09 | 2024-04-26 | 轻威科技(绍兴)有限公司 | 基于稀疏6节点的人体骨骼解算方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109461180B (zh) | 一种基于深度学习的三维场景重建方法 | |
CN111598998B (zh) | 三维虚拟模型重建方法、装置、计算机设备和存储介质 | |
CN109285215B (zh) | 一种人体三维模型重建方法、装置和存储介质 | |
CN109003325B (zh) | 一种三维重建的方法、介质、装置和计算设备 | |
CN106803267B (zh) | 基于Kinect的室内场景三维重建方法 | |
CN111784821B (zh) | 三维模型生成方法、装置、计算机设备及存储介质 | |
CN112837406B (zh) | 一种三维重建方法、装置及系统 | |
CN110569768B (zh) | 人脸模型的构建方法、人脸识别方法、装置及设备 | |
WO2021063271A1 (zh) | 人体模型重建方法、重建系统及存储介质 | |
CN108921926A (zh) | 一种基于单张图像的端到端三维人脸重建方法 | |
CN116109798B (zh) | 图像数据处理方法、装置、设备及介质 | |
CN103268629B (zh) | 三维人体形态和姿态的无标记点实时复原方法 | |
US11170552B2 (en) | Remote visualization of three-dimensional (3D) animation with synchronized voice in real-time | |
KR20120072128A (ko) | 디지털 클론 생성 장치 및 방법 | |
CN101916454A (zh) | 基于网格变形和连续优化的高分辨率人脸重建方法 | |
CN113313818B (zh) | 一种三维重建方法、装置及系统 | |
CN109147025B (zh) | 一种面向rgbd三维重建的纹理生成方法 | |
CN106875437A (zh) | 一种面向rgbd三维重建的关键帧提取方法 | |
CN113421328B (zh) | 一种三维人体虚拟化重建方法及装置 | |
CN115797555A (zh) | 一种基于深度相机的人体实时三维重建方法 | |
CN113989434A (zh) | 一种人体三维重建方法及设备 | |
CN114863061A (zh) | 一种远程监护医学图像处理的三维重建方法及系统 | |
CN112927348B (zh) | 一种基于多视点rgbd相机高分辨率人体三维重建方法 | |
CN116071485A (zh) | 一种人体三维重建方法及设备 | |
CN117711066A (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 |