可微渲染方法、装置、电子设备及存储介质

文档序号:32312398发布日期:2022-11-23 12:11阅读:80来源:国知局
可微渲染方法、装置、电子设备及存储介质

1.本发明涉及可微渲染技术领域,尤其涉及一种可微渲染方法、装置、电子设备及存储介质。


背景技术:

2.渲染可以看作是输入为三维场景,输出为二维图片的一个函数,其理论和方法已日趋成熟。近年来,随着深度学习技术的发展,渲染的反函数——逆向渲染开始受到越来越多的关注,逆向渲染的输入为二维图片,输出为三维场景信息。逆向渲染是一个不适定问题,难度远高于传统的正向渲染。
3.相关技术可知,可微渲染是解决逆向渲染问题的一种方法。传统的渲染函数中,渲染结果关于某些输入的场景参数如顶点位置是不可微的。而可微渲染可以使得渲染结果对任意输入参数可微,这使得可微渲染打破了传统方法无法将渲染结合入基于深度学习的逆渲染方法的限制。
4.然而,基于当前的可微渲染求解出的关于物体几何参数的梯度是稀疏且限于物体边界的,在面对初始场景和目标差距较大的情况时,往往无法收敛。


技术实现要素:

5.本发明提供一种可微渲染方法、装置、电子设备及存储介质,用以解决现有技术中在面对初始场景和目标差距较大的情况时,往往无法收敛的缺陷,可以最小化初始场景与目标场景的差异,并且能够提高收敛性。
6.本发明提供一种可微渲染方法,所述可微渲染方法包括:
7.s1:获取初始场景和目标图片;
8.s2:对所述初始场景进行渲染,得到与所述初始场景对应的渲染后图片,其中,所述渲染后图片中包括各个第一像素点的第一颜色信息和第一位置信息;
9.s3:基于所述目标图片,获取所述目标图片中各个第二像素点的第二颜色信息和第二位置信息;
10.s4:对所述渲染后图片中各第一像素点的所述第一颜色信息和所述第一位置信息进行拼接,得到渲染点集;
11.s5:对所述目标图片中各第二像素点的所述第二颜色信息和所述第二位置信息进行拼接,得到目标点集;
12.s6:基于所述目标点集,为所述渲染点集中各渲染点进行匹配,得到匹配点;
13.s7:基于所述渲染点和所述匹配点之间的距离,得到损失函数;
14.s8:基于所述损失函数,通过梯度下降方式优化所述初始场景的场景参数;
15.s9:通过优化所述初始场景的场景参数,得到优化后场景参数,并基于所述优化后场景参数,得到与所述目标图片对应的目标场景。
16.根据本发明提供的一种可微渲染方法,所述渲染后图片中第一像素点的所述第一
位置信息采用以下方式确定:
17.在对所述渲染后图片中第一像素点进行光栅化处理时,若所述第一像素点存在着色点,则基于所述着色点的投影坐标,确定所述第一像素点的所述第一位置信息;
18.在对所述渲染后图片中第一像素点进行光栅化处理时,若所述第一像素点不存在着色点,则基于所述第一像素点的像素中心坐标,确定所述第一像素点的所述第一位置信息。
19.根据本发明提供的一种可微渲染方法,所述目标图片中第二像素点的所述第二位置信息采用以下方式确定:
20.基于所述目标图片中第二像素点的像素中心坐标,确定所述第二像素点的所述第二位置信息。
21.根据本发明提供的一种可微渲染方法,所述基于所述渲染点和所述匹配点之间的距离,得到损失函数,采用以下公式确定:
[0022][0023]
其中,l(p)表示所述损失函数;p表示所述渲染点集;|p|表示所述渲染点集中的渲染点数量;pi表示所述渲染点集中的第i个渲染点;表示渲染点pi的匹配点;表示渲染点pi和匹配点的距离。
[0024]
根据本发明提供的一种可微渲染方法,所述基于所述损失函数,通过梯度下降方式优化所述初始场景的场景参数,具体包括:
[0025]
基于损失函数,通过梯度下降方式优化所述初始场景的场景参数,得到初始优化后场景参数;
[0026]
基于所述初始优化后参数,得到优化后初始场景,并将所述优化后初始场景作为所述初始场景重复执行预设次数的s2至s8。
[0027]
本发明还提供一种可微渲染装置,所述可微渲染装置包括:
[0028]
第一模块,用于获取初始场景和目标图片;
[0029]
第二模块,用于对所述初始场景进行渲染,得到与所述初始场景对应的渲染后图片,其中,所述渲染后图片中包括各个第一像素点的第一颜色信息和第一位置信息;
[0030]
第三模块,用于基于所述目标图片,获取所述目标图片中各个第二像素点的第二颜色信息和第二位置信息;
[0031]
第四模块,用于对所述渲染后图片中各第一像素点的所述第一颜色信息和所述第一位置信息进行拼接,得到渲染点集;
[0032]
第五模块,用于对所述目标图片中各第二像素点的所述第二颜色信息和所述第二位置信息进行拼接,得到目标点集;
[0033]
第六模块,用于基于所述目标点集,为所述渲染点集中各渲染点进行匹配,得到匹配点;
[0034]
第七模块,用于基于所述渲染点和所述匹配点之间的距离,得到损失函数;
[0035]
第八模块,用于基于所述损失函数,通过梯度下降方式优化所述初始场景的场景参数;
[0036]
第九模块,用于通过优化所述初始场景的场景参数,得到优化后场景参数,并基于所述优化后场景参数,得到与所述目标图片对应的目标场景。
[0037]
根据本发明提供的一种可微渲染装置,所述第二模块采用以下方式确定所述渲染后图片中第一像素点的所述第一位置信息:
[0038]
在对所述渲染后图片中第一像素点进行光栅化处理时,若所述第一像素点存在着色点,则基于所述着色点的投影坐标,确定所述第一像素点的所述第一位置信息;
[0039]
在对所述渲染后图片中第一像素点进行光栅化处理时,若所述第一像素点不存在着色点,则基于所述第一像素点的像素中心坐标,确定所述第一像素点的所述第一位置信息。
[0040]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的可微渲染方法。
[0041]
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的可微渲染方法。
[0042]
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的可微渲染方法。
[0043]
本发明提供的可微渲染方法、装置、电子设备及存储介质,通过对初始场景进行渲染得到渲染后图片,并通过对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接得到渲染点集,以及对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接得到目标点集,可以避免传统方法中像素颜色关于场景中顶点位置的函数不连续以及梯度局限性、稀疏性问题;再基于目标点集,为渲染点集中各渲染点进行匹配得到匹配点,以及基于渲染点和匹配点之间的距离得到损失函数,并基于损失函数优化场景参数,得到优化后场景参数,进而得到与目标图片对应的目标场景。从而可以最小化初始场景与目标场景的差异,并且能够提高收敛性。
附图说明
[0044]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]
图1是本发明提供的可微渲染方法的流程示意图之一;
[0046]
图2是本发明提供的可微渲染方法的流程示意图之二;
[0047]
图3是本发明提供的可微渲染方法装置的结构示意图;
[0048]
图4是本发明提供的电子设备的结构示意图。
具体实施方式
[0049]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本
发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050]
相关技术可知,传统的可微渲染方法求解出的关于物体几何变化的梯度是稀疏且限于物体边界的,在面对初始场景和目标差距较大的情况时,往往无法收敛。
[0051]
对于这种限制,可以从流体模拟中的拉格朗日观获得绕过它的灵感以得到本发明提供的可微渲染方法。传统的可微渲染方法可视作流体模拟中的欧拉观:其通过固定的像素观察场景的固定部分,类似于通过固定的网格观察流体,通过保证渲染结果和目标图片的像素(网格)的一致性来优化场景参数。
[0052]
然而,在本发明提供的可微渲染方法中,可将场景视作由一系列可移动的粒子组成,类似于流体模拟中追踪每个流体粒子,通过找到每个粒子的目标位置,并分别计算渲染结果关于粒子位置和颜色的微分,避免了传统方法中像素颜色关于场景中顶点位置的函数不连续的问题以及梯度的局部性、稀疏性问题。
[0053]
为了进一步介绍本发明提供的可微渲染方法,下面将结合图1进行说明。
[0054]
图1是本发明提供的可微渲染方法的流程示意图之一。
[0055]
在本发明一示例性实施例中,结合图1可知,可微渲染方法可以包括步骤110至步骤190,下面将分别介绍各步骤。
[0056]
需要说明的是,下文所述的步骤110至步骤190分别对应前文的s1至s9。
[0057]
在步骤110中,获取初始场景和目标图片。
[0058]
在一种实施例中,可以获取任意一个初始场景。其中,初始场景可以包括模型、材质、光照和视角(又称相机)等信息。目标图片可以是最终输出的目标场景的一个或多个视角的渲染图片或真实照片。
[0059]
在人体姿态预测的场景下,初始场景可以是一个标准化人体模型。目标图片可以是任意视角下获得的人体姿态图片。目标场景可以是人体姿态。其中,基于目标场景的人体姿态可以获知人体的位姿信息(或人体关节位姿信息)等。
[0060]
在人体表情预测的场景下,初始场景可以是任意一个无表情的人脸模型。目标图片可以是任意视角下获得的人脸图片。目标场景可以是人脸表情。其中,基于目标场景的人脸表情可以获知人脸的各视角的表情信息等。
[0061]
在家居摆放场景下,初始场景可以是任意一个家居杂乱摆放的场景。目标图片可以是任意视角下获得的某一家居摆放场景下的图片。目标场景可以是关于目标图片的家居摆放场景。
[0062]
在步骤120中,对初始场景进行渲染,得到与初始场景对应的渲染后图片,其中,渲染后图片中包括各个第一像素点的第一颜色信息和第一位置信息。
[0063]
在一种实施例中,可以使用可微渲染器对初始场景进行渲染,输出与初始场景对应的渲染后图片。其中,渲染后图片由多个第一像素点构成,其中,渲染后图片还可以包括各个第一像素点的第一颜色信息和第一位置信息。
[0064]
在一示例中,在获取第一颜色信息的过程中,可以找到覆盖第一像素点的三角形以及第一像素点实际采样点对应的三角形上的点(不考虑超采样)。具体来说,对于每个第一像素点p,可以找到场景中由v0,v1,v2三个顶点构成的三角形,以及用于计算着色点的重
心坐标w=(w0,w1,w2)。可以理解的是,重心坐标是一个三维坐标。其中,着色点可以表示为公式(1):
[0065]
v=w0*v0+w1*v1+w2*v2ꢀꢀꢀ
(1)
[0066]
在本发明一示例性实施例中,渲染后图片中第一像素点的第一位置信息可以采用以下方式确定:
[0067]
在对渲染后图片中第一像素点进行光栅化处理时,若第一像素点存在着色点,则基于着色点的投影坐标,确定第一像素点的第一位置信息;
[0068]
在对渲染后图片中第一像素点进行光栅化处理时,若第一像素点不存在着色点,则基于第一像素点的像素中心坐标,确定第一像素点的第一位置信息。
[0069]
换句话说,若初始场景下的模型覆盖第一像素点时,则可以通过计算光栅化过程中此第一像素点对应的着色点的投影坐标,确定第一像素点的第一位置信息。
[0070]
若初始场景下的模型未覆盖第一像素点时,则可以将第一像素点的像素中心坐标确定为第一像素点的第一位置信息。
[0071]
在传统方法中,公式(1)中的v只用于计算颜色。然而,在本发明提供的可微渲染方法中,额外将v通过投影矩阵投影到屏幕空间上,获得v的二维屏幕坐标(又称着色点的投影坐标)v
screen
=(v
x
,vy)∈[-1,1]2,再将其线性变换到[0,1]2。此流程建立了像素位置(对应第一位置信息)和着色点位置v在计算图中的联系,使得像素位置成为实际场景中的着色点位置v的函数。此时对于颜色的计算,不再计算着色点颜色关于着色点位置v的导数,因此避免了传统方法中颜色关于位置变化的不连续问题。
[0072]
在步骤130中,基于目标图片,获取目标图片中各个第二像素点的第二颜色信息和第二位置信息。
[0073]
在一种实施例中,对于目标图片中的每一个第二像素点,可以直接获取第二像素点的第二颜色信息。
[0074]
在又一种实施例中,可以采用以下方式确定目标图片中第二像素点的第二位置信息:
[0075]
基于目标图片中第二像素点的像素中心坐标,确定第二像素点的第二位置信息。
[0076]
在步骤140中,对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接,得到渲染点集。
[0077]
在一种实施例中,对于渲染后图片中的各个第一像素点,采用步骤120分别获得了第一颜色信息和第一位置信息。可以理解的是,第一颜色信息是由三维坐标表征,第一位置信息是由二维坐标表征。在对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接后,可以将第一像素点看作是一个五维空间中的点,并可以将该点称为渲染点。可以理解的是,基于多个渲染点,可以得到一个渲染点集。
[0078]
在步骤150中,对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接,得到目标点集。
[0079]
在一种实施例中,对于目标图片中的各个第二像素点,采用步骤130分别获得了第二颜色信息和第二位置信息。可以理解的是,第二颜色信息是由三维坐标表征,第二位置信息是由二维坐标表征。在对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接后,可以将第二像素点看作是一个五维空间中的点,并可以将该点称为目标点。可以理
解的是,基于多个目标点,可以得到一个目标点集。
[0080]
在又一实施例中,继续以公式(1)对应的实施例为例进行说明。对于渲染结果(对应渲染后图片)中未被三角形覆盖的第一像素点和目标图片中的第二像素点,可以定义第一位置信息为第一像素点的像素中心在屏幕空间的坐标,以及定义第二位置信息为第二像素点的像素中心在屏幕空间的坐标,并同样归一化到[0,1]2。将渲染结果和目标图片的每个像素的颜色信息(对应第一颜色信息和第二颜色信息)归一化到[0,1]3。将颜色和位置信息拼接,每个像素对应了一个位于[0,1]5中的点。于是渲染结果和目标图片分别转换为了[0,1]5中的一个点集(分别对应渲染点集和目标点集)。
[0081]
在步骤160中,基于目标点集,为渲染点集中各渲染点进行匹配,得到匹配点。
[0082]
在步骤170中,基于渲染点和匹配点之间的距离,得到损失函数。
[0083]
在一种实施例中,可以求出目标点集和渲染点集之间的一个匹配,为渲染点集中各渲染点找到一个匹配点。
[0084]
在一种实施例中,可以定义[0,1]5空间中两个点距离。在一示例中,可以采用欧几里得距离确定点的距离。例如点a,b之间的距离d(a,b)可以定义为公式(2):
[0085]
d(a,b)=||a-b||2ꢀꢀꢀꢀ
(2)
[0086]
接下来,考虑求解点集之间的最优匹配。此处的方法有若干种,如二分图匹配、光流匹配与最优传输匹配。在一示例中,可以选择离散最优传输算法进行匹配。
[0087]
其中,离散的最优传输算法解决的是这样一个问题:给定两个点a,b集中任意两个点的距离d(ai,bj),以及每个点的质量其中,可以求解传输矩阵t,并使得传输矩阵t满足以下公式(3)和公式(4):
[0088]
t=argmin
t
∑t
ij
d(ai,bj)
ꢀꢀꢀ
(3)
[0089][0090]
其中,ai表示a点集中的第i个点;bj表示b点集中的第j个点;t是二维传输矩阵。在本示例中,假定整张图片的质量为1,每个像素点的质量相同。具体实现中,我们采用sinkhorn算法求解得到最优传输矩阵t的一个低频近似解:对sinkhorn算法给出一个点(对应匹配点)近似代表∑jt
ijbj
。需要说明的是,ai可以表示渲染点,表示ai的匹配点计算出匹配结果后,可以根据匹配结果,即基于渲染点和匹配点之间的距离,计算损失函数。
[0091]
在步骤180中,基于损失函数,通过梯度下降方式优化初始场景的场景参数。
[0092]
在步骤190中,通过优化初始场景的场景参数,得到优化后场景参数,并基于优化后场景参数,得到与目标图片对应的目标场景。
[0093]
在一种实施例中,可以利用梯度下降优化场景参数,最小化损失函数。由于整个流程都是可微的,可以直接使用自动微分方法求解损失函数关于初始场景的场景参数的导数。
[0094]
进一步的,通过优化初始场景的场景参数,得到优化后场景参数,并基于优化后场景参数,得到与目标图片对应的目标场景。
[0095]
需要说明的是,本实施例中,计算梯度的梯度是数值稳定的,不存在无穷大现象;并且计算梯度时利用了全局信息,求出的梯度对优化场景参数的效果更好;另外,本发明获得的梯度是密集的,不局限在物体的边界处;本方法简单易行、在传统可微渲染器上稍加改动,并结合上匹配算法即可。
[0096]
本发明提供的可微渲染方法,通过对初始场景进行渲染得到渲染后图片,并通过对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接得到渲染点集,以及对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接得到目标点集,可以避免传统方法中像素颜色关于场景中顶点位置的函数不连续以及梯度局限性、稀疏性问题;再基于目标点集,为渲染点集中各渲染点进行匹配得到匹配点,以及基于渲染点和匹配点之间的距离得到损失函数,并基于损失函数优化场景参数,得到优化后场景参数,进而得到与目标图片对应的目标场景。从而可以最小化初始场景与目标场景的差异,并且能够提高收敛性。
[0097]
在本发明一示例性实施例中,基于渲染点和匹配点之间的距离,得到损失函数,采用以下公式(5)确定:
[0098][0099]
其中,l(p)表示损失函数;p表示渲染点集;|p|表示渲染点集中的渲染点数量;pi表示渲染点集中的第i个渲染点;表示渲染点pi的匹配点;表示渲染点pi和匹配点的距离。
[0100]
在又一种实施例中,还可以基于渲染点和匹配点之间的距离的加权平均值、距离求和等方式确定损失函数。在本实施例中,不对基于渲染点和匹配点之间的距离得到损失函数的具体过程作限定。
[0101]
为了进一步介绍本发明提供的可微渲染方法,下面将结合图2进行说明。
[0102]
在本发明又一示例性实施例中,结合图2可知,可微渲染方法可以包括步骤201至步骤210,其中,步骤201至步骤207与步骤110至步骤170,步骤210与步骤109相同或相似,其具体实施方式和有益效果请参照前文描述,在本实施例中不再赘述,下面将分别介绍步骤208和步骤209。
[0103]
在步骤208中,基于损失函数,通过梯度下降方式优化初始场景的场景参数,得到初始优化后场景参数。
[0104]
在步骤209中,基于初始优化后参数,得到优化后初始场景,并将优化后初始场景作为初始场景重复执行预设次数的步骤202至步骤208。
[0105]
在一种实施例中,可以求解损失函数关于场景参数的梯度,通过梯度下降的方式更新初始场景的场景参数,以得到初始优化后场景参数。进一步的,基于初始优化后参数可以得到优化后初始场景。再将优化后初始场景作为初始场,景重复执行预设次数的步骤202至步骤208,直至得到最终优化后的初始场景的场景参数,从而得到优化后场景参数。其中,预设次数可以根据实际情况进行调整,在本实施例中,不作具体限定。
[0106]
在又一实施例中,还可以将优化后初始场景作为初始场景,重复执行预设时间的
步骤202至步骤208,直至得到最终优化后的初始场景的场景参数,从而得到优化后场景参数。其中,预设时间可以根据实际情况进行调整,在本实施例中,不作具体限定。
[0107]
根据上述描述可知,本发明提供的可微渲染方法,通过对初始场景进行渲染得到渲染后图片,并通过对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接得到渲染点集,以及对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接得到目标点集,可以避免传统方法中像素颜色关于场景中顶点位置的函数不连续以及梯度局限性、稀疏性问题;再基于目标点集,为渲染点集中各渲染点进行匹配得到匹配点,以及基于渲染点和匹配点之间的距离得到损失函数,并基于损失函数优化场景参数,得到优化后场景参数,进而得到与目标图片对应的目标场景。从而可以最小化初始场景与目标场景的差异,并且能够提高收敛性。
[0108]
基于相同的构思,本发明还提供一种可微渲染装置。
[0109]
下面对本发明提供可微渲染装置进行描述,下文描述的可微渲染装置与上文描述的可微渲染方法可相互对应参照。
[0110]
图3是本发明提供的可微渲染方法装置的结构示意图。
[0111]
在本发明一示例性实施例中,结合图3可知,可微渲染装置可以包括第一模块310至第九模块390,下面将分别介绍各模块。
[0112]
第一模块310,可以被配置为用于获取初始场景和目标图片;
[0113]
第二模块320,可以被配置为用于对初始场景进行渲染,得到与初始场景对应的渲染后图片,其中,渲染后图片中包括各个第一像素点的第一颜色信息和第一位置信息;
[0114]
第三模块330,可以被配置为用于基于目标图片,获取目标图片中各个第二像素点的第二颜色信息和第二位置信息;
[0115]
第四模块340,可以被配置为用于对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接,得到渲染点集;
[0116]
第五模块350,可以被配置为用于对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接,得到目标点集;
[0117]
第六模块360,可以被配置为用于基于目标点集,为渲染点集中各渲染点进行匹配,得到匹配点;
[0118]
第七模块370,可以被配置为用于基于渲染点和匹配点之间的距离,得到损失函数;
[0119]
第八模块380,可以被配置为用于基于损失函数,通过梯度下降方式优化初始场景的场景参数;
[0120]
第九模块390,可以被配置为用于通过优化初始场景的场景参数,得到优化后场景参数,并基于优化后场景参数,得到与目标图片对应的目标场景。
[0121]
在本发明一示例性实施例中,第二模块320可以采用以下方式确定渲染后图片中第一像素点的所述第一位置信息:
[0122]
在对渲染后图片中第一像素点进行光栅化处理时,若第一像素点存在着色点,则基于着色点的投影坐标,确定第一像素点的第一位置信息;
[0123]
在对渲染后图片中第一像素点进行光栅化处理时,若第一像素点不存在着色点,则基于第一像素点的像素中心坐标,确定第一像素点的所述第一位置信息。
[0124]
在本发明一示例性实施例中,第三模块330可以采用以下方式确定目标图片中第二像素点的第二位置信息:
[0125]
基于目标图片中第二像素点的像素中心坐标,确定第二像素点的第二位置信息。
[0126]
在本发明一示例性实施例中,第七模块370可以采用以下公式(6)基于渲染点和匹配点之间的距离,得到损失函数:
[0127][0128]
其中,l(p)表示损失函数;p表示渲染点集;|p|表示渲染点集中的渲染点数量;pi表示渲染点集中的第i个渲染点;表示渲染点pi的匹配点;表示渲染点pi和匹配点的距离。
[0129]
在本发明一示例性实施例中,第八模块380可以采用以下方式基于损失函数,通过梯度下降方式优化初始场景的场景参数:
[0130]
基于损失函数,通过梯度下降方式优化初始场景的场景参数,得到初始优化后场景参数;
[0131]
基于初始优化后参数,得到优化后初始场景,并将优化后初始场景作为初始场景重复执行预设次数的s2至s8。
[0132]
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行可微渲染方法,该方法包括:s1:获取初始场景和目标图片;s2:对初始场景进行渲染,得到与初始场景对应的渲染后图片,其中,渲染后图片中包括各个第一像素点的第一颜色信息和第一位置信息;s3:基于目标图片,获取目标图片中各个第二像素点的第二颜色信息和第二位置信息;s4:对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接,得到渲染点集;s5:对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接,得到目标点集;s6:基于目标点集,为渲染点集中各渲染点进行匹配,得到匹配点;s7:基于渲染点和匹配点之间的距离,得到损失函数;s8:基于损失函数,通过梯度下降方式优化初始场景的场景参数;s9:通过优化初始场景的场景参数,得到优化后场景参数,并基于优化后场景参数,得到与目标图片对应的目标场景。
[0133]
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0134]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的可微渲染方法,该方法包括:s1:获取初始场景和目标图片;s2:对初始场景进行渲染,得到与初始场景对应的渲染后图片,其中,渲染后图片中包括各个第一像素点的第一颜色信息和第一位置信息;s3:基于目标图片,获取目标图片中各个第二像素点的第二颜色信息和第二位置信息;s4:对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接,得到渲染点集;s5:对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接,得到目标点集;s6:基于目标点集,为渲染点集中各渲染点进行匹配,得到匹配点;s7:基于渲染点和匹配点之间的距离,得到损失函数;s8:基于损失函数,通过梯度下降方式优化初始场景的场景参数;s9:通过优化初始场景的场景参数,得到优化后场景参数,并基于优化后场景参数,得到与目标图片对应的目标场景。
[0135]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的可微渲染方法,该方法包括:s1:获取初始场景和目标图片;s2:对初始场景进行渲染,得到与初始场景对应的渲染后图片,其中,渲染后图片中包括各个第一像素点的第一颜色信息和第一位置信息;s3:基于目标图片,获取目标图片中各个第二像素点的第二颜色信息和第二位置信息;s4:对渲染后图片中各第一像素点的第一颜色信息和第一位置信息进行拼接,得到渲染点集;s5:对目标图片中各第二像素点的第二颜色信息和第二位置信息进行拼接,得到目标点集;s6:基于目标点集,为渲染点集中各渲染点进行匹配,得到匹配点;s7:基于渲染点和匹配点之间的距离,得到损失函数;s8:基于损失函数,通过梯度下降方式优化初始场景的场景参数;s9:通过优化初始场景的场景参数,得到优化后场景参数,并基于优化后场景参数,得到与目标图片对应的目标场景。
[0136]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0137]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0138]
进一步可以理解的是,本发明实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
[0139]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1