一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

材质恢复方法、三维模型的生成方法和模型的训练方法与流程

2022-11-23 15:19:57 来源:中国专利 TAG:


1.本公开涉及人工智能领域,具体涉及增强现实、虚拟现实、计算机视觉和深度学习等技术领域,可应用于元宇宙等场景。


背景技术:

2.随着计算机技术和网络技术的发展,虚拟现实和增强现实技术等得到了快速发展。在虚拟现实和增强现实技术中,通常需要对物体进行重建。对物体的重建需要涉及物体的材质信息。通常,依据美术设计来手工为重建的三维模型添加材质信息。


技术实现要素:

3.本公开旨在提供一种基于深度学习的材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法、装置、设备、介质,以基于恢复的材质信息生成三维模型,并使得生成的三维模型可以应用于传统的渲染引擎。
4.根据本公开的一个方面,提供了一种材质恢复方法,包括:根据针对目标对象的体素数据,生成目标对象的网格模型;确定网格模型中的各网格在针对目标对象的材质贴图上所对应的像素点的像素位置;以及将网格模型和像素位置输入材质估计网络,得到针对目标对象的材质贴图。
5.根据本公开的另一个方面,提供了一种三维模型的生成方法,包括:根据针对目标对象的体素数据,生成针对目标对象的材质贴图;根据材质贴图和目标对象的网格模型,生成目标对象的三维模型,其中,材质贴图是采用本公开提供的材质恢复方法得到的,网格模型是根据体素数据生成的。
6.根据本公开的另一个方面,提供了一种材质恢复模型的训练方法,其中,材质恢复模型包括材质估计网络;该训练方法包括:根据包括目标对象的原始图像和针对原始图像的相机位姿,生成目标对象的网格模型;确定网格模型中的各网格在原始图像上所对应的像素点的像素位置;将网格模型和像素位置输入材质估计网络,得到针对目标对象的材质贴图;根据材质贴图、网格模型和相机位姿,渲染得到包括目标对象的目标图像;以及根据目标图像和原始图像之间的差异,对材质估计网络进行训练。
7.根据本公开的一个方面,提供了一种材质恢复装置,包括:模型生成模块,用于根据针对目标对象的体素数据,生成目标对象的网格模型;像素位置确定模块,用于确定网格模型中的各网格在针对目标对象的材质贴图上所对应的像素点的像素位置;以及贴图获得模块,用于将网格模型和像素位置输入材质估计网络,得到针对目标对象的材质贴图。
8.根据本公开的另一个方面,提供了一种三维模型的生成装置,包括:贴图生成模块,用于根据针对目标对象的体素数据,生成针对目标对象的材质贴图;模型生成模块,用于根据材质贴图和目标对象的网格模型,生成目标对象的三维模型,其中,材质贴图是采用本公开提供的材质恢复装置得到的,网格模型是根据体素数据生成的。
9.根据本公开的另一个方面,提供了一种材质恢复模型的训练装置,其中,材质恢复
模型包括材质估计网络,该训练装置包括:模型生成模块,用于根据包括目标对象的原始图像和针对原始图像的相机位姿,生成目标对象的网格模型;像素位置确定模块,用于确定网格模型中的各网格在原始图像上所对应的像素点的像素位置;贴图获得模块,用于将网格模型和像素位置输入材质估计网络,得到针对目标对象的材质贴图;第一图像渲染模块,用于根据材质贴图、网格模型和相机位姿,渲染得到包括目标对象的目标图像;以及训练模块,用于根据目标图像和原始图像之间的差异,对材质估计网络进行训练。
10.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的以下方法中的至少之一:材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法。
11.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的以下方法中的至少之一:材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法。
12.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现本公开提供的以下方法中的至少之一:材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法。
13.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
14.附图用于更好地理解本方案,不构成对本公开的限定。其中:
15.图1是根据本公开实施例的材质恢复方法、三维模型的训练方法和材质恢复模型的训练方法、装置的应用场景示意图;
16.图2是根据本公开实施例的材质恢复方法的流程示意图;
17.图3是根据本公开实施例的根据体素数据生成目标对象的网格模型的原理示意图;
18.图4是根据本公开实施例的三维模型的生成方法的流程示意图;
19.图5是根据本公开实施例的材质恢复模型的训练方法的流程示意图;
20.图6是根据本公开实施例的训练材质恢复模型的原理示意图;
21.图7是根据本公开另一实施例的训练材质恢复模型的原理示意图;
22.图8是根据本公开实施例的材质恢复装置的结构框图;
23.图9是根据本公开实施例的三维模型的生成装置的结构框图;
24.图10是根据本公开实施例的材质恢复模型的训练装置的结构框图;以及
25.图11是用来实施本公开实施例的方法的电子设备的框图。
具体实施方式
26.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同
样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
27.在三维模型的构建中,材质的恢复是必不可少的步骤。通常可以依赖美术设计来手工为三维模型中的各个网格添加材质信息。该添加材质信息的方法存在耗时耗力的问题。
28.例如,还可以采用基于神经渲染的方法来对材质信息进行恢复。但该基于神经渲染的方法通常生成的为预定视角下的图像,无法输出网格模型和材质贴图,因此无法采用传统的三维渲染引擎来渲染图像。如此,该方法的使用场景会受到很大的局限。
29.基于此,本公开旨在提供一种能够为三维模型生成材质贴图,以使得三维模型可以应用于传统的渲染引擎的材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法。
30.以下先对本公开涉及的专业术语进行解释:
31.三维渲染引擎,即将现实中各种物体以各类曲线或多边形的形式抽象出来,再通过计算机输出最终图像的算法的集合。
32.神经渲染,是深度网络合成图像的各类方法的总称,各类神经渲染的目标是实现图像渲染中建模和渲染的全部或部分的功能。
33.图像渲染,是将三维的光能传递处理转换为一个二维图像的过程。图像渲染中要完成的工作为:对三维模型几何变换、投影变换、透视变换和窗口剪裁,再根据获取的材质与光影信息,生成图像。
34.符号距离场,sign distance function,sdf,又称为定向距离函数(oriented distance function),用于在空间中的一个有限区域上确定一个点到区域边界的距离并同时对距离的符号进行定义。若点位于区域边界外部符号距离为正,位于区域边界内部则符号距离为负,位于区域边界上则符号距离为0。例如,空间上任一点与区域边界之间的距离可以采用f(x)表示,f(x)的值构成的场,就是符号距离场。
35.光栅化,是将一个图元转变为一个二维图像的过程。二维图像上每个点都包含了颜色、深度和纹理数据。光栅化的目的是找出一个几何单元(比如三角形)所覆盖的像素。光栅化会根据三角形顶点的位置,来确定需要多少个像素点才能构成这个三角形,以及每个像素点都应该得到哪些信息,比如uv坐标等,这是通过对顶点数据进行插值来完成的。换言之,光栅化是将几何数据经过一系列变换后最终转换为像素,从而呈现在显示设备上的过程。每一个三维模型由顶点和顶点构成的三角面来确定。将三维模型绘制到屏幕上时,根据每个三角面的三个顶点,将这个三角面所覆盖的每一个像素(栅格)进行填充的过程,就叫做光栅化。
36.uv展开,所有的图像都由一个二维的平面表示,水平方向为u,垂直方向为v。通过该平面上的一个二维uv坐标,可以定位到图像上的一个像素。uv坐标为u、v纹理贴图坐标的简称,定义了图像上每个像素点的位置的信息,该每个像素点与三维模型是相互联系的,以决定纹理贴图中每个像素点对应的表面点的位置。将图像上的每一个像素点精确对应到物体的三维模型的表面,在三维模型的表面上两个相邻像素点对应位置之间的间隙位置由软件进行图像光滑插值处理,即可得到uv贴图。创建uv贴图的过程称为uv展开。
37.体素,是体积元素(volume pjxel)的简称,包含体素的立体可以通过立体渲染或者提取出给定阈值轮廓的多边形等值面表现出来。体素数据存储在一个三维数组中,也可
以被认为是存储为一个三维纹理。
38.mesh,是多边形网格,是计算机图形学中用于对各种不规则物体建模的一种数据结构,在多边形网格的面片中三角面片是被分割的最小单位,因三角面片表示比较简单、灵活且拓扑描述方便,所以被广泛使用,mesh常常指代三角面片。
39.以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
40.图1是根据本公开实施例的材质恢复方法、三维模型的训练方法和材质恢复模型的训练方法、装置的应用场景示意图。
41.如图1所示,该实施例的应用场景100可以包括电子设备110,该电子设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。
42.该电子设备110例如可以对采集的图像120进行处理,得到表示图像120中目标对象的体素数据。该电子设备110还可以根据得到的体素数据生成目标对象的材质贴图,并结合材质贴图和目标对象的网格模型来得到目标对象的包括材质信息的三维模型130。
43.其中,电子设备110例如可以采用基于深度学习的体素化模型来对图像120进行处理,以得到目标对象的体素数据。该体素数据可以预先获得后存储在电子设备110本地或与电子设备110连接的数据库中,以在需要生成目标对象的三维模型130时从本地或数据库中获取。
44.其中,目标对象的网格模型例如可以为三角面片模型,即该网格模型由多个三角面片拼接形成,网格模型中的每个网格即为一个三角面片。可以理解的是,网格模型除了三角面片模型外,还可以为四角面片模型等包括任意多个角的面片模型,每个网格为一个面片,本公开对此不做限定。
45.在一实施例中,电子设备110例如可以采用材质恢复模型来生成目标对象的材质贴图。在得到材质贴图和网格模型后,可以通过渲染引擎来得到目标对象在任意视角下的图像。
46.在一实施例中,如图1所示,该应用场景100中还可以包括服务器150,该服务器150例如可以为支持电子设备110中客户端应用运行的后台管理服务器。电子设备110可以通过网络与服务器150通信连接,网络可以包括有线或无线通信链路。
47.例如,服务器150可以基于多个图像对材质恢复模型进行训练,并响应于电子设备110的请求,将训练得到的材质恢复模型140发送给电子设备110,以供电子设备110根据该材质恢复模型140生成目标对象的材质信息。可以理解的是,在训练材质恢复模型时,采用的多个图像为包括目标对象的图像。在存在多个目标对象时,则可以针对每个目标对象训练一个材质恢复模型。
48.在一实施例中,电子设备110也可以将获取的体素数据发送给服务器150,由服务器150采用训练得到的材质恢复模型来对体素数据进行处理,从而得到目标对象的材质贴图,并基于材质贴图和网格模型,生成目标对象的三维模型。
49.需要说明的是,本公开提供的材质恢复方法和三维模型的生成方法可以由电子设备110执行,也可以由服务器150执行。相应地,本公开提供的材质恢复装置和三维模型的生成装置可以设置在电子设备110中,也可以设置在服务器150中。本公开提供的材质恢复模型的训练方法可以由服务器150执行。相应地,本公开提供的材质恢复模型的训练装置可以
设置在服务器150中。
50.应该理解,图1中的电子设备110和服务器150的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备110和服务器150。
51.以下将结合图2~图3对本公开提供的材质恢复方法进行详细描述。
52.如图2所示,该实施例的材质恢复方法200可以包括操作s210~操作s230。
53.在操作s210,根据针对目标对象的体素数据,生成目标对象的网格模型。
54.根据本公开的实施例,针对目标对象的体素数据例如可以表示预定尺寸的立方体结构。例如,针对目标对象的体素数据可以构成n*n*n的张量,以表示尺寸为n*n*n的立方体结构。张量中的每个元素表示一个体素数据。可以理解的是,n为正整数。
55.根据本公开的实施例,可以采用基于等值面的面绘制思想来得到网格模型。首先,依次对每个体素数据进行处理,确定出该每个体素数据所包含的等值面片。然后将所有的体素的面片拼接起来形成整个目标对象的表面。其中,等值面指如果把体素数据看成是某个空间区域内关于某种物理属性的采样集合,通过插值来估计非采样点和临近采样点上的采样值,则该空间区域内所有具有某一个属性的点集合定义称为一个或多个曲面,称之为等值面。具体地,例如可以采用体素数据中边界体素数据的六个面来拟合等值面,也可以采用等值面提取算法(marching cube,mc)、移动四面体剖分算法(marching tetrahedra,mt)等来根据体素数据生成网格模型,本公开对根据体素数据生成网格模型的方法不做限定。
56.在操作s220,确定网格模型中的各网格在针对目标对象的材质贴图上所对应的像素点的像素位置。
57.根据本公开的实施例,可以通过对网格模型进行uv展开,来得到网格模型中的各网格在针对目标对象的材质贴图上所对应的像素点的像素位置。例如,可以采用以下uv展开算法或工具中的任意一个来对网格模型进行uv展开:blender工具、rizomuv工具、mvs-texturing算法等。
58.可以理解的是,该操作s220例如还可以基于世界坐标系与相机坐标系,相机坐标系与图像坐标系之间的转换关系,根据预先设定的虚拟相机位置和视角方向,来将各网格的顶点的三维坐标转换为图像坐标系的二维坐标,根据每个网格的三个顶点的坐标值得到的三个二维坐标对应的像素点连接形成三角区域,将该三角区域中所包括的像素点作为与每个网格对应的像素点。
59.在操作s230,将网格模型和像素位置输入材质估计网络,得到针对目标对象的材质贴图。
60.根据本公开的实施例,材质贴图例如可以由二维矩阵表示,二维矩阵中的每个元素表示一个像素点的材质信息。该材质信息例如可以包括漫反射颜色信息(diffuse)、粗糙度信息(roughness)和金属度信息(metallic)中的至少一个。设定材质信息包括上述的三个信息,则二维矩阵中每个元素可以由五元组数据表示,五元组数据分别表示:r、g、b三个颜色的反射比例、粗糙度和金属度。可以理解的是,材质贴图可以由材质估计网络输出。
61.根据本公开的实施例,材质估计网络例如可以由多层感知机(multilayer perceptron,mlp)构成。可以理解的是,材质估计网络还可以为任意的深度神经网络。该材质估计网络通过训练学习到了目标对象的各位置点与材质信息之间的映射关系。该实施例通过将网格模型和各网格对应的像素点的像素位置输入到材质估计网络,材质估计网络即
可根据学习到的映射关系,得到网格模型中各网格的材质信息,并根据各网格对应的像素点的像素位置,将材质信息对应到对应的像素点,即可得到材质贴图。
62.本公开实施例通过采用基于深度学习技术构建的材质估计网络来生成材质贴图,可以提高得到的材质信息的准确性。再者,由于生成了材质贴图和网格模型,因此本公开实施例的方法可以应用于采用传统的渲染引擎进行目标对象的图像渲染的场景,可以提高本公开提供的材质恢复方法的鲁棒性。
63.以下将结合图3,对上述操作s210的实施进行进一步地扩展和限定。
64.图3是根据本公开实施例的根据体素数据生成目标对象的网格模型的原理示意图。
65.根据本公开的实施例,可以基于深度学习的方法来根据体素数据生成目标对象的网格模型,以此提高生成的网格模型的准确度。
66.例如,该实施例可以设定网格模型的表面网格围成的区域为空间中的有限区域,基于深度神经网络来学习空间中的各采样点与该有限区域的区域边界之间的符号距离。如此,该实施例可以先根据体素数据确定多个空间采样点,随后基于该深度神经网络,即可估计多个空间采样点针对目标对象的符号距离,即多个空间采样点与网格模型围成区域的区域边界之间的符号距离。
67.具体的,如图3所示,该实施例300可以将目标对象的体素数据310作为深度神经网络320的输入,由深度神经网络320输出多个空间采样点各自针对目标对象的符号距离330。其中,可以将每个体素数据表示的体积元素的中心点作为该每个体素数据确定的空间采样点。
68.其中,深度神经网络320例如可以由mlp构成。经训练,该深度神经网络320可以学习到空间采样点与目标对象之间的符号距离场。或者,深度神经网络320可以为全连接网络,本公开对此不做限定。
69.在一实施例中,在训练深度神经网络320时,深度神经网络320用于估计从虚拟相机中心发出的某条射线(对应样本图像中的某个像素)上各个采样点的符号距离及各采样点的特征。该各个采样点的符号距离及各采样点的特征输入估计颜色的mlp,可以由估计颜色的mlp估计出各采样点的颜色信息。通过根据该颜色信息与样本图像中对应像素点的真实颜色信息之间的l1损失来优化深度神经网络320。为了使网络在弱纹理区域更加鲁棒,还可以通过添加几何的先验约束来优化深度神经网络320。
70.根据本公开的实施例,在得到体素数据确定的多个空间采样点各自针对目标对象的符号距离330后,该实施例300可以根据多个空间采样点和符号距离330,采用等值面提取算法350生成目标对象的网格模型360。
71.例如,该实施例可以先根据符号距离330,确定根据体素数据确定的多个采样点中符号距离为0的采样点,作为目标采样点340。该目标采样点340即为网格模型的表面点。随后,根据该目标采样点340,采用等值面提取算法350生成三维面片模型,该三维面片模型即为目标对象的网格模型360。
72.基于本公开提供的材质恢复方法,本公开还提供了一种三维模型的生成方法,以下将结合图4对该方法进行详细描述。
73.图4是根据本公开实施例的三维模型的生成方法的流程示意图。
74.如图4所示,该实施例的三维模型的生成方法400可以包括操作s410~操作s420。
75.在操作s410,根据针对目标对象的体素数据,生成针对目标对象的材质贴图。
76.该操作s410可以采用上文描述的材质恢复方法来根据体素数据生成材质贴图,在此不再赘述。可以理解的是,在生成材质贴图的过程中,可以得到目标对象的网格模型,即目标对象的三维面片模型。
77.在操作s420,根据材质贴图和目标对象的网格模型,生成目标对象的三维模型。
78.该实施例可以根据目标对象的网格模型中各网格在材质贴图上所对应的像素点的像素位置,将该所对应像素点的像素位置处的材质信息赋值给各网格,从而得到目标对象的三维模型。该三维模型除了能够表示目标对象的三维表面外,还可以表示三维表面上各表面点的材质信息。
79.为了便于上文描述的材质恢复方法的实施,本公开还提供了一种材质恢复模型的训练方法,该材质恢复模型包括上文描述的材质估计网络。以下将结合图5对该材质恢复模型的训练方法进行详细描述。
80.图5是根据本公开实施例的材质恢复模型的训练方法的流程示意图。
81.如图5所示,该实施例的材质恢复模型的训练方法500包括操作s510~操作s550。
82.在操作s510,根据包括目标对象的原始图像和针对原始图像的相对位姿,生成目标对象的网格模型。
83.根据本公开的实施例,原始图像可以为预先采集得到的作为训练样本的任意图像,本公开对此不做限定。
84.根据本公开的实施例,针对原始图像的相对位姿例如可以采用即时定位与地图构建算法(simultaneous localization and mapping,slam),根据原始图像计算得到。例如,原始图像可以为多个图像,该实施例可以将多个图像中的在预定相机位姿下采集的图像作为参考图像,将除参考图像外的其他图像与该参考图像组成图像对。随后提取图像对中每个图像的特征点,接着,建立图像对中两张图像的特征点之间的匹配关系,根据两张图像的特征点之间的匹配关系计算两张图像之间的相对相机位姿。根据预定相机位置和相对相机位姿,即可得到除参考图像外的其他图像中每个图像的相机位姿。
85.该实施例中,可以根据原始图像的相机位姿,从虚拟相机所在位置处引出经过原始图像中像素点的多条虚拟射线,并在多条虚拟射线上进行采样,得到多个空间采样点。将该多个空间采样点作为多个体积元素的中心点,得到多个体素数据。随后,可以采用与上文描述的操作s210类似的原理,根据多个体素数据生成目标对象的网格模型。
86.在操作s520,确定网格模型中的各网格在原始图像上所对应的像素点的像素位置。
87.该实施例可以采用与上文描述的操作s220类似的原理,来得到网格模型中的各网格与原始图像上像素点之间的对应关系,从而得到像素位置。
88.在一实施例中,可以对网格模型进行光栅化处理,从而得到网格模型中的各网格在像素坐标系中的像素位置。
89.在操作s530,将网格模型和像素位置输入材质估计网络,得到针对目标对象的材质贴图。
90.根据本公开的实施例,该操作s530的实现原理与上文描述的操作s230的实现原理
类似,在此不再赘述。
91.在操作s540,根据材质贴图、网格模型和相机位姿,渲染得到包括目标对象的目标图像。
92.根据本公开的实施例,该实施例可以采用基于物理的渲染技术(physically based rendering,pbr)来渲染得到目标图像。其中,pbr使用的属性可以包括diffuse、roughness、metallic、normal等。其中,normal为网格模型中各网格的法线。可以理解的是,上述渲染技术仅作为示例以利于理解本公开,本公开还可以采用其他的渲染技术来渲染得到目标图像。该实施例在生成目标图像时同时考虑相机位姿,可以使得生成的目标图像中的目标对象的观察角度与原始图像中的目标对象的观察角度一致,可以减少确定差异时的变量数量,利于提高训练精度和效率。
93.在操作s550,根据目标图像和原始图像之间的差异,对材质估计网络进行训练。
94.该实施例计算目标图像和原始图像之间的像素间(pixel-wise)损失,以最小化该像素间损失为目标,对材质估计网络中的网络参数进行调整,从而实现对材质估计网络的训练。
95.本公开实施例通过根据图像之间的差异来训练材质估计网络,可以提高材质估计网络预测材质贴图的精度。基于此,可以提高生成的目标对象的三维模型的逼真度,利于提高虚拟现实或增强现实场景的真实性,提高用户体验。
96.以下将结合图6对训练材质恢复模型的原理进行进一步地扩展和限定。
97.图6是根据本公开实施例的训练材质恢复模型的原理示意图。
98.根据本公开的实施例,如图6所示,该实施例600中,材质恢复模型除了包括材质估计网络620外,还包括用于估计符号距离的深度神经网络610。目标对象的网格模型可以是采用用于估计符号距离的深度神经网络610来生成的。
99.如此,在训练材质恢复模型时,例如可以先根据原始图像601和针对原始图像的相机位姿602,采样得到与原始图像中的像素点对应的多个空间采样点603,即从自虚拟相机的光心位置引向原始图像中的像素点的射线上采集空间点,得到多个空间采样点。
100.随后,采用深度神经网络610对基于多个空间采样点得到的体素数据进行处理,得到多个空间采样点针对目标对象的符号距离604。该得到符号距离604的原理与上文针对图3的描述内容中得到符号距离的原理类似,在此不再赘述。
101.随后,可以根据空间采样点和符号距离,采用等值面提取算法生成目标对象的网格模型605。该生成网格模型605的原理与上文针对图3的描述内容中生成网格模型的原理类似,在此不再赘述。
102.在得到网格模型后,该实施例可以通过采用上文描述的操作s520得到网格模型605中各网格在原始图像上所对应的像素点的像素位置606。随后,将像素位置606和网格模型605输入材质估计网络620,可以由材质估计网络620输出针对目标对象的材质贴图607。在得到材质贴图607后,可以根据材质贴图607、网格模型605和相机位姿602渲染得到目标图像608。
103.在得到目标图像608后,该实施例可以计算目标图像608和原始图像601之间的像素间损失,根据损失来训练材质估计网络620。
104.在一实施例中,在得到网格模型605后,例如还可以根据网格模型605和相机位姿
602,来渲染得到包括目标对象的参考图像609。在得到参考图像609后,可以根据参考图像609与原始图像601之间的差异,来对深度神经网络610进行训练。
105.其中,例如可以根据相机位姿602将网格模型605投射到像平面上,从而得到参考图像609。可以理解的是,还可以采用渲染引擎来渲染得到网格模型605针对相机位姿602的图像,作为参考图像609,本公开对生成参考图像609的方法不做限定。其中,还可以结合针对原始图像的环境贴图来渲染得到参考图像609。
106.可以理解的是,参考图像609与原始图像601之间的差异,例如可以由像素间损失来表示。该实施例可以以最小化参考图像609与原始图像601之间的差异为目标,对深度神经网络610进行训练。
107.在一实施例中,可以先采用作为训练样本的原始图像对深度神经网络610进行训练,在该深度神经网络610的损失收敛的情况下,再采用原始图像对材质估计网络620进行训练。这是由于通常对生成网格模型的深度神经网络610的精度要求低。或者,也可以同步地对深度神经网络610和材质估计网络620进行训练。
108.本公开实施例通过对估计符号距离的深度神经网络进行训练,可以使得网格模型能够基于深度学习的方法来生成,从而生成高质量的网格模型。
109.以下将结合图7~图8对上文描述的操作s550进行进一步地扩展和限定。
110.图7是根据本公开实施例的对材质估计网络进行训练的原理示意图。
111.根据本公开的实施例,在对材质估计网络进行训练时,例如可以先生成针对目标对象的掩膜图像,基于该掩膜图像对原始图像和目标图像进行处理,以在确定原始图像和目标图像之间的差异时,仅针对目标对象的图像部分进行比较。如此,可以避免环境信息对材质估计网络的训练的影响,提高材质估计网络的精度,并提高训练效率。这是由于材质估计网络仅估计目标对象的材质信息。
112.如图7所示,该实施例700在采用上文描述的操作s510得到网格模型701后,可以根据网格模型701和相机位姿702,渲染得到包括目标对象的参考图像703。渲染得到参考图像703的原理与上文描述的渲染得到参考图像的原理类似,在此不再赘述。
113.该实施例700可以根据目标对象在参考图像703中的位置,生成针对目标对象的掩膜图像704。该掩膜图像704可以为二进制图像,目标对象所对应的区域的掩膜值为1,其他区域的掩膜值为0。
114.在得到掩膜图像704后,该实施例700可以采用掩膜图像对目标图像705进行掩膜处理,得到掩膜处理后的第一图像707,同时采用掩膜图像对原始图像706进行掩膜处理,得到掩膜处理后的第二图像708。例如,可以通过将掩膜图像中各像素点的掩膜值与目标图像705、原始图像706中相应像素点的像素值相乘,实现掩膜处理。
115.该实施例在得到第一图像707和第二图像708后,可以根据该两个图像之间的差异,来对材质估计网络710进行训练。
116.在一实施例中,还可以以原始图像中各像素点的颜色梯度作为监督信号,对材质估计网络进行训练。这是由于通常各像素点的颜色梯度与材质梯度趋于一致,材质的不同通常可以通过颜色体现。如此,该实施例可以从多个维度来对材质估计网络进行训练,利于提高材质估计网络的训练效率和精度,从而减少生成的材质贴图中的材质缝。
117.例如,该实施例在对材质恢复模型进行训练时,可以实时地确定原始图像中各个
像素点的颜色梯度(color gradient),或者可以从预先存储有颜色梯度的存储空间获取该颜色梯度。在经由材质估计网络的处理得到材质贴图后,可以确定材质贴图中各像素点的材质梯度。可以理解的是,颜色梯度和材质梯度例如可以通过调用预先设置的梯度接口来确定。
118.在得到颜色梯度和材质梯度后,可以根据原始图像中像素点与材质贴图中像素点之间的对应关系,根据原始图像中第一像素点的颜色梯度和材质贴图中与该第一像素点对应的第二像素点的材质梯度之间的相对差异,来确定材质估计网络的损失。随后,以最小化该损失为目标,对材质估计网络进行训练。
119.在一实施例中,在确定颜色梯度和材质梯度时,为了便于计算,可以分别确定在原始图像的宽度和高度方向上各像素点的颜色梯度,得到水平方向颜色梯度和竖直方向颜色梯度。类似地,可以确定材质贴图中各像素点的水平方向材质梯度和竖直方向材质梯度。将第一像素点的水平方向颜色梯度与第二像素点的水平方向材质梯度之间的第一相对差异,与第一像素点的竖直方向颜色梯度与第二像素点的竖直方向材质梯度之间的第二相对差异的加权和,作为材质估计网络的损失。其中,计算加权和时所采用的权重可以根据实际需求进行设定,本公开对此不做限定。本公开通过将梯度分解为两个方向来确定损失,可以提高确定的损失的精度和计算效率。
120.在一实施例中,可以将水平方向作为第一方向,竖直方向作为第二方向。将上述第一像素点的第一方向的颜色梯度设定为第一梯度,第一像素点的第二方向的颜色梯度设定为第二梯度,将第二像素点的第一方向的材质梯度设定为第三梯度,第二像素点的第二方向的材质梯度设定为第四梯度。该实施例在对材质估计网络进行训练时,例如可以根据第一像素点的第一梯度,确定针对第一方向的第一梯度权重;根据第一像素点的第二梯度,确定针对第二方向的第二梯度权重。例如,该第一梯度权重可以与第一梯度负相关,第二梯度权重可以与第二梯度负相关。随后,该实施例可以根据第一梯度权重和第二梯度权重,确定第二像素点的第三梯度和第四梯度的加权和。该实施例可以将该加权和作为材质估计网络的损失,根据加权和来对材质估计网络进行训练。通过该实施例,在材质梯度大,而颜色梯度小时,将会使得材质估计网络的损失较大,通过根据该损失训练材质估计网络,可以使得材质梯度与颜色梯度的变化趋势趋于一致,从而可以提高训练得到的材质估计网络的精度,提高得到的材质贴图的准确度。
121.在一实施例中,梯度权重与梯度之间的关系可以采用指数函数来表示,例如,设定第一梯度为idx,则第一方向的第一梯度权重weight
dx
可以采用以下公式(1)来表示,类似的,设定第一梯度为idy,第二方向的第二梯度权重weight
dy
可以采用以下公式(2)来表示:
122.weight
dx
=e-λidx
ꢀꢀ
公式(1);
123.weight
dy
=e-λidy
ꢀꢀ
公式(2)。
124.其中,λ为超参数,可以根据实际需求进行设定。
125.在一实施例中,材质信息可以包括以下信息中的至少两个:漫反射颜色信息、粗糙度信息和金属度信息。该实施例在确定材质梯度时,可以针对每个材质信息计算梯度,得到针对至少两个信息的至少两个梯度。随后,该实施例可以根据第二像素点的至少两个梯度,来确定材质贴图中第二像素点的材质梯度。例如,可以将至少两个梯度的加权和作为第二像素点的材质梯度,加权时的权重可以根据实际需求进行设定。可以理解的是,上述将至少
两个梯度的加权和确作为材质梯度的方式仅作为示例以利于理解本公开,本公开例如还可以将至少两个梯度的平均值等作为第二像素点的材质梯度,本公开对此不做限定。
126.在一实施例中,还可以根据针对每个材质信息的材质梯度,采用上文描述的方法计算得到材质估计网络的一个损失值,由至少两个材质信息计算得到的至少两个损失值的和,来表示材质估计网络的损失。可以理解的时,每个材质信息的材质梯度都可以包括上文描述的第一方向的梯度和第二方向的梯度。
127.基于本公开提供的材质恢复方法,本公开还提供了一种材质恢复装置,以下将结合图8对该装置进行详细描述。
128.图8是根据本公开实施例的材质恢复装置的结构框图。
129.如图8所示,该实施例的材质恢复装置800可以包括模型生成模块810、像素位置确定模块820和贴图获得模块830。
130.模型生成模块810可以用于根据针对目标对象的体素数据,生成所述目标对象的网格模型。在一实施例中,模型生成模块810可以用于执行上文描述的操作s210,在此不再赘述。
131.像素位置确定模块820用于确定所述网格模型中的各网格在针对所述目标对象的材质贴图上所对应的像素点的像素位置。在一实施例中,像素位置确定模块820可以用于执行上文描述的操作s220,在此不再赘述。
132.贴图获得模块830用于将所述网格模型和所述像素位置输入材质估计网络,得到针对所述目标对象的材质贴图。在一实施例中,贴图获得模块830可以用于执行上文描述的操作s230,在此不再赘述。
133.根据本公开的实施例,上述模型生成模块810包括:符号距离获得子模块,用于采用深度神经网络对所述体素数据进行处理,得到多个空间采样点各自针对所述目标对象的符号距离,其中,多个空间采样点是根据体素数据确定的;以及模型生成子模块,用于根据多个空间采样点和所述符号距离,采用等值面提取算法生成所述目标对象的网格模型。
134.基于本公开提供的三维模型的生成方法,本公开还提供了一种三维模型的生成装置,以下将结合图9对该装置进行详细描述。
135.图9是根据本公开实施例的三维模型的生成装置的结构框图。
136.如图9所示,该实施例的三维模型的生成装置900可以包括贴图生成模块910和模型生成模块920。
137.贴图生成模块910用于根据针对目标对象的体素数据,生成针对目标对象的材质贴图。其中,材质贴图是采用本公开提供的材质恢复装置得到的。在一实施例中,贴图生成模块910可以用于执行上文描述的操作s410,在此不再赘述。
138.模型生成模块920用于根据材质贴图和目标对象的网格模型,生成目标对象的三维模型。其中,网格模型是根据体素数据生成的。在一实施例中,模型生成模块920可以用于执行上文描述的操作s420,在此不再赘述。
139.基于本公开提供的材质恢复模型的训练方法,本公开还提供了一种材质恢复模型的训练装置,以下将结合图10对该装置进行详细描述。
140.图10是根据本公开实施例的材质恢复模型的训练装置的结构框图。
141.如图10所示,该实施例的材质恢复模型的训练装置1000可以包括模型生成模块
1010、像素位置确定模块1020、贴图获得模块1030、第一图像渲染模块1040和训练模块1050。其中,材质恢复模型包括上述材质估计网络。
142.模型生成模块1010用于根据包括目标对象的原始图像和针对原始图像的相机位姿,生成目标对象的网格模型。在一实施例中,模型生成模块1010可以用于执行上文描述的操作s510,在此不再赘述。
143.像素位置确定模块1020用于确定网格模型中的各网格在原始图像上所对应的像素点的像素位置。在一实施例中,像素位置确定模块1020可以用于执行上文描述的操作s520,在此不再赘述。
144.贴图获得模块1030用于将网格模型和像素位置输入材质估计网络,得到针对目标对象的材质贴图。在一实施例中,贴图获得模块1030可以用于执行上文描述的操作s530,在此不再赘述。
145.第一图像渲染模块1040用于根据材质贴图、网格模型和相机位姿,渲染得到包括目标对象的目标图像。在一实施例中,第一图像渲染模块1040可以用于执行上文描述的操作s540,在此不再赘述。
146.训练模块1050用于根据目标图像和原始图像之间的差异,对材质估计网络进行训练。在一实施例中,训练模块1050可以用于执行上文描述的操作s550,在此不再赘述。
147.根据本公开的实施例,上述装置1000还可以包括:第二图像渲染模块,用于根据网格模型和相机位姿,渲染得到包括目标对象的参考图像;以及掩膜图像生成模块,用于根据目标对象在参考图像中的位置,生成针对目标对象的掩膜图像。其中,上述训练模块1050可以包括:掩膜处理子模块用于采用掩膜图像对目标图像和原始图像分别进行掩膜处理,得到掩膜处理后的第一图像和第二图像;以及训练子模块,用于根据第一图像和第二图像之间的差异,对材质估计网络进行训练。
148.根据本公开的实施例,上述装置1000还可以包括:材质梯度确定模块,用于确定材质贴图中各像素点的材质梯度。上述训练模块1050还可以用于根据原始图像中第一像素点的颜色梯度和材质贴图中与第一像素点对应的第二像素点的材质梯度,对材质估计网络进行训练。
149.根据本公开的实施例,颜色梯度包括第一方向的第一梯度和第二方向的第二梯度;材质梯度包括第一方向的第三梯度和第二方向的第四梯度;第一方向与第二方向彼此垂直。上述训练模块1050可以包括:梯度权重确定子模块,用于根据第一像素点的第一梯度和第二梯度,分别确定针对第一方向的第一梯度权重和针对第二方向的第二梯度权重;加权子模块,用于根据第一梯度权重和第二梯度权重,确定第二像素点的第三梯度和第四梯度的加权和;以及训练子模块,用于根据加权和,对材质估计网络进行训练。
150.根据本公开的实施例,材质贴图中的各像素点包括以下材质信息中的至少两个信息:漫反射颜色信息、粗糙度信息和金属度信息。上述梯度确定模块可以包括:第一确定子模块,用于确定材质贴图中各像素点的至少两个信息中每个信息的梯度,得到至少两个梯度;以及第二确定子模块,用于根据至少两个梯度,确定材质贴图中各像素点的材质梯度。
151.根据本公开的实施例,上述材质恢复模型还包括估计符号距离的深度神经网络。上述模型生成模块1010可以包括:采样子模块,用于根据原始图像和相机位姿,采样得到与原始图像中的像素点对应的多个空间采样点;符号距离确定子模块,用于采用深度神经网
络对基于多个空间采样点得到的体素数据进行处理,得到多个空间采样点各自针对目标对象的符号距离;以及模型生成子模块,用于根据空间采样点和符号距离,采用等值面提取算法生成目标对象的网格模型。
152.根据本公开的实施例,上述装置1000还可以包括:第三图像渲染模块,用于根据网格模型和相机位姿,渲染得到包括目标对象的参考图像。上述训练模块1050还可以用于:根据参考图像和原始图像之间的差异,对深度神经网络进行训练。
153.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
154.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
155.图11示出了可以用来实施本公开实施例的方法的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
156.如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
157.设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
158.计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如以下方法中的至少之一:材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法。例如,在一些实施例中,以下方法中的至少之一:材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到ram 1103并由计算单元1101执行时,可以执行上文描述的以下方法中的至少之一的一个或多个步骤:材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行以下方法
中的至少之一:材质恢复方法、三维模型的生成方法和材质恢复模型的训练方法。
159.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
160.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
161.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
162.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
163.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
164.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
165.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
166.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献