首页 / 专利库 / 人工智能 / 位姿 / 姿态 / 数据合成方法和装置、存储介质和电子装置

数据合成方法和装置、存储介质和电子装置

阅读:337发布:2020-05-08

专利汇可以提供数据合成方法和装置、存储介质和电子装置专利检索,专利查询,专利分析的服务。并且本 申请 提供了一种数据合成方法和装置、存储介质和 电子 装置,其中,该方法包括:构造用于构建目标对象的三维对象模型的 姿态 信息,姿态信息为三维对象模型中的关 节点 的轴 角 信息;根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;根据模型参数信息,构建三维对象模型的初始模型;对初始模型进行 渲染 ,得到三维对象模型;将三维对象模型与背景图像合成为目标对象的图像数据。通过本 发明 ,解决了相关技术中的三维对象重建的方式,存在由于 训练数据 需要高 精度 的光捕设备进行采集,导致训练数据的采集成本高的问题。,下面是数据合成方法和装置、存储介质和电子装置专利的具体信息内容。

1.一种数据合成方法,其特征在于,包括:
构造用于构建目标对象的三维对象模型的姿态信息,其中,所述姿态信息为所述三维对象模型中的关节点的轴信息;
根据所述姿态信息、所述三维对象模型的形状信息和与所述三维对象模型对应的镜头信息,确定所述三维对象模型的模型参数信息,其中,所述形状信息用于控制所述三维对象模型的体型,所述镜头信息用于控制所述三维对象模型的大小;
根据所述模型参数信息,构建所述三维对象模型的初始模型;
对所述初始模型进行渲染,得到所述三维对象模型;
将所述三维对象模型与背景图像合成为所述目标对象的图像数据。
2.根据权利要求1所述的方法,其特征在于,
构造用于构建所述目标对象的所述三维对象模型的所述姿态信息包括:随机生成用于构建所述目标对象的所述三维对象模型的所述姿态信息;
所述方法还包括:随机生成所述三维对象模型中的所述形状信息和与所述三维对象模型对应的所述镜头信息。
3.根据权利要求1所述的方法,其特征在于,根据所述姿态信息、所述三维对象模型的所述形状信息和与所述三维对象模型对应的所述镜头信息,确定所述三维对象模型的所述模型参数信息包括:
将所述姿态信息、所述形状信息和所述镜头信息输入到皮肤多人线性SMPL模型中,得到所述SMPL模型输出的所述模型参数信息,其中,所述模型参数信息包括:所述关节点的二维坐标信息,所述关节点的三维坐标信息,所述关节点的旋转信息和三角顶点的三维坐标信息,所述三角顶点用于确定构建所述三维对象模型的网格。
4.根据权利要求1所述的方法,其特征在于,根据所述姿态信息、所述三维对象模型的所述形状信息和与所述三维对象模型对应的所述镜头信息,确定所述三维对象模型的所述模型参数信息包括:
根据所述姿态信息、所述形状信息和所述镜头信息,确定所述关节点的关节点信息,其中,所述关节点的关节点信息包括:所述关节点的二维坐标信息,所述关节点的三维坐标信息和所述关节点的旋转信息;
根据所述姿态信息、所述形状信息和所述镜头信息,确定出所述三维对象模型的三角顶点的三维坐标信息,其中,所述模型参数信息包括:所述关节点的二维坐标信息,所述关节点的三维坐标信息,所述关节点的旋转信息和所述三角顶点的三维坐标信息,所述三角顶点用于构建所述三维对象模型的网格。
5.根据权利要求1所述的方法,其特征在于,根据所述模型参数信息,构建所述三维对象模型的初始模型包括:
根据所述三维对象模型的三角顶点的三维坐标信息,确定所三维对象模型的模型网格,其中,所述模型参数信息包括所述三角顶点的三维坐标信息,所述模型网格为由所述三角顶点组成的三角形区域;
对所述模型网格进行三维填充,得到所述初始模型。
6.根据权利要求1所述的方法,其特征在于,对所述初始模型进行渲染,得到所述三维对象模型包括:
通过UV贴图对所述初始模型进行渲染,得到所述三维对象模型。
7.根据权利要求1至6中任一项所述的方法,其特征在于,将所述三维对象模型与所述背景图像合成为所述目标对象的所述图像数据包括:
获取所述背景图像的背景图像矩阵和背景深度矩阵;
根据所述背景深度矩阵,确定所述背景图像的图像原点,其中,所述图像原点为所述背景图像中,深度值与所述背景深度矩阵的平均深度之间的距离小于或者等于深度距离阈值的点;
将所述图像原点设置为所述背景图像上与所述三维对象模型的模型原点对应的点,合并所述三维对象模型和所述背景图像,得到所述目标对象的所述图像数据。
8.根据权利要求7所述的方法,其特征在于,
在合并所述三维对象模型和所述背景图像,得到所述目标对象的所述图像数据之前,所述方法还包括:获取所述三维对象模型的初始深度矩阵;将所述初始深度矩阵中与对象区域对应的第一位置点置为目标值,将所述初始深度矩阵中与非对象区域对应的第二位置点置为固定值,得到所述三维对象模型的模型深度矩阵,其中,所述对象区域为投影面上所述三维对象模型投影在的区域,所述非对象区域为所述投影面中除了所述对象区域以外的区域,所述目标值为所述三维对象模型上投影到所述第二位置点的一个或多个点中,距离所述投影面最近的点与所述投影面的距离;对所述模型深度矩阵进行二值化操作,得到所述三维对象模型在所述投影面上的蒙版矩阵;
合并所述三维对象模型和所述背景图像,得到所述目标对象的所述图像数据包括:根据所述蒙版矩阵合并所述三维对象模型和所述背景图像,得到所述目标对象的所述图像数据。
9.一种数据合成装置,其特征在于,包括:
构造单元,用于构造用于构建目标对象的三维对象模型的姿态信息,其中,所述姿态信息为所述三维对象模型中的关节点的轴角信息;
确定单元,用于根据所述姿态信息、所述三维对象模型的形状信息和与所述三维对象模型对应的镜头信息,确定所述三维对象模型的模型参数信息,其中,所述形状信息用于控制所述三维对象模型的体型,所述镜头信息用于控制所述三维对象模型的大小;
构建单元,用于根据所述模型参数信息,构建所述三维对象模型的初始模型;
渲染单元,用于对所述初始模型进行渲染,得到所述三维对象模型;
合成单元,用于将所述三维对象模型与背景图像合成为所述目标对象的图像数据。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至8中任一项所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至8中任一项所述的方法。

说明书全文

数据合成方法和装置、存储介质和电子装置

技术领域

[0001] 本申请涉及计算机领域,尤其涉及一种数据合成方法和装置、存储介质和电子装置。

背景技术

[0002] 3D(3Dimensions,三维)对象重建(例如,人体重建)作为计算机视觉中一个任务,是从单个的图片或视频中重建或恢复对象姿态的3D模型,可以应用到多个应用领域,例如,虚拟形象,交互游戏等。
[0003] 目前,给予深度学习模型的3D对象重建算法训练数据的依赖性非常强,需要大量的数据才可以训练出一个效果良好的模型,但是这些训练数据需要高精度的光捕设备进行采集,采集的成本非常高。
[0004] 可见,相关技术中的三维对象重建的方式,存在由于训练数据需要高精度的光捕设备进行采集,导致训练数据的采集成本高的问题。发明内容
[0005] 本申请实施例提供了一种数据合成方法和装置、存储介质和电子装置,以至少解决相关技术中的三维对象重建的方式,存在由于训练数据需要高精度的光捕设备进行采集,导致训练数据的采集成本高的问题。
[0006] 根据本申请实施例的一个方面,提供了一种数据合成方法,包括:构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴信息;根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,其中,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;根据模型参数信息,构建三维对象模型的初始模型;对初始模型进行渲染,得到三维对象模型;将三维对象模型与背景图像合成为目标对象的图像数据。
[0007] 根据本申请实施例的另一个方面,提供了一种数据合成装置,包括:构造单元,用于构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息;确定单元,用于根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,其中,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;构建单元,用于根据模型参数信息,构建三维对象模型的初始模型;渲染单元,用于对初始模型进行渲染,得到三维对象模型;合成单元,用于将三维对象模型与背景图像合成为目标对象的图像数据。
[0008] 可选地,上述装置还包括:生成单元,构造单元包括:生成模,其中,生成模块,用于随机生成用于构建目标对象的三维对象模型的姿态信息;生成单元,用于随机生成三维对象模型中的形状信息和与三维对象模型对应的镜头信息。
[0009] 可选地,确定单元包括:输入模块,用于将姿态信息、形状信息和镜头信息输入到皮肤多人线性SMPL模型中,得到SMPL模型输出的模型参数信息,其中,模型参数信息包括:关节点的二维坐标信息,关节点的三维坐标信息,关节点的旋转信息和三角顶点的三维坐标信息,三角顶点用于确定构建三维对象模型的网格。
[0010] 可选地,确定单元包括:第一确定模块,用于根据姿态信息、形状信息和镜头信息,确定关节点的关节点信息,其中,关节点的关节点信息包括:关节点的二维坐标信息,关节点的三维坐标信息和关节点的旋转信息;第二确定模块,用于根据姿态信息、形状信息和镜头信息,确定出三维对象模型的三角顶点的三维坐标信息,其中,模型参数信息包括:关节点的二维坐标信息,关节点的三维坐标信息,关节点的旋转信息和三角顶点的三维坐标信息,三角顶点用于构建三维对象模型的网格。
[0011] 可选地,构建单元包括:第三确定模块,用于根据三维对象模型的三角顶点的三维坐标信息,确定所三维对象模型的模型网格,其中,模型参数信息包括三角顶点的三维坐标信息,模型网格为由三角顶点组成的三角形区域;填充模块,用于对模型网格进行三维填充,得到初始模型。
[0012] 可选地,渲染单元包括:渲染模块,用于通过UV贴图对初始模型进行渲染,得到三维对象模型。
[0013] 可选地,合成单元包括:获取模块,用于获取背景图像的背景图像矩阵和背景深度矩阵;第四确定模块,用于根据背景深度矩阵,确定背景图像的图像原点,其中,图像原点为背景图像中,深度值与背景深度矩阵的平均深度之间的距离小于或者等于深度距离阈值的点;合并模块,用于将图像原点设置为背景图像上与三维对象模型的模型原点对应的点,合并三维对象模型和背景图像,得到目标对象的图像数据。
[0014] 可选地,上述装置还包括:获取单元、设置单元和二值化单元,合并模块包括:合并子模块,其中,获取单元,用于在合并三维对象模型和背景图像,得到目标对象的图像数据之前,获取三维对象模型的初始深度矩阵;设置单元,用于将初始深度矩阵中与对象区域对应的第一位置点置为目标值,将初始深度矩阵中与非对象区域对应的第二位置点置为固定值,得到三维对象模型的模型深度矩阵,其中,对象区域为投影面上三维对象模型投影在的区域,非对象区域为投影面中除了对象区域以外的区域,目标值为三维对象模型上投影到第二位置点的一个或多个点中,距离投影面最近的点与投影面的距离;二值化单元,用于对模型深度矩阵进行二值化操作,得到三维对象模型在投影面上的蒙版矩阵;合并子模块,用于根据蒙版矩阵合并三维对象模型和背景图像,得到目标对象的图像数据。
[0015] 根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0016] 根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0017] 通过本发明,采用构造用于构建目标对象的三维对象模型的姿态信息的方式,构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息;根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,其中,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;根据模型参数信息,构建三维对象模型的初始模型;对初始模型进行渲染,得到三维对象模型;将三维对象模型与背景图像合成为目标对象的图像数据,由于构造三维对象模型的姿态信息,并根据三维对象模型的姿态信息、形状信息和镜头信息进行三维对象模型的构建,可以替代光捕设备产生大量的训练数据,达到了降低训练数据采集成本的技术效果,从而解决相关技术中的三维对象重建的方式,存在由于训练数据需要高精度的光捕设备进行采集,导致训练数据的采集成本高的问题。附图说明
[0018] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0019] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1是根据本申请实施例的一种可选的服务器硬件结构框图
[0021] 图2是根据本申请实施例的一种可选的数据合成方法的流程图
[0022] 图3是根据本申请实施例的一种可选的数据合成方法的示意图;
[0023] 图4是根据本申请实施例的另一种可选的数据合成方法的示意图;
[0024] 图5是根据本申请实施例的又一种可选的数据合成方法的示意图;
[0025] 图6是根据本申请实施例的一种可选的初始模型的示意图;
[0026] 图7是根据本申请实施例的一种可选的三维对象模型的示意图;以及,
[0027] 图8是根据本申请实施例的一种可选的数据合成装置的结构框图。

具体实施方式

[0028] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0029] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0030] 根据本申请实施例的一个方面,提供了一种数据合成方法。可选地,该方法可以在服务器、用户终端或者类似的运算装置中执行。以运行在服务器上为例,图1是根据本申请实施例的一种可选的服务器的硬件结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于MCU(Microcontroller Unit,微处理器)或者FPGA(Field Programmable Gate Array,现场可编程逻辑们阵列)等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0031] 存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的数据合成方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0032] 传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个NIC(Network Interface Controller,网络适配器),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为RF(Radio Frequency,射频)模块,其用于通过无线方式与互联网进行通讯。
[0033] 在本实施例中提供了一种运行于上述服务器的数据合成方法,图2是根据本申请实施例的一种可选的数据合成方法的流程图,如图2所示,该流程包括如下步骤:
[0034] 步骤S202,构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息;
[0035] 步骤S204,根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,其中,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;
[0036] 步骤S206,根据模型参数信息,构建三维对象模型的初始模型;
[0037] 步骤S208,对初始模型进行渲染,得到三维对象模型;
[0038] 步骤S210,将三维对象模型与背景图像合成为目标对象的图像数据。
[0039] 可选地,上述步骤的执行主体可以为服务器、用户终端等,但不限于此,其他能够进行数据合成的装置,均可以用于执行本申请实施例中的方法。
[0040] 可选地,本申请实施例中的数据合成方法可以但不限于应用于移动端AR(Augmented Reality,增强现实)解决方案中的集成算法、虚拟形象的基础算法、或者动画制作、电影制作中的动作捕捉方案等,当不限于此。
[0041] 通过本实施例,采用构造用于构建目标对象的三维对象模型的姿态信息的方式,由于构造三维对象模型的姿态信息,并根据三维对象模型的姿态信息、形状信息和镜头信息进行三维对象模型的构建,可以替代光捕设备产生大量的训练数据,解决了相关技术中的三维对象重建的方式,存在由于训练数据需要高精度的光捕设备进行采集,导致训练数据的采集成本高的问题,降低了训练数据采集成本。
[0042] 下面结合图2对本申请实施例中的数据合成方法进行说明。
[0043] 在步骤S202中,构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息。
[0044] 构建的三维对象模型可以对应于目标对象。上述目标对象可以是人形对象、动物对象或者其他具有关节的对象。目标对象可以包含一个或多个关节,三维对象模型中的关节点可以对应于一个或多个关节中的一个或多个。
[0045] 例如,人体可以具有L个关节,可活动的关节数量为M个,3D人形模型的关节点数量可以有N个,其中,N≤M<L。
[0046] 为了构建目标对象的三维对象模型,可以首先构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息。三维对象模型的关节点可以有多个,可以通过Pose矩阵表示。
[0047] 构造姿态信息的方式可以有多种,例如,可以从预定的轴角集中抽取出一个候选轴角作为关节点的轴角。不同的关节点,对应的轴角集可以相同,也可以不同。
[0048] 除了姿态信息以外,还可以获取三维对象模型的形状信息和镜头信息,其中,形状信息可以用于控制三维对象模型的体型(例如,高矮、胖瘦、胳膊粗细、腿粗细等等),镜头信息用于控制三维对象模型的大小(例如,缩放系数、x轴位移和y轴位移)。
[0049] 三维对象模型的形状信息和镜头信息可以是固定的,也可以是从形状集抽取出的一个候选形状作为三维对象模型的形状,和/或,从镜头集中抽取出的一个候选镜头作为三维对象模型的镜头。
[0050] 作为一种可选的实施例,随机生成用于构建目标对象的三维对象模型的姿态信息;随机生成三维对象模型中的形状信息和与三维对象模型对应的镜头信息。
[0051] 三维对象模型可以具有姿态信息、形状信息和镜头信息三个模型参数,三个参数可以采取随机产生,使其可以生成各式各样的动作。随机生成的方式可以是:在预定范围内随机生成三维对象模型的姿态信息、形状信息和镜头信息。
[0052] 例如,如图3所示,数据合成流程的整体输入为左侧一竖排,可以包括:
[0053] (1)姿态信息(Pose矩阵)
[0054] 输入的Pose矩阵P(24×3)表示的是24个关节点Local表示的轴角信息(相对于三个坐标轴的转动角度),可以理解为利用姿态信息来控制3D模型的摆出各种动作。
[0055] (2)形状信息(Shape矩阵)
[0056] 输入的Shape矩阵S(1×10)表示经过PCA(Principal Component Analysis,主成分分析)降维后的形状向量。用于控制三维对象模型的形状矩阵可以是多维的,可以通过PCA进行降维处理,以得到降维后的Shape矩阵(10维的形状向量)。
[0057] (3)镜头信息(Cams)
[0058] 输入的Cams(1×3)表示的是3D模型的大小,以及在x、y坐标系中的偏移量,包括:
[0059] 1)人体缩放系数sb;
[0060] 2)人体x轴位移ox,在x轴上相对于原点的位移;
[0061] 3)人体y轴位移oy,在y轴上相对于原点的位移。
[0062] 通过本实施例,通过随机生成三维对象模型的姿态信息、形状信息和镜头信息,利用随机产生的Pose数据,可以生成各种姿态的3D对象模型,进而解决现有数据姿态不够多样性的问题,达到提高姿态信息多样信息的效果。
[0063] 在步骤S204中,根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息。
[0064] 根据三维对象模型的姿态信息、形状信息和镜头信息,可以确定出三维对象模型的模型参数信息。上述模型参数为构建三维对象模型所需的参数,可以包括但不限于以下至少之一:形状信息,镜头信息,关节点坐标信息,关节点的旋转信息,三角顶点信息。
[0065] 如图4所示,人体是由很多个三角顶点组成的三角形构成的,圆的点就是关节点,各个关节点的信息可以如图5所示。
[0066] 作为一种可选的实施例,根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息包括:根据姿态信息、形状信息和镜头信息,确定关节点的关节点信息,其中,关节点的关节点信息包括:关节点的二维坐标信息,关节点的三维坐标信息和关节点的旋转信息;根据姿态信息、形状信息和镜头信息,确定出三维对象模型的三角顶点的三维坐标信息,其中,模型参数信息包括:关节点的二维坐标信息,关节点的三维坐标信息,关节点的旋转信息和三角顶点的三维坐标信息,三角顶点用于构建三维对象模型的网格。
[0067] 根据姿态信息、形状信息和镜头信息,可以确定出三维对象模型的结构单元的单元信息(例如,关节点的坐标信息和旋转信息,三角顶点信息),从而确定出三维对象模型。
[0068] 可以首先根据三维对象模型的姿态信息、形状信息和镜头信息,确定关节点的关节点信息,关节点的关节点信息包括:关节点的2D坐标信息,关节点的3D坐标信息和关节点的旋转信息;然后,根据三维对象模型的姿态信息、形状信息和镜头信息,确定出三维对象模型的三角顶点的三维坐标信息。
[0069] 三角顶点可以用于构建三维对象模型的网格,也就是,构建三维对象模型的三角形。
[0070] 通过本实施例,根据姿态信息、形状信息和镜头信息确定关节点的关节点信息,进而确定三角顶点的三维坐标信息,可以保证三维对象模型的模型参数信息确定的准确性。
[0071] 作为一种可选的实施例,根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息包括:将姿态信息、形状信息和镜头信息输入到皮肤多人线性SMPL模型中,得到SMPL模型输出的模型参数信息,其中,模型参数信息包括:关节点的二维坐标信息,关节点的三维坐标信息,关节点的旋转信息和三角顶点的三维坐标信息,三角顶点用于确定构建三维对象模型的网格。
[0072] 为了确定三维对象模型的模型参数信息,还可以采用已有的算法模型,例如,SMPL(Skinned Multi-Person Linear,皮肤多人线性)模型,获取三维对象模型的模型参数信息。
[0073] 可以将得到的三维对象模型的姿态信息、形状信息和镜头信息输入到SMPL模型,以获得2D/3D关节点坐标信息,三角顶点信息和关节点的旋转信息。
[0074] SMPL模型内部是矩阵运算,通过矩阵运算即可求出三角顶点,和关节点的2D/3D坐标,两个运算过程可以是相对独立的,三角顶点和关节点的坐标信息之间联系,存在于预先训练好的SMPL的矩阵中。
[0075] 例如,如图3所示,可以将姿态信息(Pose矩阵P(24×3))、形状信息(Shape矩阵S(1×10))和镜头信息(Cams(1×3))输入到SMPL模型,得到SMPL模型输出的关节点坐标信息Joints,包括:2D关节点坐标信息(24×2)和3D关节点坐标信息(24×3);三角顶点信息Verts矩阵V(6890×3);旋转信息Rotations矩阵R(24×3×3),其中,6890为三角顶点的数量,6890个三角顶点可以构建10000多个三角形。
[0076] 通过本实施例,通过SMPL模型进行三维对象模型的模型参数信息的确定,可以提高模型参数信息确定的效率。
[0077] 在步骤S206中,根据模型参数信息,构建三维对象模型的初始模型。
[0078] 上述模型参数信息包括三角顶点的三维坐标信息,而三维对象模型的模型网格为由三角顶点组成的三角形区域。根据确定的模型参数信息,可以构建三维对象模型的初始模型(初始对象模型)。初始对象模型为未进行着色的对象模型。
[0079] 作为一种可选的实施例,根据模型参数信息,构建三维对象模型的初始模型包括:根据三维对象模型的三角顶点的三维坐标信息,确定所三维对象模型的模型网格,其中,模型参数信息包括三角顶点的三维坐标信息,模型网格为由三角顶点组成的三角形区域;对模型网格进行三维填充,得到初始模型。
[0080] 根据三角顶点的三维坐标信息,可以确定出三维对象模型的模型网格(三角形),通过对模型网格进行三维填充,可以得到三维对象模型的初始模型。
[0081] 除了对模型网格进行三维填充,还可以获取三维对象模型的深度矩阵和蒙版矩阵,以便进行后续的模型处理,例如,三维对象模型和背景图像之间的合并等。
[0082] 作为一种可选的实施例,获取三维对象模型的模型深度矩阵包括:获取三维对象模型的初始深度矩阵;将初始深度矩阵中与对象区域对应的第一位置点置为目标值,将初始深度矩阵中与非对象区域对应的第二位置点置为固定值,得到三维对象模型的模型深度矩阵,其中,对象区域为投影面上三维对象模型投影在的区域,非对象区域为投影面中除了对象区域以外的区域,目标值为三维对象模型上投影到第二位置点的一个或多个点中,距离投影面最近的点与投影面的距离。
[0083] 三维对象模型的模型深度矩阵对应于从预定方向(例如,沿z轴方向,或者z轴反方向)查看三维对象模型时,三维对象模型的深度矩阵(此时,投影面可以是x轴和y轴所在的平面)。深度矩阵的大小为:w3d×h3d×1,每个元素点(像素点)的值与在该三维对象模型中的x、y轴坐标为w3d×h3d的点中,z轴的最大值与最小值的差相关。
[0084] 例如,可以将每个三角顶点进行三维填充,填充的值为Z轴的坐标,获得一个w3d×h3d×1的矩阵Fv。可以初始化一个w3d×h3d×1的矩阵D,D上一个位置dx-y(x列,y行),对应于Fv中对应位置的(zmax-zmin)维的向量Vx-y,当Vx-y和为0,说明处于非人体区域,dx-y=255;当Vx-y和不为0,在这个位置存在多个面,选择最大值作为dx-y的取值(最前面的点的值),处理完矩阵D上的每个点之后,这个矩阵D就是3D对象模型的深度矩阵。
[0085] 在得到深度矩阵D之后,可以将深度矩阵D进行二值化操作,得到投影面的蒙版(Mask)矩阵M。
[0086] 例如,可以将深度矩阵D不为255的点置为1,255的点置为0,可以得到投影面的蒙版(Mask)矩阵M。
[0087] 通过本实施例,根据三角顶点的三维坐标信息,确定三维对象模型的模型网格,并对模型网格进行三维填充,得到初始模型,可以提高三维对象模型表征目标对象的能
[0088] 在步骤S208中,对初始模型进行渲染,得到三维对象模型。
[0089] 得到的初始模型为非彩色的,例如,黑白的、或者灰度的(如图6所示)。为了构建的三维对象模型的真实性,可以对初始模型进行渲染,得到三维对象模型。
[0090] 作为一种可选的实施例,对初始模型进行渲染,得到三维对象模型包括:通过UV贴图对初始模型进行渲染,得到三维对象模型。
[0091] 在得到3D对象模型的所有参数,可以利用Unity将UVMap(UV贴图)渲染到初始模型上,得到3D对象模型。
[0092] 例如,如图6和图7所示,图6为未加UVmap的初始模型,图7为加了UVmap的3D对象模型。
[0093] 通过本实施例,通过UV贴图对初始模型进行渲染,得到三维对象模型,可以提高得到的三维对象模型的视觉真实性。
[0094] 在步骤S210中,将三维对象模型与背景图像合成为目标对象的图像数据。
[0095] 在得到三维对象模型之后,可以将三维对象模型与背景图像进行合并,得到目标对象的图像数据。
[0096] 作为一种可选的实施例,将三维对象模型与背景图像合成为目标对象的图像数据包括:获取背景图像的背景图像矩阵和背景深度矩阵;根据背景深度矩阵,确定背景图像的图像原点,其中,图像原点为背景图像中,深度值与背景深度矩阵的平均深度之间的距离小于或者等于深度距离阈值的点;将图像原点设置为背景图像上与三维对象模型的模型原点对应的点,合并三维对象模型和背景图像,得到目标对象的图像数据。
[0097] 对于背景图像,可以获取背景图像的背景图像矩阵和背景图像的背景深度矩阵。背景图像可以是真实的背景图片,或者通过图片处理得到的背景图片。背景图片可以是从图片数据库中选取出的,选取的方式可以是随机选取,或者通过其他方式选取,其中,图片数据库中可以是先有的深度数据集,包括:RGB图像的背景图片和深度信息组成的数据样本对。
[0098] 例如,背景图片的Image矩阵为:Ib(wi×hi×3),背景深度(Depth)矩阵为:Db(wi×hi)。
[0099] 在获取到背景图像的背景深度矩阵,可以确定背景图像的图像原点。可以通过深度图计算背景图像的图像原点P:计算背景深度Depth矩阵Db的平均深度,找到和平均深度距离最小的点作为原点P。
[0100] 在得到图像原点P之后,可以将三维对象模型的原点放置到原点P上,得到合并后的图像数据。上述三维对象模型的原点可以为人的原点,人的原点可以是24个关节点的其中一个,例如,骨盆(Pelvis)。
[0101] 在进行三维对象模型和背景图像合并时,可以根据三维对象模型的蒙版矩阵进行合并。
[0102] 作为一种可选的实施例,合并三维对象模型和背景图像,得到目标对象的图像数据包括:根据蒙版矩阵合并三维对象模型和背景图像,得到目标对象的图像数据。
[0103] 可以将背景图像的RGB图像和三维对象模型的深度图像只合并Mask区域内的部分,即,将RGB图像的Mask区域内的部分替换为3D对象模型的信息,区域外的部分保留原有信息。
[0104] 通过本实施例,根据蒙版矩阵进行三维对象模型和背景图像的合并,可以提高合并的效率,保证合并后的图像数据的真实性。
[0105] 合并后的图像数据,可以作为训练数据进行3D对象重建算法的训练过程,还可以应用于其他的场景中,本实施例中对此不作具体限定。
[0106] 下面结合可选示例对上述的数据合成方法进行说明。针对深度学习模型的3D人体重建算法的训练数据需要高精度的光捕设备进行采集,采集成本高,以及已有的数据集的动作比较单一,不包含一些动作幅度大、高难度动作的样本,这对模型训练的精度有着很大的影响。
[0107] 如图3所示,数据集产生流程的输入为:
[0108] (1)姿态信息,Pose矩阵P(24×3);
[0109] (2)形状信息,Shape矩阵S(1×10);
[0110] (3)镜头信息,Cams(1×3);
[0111] (4)背景图片,Image矩阵Ib(wi×hi×3);
[0112] (5)背景深度,Depth矩阵Db(wi×hi×3)。
[0113] 数据集产生流程的输出为:
[0114] (1)镜头信息Cams(1×3);
[0115] (2)形状信息,Shape矩阵S(1×10);
[0116] (3)关节点坐标信息Joints,包括:
[0117] 2D关节点坐标信息(24×2);
[0118] 3D关节点坐标信息(24×3)。
[0119] (4)三角顶点信息,Verts矩阵V(6890×3);
[0120] (5)旋转信息,Rotations矩阵R(24×3×3);
[0121] (6)投影面的蒙版矩阵,Mask矩阵M(w3d×h3d);
[0122] (7)投影面的深度矩阵,Depth矩阵D(w3d×h3d);
[0123] (8)合成图片矩阵,Image矩阵I(wi×hi×3);
[0124] (9)合成深度矩阵,Depth矩阵D(wi×hi)。
[0125] 本示例中的数据合成方法是一种人体重建训练数据合成方法,该方法通过SMPL模型大规模产生任意动作的3D人体模型,并通过UV贴图渲染出正常的3D模型;通过3D模型,可以通过设置镜头角度,获得模型的2D/3D关节点坐标信息,3D三角顶点信息,关节点旋转信息,3D人体模型在投影面的蒙版信息,3D人体模型在投影面的深度信息;再通过与已有带有深度信息的数据集进行融合,获得背景为真实场景的人体重建数据集。
[0126] 通过本示例,可以替代光捕设备产生大量的训练数据,降低成本;可以产生任意动作的训练样本,满足高难度动作的要求。
[0127] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0128] 根据本申请实施例的另一个方面,提供了一种用于实施上述数据合成方法的数据合成装置。可选地,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0129] 图8是根据本申请实施例的一种可选的数据合成装置的结构框图,如图8所示,该装置包括:
[0130] (1)构造单元802,用于构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息;
[0131] (2)确定单元804,与构造单元802相连,用于根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,其中,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;
[0132] (3)构建单元806,与确定单元804相连,用于根据模型参数信息,构建三维对象模型的初始模型;
[0133] (4)渲染单元808,与构建单元806相连,用于对初始模型进行渲染,得到三维对象模型;
[0134] (5)合成单元810,与渲染单元808相连,用于将三维对象模型与背景图像合成为目标对象的图像数据。
[0135] 可选地,构造单元802可以用于上述实施例中的步骤S202,确定单元804可以用于上述实施例中的步骤S204,构建单元806可以用于执行上述实施例中的步骤S206,渲染单元808可以用于执行上述实施例中的步骤S208,合成单元810可以用于执行上述实施例中的步骤S210。
[0136] 通过本实施例,采用构造用于构建目标对象的三维对象模型的姿态信息的方式,由于构造三维对象模型的姿态信息,并根据三维对象模型的姿态信息、形状信息和镜头信息进行三维对象模型的构建,可以替代光捕设备产生大量的训练数据,解决了相关技术中的三维对象重建的方式,存在由于训练数据需要高精度的光捕设备进行采集,导致训练数据的采集成本高的问题,降低了训练数据采集成本。
[0137] 作为一种可选的实施例,上述装置还包括:生成单元,构造单元802包括:生成模块,其中,
[0138] (1)生成模块,用于随机生成用于构建目标对象的三维对象模型的姿态信息;
[0139] (2)生成单元,用于随机生成三维对象模型中的形状信息和与三维对象模型对应的镜头信息。
[0140] 作为一种可选的实施例,确定单元804包括:
[0141] (1)输入模块,用于将姿态信息、形状信息和镜头信息输入到SMPL模型中,得到SMPL模型输出的模型参数信息,其中,模型参数信息包括:关节点的二维坐标信息,关节点的三维坐标信息,关节点的旋转信息和三角顶点的三维坐标信息,三角顶点用于确定构建三维对象模型的网格。
[0142] 作为一种可选的实施例,确定单元804包括:
[0143] (1)第一确定模块,用于根据姿态信息、形状信息和镜头信息,确定关节点的关节点信息,其中,关节点的关节点信息包括:关节点的二维坐标信息,关节点的三维坐标信息和关节点的旋转信息;
[0144] (2)第二确定模块,用于根据姿态信息、形状信息和镜头信息,确定出三维对象模型的三角顶点的三维坐标信息,其中,模型参数信息包括:关节点的二维坐标信息,关节点的三维坐标信息,关节点的旋转信息和三角顶点的三维坐标信息,三角顶点用于构建三维对象模型的网格。
[0145] 作为一种可选的实施例,构建单元806包括:
[0146] (1)第三确定模块,用于根据三维对象模型的三角顶点的三维坐标信息,确定所三维对象模型的模型网格,其中,模型参数信息包括三角顶点的三维坐标信息,模型网格为由三角顶点组成的三角形区域;
[0147] (2)填充模块,用于对模型网格进行三维填充,得到初始模型。
[0148] 作为一种可选的实施例,渲染单元808包括:
[0149] (1)渲染模块,用于通过UV贴图对初始模型进行渲染,得到三维对象模型。
[0150] 作为一种可选的实施例,合成单元810包括:
[0151] (1)获取模块,用于获取背景图像的背景图像矩阵和背景深度矩阵;
[0152] (2)第四确定模块,用于根据背景深度矩阵,确定背景图像的图像原点,其中,图像原点为背景图像中,深度值与背景深度矩阵的平均深度之间的距离小于或者等于深度距离阈值的点;
[0153] (3)合并模块,用于将图像原点设置为背景图像上与三维对象模型的模型原点对应的点,合并三维对象模型和背景图像,得到目标对象的图像数据。
[0154] 作为一种可选的实施例,上述装置还包括:获取单元、设置单元和二值化单元,合并模块包括:合并子模块,其中,
[0155] (1)获取单元,用于在合并三维对象模型和背景图像,得到目标对象的图像数据之前,获取三维对象模型的初始深度矩阵;
[0156] (2)设置单元,用于将初始深度矩阵中与对象区域对应的第一位置点置为目标值,将初始深度矩阵中与非对象区域对应的第二位置点置为固定值,得到三维对象模型的模型深度矩阵,其中,对象区域为投影面上三维对象模型投影在的区域,非对象区域为投影面中除了对象区域以外的区域,目标值为三维对象模型上投影到第二位置点的一个或多个点中,距离投影面最近的点与投影面的距离;
[0157] (3)二值化单元,用于对模型深度矩阵进行二值化操作,得到三维对象模型在投影面上的蒙版矩阵;
[0158] (4)合并子模块,用于根据蒙版矩阵合并三维对象模型和背景图像,得到目标对象的图像数据。
[0159] 需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0160] 根据本申请实施例的又一个方面,提供了一种计算机可读的存储介质。可选地,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行本申请实施例中所提供的上述任一项方法中的步骤。
[0161] 可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0162] S1,构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息;
[0163] S2,根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,其中,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;
[0164] S3,根据模型参数信息,构建三维对象模型的初始模型;
[0165] S4,对初始模型进行渲染,得到三维对象模型;
[0166] S5,将三维对象模型与背景图像合成为目标对象的图像数据。
[0167] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0168] 根据本申请实施例的又一个方面,提供了一种电子装置,包括:处理器(该存储器可以是图1中的处理器102)和存储器(该存储器可以是图1中的存储器104),该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行本申请实施例中所提供的上述任一项方法中的步骤。
[0169] 可选地,上述电子装置还可以包括传输设备(该传输设备可以是图1中的传输设备106)以及输入输出设备(该输入输出设备可以是图1中的输入输出设备108),其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0170] 可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0171] S1,构造用于构建目标对象的三维对象模型的姿态信息,其中,姿态信息为三维对象模型中的关节点的轴角信息;
[0172] S2,根据姿态信息、三维对象模型的形状信息和与三维对象模型对应的镜头信息,确定三维对象模型的模型参数信息,其中,形状信息用于控制三维对象模型的体型,镜头信息用于控制三维对象模型的大小;
[0173] S3,根据模型参数信息,构建三维对象模型的初始模型;
[0174] S4,对初始模型进行渲染,得到三维对象模型;
[0175] S5,将三维对象模型与背景图像合成为目标对象的图像数据。
[0176] 可选地,本实施例中的可选示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0177] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0178] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈