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

虚拟物体的材质恢复方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:52:40


虚拟物体的材质恢复方法、装置、设备及存储介质

技术领域

本申请涉及图形渲染技术领域,具体而言,涉及一种虚拟物体的材质恢复方法、装置、设备及存储介质。

背景技术

材质恢复的过程一般为给定特定3D物体的多个视角采集的若干张2D源图像以及其对应的相机姿态,材质恢复任务旨在恢复该物体表面材质参数。过去的采集方式,比如使用具有可控灯光和相机的Light Stage系统、在暗室中使用带闪光灯的相机拍摄或是将物体置于转台上,难度和成本都较高。近年来,基于深度学习的逆向神经渲染技术快速发展,即将材质、几何等信息均用MLP进行隐式表达,而后渲染出图像并比较真实图像,进行逆向更新隐式表达参数直至渲染结果与真实图像一致。目前,该技术已被广泛地应用于3D建模、增强现实(AR)、虚拟现实(VR)等诸多领域,具备广泛的应用前景和巨大的市场价值。

近年来,基于深度学习的逆向神经渲染技术快速发展,可以从自然光照下捕捉多视角图像用于材质恢复,方式更为灵活。这些方法通常将几何和空间变化的BRDF(一种材质模型,包含粗糙度、漫反射系数等参数)表示为基于坐标的神经网络,并通过比较渲染图像与捕捉图像来进行优化。

但是这样的材质恢复方式渲染结果较为模糊,从而影响逆向渲染过程,并且材质恢复效果不佳。

发明内容

本申请的目的在于,针对上述现有技术中的不足,提供一种虚拟物体的材质恢复方法、装置、设备及存储介质,以解决现有技术中渲染结果较为模糊,从而影响逆向渲染过程,并且材质恢复效果不佳的问题。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请一实施例提供了一种虚拟物体的材质恢复方法,所述方法包括:

基于目标相机,对待渲染虚拟物体的各表面点的入射光线进行采样;

对各所述入射光线进行追踪,确定各所述入射光线是否与所述待渲染虚拟物体的其他表面点存在交点;

若不存在交点,则采用预设环境光照球面高斯系数计算该入射光线的光强;

若存在交点,则采用预设光场网络模型计算该入射光线的光强;

采用预设材质神经网络基于各所述入射光线的光强和各所述表面点的材质贴图,确定各所述表面点的材质系数。

第二方面,本申请另一实施例提供了一种虚拟物体的材质恢复装置,所述装置包括:采样模块、确定模块和计算模块,其中:

采样模块,用于基于目标相机,对待渲染虚拟物体的各表面点的入射光线进行采样;

确定模块,用于对各所述入射光线进行追踪,确定各所述入射光线是否与所述待渲染虚拟物体的其他表面点存在交点;

计算模块,用于若不存在交点,则采用预设环境光照球面高斯系数计算该入射光线的光强;若存在交点,则采用预设光场网络模型计算该入射光线的光强;

确定模块,具体用于采用预设材质神经网络基于各所述入射光线的光强和各所述表面点的材质贴图,确定各所述表面点的材质系数。

第三方面,本申请另一实施例提供了一种虚拟物体的材质恢复设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当虚拟物体的材质恢复设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述方法的步骤。

第四方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述方法的步骤。

本申请的有益效果是:采用本申请提供的虚拟物体的材质恢复方法,由于对待渲染虚拟物体的各表面点的入射光线进行采样,并对各入射光线进行追踪,通过各入射光线是否与待渲染虚拟物体的其他表面存在交点的方式,来确定各表面点上的入射光线为直接光照还是间接光照,并根据不同的方式确定不同的光强计算方式,从而计算各表面点上的光强,最后采用预设材质神经网络基于各入射光线的光强和各表面点的材质贴图,确定各表面点的材质系数,从而可以准确的分离间接光照和直接光照下的待渲染虚拟物体的各表面点的材质系数,以便后续完成更准确的材质恢复。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请一实施例提供的虚拟物体的材质恢复方法的流程示意图;

图2为本申请一实施例提供的入射光线示意图;

图3为本申请另一实施例提供的虚拟物体的材质恢复方法的流程示意图;

图4为本申请另一实施例提供的虚拟物体的材质恢复方法的流程示意图;

图5为本申请另一实施例提供的虚拟物体的材质恢复方法的流程示意图;

图6为本申请一实施例提供的虚拟物体的材质恢复装置的结构示意图;

图7为本申请另一实施例提供的虚拟物体的材质恢复装置的结构示意图;

图8为本申请一实施例提供的虚拟物体的材质恢复设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

另外,本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

为方便对本申请实施例的理解,下述对本申请涉及的部分名词进行解释说明:

材质恢复(Reflectance Decomposition):给定特定三维(3D)物体的多个视角采集的若干张二维(2D)源图像以及其对应的相机姿态,材质恢复任务旨在恢复该三维物体表面材质参数。

神经渲染(Neural Rendering):借助多层感知器(MLP)网络来隐式地表征2D/3D场景的颜色,来渲染生成观察视角下的图像。

间接光照(Indirect Illumination):渲染物体表面,是光线照射到物体表面并反射到人眼或相机的过程。光线照射分为两种,一种是直接光照,即从光源直接发射到物体表面的光线;另一种是间接光照,即从光源发射出来后,先照射到其他表面,后弹射至该表面的光线。

符号距离函数(Signed Distance Function,SDF):三维物体表面的隐式表达,在空间中的一个有限区域上确定一个点到物体表面的距离,并同时对距离的符号进行定义:点在物体内部为正,点在物体外部为负,点位于物体表面上时为0。可借助多层感知器(MLP)网络来隐式地表征SDF。

深度学习:一种由大规模神经元构成的机器学习算法,由于可以很好地解决复杂的非线性问题,目前广泛的应用于在计算机视觉、语音识别、自然语言处理等多个领域。

如下结合多个具体的应用示例,对本申请实施例所提供的一种虚拟物体的材质恢复方法进行解释说明。

在一种可能的实施方式中,本发明实施例提供了一种虚拟物体的材质恢复方法,该方法可以由终端设备或服务器执行。终端设备是具有计算硬件的任何设备,该计算硬件能够支持和执行对应的软件产品。本申请实施例以虚拟物体的材质恢复方法由终端设备执行为例来进行说明。图1为本申请一实施例提供的一种虚拟物体的材质恢复方法的流程示意图,如图1所示,该方法包括:

S101:基于目标相机,对待渲染虚拟物体的各表面点的入射光线进行采样。

在本申请的实施例中,对于待渲染物体,例如可以使用蒙特卡洛方法采样待渲染物体表面的入射光线的方向w

在一些可能的实施例中,例如可以使用至少两种重要性采样方式,对各表面点对应的入射光线进行采样;其中,重要性采样方式例如可以包括:COS重要性采样、GGX重要性采样、SG重要性采样。

其中,由于每种重要性采样方法有其自身的优势和局限,比如GGX重要性采样对于光滑物体表面的采样效率更高、SG重要性采样对于光源的采样效率更高。因此,在本申请的实施例中,为了解决实际场景中,对于场景的性质(表面是否光滑、光源是否分布不均匀)无法预知的特性,本申请实施例中使用多重重要性采样的方式,综合融合多种重要性采样方式,使得在进行采样的过程中可以在多重重要性采样方式中自行确定各表面点对应的重要性采样方式,以保证每个表面点对应的采样效率和采样效果。

若入射光线与待渲染物体表面存在交点位置,则进行后续的步骤,若不存在交点位置,则无需对待渲染物体表面进行渲染,或者确定该带渲染物体表面的渲染为0。

S102:对各入射光线进行追踪,确定各入射光线是否与待渲染虚拟物体的其他表面点存在交点。

在本申请的实施例中,追踪也可以理解为追朔,也即对入射光线的传播方向进行追朔,因此,追踪入射光线的方向与实际物理上的入射光线传播方向相反。

图2为本申请一实施例提供的入射光线示意图,如图2所示,实线表示对入射光线的追踪光路,虚线表示实际入射光线的光路。

若不存在交点,则说明该表面点当前入射光的来源为自光源的直接光照,则执行S103。

S103:采用预设环境光照球面高斯系数计算该入射光线的光强。

其中,对于来源为自光源的直接光照对应的入射光线的光强可以用E(

若存在交点,则说明该表面点x当前入射光线的来源为自光源先照射至待渲染物体的其他表面点x’后反射至该表面点x的间接光照,则执行S104。

S104:采用预设光场网络模型计算该入射光线的光强。

对于来自间接光照的入射光线的光强,可以用L

也即,在本申请的实施例中,通过确定对各表面点的入射光线的追踪,确定了各表面点的入射光线来自于自光源,还是由其他表面点反射的反射光源,不同的入射光来源将会采用不同的计算方式确定入射光的光照强度(光强)。

在本申请的实施例中,为了确定各表面点的入射光来源,本申请中通过对各入射光进行追踪,确定了各入射光是否与待渲染虚拟物体的其他表面点存在交点,需要注意的是,在真实的物理世界中,某一个点会受到来自四面八方的入射光,这种入射光的光线方向分布在每个表面点的四周,并且数量非常多难以计算,为了解决上述问题,本申请中使用蒙特卡洛方法,对分布在各表面点四周的入射光线进行采样,在大量的入射光线中确定部分入射光线,并进行追踪。

S105:采用预设材质神经网络基于各入射光线的光强和各表面点的材质贴图,确定各表面点的材质系数。

在本申请的实施例中,确定材质系数之前,还可以先将待渲染虚拟物品在纹理贴图坐标下展开,确定各表面点的材质贴图。

在一些可能的实施例中,确定了各表面点的材质贴图之后,还可以使用蒙特卡洛方法确定该表面点的渲染方程积分。

L

采用本申请提供的虚拟物体的材质恢复方法,由于对待渲染虚拟物体的各表面点的入射光线进行采样,并对各入射光线进行追踪,通过各入射光线是否与待渲染虚拟物体的其他表面存在交点的方式,来确定各表面点上的入射光线为直接光照还是间接光照,并根据不同的方式确定不同的光强计算方式,从而计算各表面点上的光强,最后采用预设材质神经网络基于各入射光线的光强和各表面点的材质贴图,确定各表面点的材质系数,从而可以准确的分离间接光照和直接光照下的待渲染虚拟物体的各表面点的材质系数,以便后续完成更准确的材质恢复。

可选地,在上述实施例的基础上,本申请实施例还可提供一种虚拟物体的材质恢复方法,如下结合附图对上述方法的实现过程进行示例说明。图3为本申请另一实施例提供的一种虚拟物体的材质恢复方法的流程示意图,如图3所示,S101之前,该方法还可包括:

S111:对待重建物体对应的场景三维几何进行重建,得到待渲染虚拟物品,确定待渲染虚拟物品对应的符号距离函数。

S112:确定目标相机的位置和姿态,并基于目标相机向待渲染虚拟物品上的每个表面点发出入射光线。

在本申请的实施例中,确定符号距离函数后,用于后续确定各入射光线是否与待渲染虚拟物体的其他表面点存在交点时,可以基于符号距离函数,使用预设球面跟踪算法(Sphere Tracing)对各入射光线进行追踪,确定各入射光线是否与待渲染虚拟物体的其他表面点存在交点,并确定交点位置x∈R

可选地,在上述实施例的基础上,本申请实施例还可提供一种虚拟物体的材质恢复方法,如下结合附图对上述方法的实现过程进行示例说明。图4为本申请另一实施例提供的一种虚拟物体的材质恢复方法的流程示意图,如图4所示,该方法还可包括:

S121:采用各表面点的材质系数,对待渲染虚拟物体的表面进行材质渲染。

在本申请的实施例中,对待渲染虚拟物体的表面进行材质渲染的方式例如可以为:根据各表面点的材质系数,确定各表面点的材质纹理贴图(UV);根据各表面点的材质纹理贴图,对待渲染虚拟物体的表面进行材质渲染。

在本申请的实施例中,材质纹理贴图中例如可以包括:漫反射颜色、粗糙度等参数;应当理解,上述实施例仅为示例性说明,具体材质纹理贴图中包括的参数可以根据用户需要灵活调整,并不以上述实施例给出的为限。

在本申请的实施例中,预设环境光照球面高斯系数、预设光场网络模型和预设材质神经模型均为经过预训练得到的,图5为本申请另一实施例提供的一种预训练的流程示意图,如图5所示,预训练的训练过程如下:

S131:根据预设概率统计模型,基于目标相机对样本待渲染虚拟物品各表面点的样本入射光线进行采样。

S132:对各样本入射光线进行追踪,确定其是否与样本待渲染虚拟物品的其他表面点存在交点。

若不存在交点,则执行S133。

S133:采用初始环境光照球面高斯系数计算该样本入射光线的光强。

若存在交点,则执行S134。

S134:采用初始光场网络模型计算该样本入射光线的光强。

S135:使用初始材质神经网络,根据样本待渲染虚拟物品表面各样本表面点的光强,确定各样本表面点的材质系数。

S136:根据材质系数和目标材质系数,确定损失函数。

在本申请的实施例中,在迭代训练的过程中,基于上述S121-S125的步骤生成每个样本表面点的渲染结果(渲染颜色)c

若损失函数未达到预设要求,则执行S137。

S137:通过对所初始环境光照球面高斯系数、初始光场网络模型和初始材质神经网络的参数分别进行迭代,直至损失函数达到预设要求。

则获取训练好的预设环境光照球面高斯系数、预设光场网络模型和预设材质神经网络。

在一些可能的实施例中,预设要求例如可以为迭代次数大于预设迭代次数后,则确定训练完成,或者,在另一些可能的实施例中,预设要求也可以为损失函数的值小于预设损失函数阈值;应当理解,上述实施例仅为示例性说明,具体预设要求的设置可以根据用户需要灵活调整,并不以上述实施例给出的为限。

在本申请的一个实施例中,由于有监督的方式监督信号有限,因此本申请中引入了无监督训练,可以增加对监督的约束。

在一些可能的实施例中,例如可以根据迭代次数确定当前迭代训练的迭代类型;例如,在迭代过程中,可以连续10次的训练为有监督训练,1次的训练为无监督训练;若根据迭代次数确定当前的迭代类型为无监督迭代,也即若迭代类型为无监督迭代,则对样本待渲染虚拟物品各表面对应的多个入射光线方向进行随机采样;应当理解,上述实施例仅为示例性说明,具体迭代次数与迭代类型之间的关系可以根据用户需要灵活调整,并不以上述实施例给出的为限。

具体地,无监督训练方式例如可以为:随机采样间接光照的入射光线方向和出射位置;使用基于上述基于对各入射光线进行追踪的方式,计算入射光线光强的步骤计算该入射光线的光强c

具体来说,由于待渲染物体可能存在有的位置被遮挡,这些位置在拍摄数据中出现的次数不够多,因此对于有监督训练的方式,缺少足够的线索预测这些位置的材质系数。但是如果增加自监督训练的约束,则可以更好判断),因此增加无监督信号后,可以增强待渲染虚拟物体被遮挡位置的材质系数的预测。

此外,由于如果使用拍摄到的数据进行有监督学习,只能在观察到的光线方向保证预设光场网络模型的训练效果较好,但是无法保证未观察到的光线方向的学习,而间接入射光大部分都是未观察到的光线方向,因此采用无监督的训练方式可以增强预设光场网络模型的学习。

采用本申请提供的虚拟物体的材质恢复方法,可以基于多重重采样对入射光线进行采样,并根据采样结果,对每个表面点的入射光线进行追踪,确定各入射光线的光照类型,根据光照类型确定对应的计算方式,并基于对应的计算方式确定各入射光线的光强,从而可以更准确地确定每个入射光线的光强,准确地分离间接光照和直接光照下物体表面的材质,从而更准确的完成材质恢复;并且在本申请的实施例中,对多个模型的训练不光依赖于有监督训练,还结合了无监督训练,从而可以逆向学习材质参数和光照,进一步提高了材质恢复的准确性。

下述结合附图对本申请所提供的虚拟物体的材质恢复装置进行解释说明,该虚拟物体的材质恢复装置可执行上述图1-图6任一虚拟物体的材质恢复方法,其具体实现以及有益效果参照上述,如下不再赘述。

图7为本申请一实施例提供的虚拟物体的材质恢复装置的结构示意图,如图7所示,该装置包括:采样模块201、确定模块202和计算模块203,其中:

采样模块201,用于基于目标相机,对待渲染虚拟物体的各表面点的入射光线进行采样;

确定模块202,用于对各入射光线进行追踪,确定各入射光线是否与待渲染虚拟物体的其他表面点存在交点;

计算模块203,用于若不存在交点,则采用预设环境光照球面高斯系数计算该入射光线的光强;若存在交点,则采用预设光场网络模型计算该入射光线的光强;

确定模块202,具体用于采用预设材质神经网络基于各入射光线的光强和各表面点的材质贴图,确定各表面点的材质系数。

可选地,在上述实施例的基础上,本申请实施例还可提供一种虚拟物体的材质恢复装置,如下结合附图对上述图7给出的装置的实现过程进行示例说明。图7为本申请另一实施例提供的虚拟物体的材质恢复装置的结构示意图,如图7所示,该装置还包括:渲染模块204,其中:

渲染模块204,用于采用各表面点的材质系数,对待渲染虚拟物体的表面进行材质渲染。

可选地,确定模块202,具体用于对待重建物体对应的场景三维几何进行重建,得到待渲染虚拟物品,确定待渲染虚拟物品对应的符号距离函数;确定目标相机的位置和姿态,并基于目标相机向待渲染虚拟物品上的每个表面点发出入射光线。

可选地,确定模块202,具体用于基于符号距离函数,使用预设球面跟踪算法对各入射光线进行追踪,确定各入射光线是否与待渲染虚拟物体的其他表面点存在交点。

可选地,采样模块201,具体用于使用至少两种重要性采样方式,对各表面点对应的入射光线进行采样。

可选地,采样模块201,具体用于根据预设概率统计模型,基于目标相机对样本待渲染虚拟物品各表面点的样本入射光线进行采样;

确定模块202,具体用于对各样本入射光线进行追踪,确定其是否与样本待渲染虚拟物品的其他表面点存在交点;若不存在交点,则采用初始环境光照球面高斯系数计算该样本入射光线的光强;若存在交点,则采用初始光场网络模型计算该样本入射光线的光强;使用初始材质神经网络,根据样本待渲染虚拟物品表面各样本表面点的光强,确定各各样本表面点的材质系数;根据材质系数和目标材质系数,确定损失函数;若损失函数未达到预设要求,则通过对所初始环境光照球面高斯系数、初始光场网络模型和初始材质神经网络的参数分别进行迭代,直至损失函数达到预设要求,则获取训练好的预设环境光照球面高斯系数、预设光场网络模型和预设材质神经网络。

可选地,确定模块202,具体用于根据迭代次数确定当前迭代训练的迭代类型;

采样模块201,具体用于若迭代类型为无监督迭代,则对样本待渲染虚拟物品各表面对应的多个入射光线方向进行随机采样。

可选地,确定模块202,具体用于将待渲染虚拟物品在纹理贴图坐标下展开,确定各表面点的材质贴图。

可选地,确定模块202,具体用于根据各表面点的材质系数,确定各表面点的材质纹理贴图;

渲染模块204,具体用于根据各表面点的材质纹理贴图,对待渲染虚拟物体的表面进行材质渲染。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。

图8为本申请一实施例提供的虚拟物体的材质恢复设备的结构示意图,该虚拟物体的材质恢复设备可以集成于终端设备或者终端设备的芯片。

如图8所示,该虚拟物体的材质恢复设备包括:处理器501、总线502和存储介质503。

处理器501用于存储程序,处理器501调用存储介质503存储的程序,以执行上述图1-图6对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。可选地,本申请还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述方法对应的实施例。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种材质的数据处理方法、装置、电子设备及存储介质
  • 虚拟乐器处理方法、装置、虚拟乐器设备及存储介质
  • 物体运动轨迹识别方法、装置、设备和存储介质
  • 物体检测方法、装置、设备、存储介质及车辆
  • 透明物体的三维重建方法、装置、计算机设备及存储介质
  • 物体信息恢复方法、装置、计算机设备和存储介质
  • 虚拟物体显示方法、装置、计算机设备及存储介质
技术分类

06120116332900