一种模型训练方法、图像渲染方法、装置和电子设备与流程

文档序号:28917225发布日期:2022-02-16 11:40阅读:47来源:国知局
一种模型训练方法、图像渲染方法、装置和电子设备与流程

1.本技术涉及图像处理领域,具体涉及一种模型训练方法、图像渲染方法、装置和电子设备。


背景技术:

2.现有技术中,在很多场景下均需要对图像进行渲染,现有的渲染手段主要包括计算机图形学渲染技术和三维重建渲染技术等。现有的渲染方法的渲染效果主要取决于输入数据是否良好。当输入数据不理想时,采用现有的渲染方法很难渲染出照片级真实图像。可见,现有的渲染方法存在渲染效果较差的技术问题。


技术实现要素:

3.本技术提供的一种模型训练方法、图像渲染方法、装置和电子设备,可以解决现有的渲染方法存在的渲染效果较差的问题。
4.第一方面,本技术实施例提供了一种模型训练方法,包括:
5.将第一图像和所述第一图像的uv贴图输入初始神经纹理渲染模型,得到所述初始神经纹理渲染模型输出的第一神经纹理和预测渲染图像,其中,所述初始神经纹理渲染模型包括神经纹理采样模型和渲染模型,所述神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到所述第一神经纹理,所述渲染模型用于对所述第一神经纹理进行渲染,得到所述预测渲染图像;
6.根据所述第一图像、所述第一神经纹理以及所述预测渲染图像构建目标损失函数;
7.基于所述目标损失函数对所述初始神经纹理渲染模型进行训练,直到所述目标损失函数收敛,将所述目标损失函数收敛时的初始神经纹理渲染模型确定为目标神经纹理渲染模型。
8.第二方面,本技术实施例还提供了一种图像渲染方法,包括:
9.获取第二图像对应的uv贴图;
10.将所述第二图像对应的uv贴图输入目标神经纹理渲染模型,得到所述目标神经纹理渲染模型输出的渲染后的图像;
11.其中,所述目标神经纹理渲染模型包括目标神经纹理采样模型和目标渲染模型,所述目标神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到第二神经纹理,所述目标渲染模型用于对所述第二神经纹理进行渲染,得到所述渲染后的图像。
12.第三方面,本技术实施例还提供了一种模型训练装置,包括:
13.第一渲染模块,用于将第一图像和所述第一图像的uv贴图输入初始神经纹理渲染模型,得到所述初始神经纹理渲染模型输出的第一神经纹理和预测渲染图像,其中,所述初始神经纹理渲染模型包括神经纹理采样模型和渲染模型,所述神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到所述第一神经纹理,所述渲染模型用于对所述第一神经纹
理进行渲染,得到所述预测渲染图像;
14.构建模块,用于根据所述第一图像、所述第一神经纹理以及所述预测渲染图像构建目标损失函数;
15.训练模块,用于基于所述目标损失函数对所述初始神经纹理渲染模型进行训练,直到所述目标损失函数收敛,将所述目标损失函数收敛时的初始神经纹理渲染模型确定为目标神经纹理渲染模型。
16.第四方面,本技术实施例还提供了一种图像渲染装置,包括:
17.获取模块,用于获取第二图像对应的uv贴图;
18.第二渲染模块,用于将所述第二图像对应的uv贴图输入目标神经纹理渲染模型,得到所述目标神经纹理渲染模型输出的渲染后的图像;
19.其中,所述目标神经纹理渲染模型包括目标神经纹理采样模型和目标渲染模型,所述目标神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到第二神经纹理,所述目标渲染模型用于对所述第二神经纹理进行渲染,得到所述渲染后的图像。
20.第五方面,本技术实施例还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述第一方面和第二方面所述的方法步骤。
21.第六方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面和第二方面所述的方法步骤。
22.本技术实施例中,通过根据第一图像、第一神经纹理以及预测渲染图像构建目标损失函数,由于第一神经纹理为渲染过程中的中间特征,因此,在基于目标损失函数对初始神经纹理渲染模型进行训练的过程中,能够更好的对输出中间特征的神经纹理采样模型的参数进行调节,从而更好的约束神经纹理采样过程,强化神经纹理采样模型对图像的学习。这样,相对于仅使用第一图像和预测渲染图像构建目标损失函数而言,采用本技术技术方案能够提高训练得到的目标神经纹理渲染模型对图像的渲染效果。
附图说明
23.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1是本技术实施例提供的模型训练方法的流程图之一;
25.图2是本技术实施例提供的模型训练方法的流程图之二;
26.图3是本技术实施例中拉普拉斯金字塔网络的结构示意图;
27.图4是本技术实施例提供的图像渲染方法的流程图;
28.图5是本技术实施例提供的模型训练装置的结构示意图之一;
29.图6是本技术实施例提供的图像渲染装置的结构示意图之一;
30.图7是本技术实施例提供的模型训练装置的结构示意图之二;
31.图8是本技术实施例提供的图像渲染装置的结构示意图之二。
具体实施方式
32.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.相关技术中,在对图像进行渲染时,主要采用的渲染方法包括:计算机图形学渲染技术和三维重建渲染技术等。其中,现有的计算机图形学渲染技术的主要缺点在于需要定义良好的输入数据,包括曲面几何体、底层材质属性和场景照明的精确定义等,当定义的输入数据不准确时,难以渲染出近乎照片的真实感的图像。此外,采用三维重建渲染技术对图像进行渲染时,同样对输入的图像具有较高的要求,当输入的图像为包括噪声、过光滑几何体或遮挡的图像时,同样难以渲染出近乎照片的真实感的图像。可见,相关技术中的渲染方法的渲染效果主要取决于输入数据的质量,当输入数据不理想时,渲染效果不佳。
34.基于此,本技术实施例提供了一种采用神经纹理渲染模型对图像的uv贴图进行神经纹理采样,并对所采样得到的神经纹理进行渲染的技术。由于神经纹理为高维特征,而高维特征包含了更多的信息,如传统的纹理信息、结构信息、光照信息等,这些信息可以通过渲染模型进行渲染还原,且能够在原始3d内容不完善的情况下合成照片真实感的图像。因此,可以提高图像渲染的效果。
35.其中,所述神经纹理为存储于三维重构图像的顶部对应的2d贴图中的特征。具体地,神经纹理可以包含图像中的结构信息、光照信息、折射率信息等信息。神经纹理是从新颖视图合成到视频编辑的各种应用程序的基础。
36.请参见图1,图1为本技术实施例提供的一种模型训练方法,所述方法包括以下步骤:
37.步骤101、将第一图像和所述第一图像的uv贴图输入初始神经纹理渲染模型,得到所述初始神经纹理渲染模型输出的第一神经纹理和预测渲染图像,其中,所述初始神经纹理渲染模型包括神经纹理采样模型和渲染模型,所述神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到所述第一神经纹理,所述渲染模型用于对所述第一神经纹理进行渲染,得到所述预测渲染图像;
38.步骤102、根据所述第一图像、所述第一神经纹理以及所述预测渲染图像构建目标损失函数;
39.步骤103、基于所述目标损失函数对所述初始神经纹理渲染模型进行训练,直到所述目标损失函数收敛,将所述目标损失函数收敛时的初始神经纹理渲染模型确定为目标神经纹理渲染模型。
40.其中,所述将第一图像和所述第一图像的uv贴图输入初始神经纹理渲染模型,得到所述初始神经纹理渲染模型输出的第一神经纹理和预测渲染图像,之前,还可以包括:构建所述初始神经纹理渲染模型,以及获取训练数据等步骤。
41.上述训练数据可以包括所述第一图像和所述第一图像的uv贴图,其中,所述第一图像的uv贴图的获取过程可以是:获取第一图像,利用三维重构软件(如artec3d等)对第一图像进行密度重构,得到三维重构图像;利用uv估算软件(如微软uv-atlas等)估算对应的uv参数,从而获得三维重构图像和对应的uv参数,其中,所述三维重构图像为obj格式。通过
读取obj数据,获取三维重构图像指定尺寸的2d观察图像和对应的uv map(uv贴图)数据,其中,指定尺寸可以是指定尺寸为256*256,所述uv贴图数据只有对应坐标信息,没有颜色纹理信息。
42.在对初始神经纹理渲染模型进行训练时,可以每次从训练数据中获取一定数量的第一图像和对应的uv贴图,并将所获取的第一图像和对应的uv贴图输入至神经纹理采样模型,由神经纹理采样模型从uv贴图中采样出对应的神经纹理,然后,将对应的神经纹理输入渲染模型,由渲染模型对得到的神经纹理进行渲染,得到预测渲染图像。然后,根据所述第一图像、所述第一神经纹理以及所述预测渲染图像构建目标损失函数,并可基于目标损失函数对初始神经纹理渲染模型进行训练,如此,循环往复,直到所述目标损失函数收敛,将所述目标损失函数收敛时的初始神经纹理渲染模型确定为目标神经纹理渲染模型。
43.这样,在将待渲染图像对应的uv贴图输入目标神经纹理渲染模型时,目标神经纹理渲染模型中的神经纹理采样模型可以从待渲染图像对应的uv贴图中提取出神经纹理,并将所提取的神经纹理输入至渲染模型,渲染模型对得到的神经纹理进行渲染,得到渲染后的图像。
44.该实施方式中,通过根据第一图像、第一神经纹理以及预测渲染图像构建目标损失函数,由于第一神经纹理为渲染过程中的中间特征,因此,在基于目标损失函数对初始神经纹理渲染模型进行训练的过程中,能够更好的对输出中间特征的神经纹理采样模型的参数进行调节,从而更好的约束神经纹理采样过程,强化神经纹理采样模型对图像的学习。这样,相对于仅使用第一图像和预测渲染图像构建目标损失函数而言,采用本技术技术方案能够提高训练得到的目标神经纹理渲染模型对图像的渲染效果。此外,由于目标神经纹理渲染模型可以提取待渲染图像对应的uv贴图中的神经纹理特征,并对神经纹理特征进行渲染,这样,在输入数据不全面的情况下,也可以输出照片级真实感的渲染图像,从而可以进一步提高图像的渲染效果。
45.可选地,所述神经纹理采样模型包括至少两个拉普拉斯采样网络,所述至少两个拉普拉斯采样网络用于对所输入的uv贴图进行不同维度的采样。
46.上述不同维度具体可以是指:神经纹理特征的不同层次,例如,浅层次的神经纹理特征和更深层次的神经纹理特征,其中,所述浅层次的神经纹理特征包括颜色、轮廓形状等特征,而所述更深层次的神经纹理特征包括结构信息、光照信息、折射率信息等。基于此,本技术为采样得到更为全面的神经纹理特征,通过基于至少两个拉普拉斯采样网络对所输入的uv贴图进行不同维度的采样,从而得到不同维度的神经纹理特征。由于一个采样网络通常只能采用一种类型的特征,因此,相对于仅采用单个采样网络采样单一类型的特征而言,采用本技术技术方案中的神经纹理采样模型,由于可以采样到不同维度的神经纹理特征,从而可以进一步提高对神经纹理的采样效果。
47.请参见图2,在本技术一个实施例中,所述神经纹理采样模型包括四个拉普拉斯采样网络。通过采用四个拉普拉斯采样网络分别对uv贴图进行不同维度的采样,以得到不同维度的神经纹理特征,从而可以提高对神经纹理的采样效果。
48.可选地,所述拉普拉斯采样网络用于对所述uv贴图进行采样,其中,上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的1/2,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的1/2。
49.其中,所述拉普拉斯采样网络可以为拉普拉斯金字塔网络,所述拉普拉斯金字塔网络对uv贴图进行采样的原理为:将uv贴图分解为多尺度的金字塔图像序列,使低分辨率的图像位于上层,高分辨率的图像位于下层,通过将所有图像的金字塔在相应层上进行融合,即可得到合成金字塔,再将该合成金字塔按照金字塔生成的逆过程进行重构,得到融合金字塔。
50.具体地,所述拉普拉斯金字塔网络可以将接收到的uv贴图分解为n层uv贴图,所述n为大于1的整数。所述上层uv贴图与所述前一层uv贴图为所述n层uv贴图中的任意两个相邻两层uv贴图,且所述前一层uv贴图可以是所述n层uv贴图中,除顶层之外的任意一层uv贴图,所述上层uv贴图位于所述前一层uv贴图的上层。例如,请参见图3,在本技术一个实施例中,所述拉普拉斯金字塔网络将接收到的uv贴图分解为4层uv贴图,所述4层uv贴图依次包括第一层uv贴图301、第二层uv贴图302、第三层uv贴图303和第四层uv贴图304、其中,所述第二层uv贴图302的上一层uv贴图为所述第三层uv贴图303,所述第二层uv贴图302的前一层uv贴图为第一层uv贴图301。
51.在具体实施时,所述上层uv贴图的长度尺寸可以为前一层uv贴图的长度尺寸的1/2,且所述上层uv贴图的宽度尺寸可以为前一层uv贴图的宽度尺寸的1/2。这样,由于底层的uv贴图较大,因此,在对底层uv贴图进行采样之后,可以得到uv贴图中局部的高分辨率的神经纹理特征。而随着层级越高,uv贴图的图像越小,uv贴图的分辨率也越低,uv贴图中包含的全局神经纹理特征越多,相应地,所能够采样到的全局神经纹理特征也越多。最终,可以将对各层uv贴图的采样结果进行融合,以得到最终的采样结果。这样,可以使得最终得到的采样结果既可以体现神经纹理的局部细节特征,还可以体现神经纹理的全局特征,从而提高对神经纹理的采样效果。
52.例如,请进一步参见图3,在本技术一个实施例中,所述拉普拉斯金字塔网络将接收到的uv贴图分解为4层uv贴图。所述拉普拉斯金字塔网络对uv贴图进行采样的过程可以为:每一层网络分别对输入的uv贴图调用pytorch的grid_sample函数进行拉普拉斯金字塔采样。其中,在输入的uv贴图的尺寸为h
·
w的情况下,第一层uv贴图301的尺寸可以为h
·
w,第二层uv贴图302的尺寸可以为(h/2)
·
(w/2),第三层uv贴图303的尺寸可以为(h/4)
·
(w/4),第四层uv贴图304的尺寸可以为(h/8)
·
w/8)。相应地,在对第一层uv贴图301进行采样之后,可以得到采样数组y1;在对第二层uv贴图302进行采样之后,可以得到采样数组y2;在对第三层uv贴图303进行采样之后,可以得到采样数组y3;在对第四层uv贴图304进行采样之后,可以得到采样数组y4;如此,可以将四个采样数组相加,即可得到最终的采样结果y。
53.在本技术另一个实施例中,所述拉普拉斯采样网络用于对所述uv贴图进行采样,其中,上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的2倍,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的2倍。
54.该实施例与上述实施例的区别在于,在进行采样时,使低分辨率的图像位于下层,高分辨率的图像位于上层,这样,由于底层的uv贴图较小,分辨率较低,因此,包含的全局信息较多,所能够采样到的全局神经纹理特征也越多。而随着层级越高,uv贴图的图像越大,神经纹理特征的分辨率也将不断提高,因此,可以采样到uv贴图中局部的高分辨率的神经纹理特征。如此,也可以使得最终得到的采样结果既可以体现神经纹理的局部细节特征,还可以体现神经纹理的全局特征,从而提高对神经纹理的采样效果。
55.该实施方式的具体采样过程与上述实施例相同,且能实现相同的有益效果,为避免重复,在此不再予以赘述。
56.可选地,所述渲染模型用于基于upsample和conv2d进行插值采样,得到采样结果,并基于所述采样结果生成渲染后的图像。
57.该实施方式中,通过基于上采样upsample和卷积conv2d进行插值采样,相对于现有技术中采用反卷积convtranspose2d进行插值采样的方式而言,有利于提高图像的渲染效果,其理由如下:
58.由于采用反卷积convtranspose2d进行插值采样易产生“不均匀重叠”的现象,尤其是在卷积核大小不能被步长整除时,采用convtranspose2d的方法更易出现所述“不均匀重叠”的现象,进而导致渲染得到的图像的分辨率较低,其中,所述“不均匀重叠”的现象也称之为棋盘效应(checkerboard artifacts)。
59.而本技术实施例中,通过上采样upsample和卷积conv2d进行插值采样,由于上采样过程与卷积过程相对分离,因此,可以先基于上采样过程提高图像的分辨率,例如,在上采样过程中可以基于使用最近邻居插值或双线性插值的方法调整图像的大小,以提高图像的分辨率,然后采用conv2d进行卷积,从而有利于提高渲染后的图像的分辨率。
60.可选地,上述渲染模型可以对uv贴图对应的图像进行延迟渲染。具体地,所述延迟渲染是一种不同于传统前向渲染(forward rendering)的技术,它的出现是为了解决前向渲染在多动态光源场景下效率过低的问题,所谓延迟渲染就是将光照计算推迟到必要的状态来计算。延迟渲染解耦了几何处理和光照计算,通过geometry pass首先利用光线的depth test剔除了被遮挡的片源,使得真正进行光照计算的片源数量得到了削减。
61.其中,延迟神经渲染的任务是:在给定的屏幕空间产生逼真的图像。本技术首先需要对每个待渲染图像进行三维重构,并估计对应的纹理参数。然后创建训练数据,重新渲染观察图像对应的三维重构网格的uv贴图,该数据只包含uv坐标,没有颜色纹理信息。训练数据包括真实图像和uv贴图。对训练数据的uv贴图利用神经纹理采样,得到16个结构通道的神经纹理,其中,前3个结构通道对应观察图像的平均颜色纹理。
62.延迟神经渲染是基于具有跳跃连接的卷积编码解码网络的学习图像对图像的映射,与u-net网络相类似。本技术延迟渲染网络可以添加视觉方向作为额外输入参数,所述视觉方向具体可以是相机的方位或光照方向,这样,可以使得延迟渲染网络能够学习到视觉方向的特征,进而可以使得渲染得到的图像能够体现出视觉方向的特征。
63.可选地,所述根据所述第一图像、所述第一神经纹理和所述第一神经纹理渲染模型输出的预测渲染图像构建目标损失函数,包括:
64.利用所述第一图像和所述第一神经纹理构建第一损失函数;
65.利用所述第一图像和所述预测渲染图像构建第二损失函数;
66.基于所述第一损失函数和所述第二损失函数生成所述目标损失函数。
67.其中,所述第一神经纹理包括纹理颜色信息,所述利用所述第一图像和所述第一神经纹理构建第一损失函数,包括:
68.根据所述第一图像中的颜色信息和所述纹理颜色信息之间的差值,得到所述第一损失函数;
69.所述利用所述第一图像和所述第一神经纹理渲染模型输出的预测渲染图像构建
第二损失函数,包括:
70.根据所述第一图像中的颜色信息和所述预测渲染图像中的颜色信息之间的差值,得到所述第二损失函数;
71.所述基于所述第一损失函数和所述第二损失函数生成所述目标损失函数,包括:
72.根据所述第一损失函数和所述第二损失函数之和,得到所述目标损失函数。
73.该实施方式中,通过将神经纹理采样模型输出的纹理颜色信息与输入的第一图像进行比较,计算得到第一损失函数;同时,利用渲染后的预测渲染图像与第一图像进行比较,计算得到第二损失函数。然后,联合使用第一损失函数和第二损失函数对初始神经纹理渲染模型进行训练,由于第一神经纹理为渲染过程中的中间特征,因此,联合使用第一损失函数和第二损失函数对初始神经纹理渲染模型进行训练的过程中,能够更好的对输出中间特征的神经纹理采样模型的参数进行调节,从而更好的约束神经纹理采样过程,强化神经纹理采样模型对图像的学习。相对于仅使用第二损失函数对初始神经纹理渲染模型进行训练而言,采用本技术技术方案能够提高训练得到的目标神经纹理渲染模型对图像的渲染效果。
74.下文以一具体实施例对本技术实施例提供的模型训练方法作进一步的解释说明:
75.在本技术一个实施例中,所述训练数据包括n组子训练数据,所述子训练数据包括所述第一图像和所述第一图像的uv贴图,所述n组子训练数据中,各子训练数据中的第一图像均不相同;所述基于所述目标损失函数对所述初始神经纹理渲染模型进行训练,包括:基于所述训练数据和所述目标损失函数对所述初始神经纹理渲染模型进行迭代训练,所述迭代训练中的第i次训练包括:
76.将所述n组子训练数据中的第i组子训练数据输入第i个神经纹理采样模型,得到所述第i个神经纹理采样模型输出的第i个神经纹理,所述第i个神经纹理包括所述第i组子训练数据中的第一图像的纹理颜色信息;
77.将所述第i个神经纹理和所述第i组子训练数据中的第一图像输入第i个渲染模型,得到所述第i个渲染模型输出的第i个渲染图像,所述第i个渲染模型为所述第i个神经纹理渲染模型中的渲染模型;
78.在所述第i个神经纹理渲染模型未满足损失收敛条件的情况下,计算所述第i组子训练数据中的第一图像的纹理颜色信息与所述第i组子训练数据中的第一图像之间的差值,得到第i次训练的第一损失函数;以及,计算所述第i个渲染图像与所述第i组子训练数据中的第一图像中的差值,得到第i次训练的第二损失函数;
79.计算所述第i次训练的第一损失函数和所述第i次训练的第二损失函数之和,得到第i次训练的目标损失函数;
80.调用pytorch的adam函数计算所述第i次训练的目标损失函数中各参数的梯度;
81.基于所述第i次训练的目标损失函数中各参数的梯度,对所述第i个神经纹理渲染模型进行参数优化,得到第i+1个神经纹理渲染模型。
82.其中,所述第i个神经纹理采样模型为所述第i个神经纹理渲染模型中的神经纹理采样模型,在所述i等于1,即对所述初始神经纹理渲染模型进行第1次进行训练的情况下,所述第i个神经纹理渲染模型为所述初始神经纹理渲染模型。
83.上述n组子训练数据中的n张第一图像可以是对同一视频数据进行抽桢处理得到
的n帧图像,例如,对目标视频序列按照每25帧抽取一帧图像的方式,获得所述n帧图像。
84.具体地,由于对训练数据的uv贴图利用神经纹理采样,得到16个结构通道的神经纹理中,前3个结构通道对应观察图像的平均颜色纹理。因此,可以取第i个神经纹理采样模型输出的神经纹理的前三个结构维度值的平均值作为所述第一图像中的纹理颜色信息。然后,计算所述第一图像中的纹理颜色信息与所述第一图像之间的差值,即可得到第i次训练的第一损失函数。
85.上述损失收敛条件可以是指:目标损失函数是否收敛,或者,也可以是迭代次数是否达到预设的上限。当第i个神经纹理渲染模型不满足损失收敛条件时,则进一步计算第i次训练的目标损失函数,并基于第i次训练的目标损失函数对第i个神经纹理渲染模型进行参数优化,直至满足损失收敛条件,并保留优化后的参数输出目标神经纹理渲染模型。
86.在本技术一个实施例中,上述n组子训练数据中的n张第一图像可以是包括n个姿态图像训练库中的n张图像,其中,每张第一图像中,既可以包括具体的图像内容,还可以包括拍摄第一图像时的相机参数和外界环境参数。通过分别获取n张图像对应的uv贴图,从而可以构建所述n组子训练数据。然后,基于所述n组子训练数据利用上述模型训练方法对所述初始神经纹理渲染模型进行迭代训练,以得到所述目标神经纹理渲染模型,其中,ik是训练库中第k个图像,pk是对应的相机参数(内部参数和外部环境参数)。具体训练过程可以参见上述实施例,为避免重复在此不再予以赘述。
87.在进行训练过程中,可以基于如下公式计算所述第一损失函数:
[0088][0089]
可以基于如下公式计算第二损失函数:
[0090][0091]
总的损失函数为:
[0092][0093]
其中,ik是训练库中第k个图像,pk是对应的相机参数(内部参数和外部环境参数)。t
*
是最佳的神经纹理,r
*
是最佳的渲染图像,l
t
是第一损失函数,lr是第二损失函数,tk是第k个uv贴图利用采样模型得到的神经纹理,rk是第k个神经纹理tk利用渲染模型得到的渲染图像。
[0094]
请参见图4,为本技术实施例提供的一种图像渲染方法,所述图像渲染方法包括以下步骤:
[0095]
步骤401、获取第二图像对应的uv贴图;
[0096]
步骤402、将所述第二图像对应的uv贴图输入目标神经纹理渲染模型,得到所述目标神经纹理渲染模型输出的渲染后的图像;
[0097]
其中,所述目标神经纹理渲染模型包括目标神经纹理采样模型和目标渲染模型,所述目标神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到第二神经纹理,所述
目标渲染模型用于对所述第二神经纹理进行渲染,得到所述渲染后的图像。
[0098]
具体地,所述目标神经纹理渲染模型为基于上述模型训练方法对初始神经纹理渲染模型进行迭代训练之后,得到的模型,其具体训练过程可以参见上述实施例,为避免重复,在此不再予以赘述。
[0099]
由于本技术实施例提供的图像渲染方法采用目标神经纹理渲染模型对图像对应的uv贴图进行渲染,且所述目标神经纹理渲染模型为基于上述实施例提供的模型训练方法训练得到的模型,因此,本技术实施例能够实现上述实施例中的全部有益效果,为避免重复,在此不再予以赘述。
[0100]
可选地,所述获取第二图像对应的uv贴图,包括:
[0101]
获取所述第二图像;
[0102]
对所述第二图像进行密度重构,得到所述第二图像对应的三维重构图像;
[0103]
从所述三维重构图像中获取所述uv贴图。
[0104]
本实施例为对上述图像渲染方法的进一步限定,其具体实现过程可以参见上述实施例,且能够实现相同的有益效果,为避免重复,在此不再予以赘述。
[0105]
可选地,所述目标神经纹理采样模型包括至少两个拉普拉斯采样网络,所述至少两个拉普拉斯采样网络用于对所述uv贴图进行不同维度的采样。
[0106]
本实施例为对上述图像渲染方法的进一步限定,其具体实现过程可以参见上述实施例,且能够实现相同的有益效果,为避免重复,在此不再予以赘述。
[0107]
可选地,所述拉普拉斯采样网络用于对所述uv贴图进行采样,其中,上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的1/2,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的1/2;或者,
[0108]
上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的2倍,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的2倍。
[0109]
本实施例为对上述图像渲染方法的进一步限定,其具体实现过程可以参见上述实施例,且能够实现相同的有益效果,为避免重复,在此不再予以赘述。
[0110]
请参见图5,为本技术实施例提供的一种模型训练装置500的结构示意图,所述模型训练装置500包括:
[0111]
第一渲染模块501,用于将第一图像和所述第一图像的uv贴图输入初始神经纹理渲染模型,得到所述初始神经纹理渲染模型输出的第一神经纹理和预测渲染图像,其中,所述初始神经纹理渲染模型包括神经纹理采样模型和渲染模型,所述神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到所述第一神经纹理,所述渲染模型用于对所述第一神经纹理进行渲染,得到所述预测渲染图像;
[0112]
构建模块502,用于根据所述第一图像、所述第一神经纹理以及所述预测渲染图像构建目标损失函数;
[0113]
训练模块503,用于基于所述目标损失函数对所述初始神经纹理渲染模型进行训练,直到所述目标损失函数收敛,将所述目标损失函数收敛时的初始神经纹理渲染模型确定为目标神经纹理渲染模型。
[0114]
可选地,所述构建模块502,包括:
[0115]
第一构建子模块,用于利用所述第一图像和所述第一神经纹理构建第一损失函
数;
[0116]
第二构建子模块,用于利用所述第一图像和所述预测渲染图像构建第二损失函数;
[0117]
生成子模块,用于基于所述第一损失函数和所述第二损失函数生成所述目标损失函数。
[0118]
可选地,所述第一神经纹理包括纹理颜色信息,所述第一构建子模块,具体用于根据所述第一图像中的颜色信息和所述纹理颜色信息之间的差值,得到所述第一损失函数;
[0119]
所述第二构建子模块,具体用于根据所述第一图像中的颜色信息和所述预测渲染图像中的颜色信息之间的差值,得到所述第二损失函数;
[0120]
所述生成子模块,具体用于根据所述第一损失函数和所述第二损失函数之和,得到所述目标损失函数。
[0121]
可选地,所述神经纹理采样模型包括至少两个拉普拉斯采样网络,所述至少两个拉普拉斯采样网络用于对所述uv贴图进行不同维度的采样。
[0122]
可选地,所述拉普拉斯采样网络用于对所述uv贴图进行采样,其中,上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的1/2,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的1/2;或者,
[0123]
上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的2倍,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的2倍。
[0124]
本技术实施例提供的模型训练装置500能够实现上述模型训练方法实施例中的各个过程,为避免重复,这里不再赘述。
[0125]
请参见图6,为本技术实施例提供的一种图像渲染装置500的结构示意图,所述图像渲染装置包括:
[0126]
获取模块601,用于获取第二图像对应的uv贴图;
[0127]
第二渲染模块602,用于将所述第二图像对应的uv贴图输入目标神经纹理渲染模型,得到所述目标神经纹理渲染模型输出的渲染后的图像;
[0128]
其中,所述目标神经纹理渲染模型包括目标神经纹理采样模型和目标渲染模型,所述目标神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到第二神经纹理,所述目标渲染模型用于对所述第二神经纹理进行渲染,得到所述渲染后的图像。
[0129]
可选地,所述获取第二图像对应的uv贴图,包括:
[0130]
获取所述第二图像;
[0131]
对所述第二图像进行密度重构,得到所述第二图像对应的三维重构图像;
[0132]
从所述三维重构图像中获取所述uv贴图。
[0133]
可选地,所述目标神经纹理采样模型包括至少两个拉普拉斯采样网络,所述至少两个拉普拉斯采样网络用于对所述uv贴图进行不同维度的采样。
[0134]
可选地,所述拉普拉斯采样网络用于对所述uv贴图进行采样,其中,上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的1/2,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的1/2;或者,
[0135]
上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的2倍,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的2倍。
[0136]
本技术实施例提供的图像渲染装置500能够实现上述图像渲染方法实施例中的各个过程,为避免重复,这里不再赘述。
[0137]
参见图7,图7是本技术又一实施提供的模型训练装置700的结构图,如图7所示,模型训练装置700包括:处理器701、存储器702及存储在所述存储器702上并可在所述处理器上运行的计算机程序,模型训练装置700中的各个组件通过总线接口703耦合在一起,所述计算机程序被所述处理器701执行时实现如下步骤:
[0138]
将第一图像和所述第一图像的uv贴图输入初始神经纹理渲染模型,得到所述初始神经纹理渲染模型输出的第一神经纹理和预测渲染图像,其中,所述初始神经纹理渲染模型包括神经纹理采样模型和渲染模型,所述神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到所述第一神经纹理,所述渲染模型用于对所述第一神经纹理进行渲染,得到所述预测渲染图像;
[0139]
根据所述第一图像、所述第一神经纹理以及所述预测渲染图像构建目标损失函数;
[0140]
基于所述目标损失函数对所述初始神经纹理渲染模型进行训练,直到所述目标损失函数收敛,将所述目标损失函数收敛时的初始神经纹理渲染模型确定为目标神经纹理渲染模型。
[0141]
可选地,所述根据所述第一图像、所述第一神经纹理和所述预测渲染图像构建目标损失函数,包括:
[0142]
利用所述第一图像和所述第一神经纹理构建第一损失函数;
[0143]
利用所述第一图像和所述预测渲染图像构建第二损失函数;
[0144]
基于所述第一损失函数和所述第二损失函数生成所述目标损失函数。
[0145]
可选地,所述第一神经纹理包括纹理颜色信息,所述利用所述第一图像和所述第一神经纹理构建第一损失函数,包括:
[0146]
根据所述第一图像中的颜色信息和所述纹理颜色信息之间的差值,得到所述第一损失函数;
[0147]
所述利用所述第一图像和所述预测渲染图像构建第二损失函数,包括:
[0148]
根据所述第一图像中的颜色信息和所述预测渲染图像中的颜色信息之间的差值,得到所述第二损失函数;
[0149]
所述基于所述第一损失函数和所述第二损失函数生成所述目标损失函数,包括:
[0150]
根据所述第一损失函数和所述第二损失函数之和,得到所述目标损失函数。
[0151]
可选地,所述神经纹理采样模型包括至少两个拉普拉斯采样网络,所述至少两个拉普拉斯采样网络用于对所述uv贴图进行不同维度的采样。
[0152]
可选地,所述拉普拉斯采样网络用于对所述uv贴图进行采样,其中,上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的1/2,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的1/2;或者,
[0153]
上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的2倍,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的2倍。
[0154]
参见图8,图8是本技术又一实施提供的图像渲染装置800的结构图,如图8所示,图像渲染装置800包括:处理器801、存储器802及存储在所述存储器802上并可在所述处理器
上运行的计算机程序,图像渲染装置800中的各个组件通过总线接口803耦合在一起,所述计算机程序被所述处理器801执行时实现如下步骤:
[0155]
获取第二图像对应的uv贴图;
[0156]
将所述第二图像对应的uv贴图输入目标神经纹理渲染模型,得到所述目标神经纹理渲染模型输出的渲染后的图像;
[0157]
其中,所述目标神经纹理渲染模型包括目标神经纹理采样模型和目标渲染模型,所述目标神经纹理采样模型用于对所述uv贴图进行神经纹理采样得到第二神经纹理,所述目标渲染模型用于对所述第二神经纹理进行渲染,得到所述渲染后的图像。
[0158]
可选地,所述获取第二图像对应的uv贴图,包括:
[0159]
获取所述第二图像;
[0160]
对所述第二图像进行密度重构,得到所述第二图像对应的三维重构图像;
[0161]
从所述三维重构图像中获取所述uv贴图。
[0162]
可选地,所述目标神经纹理采样模型包括至少两个拉普拉斯采样网络,所述至少两个拉普拉斯采样网络用于对所述uv贴图进行不同维度的采样。
[0163]
可选地,所述拉普拉斯采样网络用于对所述uv贴图进行采样,其中,上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的1/2,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的1/2;或者,
[0164]
上层uv贴图的长度尺寸为前一层uv贴图的长度尺寸的2倍,且上层uv贴图的宽度尺寸为前一层uv贴图的宽度尺寸的2倍。
[0165]
本技术实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0166]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0167]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0168]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0169]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体
实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1