掌桥专利:专业的专利平台
掌桥专利
首页

三维场景的建模及渲染方法、装置及设备

文献发布时间:2024-04-18 20:02:18


三维场景的建模及渲染方法、装置及设备

技术领域

本申请涉及三维建模技术领域,尤其是涉及到一种三维场景的建模及渲染方法、装置及设备。

背景技术

三维场景的建模指的是使用计算机软件创建和设计三维环境的过程,通过构建虚拟的三维场景,可模拟真实世界中的地理环境、建筑物、景观等,以创造出想象中的场景。

相关技术中,可通过计算机图形学来实现三维场景的建模,该过程相当于严格数学模型或经验模型,例如,基于双向反射分布函数和全局光照模型。具体是通过相机屏幕每个像素发射的射线与场景中的物体发生多次反弹折射,从而还原出真实的三维场景,然后进行后续建模,所以计算机图形学的方法能够足够精确的计算,但实际使用时也是近似计算,尤其对于复杂的多物体场景和多光源的情况,仍需要较大的计算量。

发明内容

有鉴于此,本申请提供了一种三维场景的建模及渲染方法、装置及设备,主要目的在于解决现有技术中基于计算机图形学进行三维场景的建模方式需要计算量较大的问题。

根据本申请的第一个方面,提供了一种三维场景的建模方法,包括:

获取待建模场景图片经过3D空间采样得到的第一采样点;

根据所述第一采样点的属性信息,利用预先训练的模型网络对待建模场景图片进行信息提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息,所述第二采样点为待建模场景中预设视角的射线经过3D空间采样得到的;

根据所述第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息;

根据所述第二采样点的体密度、所述第二采样点在不同材质维度上的参数信息以及所述第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据。

根据本申请的第二个方面,提供了一种三维场景的渲染方法,包括:

从三维场景模型数据中提取第二采样点的体密度以及第二采样点的颜色信息;

根据所述第二采样点的体密度以及所述第二采样点的颜色信息,对待建模场景图片进行屏幕像素体渲染和光源体渲染,所述屏幕像素体渲染用于对3D模型进行颜色渲染,所述光源体渲染用于对3D模型进行阴影渲染;

其中,所述三维场景模型数据为使用所述三维场景的建模方法得到的。

根据本申请的第三个方面,提供了一种三维场景的建模装置,包括:

第一获取单元,用于获取待建模场景图片经过3D空间采样得到的第一采样点;

第一提取单元,用于根据所述第一采样点的属性信息,利用预先训练的模型网络对待建模场景图片进行信息提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息,所述第二采样点为待建模场景中预设视角的射线经过3D空间采样得到的;

第二提取单元,用于根据所述第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息;

确定单元,用于根据所述第二采样点的体密度、所述第二采样点在不同材质维度上的参数信息以及所述第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据。

根据本申请的第四个方面,提供了一种三维场景的渲染装置,包括:

提取单元,用于从三维场景模型数据中提取第二采样点的体密度以及第二采样点的颜色信息;

渲染单元,用于根据所述第二采样点的体密度以及所述第二采样点的颜色信息,对待建模场景图片进行屏幕像素体渲染和光源体渲染,所述屏幕像素体渲染用于对3D模型进行颜色渲染,所述光源体渲染用于对3D模型进行阴影渲染;

其中,所述三维场景模型数据为使用所述三维场景的建模方法得到的。

根据本申请的第五个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。

根据本申请的第六个方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。

借由上述技术方案,本申请提供的一种三维场景的建模及渲染方法、装置及设备,与目前现有技术通过计算机图形学来实现三维场景的建模方式相比,本申请通过获取待建模场景图片经过3D空间采样得到的第一采样点,根据第一采样点的属性信息,先利用预先训练的模型网络对待建模场景图片进行信息提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息,这里第二采样点为待建模场景中预设视角的射线经过3D空间采样得到的,然后根据第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息,根据第二采样点的体密度、第二采样点在不同材质维度上的参数信息以及第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据。整个过程先通过模型网络对待建模场景图片进行不同材质维度上属性信息的估算,然后通过颜色生成网络对待建模场景图片进行颜色信息的估算,结合不同材质维度上的属性信息和颜色信息来获取待建模的场景信息,由于场景信息融合有待建模场景中的多维属性,无需经过大量计算,即可实现三维场景的准确建模,从而高质量还原3D 模型的形状、外观和光照。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本申请一实施例中三维场景的建模方法的流程示意图;

图2是图2中步骤201的一具体实施方式流程示意图;

图3是本申请另一实施例中三维场景的建模方法的流程示意图;

图4为本申请另一实施例中三维场景的建模方法的流程示意图;

图5为本申请一实施例中三维场景的建模框架的结构示意图;

图6为本申请一实施例中形状网络的结构示意图;

图7A为本申请一实施例中材质网络的结构示意图;

图7B为本申请一实施例中几何材质子网络的结构示意图;

图7C为本申请一实施例中粗糙度材质子网络的结构示意图;

图7D为本申请一实施例中镜反射材质子网络的结构示意图;

图7E为本申请一实施例中漫反射材质子网络的结构示意图;

图8为本申请一实施例中颜色生成网络的结构示意图;

图9是本申请一实施例中三维场景的渲染方法的流程示意图

图10是本申请一实施例中三维场景的建模装置的结构示意图;

图11是本申请一实施例中三维场景的渲染装置的结构示意图;

图12是本发明实施例提供的一种计算机设备的装置结构示意图。

具体实施方式

现在将参照若干示例性实施例来论述本发明的内容。应当理解,论述了这些实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。

如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。术语“另一个实施例”要被解读为“至少一个其他实施例”。

相关技术中,可通过计算机图形学来实现三维场景的建模,该过程相当于严格数学模型或经验模型,例如,基于双向反射分布函数和全局光照模型。具体是通过相机屏幕每个像素发射的射线与场景中的物体发生多次反弹折射,从而还原出真实的三维场景,然后进行后续建模,所以计算机图形学的方法能够足够精确的计算,但实际使用时也是近似计算,尤其对于复杂的多物体场景和多光源的情况,仍需要较大的计算量。随着机器学习方法的不断涌现,基于逆向渲染思路的建模方法能够对待建模场景中的信息进行单要素还原,但单要素还原的场景信息无法全方位描述待建模场景中的物体属性。为了解决该问题,本申请基于逆向渲染的思路将待建模场景图片输入至模型网络中,通过模型网络提取待建模场景中的物理属性,根据物理属性信息确定待建模场景图片的三维场景模型数据,从而高质量还原待建模场景对应3D模型的形状、外观和光照信息。

具体来说,本实施例提供了一种三维场景的建模方法,如图1所示,该方法应用于三维建模对应的服务端,包括如下步骤:

101、获取待建模场景图片经过3D空间采样得到的第一采样点。

其中,待建模场景图片可以是待建模场景中通过相机设备在任一视角拍摄得到的二维图片。这里的3D空间采样相当于是对待建模场景图片对应的三维体素空间进行采样,采样得到的第一采样点是体素而不是像素。

在本实施例中,3D空间采样可以包括相机射线采样和光源光线采样。相机射线采样用于确定每个采样点的颜色,以便通过体渲染获得屏幕像素的权重累加颜色,对于相机射线的获取过程,可在输入视图中选择一个视角的视图,将此视图看作待建模场景中相应视角位置的相机屏幕,视图像素即为相机的屏幕像素,相机的每个像素均向待建模场景中发射一条射线,一个相机的一个像素发出来一条相机射线。光线光源采样用于确定每个采样点的亮度,以便产生阴影效果,对于光源光线的获取过程,可给定相机设备的位置和朝向后,可确定出当前的成像平面,然后将相机的位置坐标和平面上的某个像素相连得到光源光线。应说明的是,这里的光源是待建模场景中的额外光源,相当于场景创建好之后,新加入的光源。具体对相机射线和光源射线进行采样可使用两种采样方法,一种是均匀采样,另一种是重要性采样,采样策略可先执行均匀采样,然后在均匀采样的基础上执行重要性采样,还可在执行均匀采样之前,先确定物体的包围盒,然后求出相机射线与包围盒的焦点,通过焦点的奇偶数来确定物体的里面或外面,射线与包围盒的交点为奇数,则说明此射线是穿入包围盒,反之偶数则为穿出包围盒,奇数和偶数之间为包围盒内部区域,然后执行均匀采样,在射线与包围盒的交点附近和内部使用相对稀疏的采样点,均匀分布在一条直线上,再通过神经网络求出每个均匀采样点的体密度和颜色,在均匀采样求出每个采样点的体密度之后,体密度高的地方对最终颜色或亮度的贡献最大,在体密度较高的地方再次进行相对密集的重要性采样。本实施例针对相机射线采样和光源光线采样均使用上述两种采样策略,通过上述两种采样策略,可以大幅减少采样点的数量,提升整体性能和准确性。

在实际应用中,对待建模场景图片进行3D空间采样的过程中,可通过在不同尺度上进行采样来提高三维场景的建模效果,先在粗粒度的尺度上进行全局采样,获取整体场景信息,然后在细粒度的尺度上进行局部采样,以获取更多的细节信息,这样多尺度的采样策略可以有效平衡图像质量和计算复杂度。

示例性的,在3D空间采样过程中先使用均匀采样在一条射线上均匀采样64个点,获取整体场景信息,然后通过体密度确定哪个地方的体密度突然变大,在体密度变大位置的前后两个均匀采样得到的采样点之间再次分配32个采样点进行随机采样。

对于本实施例的执行主体可以为三维场景的建模装置或设备,可以配置在三维建模对应的服务端,对于不透明的物体,可以进一步简化采样过程,只需要求出相机射线与物体表面的交点,这个交点与光源连线,计算这个点的亮度,其他所有采样点的亮度使用这一个采样点即可,对于透明的物体,也可以简化采样流程,只需要在相机射线密度高的区域选出有限个采样点,然后这几个采样点与光源相连,对光源方向采样,计算这有限个采样点的亮度信息,然后其他点的亮度信息使用这有限个采样点亮度的平均值。

102、根据所述第一采样点的属性信息,利用预先训练的模型网络对待建模场景图片进行信息提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息。

其中,第一采样点的属性信息为采样点在3D空间中的位置,预先训练的模型网络包括形状网络和材质网络两部分,第一采样在3D空间中的位置是xyz三维向量,首先要进行编码,这里可使用三角函数编码方式对三维向量进行编码

具体形状网络的结构可以设置8个隐藏层,每层256个点,在第4层结束后与输入编码位置进行跳跃连接,共同输入第5层,每层使用Softplus作为激活函数,通过形状网络部分对待建模场景图片进行形状信息的提取,得到SDF表示的模型。

作为形状网络与材质网络之间的信息过渡,需要通过SDF表示的模型来获取第二采样点,第二采样点为待建模场景中预设视角的射线经过3D空间采样得到的,预设视角可使用摄像机的视角,即对待建模场景图片经过第二次3D空间采样得到,预设视角还可使用3D空间中的任一视角,即对待建模场景发出的任意射线进行3D采样。

这里的SDF指的是有符号距离场,在空间中的一个有限区域上确定一个点到区域边界的距离并同时对距离的符号进行定义:点在区域边界内部为正,外部为负,位于边界上时为0,通过SDF表示的模型能够区分待建模场景中图提醒、内部和外部的数值变化。

具体材质网络的结构可以设置用于提取不同材质信息的多个材质子网络,各个材质子网络在材质信息的提取过程中相互独立,多个材质子网络可输出第二采样点在不同材质维度上的参数信息,以及第二采样点的体密度。

例如,通过几何材质维度的材质子网络可获取到第二采样点的体密度、SDF值和法线,通过粗糙度材质维度的材质子网络可获取到第二采样点的粗糙度,通过镜面反射材质维度的材质子网络可获取到第二采样点的镜面反射颜色,通过漫反射材质维度的材质子网络可获取到第二采样点的反照率和漫反射颜色。

103、根据所述第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息。

可以理解的是,第二采样点在不同材质维度上的参数信息作为预先训练的颜色生成网络对应的输入参数,可在待建模场景图片对应3D模型中添加多维度的材质信息,这里材质信息有的是为了当前环境光的漫反射和镜面反射,有的是为了产生阴影和高光,有的是为了解决3D模型某一个3D点在不同角度看到的颜色不同问题,以使得颜色生成网络能够多个材质维度上的参数信息对应输出待建模场景中具有环境效果的颜色信息。

104、根据所述第二采样点的体密度、所述第二采样点在不同材质维度上的参数信息以及所述第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据。

可以理解的是,第二采样点的体密度、第二采样点在不同材质维度上的参数信息以及第二采样点的颜色信息能够全方位反映待建模场景图对应3D模型的形状、外观以及颜色等属性,通过待建模场景图片的三维场景模型数据可实现待建模场景图片进行3D建模和体渲染等,进而准确还原待建模场景的画面信息。

进一步地,在获取待建模场景图片的三维场景模型数据之后,可通过三维场景模型数据实现3D建模,具体在第二采样点在不同材质维度上的参数信息中获取第二采样点在形状维度上的SDF值,根据第二采样点在形状维度上的SDF值对待建模场景图片进行3D建模。

进一步地,在获取待建模场景图片的三维场景模型数据之后,可通过三维场景模型数据实现彩色3D建模,具体根据第二采样点的体密度、第二采样点在形状维度上的SDF值、以及第二采样点的颜色信息,对待建模场景图片进行彩色3D建模。

本申请实施例提供的三维场景的建模方法,与目前现有技术通过计算机图形学来实现三维场景的建模方式相比,本申请通过获取待建模场景图片经过3D空间采样得到的第一采样点,根据第一采样点的属性信息,先利用预先训练的模型网络对待建模场景图片进行信息提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息,这里第二采样点为待建模场景中预设视角的射线经过3D空间采样得到的,然后根据第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息,根据第二采样点的体密度、第二采样点在不同材质维度上的参数信息以及第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据。整个过程先通过模型网络对待建模场景图片进行不同材质维度上属性信息的估算,然后通过颜色生成网络对待建模场景图片进行颜色信息的估算,结合不同材质维度上的属性信息和颜色信息来获取待建模的场景信息,由于场景信息融合有待建模场景中的多维属性,无需经过大量计算,即可实现三维场景的准确建模,从而高质量还原3D 模型的形状、外观和光照。

在上述实施例中,预先训练的模型网络包括形状网络和材质网络,通过形状网络可实现形状信息的提取,通过材质网络可实现不同材质信息的提取,具体地,如图2所示,步骤102包括如下步骤:

201、根据所述第一采样点的属性信息,利用所述形状网络对待建模场景图片进行形状信息的提取,得到SDF表示的模型。

202、将所述SDF表示的模型生成3D模型网格,根据所述3D模型网格的顶点数据估计第二采样点的属性信息。

203、根据所述第二采样点的属性信息,利用所述材质网络对待建模场景图片进行材质信息的提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息。

可以理解的是,形状网络输出的SDF表示的模型本质上存储了第一每个采样点到图形的最近距离,即将模型划出一个表面,在模型表面外侧的点数值大于0,在模型表面内侧的点数值小于0。

具体在将SDF表示的模型生成3D模型网格的过程中,可以将SDF表示的模型经过行立方体渲染,得到3D模型网格,该3D模型网格具有网格表示的3D数据格式,然后考虑到形状网络到材质网络是需要对3D模型网格进行采样,获取3D模型网格经过3D空间采样得到的第二采样点,根据3D模型网格的顶点数据,估计第二采样点的属性信息。

具体在获取3D模型网格经过3D空间采样得到的第二采样点的过程中,可根据3D模型网格,选取待建模场景中射线经过所述3D模型网格作为预设视角,对预设视角的射线进行3D空间采样,得到第二采样点。

应说明的是,这里3D模型网格的顶点数据与第二采样点是两种不同用途的点,3D模型网格的顶点数据是构成模型的3D形状,而第二采样点则是用于体渲染的,通过累加一条相机射线上所有采样点的颜色得到相机的当前像素颜色,而第二采样点的属性信息可根据3D模型网格的顶点数据进行估计。具体根据3D模型网格的顶点数据,估计第二采样点的属性信息的过程中,可以获取3D模型网格中与第二采样点相邻的多个目标网格顶点,根据3D模型网格的顶点数据,确定多个目标网格顶点的属性信息,通过预设估计算法对多个目标网格顶点的属性信息进行加权求和,得到第二采样点的属性信息。

上述第二采样点的估算过程相当于是利用第二采样点邻近的几个网格顶点的属性信息,然后通过预设估算方法来估计第二采样点的属性信息。具体来说,3D模型网格中预设每个三角形顶点存储着几何信息

这里预设估算方法使用K-近邻算法,使得

其中,

在上述实施例中,材质网络包括用于提取不同材质信息的多个材质子网络,每个材质子网络可以提取不同材质维度的属性信息,具体地,步骤203包括如下步骤:

203-1、根据所述第二采样点的属性信息,利用第一材质子网络对待建模场景图片进行几何信息的提取,得到第二采样点在形状维度上的SDF值、法线以及体密度。

203-2、根据所述第二采样点的属性信息,利用第二材质子网络对待建模场景图片进行粗糙度信息的提取,得到第二采样点在外观维度上的粗糙度信息。

203-3、根据所述第二采样点的属性信息,利用第三材质子网络对待建模场景图片进行镜面反射信息的提取,得到第二采样点在光照维度上的镜面反射信息。

203-4、根据所述第二采样点的属性信息,利用第是材质子网络对待建模场景图片进行漫反射信息的提取,得到第二采样点在外观维度和光照维度上的漫反射信息。

在本实施例中,材质子网络包括第一材质子网络、第二材质子网络、第三材质子网络以及第四材质子网络,不同材质子网络提取不同材质维度的属性信息,其中,第一材质子网络作为几何网络,用于提取第二采样点在形状维度上的SDF值、法线以及体密度,第二材质子网络作为粗糙度网络,用于提取第二采样点在外观维度上的粗糙度信息,第三材质子网络作为镜面反射网络,用于提取第二采样点在光照维度上的镜面反射信息,第四材质子网络作为漫反射网络,用于提取第二采样点在外观维度和光照维度上的漫反射信息。这里多个材质子网络都需要输入第二采样点的属性信息,这里使用的是第二采样点的采样距离,第二采样点的采样距离相当于第二采样点到3D模型网格的距离,该距离可通过第二采样点到邻近3D模型网格顶点的距离进行估算,具体可使用K-近邻算法来估算第二采样点的采样距离,与上文K-近邻算法的公式相同,第二采样点的采样距离可表示如下:

,其中,权重/>

具体在几何网络中,输入参数包括几何信息

其中,

应说明的是,几何网络输出第二采样点的SDF值,形状网络输出SDF表示的模型,两者虽然都会输出SDF值,但是形状网络是通过SDF值生成3D模型网格,以使用3D模型网格来估算第二采样点的属性信息,而几何网络是为了生成第二采样点的 SDF值,以便与生成的颜色信息相匹配,这样不仅可以建模得到3D模型形状,还可以建模得到3D模型形状对应的颜色,并且几何网络生成的SDF值和法线均作为颜色生成网络的输入,几何网络生成的体密度也是体渲染需要用到的参数,用于计算屏幕最终的颜色。通过几何网络可解决3D模型生成的形状。

具体在粗糙度网络中,输入参数为可学习的粗糙度信息

具体在镜面反射网络中,输入参数为可学习的镜面反射信息

具体在漫反射网络中,输入参数为可学习的漫反射信息

其中,符号

这里漫反射网络的层感知机有4个隐藏层,每层256个点,每层采用ReLU激活函数,漫反射网络的公式为

相应地,在步骤103中,根据所述第二采样点在形状维度上的SDF值、法线、所述第二采样点在外观维度上的粗糙度信息、所述第二采样点在光照维度上的镜面反射信息、所述第二采样点在外观维度和光照维度上的漫反射信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息。

考虑到待建模场景中其他环境因素的影响,进一步地,在上述实施例中,如图3所示,在步骤103之前,方法还包括如下步骤:

105、获取待建模场景中不同环境因素对颜色信息产生的影响因子,根据所述影响因子设置适用于添加至颜色生成网络中的附加参数信息,以使得所述颜色生成网络在环境因素的影响下输出的第二采样点的颜色信息具有不同的颜色表现效果。

其中,不同环境因素对颜色信息产生的影响因子可以包括但不局限于相机信息、额外添加的光源信息以及额外添加光源产生的光照信息,对于相机信息,附加参数信息可以包括相机方向,对于额外添加的光源信息,对于额外添加光源产生的光照信息,附加参数信息可以包括高光信息和阴影信息。

相应地,在步骤103中,根据所述第二采样点在不同材质维度上的参数信息以及所述附加参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息。

具体在颜色生成网络中,输入参数为第二采样点在不同维度上的参数信息和附加参数信息,通过第二采样点在不同维度上的参数信息来反映3D模型的几何信息、外观信息和光照信息,通过附加参数信息来反映待建模场景中相机信息、额外添加的光源信息和额外添加光源产生的光照信息。这里颜色生成网络包括多层感知机,对输入参数进行编码的方式还是采用三角函数编码方式,多层感知机由8层隐藏层,每层256个神经元构成,每层采用ReLU激活函数,网络公式为:

表示相机射线从相机位置/>

进一步地,为了求出阴影信息,需要对光源进行采样,具体采样过程可参考上文中针对第一采样点和第二采样点进行3D空间采样的过程,对于不呕透明物体,可通过深度求出相机射线与物体表面的焦点,即物体表面是SDF为0的水平集,所求深度

进一步地,对于高光信息,可使用已求出的法线信息输入到微表面反射光照模型中,采用5个粗糙度数值,从而得到5个高光颜色值。

在实际应用过程中,预先训练的模型网络以及预先训练的颜色生成网络需要使用待建模场景中大量不同视角的样本图片进行训练,在训练的过程中,网络预测得到的颜色值与真实值通过损失函数进行计算,并根据计算得到的损失值来不断调整网络参数,以使得网络预测得到的颜色值接近于真实值,当误差小于预设数值时结束训练过程。这里整体损失函数可由多部分损失函数组成,具体为

具体颜色重建损失函数的公式为:

其中,

考虑到采样过程主要分为粗粒度均匀采样和细粒度重要形成采样,需要通过粗粒度采样来为精细采样提供分配样本的权重,由于粗粒度采样需要输出阴影贡献度,而阴影贡献度如果不准确的话,会影响第二层采样分配,所以需要分别计算粗粒度采样的损失函数和细粒度采样的损失函数。

具体正则化损失函数的公式为:

具体SDF重建损失函数的公式为:

具体平滑度损失函数的公式为:

具体一致性损失函数的公式为:

进一步地,为了便于对待建模场景中属性信息进行灵活修改,在上述实施例中,如图4所示,在步骤104之后,方法还包括如下步骤:

106、响应于待建模场景的编辑指令,获取待建模场景图片在材质信息提取过程中具有可编辑性的网络输入参数。

107、根据所述编辑指令对所述具有可编辑性的网络输入参数进行调整,以根据调整后的网络输入参数对待建模场景图片进行信息提取和颜色提取,获取更新后待建模场景图片的三维场景模型数据。

在本实施例中,待建模场景的编辑指令可针对待建模场景进行形状、外观以及光照信息进行编辑,从而改变3D模型的建模和/或渲染效果。形状编辑可采用刚性变形,以便重建3D模型网格,外光编辑可对漫反射、静默反射和粗糙度等外观信息进行编辑,考虑到外观相关的材质信息是作为颜色生成网络的输入参数,具有可编辑性,每次只改变一个特征,例如,改变漫反射特征,而其他镜面反射特征和粗糙度特征保持不变,可通过设置损失函数

进一步地,考虑到待建模场景中其他环境因素对待建模场景中属性信息的影响,在使用待建模场景中属性信息对待建模场进行编辑的基础上,还可以针对适用于添加至颜色生成网络中的附加参数信息进行编辑。

具体地,在根据编辑指令对具有可编辑性的网络输入参数进行调整之后,获取待建模场景中适用于添加至颜色生成网络中的附加参数信息,根据待建模场景中更新的贴图信息和/或新增的光照信息对附加参数信息进行调整,以根据调整后的网络输入参数对待建模场景图片进行信息提取之后,结合调整后的附加属性参数对待建模场景图片进行颜色提取,获取更新后待建模场景图片的三维场景模型数据。

在本实施例中,附加参数信息包括贴图方式得到的重新照明和额外光源方式得到的重新照明,对于贴图方式得到的重新照明,可通过获取待建模场景中的漫反射照明和镜面反射照明,通过将待建模场景中的环境贴图更换为目标环境贴图,确定待建模场景中更新的贴图信息;对于额外光源方式得到的重新照明,可通过获取待建模场景中的光源信息,通过对所述光源信息进行修改,确定待建模场景中新增的光照信息。

具体来说,贴图方式得到的重新照明可分为使用显示环境贴图表示的漫反射照明和使用多层感知机网络表示的镜面反射照明。对于漫反射照明,可使用环境贴图表示待建模场景中的漫反射照明,通过将待建模场景中的环境贴图更换为目标环境贴图,对待建模场景中的漫反射照明进行直接更改,这样即可轻松更改漫反射照明。对于镜面反射照明,无法直接修改,可使用多层感知机的网络表示待建模场景中的镜面反射照明,通过将待建模场景中的环境贴图更换为目标环境贴图,对待建模场景中的镜面反射照明进行间接更改,根据更改后待建模场景中的漫反射照明和镜面反射照明,确定待建模场景中更新的贴图信息,即通过损失函数按照目标环境贴图进行优化,让镜面照明网络

应说明的是,上述镜面反射照明进行编辑的方式仅适用于采样点的粗糙度较小时,如果采样点的粗糙度较大,则被重照明为镜面效果,这不是正确的照明效果。为了解决粗糙度较大的镜面反射效果,可在对待建模场景中的镜面反射照明进行间接更改之前,获取待建模场景中第二采样点的粗糙度信息,若第二采样点的粗糙度信息小于预设阈值,则通过将待建模场景中的环境贴图更换为目标环境贴图,按照目标环境贴图对多层感知机的网络进行优化,在优化过程中对待建模场景中的镜面反射照明进行间接更改,若第二采样点的粗糙度信息大于或等于预设阈值,则通过将待建模场景中的环境贴图更换为目标环境贴图,根据蒙特卡洛采样生成目标环境贴图的多层纹理映射,根据目标环境贴图的多层纹理映射,对待建模场景中的镜面反射照明进行间接更改。

具体来说,通过蒙特卡洛采样得到不同粗糙度水平下的预过滤环境图,即生成目标环境贴图的多层纹理映射,公式表示如下:

其中,

可以理解的是,不同粗糙度级别对应不同的采样数,对不同粗糙度级别的输入光进行积分后,就可以得到环境贴图的多层纹理映射,该多层纹理映射在每个纹理级别具有固定的粗糙度值,可以根据每个采样点的粗糙度r和相机方向

其中,M是预计算的环境多层纹理铁图,

具体来说,额外光源方式得到的重新照明可以新加一个点光源,通过修改光源点的位置和颜色,从而改变待建模场景中的渲染效果,如果需要添加多个点光源,则在颜色生成网络中加入更多的光源位置和颜色,有几个光源和颜色,对应新增几个可学习输入参数即可。

在实际应用场景中,三维场景的建模的框架结构如图5所示,在图5中三维场景的建模过程可根据输入的待建模场景图片,利用预先训练的网络模型输出3D模型的SDF表示、体密度以及颜色信息,通过对网络输入参数进行调整可相应调整3D模型的SDF表示、体密度以及颜色信息,进而调节3D模型的形状、外观和光照信息。

这里预先训练的网络模型包括形状网络、材质网络和颜色生成网络,在形状网络中,如图6所示,形状网络的输入参数为第一采样点的属性信息,输出参数为SDF表示的模型,进一步通过Marching Cubes算法渲染,将SDF表示的模型生成3D模型网格,在材质网络中,如图7A所示,材质网络包括几何材质子网络、粗糙度材质子网络、镜反射材质子网络以及漫反射材质子网络,材质网络的输入参数为第二采样点的属性信息,输出参数为第二采样点的体密度以及第二采样点在不同材质维度上的参数信息,具体材质网络包括的多个材质子网络如图7B-7E所示,在几何材质子网络中,如图7B所示,输入参数为第二采样点的属性信息,通过第二采样点的几何信息输出第二采样点的SDF值、法线以及体密度,在粗糙度材质子网络中,如图7C所示,输入参数为第二采样点的属性信息,通过第二采样点的粗糙度输出第二采样点的粗糙度信息,在镜面反射网络中,如图7D所示,输入参数为第二采样点的属性信息,通过第二采样点的镜反射输出第二采样点的镜面反射色调,在漫反射网络中,如图7E所示,输入参数为第二采样点的属性信息,通过第二采样点的漫反射输出第二采样点的反照率,然后通过环境贴图,将反照率转换为漫反射颜色。在颜色生成网络中,如图8所示,颜色生成网络的输入参数为第二采样点在不同材质维度上的参数信息和附加参数信息,具体包括法线、SDF值、粗糙度、高光信息、阴影信息、相机方向、采样位置、光源位置、光源颜色、镜面反射颜色、漫反射颜色,输出参数为第二采样点的颜色信息。

进一步地,作为上述三维场景模型数据的应用,本申请还提供了一种三维场景的渲染方法,如图9所示,该方法可应用于三维渲染对应的服务端,包括如下步骤:

301、从三维场景模型数据中提取第二采样点的体密度以及第二采样点的颜色信息;

302、根据所述第二采样点的体密度以及所述第二采样点的颜色信息,对待建模场景图片进行屏幕像素体渲染和光源体渲染。

其中,三维场景模型数据为使用上文中三维场景的建模方法得到的,屏幕像素体渲染用于对3D模型进行颜色渲染,光源体渲染用于对3D模型进行阴影渲染

具体针对屏幕像素渲染,相机每个像素发射射线

具体针对光源体渲染,光源发射光线:

进一步的,作为图1-4方法的具体实现,本申请实施例提供了一种三维场景的建模装置,如图10所示,该装置包括:第一获取单元41、第一提取单元42、第二提取单元43、确定单元44。

第一获取单元41,用于获取待建模场景图片经过3D空间采样得到的第一采样点;

第一提取单元42,用于根据所述第一采样点的属性信息,利用预先训练的模型网络对待建模场景图片进行信息提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息,所述第二采样点为待建模场景中预设视角的射线经过3D空间采样得到的;

第二提取单元43,用于根据所述第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息;

确定单元44,用于根据所述第二采样点的体密度、所述第二采样点在不同材质维度上的参数信息以及所述第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据。

本发明实施例提供的三维场景的建模装置,与目前现有技术通过计算机图形学来实现三维场景的建模方式相比,本申请通过获取待建模场景图片经过3D空间采样得到的第一采样点,根据第一采样点的属性信息,先利用预先训练的模型网络对待建模场景图片进行信息提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息,这里第二采样点为待建模场景中预设视角的射线经过3D空间采样得到的,然后根据第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息,根据第二采样点的体密度、第二采样点在不同材质维度上的参数信息以及第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据。整个过程先通过模型网络对待建模场景图片进行不同材质维度上属性信息的估算,然后通过颜色生成网络对待建模场景图片进行颜色信息的估算,结合不同材质维度上的属性信息和颜色信息来获取待建模的场景信息,由于场景信息融合有待建模场景中的多维属性,无需经过大量计算,即可实现三维场景的准确建模,从而高质量还原3D 模型的形状、外观和光照。

在具体的应用场景中,所述预先训练的模型网络包括形状网络和材质网络,所述第一提取单元包括:

第一提取模块,用于根据所述第一采样点的属性信息,利用所述形状网络对待建模场景图片进行形状信息的提取,得到SDF表示的模型;

估计模块,用于将所述SDF表示的模型生成3D模型网格,根据所述3D模型网格的顶点数据估计第二采样点的属性信息;

第二提取模块,用于根据所述第二采样点的属性信息,利用所述材质网络对待建模场景图片进行材质信息的提取,得到第二采样点的体密度以及第二采样点在不同材质维度上的参数信息。

在具体的应用场景中,所述估计模块,具体用于将所述SDF表示的模型经过行立方体渲染,得到3D模型网格;获取所述3D模型网格经过3D空间采样得到的第二采样点;根据所述3D模型网格的顶点数据,估计第二采样点的属性信息。

在具体的应用场景中,所述估计模块,具体还用于根据所述3D模型网格,选取待建模场景中射线经过所述3D模型网格作为预设视角;对所述预设视角的射线进行3D空间采样,得到第二采样点。

在具体的应用场景中,所述估计模块,具体还用于获取3D模型网格中与所述第二采样点相邻的多个目标网格顶点,根据所述3D模型网格的顶点数据,确定多个目标网格顶点的属性信息;通过预设估计算法对所述多个目标网格顶点的属性信息进行加权求和,得到第二采样点的属性信息。

在具体的应用场景中,所述材质网络包括用于提取不同材质信息的多个材质子网络,所述第二提取模块,具体用于根据所述第二采样点的属性信息,利用第一材质子网络对待建模场景图片进行几何信息的提取,得到第二采样点在形状维度上的SDF值、法线以及体密度;根据所述第二采样点的属性信息,利用第二材质子网络对待建模场景图片进行粗糙度信息的提取,得到第二采样点在外观维度上的粗糙度信息;根据所述第二采样点的属性信息,利用第三材质子网络对待建模场景图片进行镜面反射信息的提取,得到第二采样点在光照维度上的镜面反射信息;根据所述第二采样点的属性信息,利用第是材质子网络对待建模场景图片进行漫反射信息的提取,得到第二采样点在外观维度和光照维度上的漫反射信息;

相应的,所述第二提取单元,具体用于根据所述第二采样点在形状维度上的SDF值、法线、所述第二采样点在外观维度上的粗糙度信息、所述第二采样点在光照维度上的镜面反射信息、所述第二采样点在外观维度和光照维度上的漫反射信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息。

在具体的应用场景中,所述装置还包括:

设置单元,用于在所述根据所述第二采样点在不同材质维度上的参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息之前,获取待建模场景中不同环境因素对颜色信息产生的影响因子,根据所述影响因子设置适用于添加至颜色生成网络中的附加参数信息,以使得所述颜色生成网络在环境因素的影响下输出的第二采样点的颜色信息具有不同的颜色表现效果;

相应的,所述第二提取单元,具体还用于根据所述第二采样点在不同材质维度上的参数信息以及所述附加参数信息,利用预先训练的颜色生成网络对待建模场景图片进行颜色提取,得到第二采样点的颜色信息。

在具体的应用场景中,所述装置还包括:

第二获取单元,用于在所述根据所述第二采样点的体密度、所述第二采样点在不同材质维度上的参数信息以及所述第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据之后,响应于待建模场景的编辑指令,获取待建模场景图片在材质信息提取过程中具有可编辑性的网络输入参数;

调整单元,用于根据所述编辑指令对所述具有可编辑性的网络输入参数进行调整,以根据调整后的网络输入参数对待建模场景图片进行信息提取和颜色提取,获取更新后待建模场景图片的三维场景模型数据。

在具体的应用场景中,所述装置还包括:

第三获取单元,用于在所述根据所述编辑指令对所述具有可编辑性的网络输入参数进行调整之后,获取待建模场景中适用于添加至颜色生成网络中的附加参数信息;

所述调整单元,还用于根据待建模场景中更新的贴图信息和/或新增的光照信息对所述附加参数信息进行调整,以根据调整后的网络输入参数对待建模场景图片进行信息提取之后,结合调整后的附加属性参数对待建模场景图片进行颜色提取,获取更新后待建模场景图片的三维场景模型数据。

在具体的应用场景中,所述装置还包括:

确定单元,用于在所述获取待建模场景中适用于添加至颜色生成网络中的附加参数信息之后,获取待建模场景中的漫反射照明和镜面反射照明,通过将待建模场景中的环境贴图更换为目标环境贴图,确定待建模场景中更新的贴图信息;获取待建模场景中的光源信息,通过对所述光源信息进行修改,确定待建模场景中新增的光照信息。

在具体的应用场景中,所述确定单元,具体用于使用环境贴图表示待建模场景中的漫反射照明,通过将待建模场景中的环境贴图更换为目标环境贴图,对待建模场景中的漫反射照明进行直接更改;使用多层感知机的网络表示待建模场景中的镜面反射照明,通过将待建模场景中的环境贴图更换为目标环境贴图,对待建模场景中的镜面反射照明进行间接更改;根据更改后待建模场景中的漫反射照明和镜面反射照明,确定待建模场景中更新的贴图信息。

在具体的应用场景中,所述确定单元,具体还用于在所述使用多层感知机的网络表示待建模场景中的镜面反射照明,通过将待建模场景中的环境贴图更换为目标环境贴图,对待建模场景中的镜面反射照明进行间接更改之前,获取待建模场景中第二采样点的粗糙度信息;若所述第二采样点的粗糙度信息小于预设阈值,则通过将待建模场景中的环境贴图更换为目标环境贴图,按照所述目标环境贴图对多层感知机的网络进行优化,在优化过程中对待建模场景中的镜面反射照明进行间接更改;若所述第二采样点的粗糙度信息大于或等于预设阈值,则通过将待建模场景中的环境贴图更换为目标环境贴图,根据蒙特卡洛采样生成目标环境贴图的多层纹理映射,根据所述目标环境贴图的多层纹理映射,对待建模场景中的镜面反射照明进行间接更改。

在具体的应用场景中,所述装置还包括:

第一建模单元,用于在所述根据所述第二采样点的体密度、所述第二采样点在不同材质维度上的参数信息以及所述第二采样点的颜色信息,确定待建模场景图片的三维场景模型数据之后,在所述第二采样点在不同材质维度上的参数信息中获取第二采样点在形状维度上的SDF值,根据所述第二采样点在形状维度上的SDF值对待建模场景图片进行3D建模;

第二建模单元,用于根据所述第二采样点的体密度、所述第二采样点在形状维度上的SDF值、以及所述第二采样点的颜色信息,对待建模场景图片进行彩色3D建模。

需要说明的是,本实施例提供的一种三维场景的建模装置所涉及各功能单元的其它相应描述,可以参考图1-图4中的对应描述,在此不再赘述。

进一步的,作为图9方法的具体实现,本申请实施例提供了一种三维场景的渲染装置,如图11所示,该装置包括:第四获取单元51、渲染单元52。

第四获取单元51,用于从三维场景模型数据中提取第二采样点的体密度以及第二采样点的颜色信息;

渲染单元52,用于根据所述第二采样点的体密度以及所述第二采样点的颜色信息,对待建模场景图片进行屏幕像素体渲染和光源体渲染,所述屏幕像素体渲染用于对3D模型进行颜色渲染,所述光源体渲染用于对3D模型进行阴影渲染;

其中,所述三维场景模型数据为使用上述三维场景的建模方法得到的。

需要说明的是,本实施例提供的一种三维场景的渲染装置所涉及各功能单元的其它相应描述,可以参考图9中的对应描述,在此不再赘述。

基于上述如图1-图4所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1-图4所示的三维场景的建模方法。

基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

基于上述如图1-图4所示的方法,以及图10所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种三维场景的建模的实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1-图4所示的三维场景的建模方法。

基于上述如图9所示的方法,以及图11所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种三维场景的渲染的实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图9所示的三维场景的建模方法。

可选的,上述两个实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。

在示例性实施例中,参见图12,上述实体设备包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的三维场景的建模方法。

本领域技术人员可以理解,本实施例提供的一种三维场景的建模的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述三维场景的建模的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,本申请先通过模型网络对待建模场景图片进行不同材质维度上属性信息的估算,然后通过颜色生成网络对待建模场景图片进行颜色信息的估算,结合不同材质维度上的属性信息和颜色信息来获取待建模的场景信息,由于场景信息融合有待建模场景中的多维属性,无需经过大量计算,即可实现三维场景的准确建模,从而高质量还原3D 模型的形状、外观和光照。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

相关技术
  • 一种桥梁预应力孔道压浆密实度超声检测装置及其检测方法
  • 一种基于单目面阵相机的桥梁缺陷检测装置及检测方法
  • 一种基于空间位置的桥梁病害高精度智能检测方法
  • 一种桥梁结构病害检测装置及其检测方法
  • 一种基于高光谱的桥梁箱梁病害检测装置及检测方法
技术分类

06120116576638