利用具有网络渲染层的神经网络编辑数字图像的制作方法

文档序号:15449663发布日期:2018-09-14 23:49阅读:192来源:国知局
本公开的各实施例总体上涉及图像处理,具体地涉及利用具有网络渲染层的神经网络编辑数字图像。
背景技术
:近年来,数字图像编辑领域已经得到了迅速的发展。实际上,由于算法和硬件的进步,传统的数字编辑系统现在能够通过简单的用户输入来数字地修改各种图像特性。例如,传统的数字编辑系统可以应用滤波器来修改数字图像的外观,或者将在第一数字图像中描绘的对象添加到第二数字图像。尽管传统的数字编辑系统近年来已经取得进展,但是它们仍然具有几个显著的缺点。例如,传统的数字编辑系统可以应用滤波器或将对象添加到数字图像,但是难以生成反映各种不同目标图像属性的逼真外观模型的已修改数字图像。为了说明,传统的数字编辑系统可以对数字图像应用滤波器,但是难以修改在数字图像中描绘的对象的材料,使得材料准确地反映数字图像的环境(例如,将新材料反映为好像被放置在原始数字图像的照明环境中)。类似地,虽然传统的数字编辑系统可以从数字图像中添加或去除对象,但是这样的系统不能准确地修改在数字图像中描绘的对象,使得已修改对象反映数字图像的环境(例如,已修改对象呈现为好像被放置在原始数字图像的照明环境中)。此外,虽然传统的数字编辑系统可以修改数字图像的颜色或外观,但是这样的系统通常不能修改数字图像的照明环境,使得在数字图像中描绘的对象改变以准确地反映已修改照明环境。一些传统的系统已经设法解决这些问题,但是每个都引入了它们自己的限制和关注。例如,一些数字图像分解系统寻求通过简化关于数字图像的假设来标识和修改在数字图像中描绘的场景的物理属性。例如,一些数字图像分解系统假设在数字图像中描绘的对象的几何形状,假设在数字图像中描绘的对象的材料属性(例如,假设漫射材料),或者假设照明条件(例如,低频照明)以降低对在数字图像中描绘的物理属性进行分解的复杂度。这样简化假设可以增加标识物理属性和修改数字图像的能力,但是它们也引入不准确并且限制了这样的系统所适用的环境。此外,一些数字图像分类系统利用机器学习过程来编辑数字图像。然而,这些解决方案也引入了它们自己的缺点。例如,利用机器学习的数字图像编辑系统通常限于仅对漫射材料建模(即,这样的系统不能用镜面材料操作)。此外,数字图像编辑系统通常不能与高级材料属性一起操作,高级材料属性通常不可区分并且在训练神经网络时带来困难。类似地,利用机器学习从数字图像推断属性的数字图像分类系统通常在神经网络的潜在特征空间中表示这些属性。因此,虽然这样的系统可以编辑数字图像,但是它们不能容易地操纵物理属性,因为这些属性本质上被表示为神经网络的层内的潜在特征(或以其他方式组合)。关于数字图像编辑存在这些和其他问题。技术实现要素:本公开的一个或多个实施例使用通过利用包括渲染层的神经网络来生成已修改数字图像的系统和方法提供优点和/或解决本领域的前述或其他问题中的一个或多个。特别地,在一个或多个实施例中,所公开的系统和方法利用具有渲染层的神经网络,渲染层被训练为基于在输入数字图像中描绘的物理属性来明确地建模图像形成过程。例如,在一个或多个实施例中,所公开的系统和方法向神经网络提供输入数字图像,神经网络预测数字图像的固有属性(例如,材料属性、照明和/或表面取向)。所公开的系统和方法然后利用已训练渲染层基于这些固有属性来生成已修改数字图像。具体地,所公开的系统和方法用一个或多个目标属性替换一个或多个预测的物理属性,并且利用渲染层来生成已修改数字图像。以这种方式,所公开的系统和方法生成能够反映输入数字图像的物理属性和一个或多个目标属性的准确的逼真的已修改数字图像。为了说明,在一个或多个实施例中,所公开的系统和方法接收在照明环境内描绘对象的输入数字图像,其中对象描绘在法线方向上对准的材料的表面。所公开的系统和方法接收修改输入数字图像的属性的请求(即,修改材料、表面取向或照明环境的请求)。所公开的系统和方法利用神经网络预测数字图像的固有属性(例如,材料属性集、表面取向图和/或照明环境图),并且然后用已修改属性替换一个或多个固有属性。所公开的系统和方法然后将已修改属性与未已修改的固有属性一起提供给神经网络的渲染层,渲染层生成反映已修改属性的已修改数字图像。通过利用具有对图像形成过程进行建模(例如,基于预测的材料属性、表面取向和照明来生成已修改数字图像)的渲染层的神经网络,所公开的系统和方法生成描绘已修改材料、已修改对象或已修改照明环境的准确的已修改数字图像。因此,例如,所公开的系统和方法可以将对象的材料从钝金属改变为反射金属,同时仍然描绘在输入数字图像中描绘的形状和照明环境。类似地,所公开的系统和方法可以在生成已修改数字图像时修改对象形状(例如,将汽车改变为卡车)和/或照明环境(例如,将照明环境从中午改变为黄昏),同时仍然实际地描绘输入数字图像的其他物理属性。此外,所公开的系统和方法生成已修改数字图像,而不做出将鲁棒应用限于各种情况的假设。实际上,所公开的系统和方法不需要在生成已修改数字图像时对特定几何形状或材料做出假设。此外,由于所公开的系统明确地建模输入数字图像的物理属性,所以所公开的系统和方法替代和修改那些物理属性用于在神经网络内利用以生成已修改数字图像。另外,在一个或多个实施例中,所公开的系统和方法通过利用关于光方向和材料属性(例如,材料参数或材料系数)可区分的参数材料表示来考虑高级材料属性(例如,双向反射分布函数)。这样的方法使得所公开的系统和方法能够针对各种各样的材料、对象和环境进行操作。例如,所公开的系统和方法不限于漫射材料,而且还可以建模镜面材料,从而得到更逼真的外观模型。此外,利用可区分参数表示使得能够将所公开的系统和方法实现为各种网络架构,因为参数表示使得能够在训练期间使用反向传播方法。因此,所公开的系统和方法使得能够更有效地训练准确的神经网络以生成已修改数字图像。本公开的一个或多个实施例的附加特征和优点将在下面的描述中阐述,并且部分地将从描述中变得容易理解,或者可以通过实施这样的示例实施例来了解。附图说明参考附图描述“具体实施方式”,在附图中:图1示出了根据一个或多个实施例的用于建模数字图像的物理属性的表示;图2示出了根据一个或多个实施例的利用包括渲染层的神经网络来生成已修改数字图像的表示;图3a和图3b示出了根据一个或多个实施例的表面取向图和照明环境的表示;图4示出了根据一个或多个实施例的训练包括渲染层的神经网络的表示;图5a至图5c示出了根据一个或多个实施例的用于预测物理属性的网络架构;图6a和图6b示出根据一个或多个实施例的包括从多个原始数字图像生成的多个已修改数字图像的阵列;图7示出了根据一个或多个实施例的利用两个目标材料属性集来生成描绘两个已修改材料的已修改数字图像;图8示出了根据一个或多个实施例的数字神经网络渲染系统的示意图;图9示出了示出根据一个或多个实施例其中可以实现数字神经网络渲染系统的示例性环境的示意图;图10示出了根据一个或多个实施例的在用于利用具有被训练为生成描绘漫射和镜面材料的目标数字图像的渲染层的神经网络来渲染用已修改属性反映输入数字图像的已修改数字图像的步骤中的动作的表示;图11示出了根据一个或多个实施例的训练具有渲染层的神经网络以生成已修改数字图像的方法中的一系列动作的流程图;图12示出了根据一个或多个实施例的利用具有渲染层的神经网络来生成已修改数字图像的方法中的一系列动作的另一流程图;以及图13示出了根据一个或多个实施例的示例性计算设备的框图。具体实施方式本公开的一个或多个实施例包括一种利用具有渲染层的神经网络来生成已修改数字图像的数字神经网络渲染系统。特别地,在一个或多个实施例中,数字神经网络渲染系统利用具有在神经网络内复制图像形成的渲染层的神经网络。具体地,在一个或多个实施例中,神经网络预测在输入数字图像中反映的物理属性,修改一个或多个物理属性,并且利用渲染层来生成已修改数字图像。为了说明,一个或多个实施例训练具有渲染层的神经网络以生成合成的数字图像。此外,响应于接收到输入数字图像,数字神经网络渲染系统利用神经网络来预测输入数字图像的一个或多个属性(例如,输入数字图像的材料属性集、表面取向图或照明环境图)。然后,数字神经网络渲染系统用目标属性(例如,用目标材料属性集替换材料属性集)替换预测的属性之一。此外,数字神经网络渲染系统利用神经网络的渲染层从反映目标属性的输入数字图像生成已修改数字图像。通过利用具有从物理属性来建模图像形成的渲染层的神经网络,数字神经网络渲染系统可以补救与传统的数字编辑系统相关的很多问题。例如,数字神经网络渲染系统可以生成准确地反映目标属性以及来自输入数字图像的现有物理属性的已修改数字图像。为了说明,数字神经网络渲染系统可以生成准确地反映来自输入数字图像的在现有的照明环境内的已修改材料的已修改数字图像。类似地,数字神经网络渲染系统可以生成准确地反映来自输入数字图像的在照明环境中的新对象的已修改数字图像。此外,数字神经网络渲染系统可以生成准确地反映在不同照明环境中的来自输入数字图像的现有对象的已修改数字图像。此外,与利用网络的一些传统系统不同,数字神经网络渲染系统没有将神经网络视为与数字图像的物理属性相关的黑盒。相反,在一个或多个实施例中,数字神经网络渲染系统从输入数字图像(例如,材料属性、表面取向和/或照明环境)明确地建模固有物理属性。因此,数字神经网络渲染系统可以更准确地修改输入数字图像的属性,并且利用渲染层来合成已修改数字图像。因此,数字神经网络渲染系统可以提供具有渲染层的端到端神经网络架构,渲染层复制前向图像形成过程以标识图像的固有物理属性,修改一个或多个固有物理属性,并且生成已修改数字图像。利用渲染层建模图像形成过程也可以提高训练神经网络的效率。例如,在一个或多个实施例中,数字神经网络渲染系统通过基于由神经网络预测的物理属性的不准确性明确地测量损失来训练神经网络。此外,数字神经网络渲染系统通过基于由神经网络生成的目标图像中的不准确性测量损失来训练神经网络。因此,通过明确地建模物理属性,数字神经网络渲染系统可以更有效地训练神经网络,以生成反映目标属性的准确的已修改数字图像。此外,在一个或多个实施例中,数字神经网络渲染系统还考虑高级材料属性,这增加了所得到的已修改数字图像的逼真外观。例如,在一个或多个实施例中,数字神经网络渲染系统利用参考材料表示,参数材料表示关于在数字图像中描绘的入射光方向、出射光方向和材料属性是可区分的。利用可区分的参数材料表示使得数字神经网络渲染系统能够更容易地训练神经网络。例如,数字神经网络渲染系统可以利用反向传播技术来利用参数材料表示来训练神经网络。此外,利用高级材料属性还使得数字神经网络渲染系统能够关于各种不同的材料生成已修改数字图像。例如,在一个或多个实施例中,数字神经网络渲染系统利用基于双向反射分布函数的参数表示。利用这种方法,与传统系统不同,数字神经网络渲染系统可以生成反映漫射和/或镜面材料的已修改数字图像。此外,在一个或多个实施例中,数字神经网络渲染系统通过利用照明环境图来更准确和逼真地描绘已修改数字图像中的照明。特别地,在一个或多个实施例中,数字神经网络渲染系统利用更准确地反映在数字图像中描绘的场景的自然照明的照明环境图。具体地说,数字神经网络渲染系统利用包括被平坦化为二维域的球面全景图像的照明环境图,其中每个像素的位置反映三维空间中的入射光方向,并且每个像素的值存储来自相应方向的光强度。这样的照明环境图提供了高级照明表示,并且使得数字神经网络渲染系统能够更准确地建模已修改数字图像中的现有或目标照明属性。如上所述,在一个或多个实施例中,数字神经网络渲染系统训练包括渲染层的神经网络。特别地,在一个或多个实施例中,数字神经网络渲染系统基于将神经网络的预测的输出与地面真实训练数据相比较的损失测量来训练神经网络和渲染层。例如,在一个或多个实施例中,数字神经网络渲染系统向神经网络提供训练输入图像,并且神经网络预测训练图像的固有属性(例如,材料属性集、表面取向图和/或照明环境图)。数字神经网络渲染系统然后通过将预测的固有属性与对应于训练输入图像的已知训练属性相比较来确定损失度量。此外,数字神经网络渲染系统利用损失测量来训练神经网络以更准确地预测固有属性(例如,经由损失反向传播技术)。另外,在一个或多个实施例中,数字神经网络渲染系统通过生成一个或多个合成的数字图像来训练具有渲染层的神经网络。特别地,数字神经网络渲染系统可以利用神经网络渲染层以基于训练输入图像的预测的固有属性来生成合成的训练图像。然后,数字神经网络渲染系统通过将由神经网络渲染层生成的合成的训练图像与训练输入图像相比较来确定损失测量。此外,数字神经网络渲染系统可以利用损失度量来训练神经网络以基于预测的固有属性更准确地生成合成的数字图像。此外,在一个或多个实施例中,数字神经网络渲染系统通过生成一个或多个合成目标图像来训练具有渲染层的神经网络。特别地,数字神经网络渲染系统用与训练目标图像相对应的训练目标属性替换训练输入图像的预测的固有属性之一。然后,数字神经网络渲染系统利用渲染层来生成合成的目标图像。此外,数字神经网络渲染系统可以通过将合成的目标图像与训练目标图像相比较来确定损失度量。此外,数字神经网络渲染系统利用损失度量来训练神经网络以基于已修改属性更准确地生成已修改数字图像。在训练神经网络之后,数字神经网络渲染系统利用神经网络来生成已修改数字图像。实际上,如上所述,数字神经网络渲染系统可以接收输入数字图像并且利用神经网络来预测输入数字图像的固有属性。此外,数字神经网络渲染系统可以用目标属性替换输入数字图像的固有属性,并且利用渲染层来生成已修改数字图像。现在转到图1,将提供关于根据数字神经网络渲染系统的一个或多个实施例的数字图像的建模(例如,分解和/或合成)的附加细节。具体地,图1示出了描绘对象102的数字图像100。如本文中使用的,术语“数字图像”是指任何数字符号、图片、图标或图示。例如,术语“数字图像”包括具有以下或其他文件扩展名的数字文件:jpg、tiff、bmp、png、raw或pdf。术语“数字图像”还包括数字视频中的一个或多个图像(例如,帧)。因此,尽管本文中的很多描述是在数字图像方面来措辞的,但是应当理解,本公开也可以应用于利用具有渲染层的神经网络来编辑数字视频。此外,如本文中使用的,术语“对象”是指在数字图像中描绘的人、地点或事物。例如,关于图1,术语“对象”包括汽车。然而,应当理解,术语“对象”可以包括任何各种其他物品,诸如人、动物或结构。数字图像100基于由相机捕获的光来描绘对象102。特别地,作为对象102的不同表面在不同方向上对准并且由一个或多个材料构成的结果,数字图像100描绘对象102,从而将来自照明环境的光反射到捕获数字图像100的相机透镜中。因此,数字图像100可以被建模为形成由于照明环境(产生光)、材料(不同地反射光)和表面取向(在不同方向上折射光)而在外观上变化的像素的各个光线的集合。如本文中使用的,术语“照明环境”是指空间内的照明。特别地,术语“照明环境”是指在使得一个或多个对象对相机可见的三维空间内的照明的表示。此外,如本文中使用的,术语“材料”是指制造对象的物质。例如,在数字图像100中描绘的对象102的汽车包括金属材料。类似地,如本文中使用的,术语“表面取向”是指描述表面的对准的方位。术语“表面取向”包括描述垂直于表面的平面的方向的表面法线方向。在一个或多个实施例中,数字神经网络渲染系统通过对这些固有属性的相互作用进行建模来分解数字图像和/或合成数字图像。如本文中使用的,术语“属性”、“固有属性”或“物理属性”是指对有助于数字图像中的一个或多个像素的外观的自然属性、特性、参数、力或因素的表示。特别地,固有或物理属性包括影响作为数字图像中的像素被反射的光的外观的环境内的自然属性。例如,物理属性包括照明环境、材料和/或表面取向。如下面更详细讨论的,属性还可以包括照明环境图、材料属性集和/或对象取向图。具体地,如图1所示,数字神经网络渲染系统可以通过对与在数字图像100中表示的像素相对应的多个光线104a-104n进行建模来分解(和/或生成)数字图像100。例如,关于光线104a,基于光线104a的入射方向,基于折射光线104a的材料108a,基于表面法线106a(即,垂直于光线104a反射的表面的方向),并且基于光线104a的出射方向,数字神经网络渲染系统可以对数字图像100中的相应像素建模。实际上,基于关于多个光线104a-104n的方向、表面法线方向106a-106n和材料108a-108n的信息,数字神经网络渲染系统可以重新创建数字图像100。此外,如上所述,数字神经网络渲染系统还可以确定数字图像100的这些固有属性。特别地,在一个或多个实施例中,数字神经网络渲染系统通过预测多个光线104a-104n的入射方向、表面法线方向106a-106n和材料108a-108n来分解数字图像100。更具体地,如下面更详细地讨论的,数字神经网络渲染系统可以确定反映多个光线104a-104n的入射方向、表面法线方向106a-106n和材料108a-108n的照明环境图、表面取向图和材料属性集。此外,数字神经网络渲染系统可以通过修改这些物理属性来生成已修改数字图像。例如,数字神经网络渲染系统可以将材料108a-108n改变为已修改材料,并且在相同的照明环境中生成已修改对象(例如,由不同材料制成的汽车,呈现为好像它在与数字图像100相同的空间中被照射)。更具体地,数字神经网络渲染系统可以利用神经网络来分解数字图像(即,标识输入数字图像的固有物理属性),并且然后利用神经网络的渲染层来在生成已修改数字图像时合成属性。例如,图2示出了利用具有渲染层的神经网络来生成已修改数字图像。具体地,图2示出了神经网络200、输入数字图像202和已修改数字图像206。如图所示,数字神经网络渲染系统可以将输入数字图像202提供给神经网络200,并且神经网络可以生成已修改数字图像206。如本文中使用的,术语“输入数字图像”是指提供给神经网络的数字图像。特别地,术语“输入数字图像”包括提供给神经网络以生成已修改数字图像的数字图像。此外,如本文中使用的,术语“神经网络”是指可以基于输入来被调整(例如,训练)以近似未知函数的机器学习模型。特别地,术语“神经网络”可以包括互连层的模型,其以不同程度的抽象来传达和分析属性以学习近似复杂的函数并且基于提供给模型的多个输入来生成输出。例如,术语“神经网络”包括一个或多个机器学习算法。特别地,术语“神经网络”包括深度卷积神经网络(即,“cnn”)和完全卷积神经网络(即,“fcn”)。换言之,神经网络包括实现深度学习技术的算法,即利用一组算法来尝试对数据的高级抽象进行建模的机器学习。下面提供关于示例性神经网络和相应的网络架构的附加细节(例如,关于图5a-5c)。如图所示,神经网络200包括材料属性预测设备208、表面取向预测设备210、照明预测设备212和渲染层214。响应于接收到输入数字图像202,材料属性预测设备208,表面取向预测设备210和照明预测设备212可以分别确定材料属性集216、表面取向图218和照明环境图220。如本文中使用的,术语“渲染层”是指用于基于物理属性来生成数字图像的神经网络的部分。特别地,术语“渲染层”包括用于合成物理属性以生成数字图像的神经网络的一个或多个层。此外,术语“渲染层”包括基于数字图像的固有物理属性来对图像形成过程进行建模的神经网络的部分。例如,渲染层可以基于材料属性集、表面取向图和/或照明环境图来生成数字图像。如本文中使用的,术语“材料属性集”(或“材料属性”)是指与材料相对应的属性的集合。特别地,“材料属性集”可以包括影响光线在接触材料时如何折射的属性(例如,材料参数或材料系数)的集合。例如,材料属性集可以包括多个材料参数,诸如阴影定型、多次散射、相互阴影、透射、反射、吸收、表面元件的发射、面取向分布和面密度。在一个或多个实施例中,数字神经网络渲染系统基于双向反射分布函数(即,brdf)来确定材料的反射率。例如,关于图2,数字神经网络渲染系统利用brdfs经由材料属性预测设备208来生成材料属性集216。brdf提供在给定入射光方向和出射光方向的情况下材料的反射辐射度与入射辐射度的比率。材料属性集可以包括各种数目和类型的属性。例如,在一个或多个实施例中,数字神经网络渲染系统针对给定的材料利用108个参数。例如,关于图2,材料属性集216包括108个参数(尽管材料属性集216可以包括更多或更少的参数)。此外,如本文中使用的,术语“表面取向图”是指在数字图像中描绘的表面方向的数字表示。特别地,表面取向图包括与由数字图像中的像素描绘的表面相对应的表面法线方向的数字表示。例如,表面取向图可以包括对由数字图像中的像素表示的表面的三维取向进行编码的数据库、矩阵或图像文件。为了说明,关于图2,由表面取向预测设备210生成的表面取向图218包括三通道表面取向图。特别地,表面取向图218包括其中每个像素的r、g、b颜色对与输入数字图像202中的每个像素相对应的每个表面法线方向的x、y和z维度进行编码的图像文件。此外,如本文中使用的,术语“照明环境图”是指在数字图像中描绘的照明环境的数字表示。特别地,术语“照明环境图”包括与数字图像相对应的光线方向的表示。例如,在一个或多个实施例中,照明环境图包括与数字图像的像素相对应的入射光线方向的表示。为了说明,关于图2,由照明预测设备212生成的照明环境图220包括如下图像文件:图像文件中的每个像素的位置反映关于与输入数字图像202中的像素相对应的光线的入射光方向。更具体地,照明环境图220包括球面全景数字图像,其中每个像素的位置表示被平坦化为二维图像域的三维空间中的入射光方向。照明环境图220中的每个像素的值存储来自与像素的位置相对应的方向的光的强度。因此,照明环境图220反映在输入数字图像202中反射的入射光线的强度和方向,并且使得数字神经网络渲染系统能够对创建输入数字图像202的照明环境进行建模。如前所述,在一个或多个实施例中,数字神经网络渲染系统可以利用目标属性从输入数字图像来生成已修改数字图像。如本文中使用的,术语“目标”是指已修改、已改变或期望的。例如,术语“目标属性”是指与输入数字图像的相应属性相比较的已修改(或期望的)属性。例如,图2示出了向神经网络200提供目标属性222以生成已修改数字图像206。特别地,数字神经网络渲染系统用目标属性222替换由神经网络200预测的属性之一(即,用目标属性222替换材料属性集216、表面取向图218或照明环境图220)。此外,数字神经网络渲染系统然后利用渲染层214以基于目标属性222生成已修改数字图像206。例如,数字神经网络渲染系统可以生成已修改数字图像206以用新的材料描绘输入数字图像202。具体地,数字神经网络渲染系统可以用目标属性222替换材料属性集216,其中目标属性222包括目标材料属性集。数字神经网络渲染系统可以将目标属性222(即,目标材料属性)、表面取向图218和照明环境图220提供给渲染层214。此外,渲染层214可以基于目标属性222(即,目标材料属性)、表面取向图218和照明环境图220来生成已修改数字图像206。以这种方式,数字神经网络渲染系统可以生成已修改数字图像206以与在输入数字图像202中描绘的相比在相同的表面上和在相同的照明环境中显示已修改材料。除了(或替代)替换材料属性集216,数字神经网络渲染系统还可以用目标属性222替换表面取向图218和/或照明环境图220。例如,目标属性222可以包括目标表面取向图。数字神经网络渲染系统可以向渲染层214提供目标属性222(即,目标表面取向图)、材料属性集216和照明环境映射220,并且渲染层214可以生成已修改数字图像206。在这种情况下,已修改数字图像206将与输入数字图像202相比在相同的照明环境内反映由相同材料制成的新的对象。类似地,目标属性222可以包括目标照明环境图。例如,数字神经网络渲染系统可以向渲染层214提供目标属性222(即,目标照明图)、材料属性集216和表面取向图218,并且渲染层214可以合成已修改数字图像206。在这样的实施例中,已修改数字图像206将反映在输入数字图像202中描绘的相同的材料和对象,但是在不同的照明环境(例如,晚上的闪亮的汽车,而不是中午的闪亮的汽车)。数字神经网络渲染系统可以用一个或多个目标属性替换由神经网络200生成的一个或多个属性以生成已修改数字图像。因此,尽管上述示例说明用单个目标属性替换单个预测的属性,但是数字神经网络渲染系统可以用多个目标属性替换多个确定的属性。例如,数字神经网络渲染系统可以用目标材料属性集和目标照明图替换材料属性集216和照明环境图220以生成已修改数字图像206。以这种方式,数字神经网络渲染系统可以生成反映相同对象但是在不同照明环境中由不同材料制成的已修改数字图像。除了利用目标属性之外,在一个或多个实施例中,数字神经网络渲染系统还生成目标属性。例如,数字神经网络渲染系统可以从第二数字图像生成目标属性。为了说明,数字神经网络渲染系统可以向神经网络200提供第二数字图像。神经网络可以生成与第二数字图像相对应的第二材料属性集、第二表面取向图和/或第二照明环境图。然后,数字神经网络渲染系统可以利用第二材料属性集、第二表面取向图和/或第二照明环境图作为目标属性222。以这种方式,数字神经网络渲染系统可以使得用户能够在生成已修改数字图像时混合和匹配来自不同数字图像的不同属性。例如,用户可能喜欢第一数字图像中的对象的取向或排列,但是喜欢来自第二数字图像的照明。数字神经网络渲染系统可以用与第二数字图像相对应的照明环境图替换与第一数字图像相对应的照明环境图,并且利用渲染层214生成具有来自第一数字图像的对象的取向和来自第二数字图像的照明环境的已修改数字图像。此外,在一个或多个实施例中,数字神经网络渲染系统使得用户能够选择目标属性。例如,在一个或多个实施例中,数字神经网络渲染系统提供具有指示不同的目标属性(或反映目标属性的数字图像)的用户界面元素的用于显示的用户界面。响应于用户选择一个或多个目标属性(或反映目标属性的数字图像),数字神经网络渲染系统可以利用目标属性生成已修改数字图像。如前所述,数字神经网络渲染系统可以通过利用可区分的参数表示来有效地利用(并且训练)具有渲染层的神经网络。特别地,数字神经网络渲染系统可以利用可区分的参数表示来求解材料属性集、照明环境图和表面取向图。这使得数字神经网络渲染系统能够准确地生成用于各种材料、对象和照明环境的已修改数字图像。例如,如前所述,在一个或多个实施例中,数字神经网络渲染系统利用高级材料属性来生成已修改数字图像。特别地,在一个或多个实施例中,数字神经网络渲染系统利用brdf来建模材料。双向反射分布函数给出了在给定入射光方向和出射光方向的情况下材料的反射辐射度与入射照射度的比率。例如,关于双向反射分布函数的附加细节在f.e.nicodemus,j.c.richmond,j.j.hsia,i.w.ginsberg,andt.limperis,radiometry,geometricalconsiderationsandnomenclatureforreflectance,94-145(jonesandbartlettpublishers,inc.1992)中提供,其全部内容通过引用并入本文。然而,不同的双向反射分布函数适用于具有不同材料属性的不同材料。因此,需要双向反射分布函数(即,“brdf”)的集合以对各种不同的材料进行建模。实际上,在一个或多个实施例中,数字神经网络渲染系统利用存储在数据中(例如,作为查找表、矩阵或数据库)的多个双向反射分布函数。为了说明,在一个或多个实施例中,数字神经网络渲染系统利用merlbrdf数据库。然而,存储在查找表、矩阵、数据库或其他数据结构中的这样的离散函数是不可区分的,并且因此不能有效地用于生成已修改数字图像或者训练神经网络。因此,在一个或多个实施例中,数字神经网络渲染系统基于brdf数据库来生成可区分的参数函数。特别地,数字神经网络渲染系统可以利用将每个brdf表示为半球形指数功率分布的组合的方向统计brdf模型。实际上,在一个或多个实施例中,数字神经网络渲染系统应用在k.nishino,directionalstatisticsbrdfmodel,2009ieee12thinternationalconferenceoncomputervision,476-483(ieee2009)中描述的方向统计brdf模型,其通过引用并入本文。这个近似将每种材料表示为通过merlbrdf数据库计算的pca要素的线性组合。此外,数字神经网络渲染系统对这个模型进行公式化,使得它关于光线的入射方向、光线的出射方向和不同的材料属性是可区分的。数字神经网络渲染系统可以基于这些分布来近似材料属性集。例如,实验人员已经确定,利用三个半球形指数功率分布可以提供准确的近似值,从而得到每个材料总共108个参数。此外,如上所述,这些分布是数字神经网络渲染系统可以利用以标识与材料(即,材料属性集)相对应的参数的可区分参数表示。以这种方式,数字神经网络渲染系统可以生成关于入射光方向和出射光方向以及材料属性(即,材料定义的参数化)可区分的brdf的参数表示。此外,数字神经网络渲染系统可以结合神经网络来实现参数表示以确定与输入数字图像相对应的材料属性集并且生成已修改数字图像。数字神经网络渲染系统还可以支持其他参数表示。例如,数字神经网络渲染系统也可以利用cook-torrance模型(即,cook-torrancebrdf)。此外,数字神经网络渲染系统还可以将每种材料表示为merlbrdf的线性组合。无论特定形式如何,数字神经网络渲染系统可以利用可区分的参数表示来生成已修改数字图像。此外,通过利用brdf,数字神经网络渲染系统可以准确地建模漫射材料和镜面材料。如本文中使用的,术语“漫射材料”是指具有在很多不同方向上反射光的粗糙表面的材料。特别地,术语“漫射材料”包括反射光使得表观亮度相同而不考虑观察者的视角的材料。例如,漫射材料包括非成品木材、混凝土、砖或羊毛衣服。术语“镜面材料”是指具有在相同方向上反射光的光滑表面的材料。术语“镜面材料”包括反射光使得亮度基于观察者的视角而改变的材料。例如,镜面材料反射光,使得当被照射时在对象上出现光斑(即,基于观察者的视角而改变位置的光斑)。镜面材料包括成品木材、镜子或抛光金属。通过利用brdf的参数材料表示,数字神经网络渲染系统可以与漫射材料和/或镜面材料一起操作。例如,关于图2,输入数字图像202可以描绘镜面和/或漫射材料,并且数字神经网络渲染系统可以生成已修改数字图像206使得其描绘镜面和/或漫射材料。实际上,数字神经网络渲染系统可以将漫射材料修改变为镜面材料(反之亦然)。此外,数字神经网络渲染系统可以修改描绘镜面材料的数字图像的照明环境,使得镜面材料描绘新的照明环境。类似地,数字神经网络渲染系统可以修改描绘镜面材料的数字图像的对象,使得新的对象描绘镜面材料。现在转到图3a-3b,将提供关于根据数字神经网络渲染系统的一个或多个实施例的表面取向图和照明环境图的附加细节。具体地,图3a示出了描绘对象302的输入数字图像300和与输入数字图像300相对应的表面取向图310。如图所示,对象302被表示为输入数字图像300中的多个像素304a-304n。此外,多个像素304a-304n中的每个对应于具有不同取向的多个表面。如前所述,在一个或多个实施例中,数字神经网络渲染系统将表面取向图表示为数字图像,其中数字图像的颜色对应于在输入数字图像中描绘的表面的取向。例如,图3a示出了表面取向图310。表面取向图310是将对象302描绘为多个像素312a-312n的数字图像。像素312a-312n中的每个对应于像素304a-304n。具体地,如图所示,数字神经网络渲染系统通过确定由像素304a-304n描绘的每个表面的法线方向来生成表面取向图310。然后,数字神经网络渲染系统基于法线方向来生成表面取向图310中的每个像素312a-312n的颜色。具体地,如图3a所示,数字神经网络渲染系统使用输入数字图像300中的相应像素的表面法线方向的x、y、z坐标填充表面取向图中的像素312a-312n的每个r、b、g值。除了表面取向图之外,数字神经网络渲染系统还可以利用照明环境图来生成已修改数字图像。具体地,如上所述,数字神经网络渲染系统可以利用包括对来自不同方向的入射光的强度进行编码的球面全景数字图像的照明环境图。如本文中使用的,术语“球面全景数字图像”是指描绘放大视场的数字图像。特别地,术语“球面全景数字图像”是指包括延伸超出人眼视场的视场的数字图像。例如,术语“球面全景数字图像”包括反映水平视场的360度的全景数字图像。例如,图3b示出了在数字图像中描绘的对象330和相应的照明环境映射340。关于图3b的实施例,照明环境图340反映三维球面全景数字图像的二维表示。特别地,数字神经网络渲染系统将照明环境图340建模为围绕对象330的球体332。如图所示,球体332与入射光线334a-334n相交。因此,如图所示,数字神经网络渲染系统可以将光线334a-334n中的每个的入射方向建模为球体332上的位置。实际上,球体上的位置指示光线关于对象330的方向。此外,数字神经网络渲染系统可以对每个光线的强度进行编码。因此,数字神经网络渲染系统可以将球体332上的光线334a-334n中的每个的位置及其强度映射到球面全景数字图像。球面全景数字图像中的每个像素的位置反映入射光线的方向。此外,球面全景数字图像中的每个像素的值反映来自特定方向的光线的强度。如图3b所示,数字神经网络渲染系统还可以将球面全景数字图像从三维空间转换为二维图像。实际上,照明环境图340在二维数字图像中反映与球体332相交的光线334a-334n的强度和位置。如上所述,利用包括光线的球面全景数字图像表示的照明环境图提供比以前的工作更加通用、鲁棒和准确的照明表示。此外,在具有渲染层的神经网络中利用这样的照明环境图在分解输入数字图像和合成已修改数字图像时提供更准确、真实的结果。如上所述,数字神经网络渲染系统训练具有渲染层的神经网络以生成已修改数字图像。特别地,数字神经网络渲染系统训练神经网络以将输入图像分解为固有属性(例如,材料属性集、照明环境图和/或表面取向图),并且基于固有属性来合成数字图像。为了说明,数字神经网络渲染系统向神经网络提供训练输入图像,并且利用神经网络来预测固有属性(例如,材料属性集、表面取向图和/或照明环境图)。此外,数字神经网络渲染系统可以用与训练目标图像相对应的训练目标属性替换一个或多个固有属性。数字神经网络渲染系统可以利用神经网络的渲染层来生成合成的数字训练图像(对应于输入训练图像)和/或合成的目标数字图像(对应于训练目标图像)。然后,数字神经网络渲染系统可以通过确定和利用一个或多个损失度量来训练神经网络(例如,通过使用损失度量反向传播神经网络来教导神经网络什么属性在生成固有属性和已修改数字图像时是重要的)。例如,数字神经网络渲染系统可以通过将预测的材料属性集与对应于训练输入图像的训练材料属性集相比较来生成材料属性损失度量。类似地,数字神经网络渲染系统可以通过将预测的表面取向图与对应于训练输入图像的训练表面取向图相比较来生成表面取向损失。此外,在一个或多个实施例中,数字神经网络渲染系统可以通过将预测的照明环境图与训练照明环境图相比较来标识照明损失。利用这些损失度量中的一个或多个,数字神经网络渲染系统可以训练神经网络以从输入数字图像中准确地标识固有属性。此外,数字神经网络渲染系统可以确定输入图像损失和目标图像损失。例如,在一个或多个实施例中,数字神经网络渲染系统通过将由渲染层生成的合成的数字图像与数字输入图像相比较来生成输入图像损失。类似地,数字神经网络渲染系统可以通过将由渲染层生成的合成的目标图像与训练目标图像相比较来生成目标图像损失。利用这些感知损失,数字神经网络渲染系统可以训练神经网络以从各种物理属性准确地合成数字图像。如本文中使用的,术语“训练输入图像”是指用于训练神经网络的数字图像。例如,训练输入图像包括提供给神经网络并且用于预测固有属性和/或生成合成的数字图像以训练神经网络的数字图像。如本文中使用的,术语“训练材料属性集”是指与用于训练神经网络的训练输入图像相对应的材料属性集。例如,在一个或多个实施例中,训练材料属性集包括在训练输入图像中描绘的材料属性的地面真实表示。类似地,如本文中使用的,术语“训练表面取向图”是指与用于训练神经网络的训练输入图像相对应的表面取向图。例如,在一个或多个实施例中,训练表面取向图包括在训练输入图像中描绘的表面取向的地面真实表示。此外,如本文中使用的,术语“训练照明环境图”是指用于训练神经网络的照明环境图。例如,训练照明环境图包括在训练输入图像中描绘的照明环境的地面真实表示。此外,如本文中使用的,术语“训练目标图像”是指具有已修改属性的数字图像。特别地,术语“训练目标图像”包括包括用于训练神经网络的目标(即,修改的)属性的训练输入图像。例如,训练目标图像包括已经被修改以反映训练目标属性的训练输入图像。如本文中使用的,术语“训练目标属性”是指用于训练神经网络的数字图像的已修改属性。如上所述,训练目标属性包括产生训练目标图像的训练输入图像的已修改属性。例如,训练目标属性可以包括训练目标材料属性集、训练目标表面取向图或训练目标照明环境图。如本文中使用的,术语“合成图像”是指由神经网络的渲染层生成的图像。例如,术语“合成图像”包括由神经网络的渲染层基于物理属性(即,基于材料属性集、表面取向图和/或照明环境图)生成的数字图像。类似地,如本文中使用的,“合成的训练图像”是指与训练输入图像相对应的合成图像。特别地,合成的训练图像包括从训练输入图像的物理属性生成的合成图像。类似地,“合成的目标图像”是指与训练目标图像(和/或训练对象属性)相对应的合成图像。特别地,合成的目标图像包括从训练目标图像的物理属性(即,训练对象属性)生成的合成图像。为了说明,图4示出了根据一个或多个实施例的训练神经网络的表示。如图所示,数字神经网络渲染系统通过利用训练输入图像402来训练神经网络200。更具体地,训练输入图像402对应于训练材料属性集404(即,用于训练输入图像402的地面真实材料属性集)、训练表面取向图406(即,与训练输入图像402相对应的地面真实表面取向图)和训练照明环境图408(即,与训练输入图像402相对应的地面真实照明环境图)。如图所示,数字神经网络渲染系统将训练输入图像402提供给神经网络200。此外,如图4所示,神经网络200利用材料属性预测设备208、表面取向预测设备210和照明预测设备212来分别预测材料属性集410、表面取向图412和照明环境图414。此外,渲染层214利用材料属性集410、表面取向图412和照明环境图414来生成合成的训练图像416。此外,如上所述,数字神经网络渲染系统还可以生成反映训练目标属性的合成的目标图像。例如,如图4所示,数字神经网络渲染系统访问与训练目标图像420相对应的训练目标属性418。特别地,训练目标图像420是从训练输入图像被修改以反映训练目标属性的数字图像。更具体地,训练目标图像420用被替换为训练目标属性418的训练输入图像的物理属性之一来反映训练输入图像420。如图4所示,训练对象属性418包括训练材料属性集(尽管在其他实施例中,训练对象属性418可以包括训练表面取向图和/或训练照明环境图)。如图所示,数字神经网络渲染系统向渲染层214提供训练对象属性418。此外,渲染层214生成合成的目标图像422。具体地,数字神经网络渲染系统通过用训练目标属性418替换材料属性集410来生成合成的目标图像422。更具体地,数字神经网络渲染系统将训练对象属性418(即,训练材料属性集)、表面取向图412和照明环境图414提供给渲染层214,并且渲染层214生成合成的目标图像422。如图4所示,数字神经网络渲染系统可以通过生成一个或多个损失度量来训练神经网络200。如本文中使用的,术语“损失度量”是指由神经网络生成的结果与地面真值之间的差异。损失度量可以包括各种损失度量,包括余弦损失(即,余弦距离)、l1损失和/或l2正常损失。例如,如图4所示,数字神经网络渲染系统确定材料属性损失424。特别地,数字神经网络渲染系统将材料属性集410与训练材料属性集404相比较以确定材料属性损失424。因此,材料属性损失424反映由材料属性预测设备208预测的材料属性集410与对应于训练输入图像402的训练材料属性集404之间的差异。类似地,如图4所示,数字神经网络渲染系统生成表面取向损失426。特别地,数字神经网络渲染系统将表面取向图412与训练表面取向图406相比较以确定表面取向损失426。表面取向损失426因此反映由表面取向预测设备210预测的表面取向损失与对应于训练输入图像402的训练表面取向图406之间的差异。此外,如图4所示,数字神经网络渲染系统还生成输入图像损失428。特别地,数字神经网络渲染系统将合成的训练图像416与训练输入图像402相比较以确定输入图像损失428。输入图像损失428因此反映由渲染层214生成的合成的训练图像416与训练输入图像402之间的差异。此外,数字神经网络渲染系统还确定目标图像损失430。特别地,数字神经网络渲染系统将合成的目标图像422与训练目标图像420相比较以确定目标图像损失430。目标图像损失430因此反映由渲染层214生成的合成的目标图像422与训练目标图像420之间的差异。在计算一个或多个损失度量时,数字神经网络渲染系统然后可以利用损失度量来训练神经网络200(例如,将损失反向传播到神经网络200,使得神经网络200可以学习以减少损失)。例如,关于图4,数字神经网络渲染系统可以利用材料属性损失424和表面取向损失426来训练神经网络200以更准确地预测材料属性集和表面取向图。类似地,数字神经网络渲染系统可以利用输入图像损失428和目标图像损失430来训练神经网络以更准确地预测照明环境图并且更准确地合成数字图像和生成已修改数字图像。在一个或多个实施例中,数字神经网络渲染系统还生成组合的损失度量。例如,关于图4,数字神经网络渲染系统通过组合材料属性损失424、表面取向损失426、输入图像损失428和目标图像损失430来生成单个损失度量。此外,在一个或多个实施例中,数字神经网络渲染系统在生成组合的损失度量时对特定损失度量不同地加权。例如,在一个或多个实施例中,与表面取向损失426和输入图像损失428相比,数字神经网络渲染系统输入图像损失428和目标图像损失430不太重地加权。现在转到图5a-5c,将提供关于由数字神经网络渲染系统使用作为神经网络的部分以预测数字图像的属性的预测设备的附加细节。实际上,如上所述,神经网络可以包括分析用于预测结果的各种抽象级别的属性的多个层。图5a-5c示出了包括用于预测材料属性集、表面取向图和照明环境图的各种层的三个示例架构。具体地,图5a示出了用于预测在数字图像中表示的表面取向的架构500(例如,表面取向预测设备210)。特别地,架构500预测与在输入数字图像中描绘的表面相对应的表面法线方向。如图所示,架构500利用尺寸为3×256×256的输入数字图像体积和各种维度的层(所示维度)来生成具有与输入数字图像相同体积的表面法线方向的输出预测。数字神经网络渲染系统利用由d.eigenandr.fergus,predictingdepth,surfacenormalsandsemanticlabelswithacommonmulti-scaleconvolutionalarchitecture,ieeeiccv,2650–2658(2015)描述的改进方法,其全部内容通过引用并入本文。如图所示,数字神经网络渲染系统通过利用4尺度子模块网络(与最初提出的3尺度子模块网络相对)预测表面取向图来修改该方法。第四子模块由两个卷积层组成,其中输入和输出尺寸均等于输入图像的尺寸。数字神经网络渲染系统还利用标准化层来预测具有单位长度的表面法线。类似地,图5b示出了用于预测材料属性集的架构510(例如,材料属性预测模块)。如图所示,架构510利用尺寸为3×256×256的输入数字图像体积。此外,架构510由七个卷积层组成,其中每层的输出是其输入尺寸的一半。卷积层之后是三个完全连接的层和双曲正切(tanh)层。每个卷积和完全连接的层由整流器线性单元来完成。完全连接的层之后也是脱落层。如上所述,在一个或多个实施例中,数字神经网络渲染系统利用108个材料参数。注意,由于108个材料参数中的每个以不同的尺度定义,所以数字神经网络渲染系统可以将每个归一化到范围[-0.95,0.95],并且在预测之后将参数重新映射到原始尺度。此外,图5c示出了用于预测照明环境图的架构520。如图所示,架构520利用尺寸为3×256×256的输入数字图像体积和各种维度的14个层(包括两个完全连接的层)来生成尺寸为3×64×128的输出照明环境图。架构520包括七个卷积层,其中每个层的输出是其输入尺寸的一半。卷积层之后是两个完全连接的层和一系列的去卷积层,以生成尺寸为64×128的照明环境图。每个卷积和完全连接的层通过整流器线性单元来实现。完全连接的层之后也是脱落层。除了以上描述之外,还可以在由一个或多个计算设备实现的算法或伪代码方面来描述训练具有渲染层的神经网络并且利用神经网络生成已修改数字图像。例如,以下描述示出了根据一个或多个实施例的用于训练和利用神经网络以生成反映目标属性集的已修改数字图像的等式和算法。为了说明的目的,以下描述将描述包括材料属性集的目标属性。然而,如上所述,数字神经网络渲染系统可以利用一个或多个替代或附加的目标属性。考虑使用在照明环境l中捕获的材料m描绘对象s的输入数字图像给定期望的材料属性集mt(即,目标属性),目标是合成输出图像其从相同的视点和在相同的照明环境下描绘具有材料mt(或另一目标属性)的s。数字神经网络渲染系统经由渲染层来对图像形成过程进行建模,如下。给定每像素表面法线方向n(相机坐标)、材料属性集m(即,材料系数或材料属性)和照明环境l,中的每个像素p的出射光强度可以写为所有入射光方向上的积分,如下:其中定义入射光的强度,并且定义这种光如何基于材料属性m沿着出射光方向被反射。为了使该公式化具有可微性,数字神经网络渲染系统可以由照明l定义的入射光方向的离散组合上的和来代替积分:其中表示单个光的贡献(权重)。查看方向表示。查看方向与拍摄数字图像的相机的视场以及数字图像的高度hi和宽度wi有关。对于像素,p具有行索引hi和列索引wi,查看方向为:其中注意,该照明方向仅与相机参数、图像维度和像素p的位置有关。注意,不需要计算其导数,并且没有要在训练过程中学习的参数。表面取向表示。给定维度为w×h的图像n由3通道w×h法线图来表示,其中每个像素p的r、g、b颜色对每像素法线np的x、y和z维度进行编码(如图3a所示)。每个像素的法线有3个通道:照明表示。关于该实施例,数字神经网络渲染系统表示具有维度为64×128的hdr环境图的照明。该照明环境图是被平坦化为2d图像域的球面全景图像(如图3b所示)。该图像中的每个像素坐标可以被映射到球面坐标,并且因此对应于等式2中的入射光方向像素值存储来自该方向的光的强度。令hl和wl分别表示环境图的高度和宽度。对于环境图中行索引和列索引为hl和wl的每个像素i=h*wl+w,数字神经网络渲染系统将和定义为:则该像素生成的照明方向为:注意,数字神经网络渲染系统不需要计算的导数,并且没有要在训练过程中学习的参数。实际上,在一个或多个实施例中,数字神经网络渲染系统利用固定维度的环境图,其导致由环境图定义的一致的一组光方向。材料表示。数字神经网络渲染系统基于brdf来定义brdf提供用于漫射表面和镜面表面的点式光反射的物理正确描述。非参数模型旨在经由查找表来捕获全频谱的brdf。这样的查找表在计算上是昂贵的并且不可区分。数字神经网络渲染系统采用定向统计brdf模型,如上所述,其被示出以准确地建模各种测量的brdf。该模型将每个brdf表示为半球形指数功率分布的组合,并且参数的数目取决于所利用的分布的数目。实验表明,利用三个分布提供准确的近似,得到每个材料定义总共108个参数。数字神经网络渲染系统将半矢量定义为:然后,数字神经网络渲染系统将半矢量与照明方向之间的角度表示为θd。材料系数在每个颜色通道(k∈{0,1,2})的三个反射波瓣(s∈{0,1,2})上定义。对于每个反射波瓣和颜色通道,定义了两个函数m1(k,s)(θd)和m2(k,s)(θd),并且每个函数具有6个参数。这给出了总共3(r、g、b颜色通道)*3(波瓣)*2(函数)*6=108个参数,其用m表示。为了简单起见,我们将在其余的等式中省略变元θd到函数m1(k,s)和m2(k,s)。函数可以重写为:其中仅在时对图像的外观有贡献,并且其中·表示点积。具有所有这些表示,可以如下重写图像形成:光导数。对于照明,数字神经网络渲染系统仅需要计算强度值的导数,k∈{0,1,2}。数字神经网络渲染系统不需要计算关于照明方向的导数,因为这对于每个像素是固定的。法线导数。数字神经网络渲染系统分别计算每个通道的法线导数。对于每个通道c的像素p的法线方向坐标的导数,其中c∈{0,1,2},有:其中,并且材料导数。数字神经网络渲染系统首先计算关于函数m1(k,s)和m2(k,s)的导数。数字神经网络渲染系统还计算m1(k,s)和m2(k,s)关于材料属性m(即,材料参数)的导数,并且应用链规则以获得原始m的导数。其中,然后应用链规则:训练。数字神经网络渲染系统通过定义联合损失函数来训练所提出的网络架构,联合损失函数评估各个预测设备的预测和由渲染层合成的图像。具体地,数字神经网络渲染系统定义l2正常损失:其中np和n′p分别表示每个像素p的地面真值和预测的表面法线(例如,表面取向损失426)。注意,由于地面真值和预测的法线都具有单位长度,所以l2正常损失与余弦相似度损失相同。类似地,数字神经网络渲染系统定义材料损失(例如,材料属性损失424)以测量地面真实(m)与预测的材料属性(m')之间的l2范数:lmaterial=(m-m′)2数字神经网络渲染系统还利用感知损失lperceptual来评估合成的与地面真值图像之间的差异(例如,输入图像损失428和目标输入图像损失430)。数字神经网络渲染系统利用预先训练的vgg16网络来测量lperceptual,如j.johnson,a.alahi,andl.fei-fei,perceptuallossesforreal-timestyletransferandsuper-resolution,ieeeeccv(2016)中描述的,其全部内容通过引用并入本文。最后,数字神经网络渲染系统将整体损失l定义为这些各个损失函数的加权组合:l=wnlnormal+wmlmaterial+wplperceptual此外,数字神经网络渲染系统经验地设置wn=wm=1,wp=0.01。如上所述,数字神经网络渲染系统可以通过修改在数字图像中描绘的照明环境、材料和/或对象来生成描绘不同目标属性的已修改数字图像。实际上,在一个或多个实施例中,数字神经网络渲染系统利用第一数字图像的属性作为目标属性来修改第二数字图像。以这种方式,数字神经网络渲染系统可以从一个或多个原始数字图像创建多个已修改数字图像。例如,图6a-6b示出由一组原始数字图像生成的多个已修改数字图像。具体地,图6a示出了由数字神经网络渲染系统生成的数字图像阵列610。特别地,阵列610包括多个原始数字图像600a-600d。此外,阵列610包括多个已修改数字图像602a-602c、604a-604c、606a-606c、608a-608c。数字神经网络渲染系统通过组合原始数字图像600a-600d的不同属性来生成已修改数字图像602a-602c、604a-604c、606a-606c、608a-608c。例如,数字神经网络渲染系统通过确定原始数字图像600a的材料属性集、照明环境图和表面取向图来生成已修改数字图像602a。数字神经网络渲染系统还确定数字图像600b的材料属性集,并且用数字图像600b的材料属性集替换数字图像600a的材料属性集。然后,数字神经网络渲染系统利用具有渲染层的神经网络以基于原始数字图像600a的照明环境图和表面取向图以及数字图像600b的材料属性集来生成已修改数字图像602a。类似地,数字神经网络渲染系统通过组合原始数字图像600a、600c和600d的属性来生成已修改数字图像602b-602c。具体地,数字神经网络渲染系统利用原始数字图像600c、600d的材料属性集作为原始数字图像600a的目标属性。通过用其他原始数字图像的目标属性替换原始数字图像600a-600d的属性,数字神经网络渲染系统生成阵列610。特别地,阵列的每一列用与原始数字图像不同的对象和照明环境反映相同的材料。此外,阵列610的每一行用与原始数字图像不同的材料反映相同的对象和照明环境。类似地,图6b示出了由数字神经网络渲染系统生成的数字图像阵列620。特别地,阵列620包括多个原始数字图像622a-622d。此外,阵列620包括多个已修改数字图像624a-624c、626a-626c、628a-628c、630a-630c。数字神经网络渲染系统通过组合原始数字图像622a-622d的不同属性来生成已修改数字图像624a-624c、626a-626c、628a-628c、630a-630c。例如,数字神经网络渲染系统通过确定原始数字图像622a的表面取向图、材料属性集和照明环境图来生成已修改数字图像626a。数字神经网络渲染系统用数字图像622b的表面取向图替换原始数字图像622a的表面取向图。此外,数字神经网络渲染系统利用具有渲染层的神经网络以基于数字图像622b的表面取向图以及原始数字图像622a的材料属性集和照明环境图来生成已修改数字图像626a。因此,已修改数字图像626a用原始数字图像622a的材料和照明环境来描绘来自原始数字图像622b的对象。类似地,数字神经网络渲染系统通过组合原始数字图像622a、622c和622d的属性来生成已修改数字图像628a、630a。具体地,数字神经网络渲染系统利用原始数字图像622c、622d的表面取向图作为原始数字图像622a的目标属性。通过用其他原始数字图像的目标属性替换原始数字图像622a-622d的属性,数字神经网络渲染系统生成阵列620。特别地,阵列的每一列用与原始数字图像不同的对象反映相同的材料和照明环境。此外,阵列610的每一行用与原始数字图像不同的材料和照明环境反映相同的对象。值得注意的是,数字神经网络渲染系统可以与漫射材料和镜面材料一起操作。实际上,如阵列610、620所示,数字神经网络渲染系统可以用更镜面的材料来改变在数字图像中描绘的漫射材料(反之亦然)。此外,数字神经网络渲染系统可以关于描绘漫射和/或镜面材料的数字图像来修改对象和照明环境。数字神经网络渲染系统还可以提供阵列610、620用于向一个或多个用户显示。例如,数字神经网络渲染系统可以提供阵列610、620用于显示,并且接收关于阵列610、620的一个或多个数字图像的用户输入。基于用户与一个或多个图像的交互,数字神经网络渲染系统可以将目标属性应用于原始数字图像并且生成已修改数字图像。尽管图6a-6b示出了通过改变在数字图像中描绘的单个材料来生成已修改数字图像,但是在一个或多个实施例中,数字神经网络渲染系统修改在数字图像中描绘的多个材料。例如,图7示出了修改描绘第一材料和第二材料的数字图像。具体地,图7示出了在数字图像中描绘的对象700。如所描绘的,对象700包括第一材料702和第二材料704。如图所示,数字神经网络渲染系统可以修改第一材料702和第二材料704以在已修改数字图像中生成修改对象706。特别地,已修改对象706反映第三材料708和第四材料710。数字神经网络渲染系统通过用与第三材料708相对应的材料属性集替换与第一材料702相对应的材料属性集,并且用与第四材料710相对应的材料属性替换与第二材料704相对应的材料属性集,来生成已修改对象706。具体地,数字神经网络渲染系统确定由不同材料组成的对象700的区域。数字神经网络渲染系统可以利用各种分类器或材料检测算法来确定表示均匀材料区域的分割掩模。然后,数字神经网络渲染系统对于每个区域/第二材料预测(例如,利用材料属性预测设备208)第一材料属性集(对应于第一材料702)和第二材料属性集(对应于第二材料704)。数字神经网络渲染系统还可以预测整个数字图像的表面取向图和照明环境图。数字神经网络渲染系统用第三材料属性集(对应于第三材料708)和第四材料属性集(对应于第四材料710)替换第一材料属性集(对应于第一材料702)和第二材料属性集(对应于第二材料704)。数字神经网络渲染系统向渲染层提供表面取向图、照明环境图、第三材料属性集和第四材料属性以生成描绘已修改对象706的已修改数字图像。如上所述,数字神经网络渲染系统可以提高生成已修改数字图像的准确性。实际上,实验人员已经进行了实证研究以确定对现有方法的改进以及如上所述与将渲染层并入神经网络中相关联的益处。例如,实验人员用为汽车、椅子、沙发和监视器类别生成的大量的综合数据训练单个网络。实验人员使用从shapenet获得的总共280个3d模型(130辆汽车、50把椅子、50个沙发和50个监视器)。实验人员使用与在merl数据库中提供的80种不同材料相对应的brdf测量。此外,实验人员利用14个hdr环境图来表示照明。对于每个3d模型、材料和照明组合,实验人员从具有固定高程的对象周围的固定的预采样的24视点组中渲染5个随机视图。实验人员拆分数据,使得训练与测试集之间没有共享形状和材料。具体地,实验人员使用80辆车进行预训练,并且每个类别有40种形状用于联合类别微调,每种类型保留10种形状用于测试。在80种材料中,实验人员保留20种用于测试,并且使用其余的用于预训练和训练。这样的拆分导致生成336k个预训练实例、以及672k个多类别微调实例。总共,实验人员用超过一百万个独特的材料形状照明配置训练网络。实验人员从均匀分布来初始化权重:[-0.08,0.08],并且利用使用随机梯度下降的adam优化器,如在d.kingmaandj.ba.adam:amethodforstochasticoptimization,arxivpreprintarxiv:1412.6980(2014)中描述的,其全部内容通过引用并入本文。kingma和adam提出动量参数β1=0.9和β2=0.999以及学习速率0.001。实验人员发现,传统速率太高,并且使用速率1×10-6用于预训练并且使用速率1×10-8用于训练。实验人员还将第一动量参数β1减小到0.5,从而导致更稳定的训练。一旦网络收敛,实验人员通过设置wn=1.0和wp=0.0001来微调正常预测设备。为了测试网络,实验人员随机地选择与形状、环境图和材料相对应的图像作为输入。然后,实验人员将图像和目标材料集提供给图2所示的形式的神经网络。神经网络生成反映目标材料属性集的已修改数字图像。实验人员使用l2度量(测量像素误差)和ssim度量(测量结构差异)将这个输出与地面真值相比较。注意,对于l2度量,较低的数字更好,而对于ssim度量,较高的数字更好。实验结果总结在表1中。表1汽车类别椅子类别沙发类别监视器类别l2475.5570.6245.4530.9ssim0.94420.92580.96950.9293实验人员还对两个不同的神经网络进行附加评估:一个网络利用渲染层(如上面关于图4所描述的)以感知损失被训练,另一独立网络在没有感知损失的情况下但是基于材料属性集的l2损失来被训练。如表2所示,结果表明,基于材料属性的损失度量不足以捕获物理材料属性,因为小的l2误差可能导致渲染输出中的大的视觉差异。另一方面,渲染层的合并(和感知损失)通过根据其真实物理意义处理材料系数来解决这个问题。表2l2ssim独立的(材料)2285.20.9626以感知损失286.90.9895此外,实验人员还进行两个不同的神经网络的评估:一个网络利用渲染层以感知损失被训练,另一网络在没有这样的感知损失的情况下(但是基于表面取向图的l2损失)被训练。如表3所示,结果表明,基于表面取向的损失度量导致小的误差,但是产生模糊的输出。增加感知损失有助于保持锐利的特征,从而产生视觉上更合理的结果。表3l2ssim独立的(取向)313.20.9441以感知损失238.50.9625实验人员还将上述数字神经网络渲染系统的实验实施例与在s.lombardiandk.nishino.reflectanceandnaturalilluminationfromasingleimage,ieeeeccv,582–595(2012)中描述的方法相比较。这种lombardi方法使用某些先验来优化具有已知几何形状的对象的单个图像中的照明和材料属性。lombardi方法做出先验假设,并且基于pca的材料表示将近似误差传播到光估计。表4示出了结果,其表明数字神经网络渲染系统显著地提高了所得到的精度。表4lombardi数字神经网络渲染系统l24417.1455.6ssim0.87960.9422总而言之,数字神经网络渲染系统可以通过从数据本身推断先验、明确地建模渲染过程以及利用更准确的材料表示而优于传统系统。现在转到图8,提供了关于数字神经网络渲染系统的一个实施例的部件和能力的附加细节。具体地,图8示出了示例性的数字神经网络渲染系统800(例如,上面引用的数字神经网络渲染系统)的实施例。如图所示,数字神经网络渲染系统800可以包括但不限于包括数字图像属性预测设备804和渲染层806的神经网络802;神经网络训练引擎808;目标属性管理器810;数字图像管理器812;以及存储管理器814(包括brdf数据库814a、数字图像814b、数字图像属性814c、训练数字图像814d、训练数字图像属性814e、已修改数字图像814f和目标属性814g)。如上所述,并且如图8所示,数字神经网络渲染系统800可以包括神经网络802。如上所述,神经网络802可以接收一个或多个输入图像并且生成已修改数字图像。此外,如图8所示,神经网络可以包括数字图像属性预测设备804和渲染层806。数字图像属性预测设备804可以确定、标识、分解和/或预测数字图像的一个或多个属性。例如,数字图像属性预测设备804可以预测在数字图像中描绘的材料(即,材料属性集)、对象(即,表面取向图)和/或照明(即,照明环境图)。因此,数字图像属性预测设备804可以包括如上所述的材料属性预测设备208、表面取向预测设备210和/或照明环境预测设备212。如上所述,数字图像属性预测设备804可以利用诸如双向反射分布函数等高级材料属性。此外,数字图像属性预测设备基于关于入射光和出射光方向(和材料属性)可区分的双向反射分布函数(例如,brdf数据库814a)来生成参数函数。数字图像属性预测设备804可以利用这些参数函数来预测材料属性集。数字图像属性预测设备804还可以利用包括球面全景数字图像的照明环境图。特别地,数字图像属性预测设备可以生成包括二维球面全景数字图像的照明环境图,其中二维球面全景数字图像中的每个像素的位置对应于光线的入射方向并且每个像素的值反映相应光线的强度。此外,如图8所示,神经网络802还可以包括渲染层806。渲染层806可以生成、合成或创建数字图像。特别地,渲染层806可以基于固有属性(例如,由数字图像属性预测设备804生成的材料属性集、表面取向图和照明环境图)来生成数字图像。此外,渲染层可以利用目标属性来生成已修改数字图像。如上所述,渲染层806可以利用高级材料属性来生成已修改数字图像。例如,渲染层806可以基于双向反射分布函数数据库(即,brdf数据库814a)利用可区分参数函数来渲染已修改数字图像。此外,渲染层806可以利用球面全景数字图像的形式的照明环境图来生成已修改数字图像(例如,数字图像属性814c)。如图8所示,数字神经网络渲染系统800还包括神经网络训练引擎808。神经网络训练引擎808可以教导、训练、引导或通知神经网络(例如,神经网络802)以生成已修改数字图像。特别地,神经网络训练引擎808可以通过向神经网络提供训练输入图像并且确定与神经网络的输出相关的损失的度量来训练神经网络。例如,神经网络训练引擎可以通过将来自神经网络802的预测的属性(例如,预测的材料属性集、预测的表面取向图和/或照明环境图)与对应于训练输入图像的已知训练属性(例如,训练材料属性集、训练表面取向图和/或训练照明环境图)相比较来确定损失的度量。神经网络训练引擎808还可以从由神经网络802生成的一个或多个合成的数字图像来确定损失的度量。例如,神经网络训练引擎808可以将由神经网络802生成的合成的训练图像与训练输入图像相比较。类似地,神经网络训练引擎808可以将训练目标图像与利用与训练目标图像相对应的训练目标属性生成的合成的目标图像相比较。如图8所示,数字神经网络渲染系统800还包括目标属性管理器810。目标属性管理器810可以标识、选择、提供和/或管理一个或多个目标属性。例如,目标属性管理器810可以提供与一个或多个目标属性相对应的视觉指示(例如,用户界面元素)。此外,目标属性管理器810可以接收关于视觉指示的用户输入(例如,选择)。基于用户输入,目标属性管理器810可以标识用于在生成已修改数字图像时应用于输入数字图像的目标属性。例如,目标属性管理器810可以接收将照明环境改变为第二照明环境的请求(并且神经网络802可以生成反映第二照明环境的已修改对象)。类似地,目标属性管理器810可以接收将材料改变为第二材料的请求(并且神经网络802可以生成描绘反映第二材料的已修改对象的已修改数字图像)。此外,如图8所示,数字神经网络渲染系统80还包括数字图像管理器812。数字图像管理器812可以提供、选择和/或管理数字图像。例如,数字图像管理器812可以接收用户输入并且选择一个或多个输入数字图像以提供给神经网络802。类似地,数字图像管理器812可以提供一个或多个已修改数字图像用于向用户显示。实际上,在一个或多个实施例中,数字图像管理器812可以生成包括多个输入数字图像和已修改数字图像的阵列(例如,如关于图6a-6b所示)。此外,如图8所示,数字神经网络渲染系统800还包括存储管理器814。存储管理器814维持数据以执行数字神经网络渲染系统800的功能。如图所示,存储管理器814包括brdf数据库814a(即,双向反射分布函数和相应的材料属性的数据库)、数字图像814b(例如,可以用作输入数字图像的数字图像库)、数字图像属性814c(例如,由神经网络802确定的用于输入数字图像的属性,诸如表面取向图、照明环境图和/或材料属性集)、训练数字图像814d(例如,训练输入图像和/或训练目标图像)、训练数字图像属性814e(例如,地面真实训练属性,诸如训练表面取向图、训练照明环境图、训练材料属性集和/或训练目标属性)、已修改数字图像814f和目标属性814g。此外,在一个或多个实施例中,存储管理器814还可以包括神经网络802。例如,在训练神经网络802时,数字神经网络渲染系统800可以经由存储管理器814(例如,经由服务器和/或客户端设备)存储神经网络用于在生成已修改数字图像时使用(例如,在服务器处和/或在客户端设备处,如关于图9更详细地描述的)。数字神经网络渲染系统800(如图8所示)的部件802-814中的每个可以使用任何合适的通信技术彼此通信。应当认识到,虽然图8中将数字神经网络渲染系统800的部件802-814示出为是分开的,但是部件802-814中的任何部件可以组合成更少的部件,诸如组合成单个设备或模块,可以分成更多部件,或者可以被配置成不同的部件,如可以用于特定实施例。数字神经网络渲染系统800的部件802-814可以包括软件、硬件或两者。例如,部件802-814可以包括存储在计算机可读存储介质上并且由一个或多个计算设备的处理器可执行的一个或多个指令。当由一个或多个处理器执行时,数字神经网络渲染系统800的计算机可执行指令可以引起客户端设备和/或服务器设备执行本文中描述的方法。或者,部件802-814及其相应的元件可以包括硬件,诸如用于执行某个功能或功能组的专用处理设备。另外,部件802-814可以包括计算机可执行指令和硬件的组合。此外,部件802-814例如可以实现为一个或多个操作系统,实现为一个或多个独立应用,实现为应用的一个或多个模块,实现为一个或多个插件,实现为可以被其他应用调用的一个或多个库函数或函数,和/或实现为云计算模型。因此,部件802-814可以被实现为诸如桌面或移动应用等独立应用。此外,部件802-814可以被实现为被托管在远程服务器上的一个或多个基于网络的应用。部件802-814还可以以一组移动设备应用或“app”来实现。为了说明,部件802-814可以在应用中实现,包括但不限于软件或软件。“adobe”、“photoshop”和“illustrator”是adobesystemsincorporated在美国和/或其他国家的注册商标或商标。图9示出了其中数字神经网络渲染系统800可以操作的示例性环境900的一个实施例的示意图。在一个或多个实施例中,示例性环境900包括一个或多个客户端设备902a、902b、……、902n、网络904和服务器906。网络904可以是计算设备可以在其上进行通信的任何合适的网络。下面关于图13更详细地讨论示例网络。如图9所示,环境900可以包括客户端设备902a-902n。客户端设备902a-902n可以包括任何计算设备。例如,在一个或多个实施例中,客户端设备902a-902n中的一个或多个包括下面关于图13描述的一个或多个计算设备。此外,环境900还可以包括服务器906。服务器906可以生成、存储、接收和传输任何类型的数据,包括brdf数据库814a、数字图像814b、数字图像属性814c、训练数字图像814d、训练数字图像属性814e、已修改数字图像814f和目标属性814g。例如,服务器906可以向诸如客户端设备902a等客户端设备传输数据。服务器906还可以在环境900的一个或多个用户之间传输电子消息。在一个示例实施例中,服务器906包括内容服务器。服务器906还可以包括通信服务器或网络托管服务器。关于服务器906的附加细节将在下面参考图13进行讨论。如图所示,在一个或多个实施例中,服务器906可以包括数字神经网络渲染系统800的全部或一部分。特别地,数字神经网络渲染系统800可以包括在服务器906上运行的应用、或可以从服务器906下载的软件应用的部分。例如,数字神经网络渲染系统800可以包括使得客户端设备902a-902n能够与被托管在服务器906上的内容交互的网络托管应用。为了说明,在示例性环境900的一个或多个实施例中,一个或多个客户端设备902a-902n可以访问由服务器906支持的网页。特别地,客户端设备902a可以运行应用以使得用户能够访问、查看和/或与被托管在服务器906处的网页或网站交互。尽管图9示出了客户端设备902a-902n、网络904和服务器906的特定布置,但是各种附加布置是可能的。例如,虽然图9示出了经由网络904与服务器906通信的多个单独的客户端设备902a-902n,但是在一个或多个实施例中,单个客户端设备可以绕过网络904直接与服务器906通信。类似地,尽管图9的环境900被描绘为具有各种部件,但是环境900可以具有附加的或替代的部件。例如,数字神经网络渲染系统800可以在单个计算设备上实现。特别地,数字神经网络渲染系统800可以由客户端设备902a整体实现,或者数字神经网络渲染系统800可以由服务器906整体实现。或者,数字神经网络渲染系统800可以跨越多个设备或部件来实现(例如,利用客户端设备902a-902n和服务器906)。作为示例,在一个或多个实施例中,客户端设备902a向服务器906发送编辑一个或多个数字图像的请求。服务器906可以向客户端设备902a提供多个数字图像和目标属性的指示(例如,经由目标属性管理器810和数字图像管理器812)用于显示。客户端设备902a可以接收数字图像和目标属性的用户选择(例如,经由目标属性管理器810和数字图像管理器812)并且向服务器906提供所选择的数字图像和目标属性的指示。服务器906可以将所选择的数字图像作为输入数字图像提供给具有渲染层的神经网络(例如,神经网络802)。神经网络可以将输入数字图像分解为固有属性,并且用所选择的目标属性(例如,经由数字图像属性预测设备804)替换固有属性之一。神经网络的渲染层(例如,渲染层806)可以利用剩余的固有属性和目标属性来生成已修改数字图像(即,用目标属性来反映输入数字图像的已修改数字图像)。此外,服务器906可以将已修改数字图像提供给客户端设备902a用于显示。现在转到图10,将提供关于渲染已修改数字图像的附加细节。具体地,图10示出了在用于渲染已修改数字图像的步骤1000(即,用于利用具有被训练为生成描绘漫射和镜面材料的目标数字图像的渲染层的神经网络来渲染用已修改属性反映输入数字图像的已修改数字图像的步骤)中的一系列动作1002-1010。如图10所示,步骤1000包括提供输入数字图像的动作1002。特别地,动作1002包括向神经网络提供输入数字图像。实际上,如上所述(例如,关于图2和图4),数字神经网络渲染系统可以向被训练为生成已修改数字图像的神经网络提供输入图像。此外,如图10所示,步骤1000还包括确定属性的动作1004。特别地,动作1004可以包括利用属性预测设备(如上所述)来确定属性。例如,动作1004可以包括生成与输入数字图像相对应的材料属性集,生成照明环境图,和/或生成表面取向图(如上面例如关于图2-3进一步描述的)。另外,如图10所示,步骤1000还包括用目标属性的动作1006替换属性。特别地,动作1006可以包括用相应的目标属性(如上面例如关于图2所描述的)替换所生成的材料属性集、所生成的照明环境图和/或所生成的表面取向图。例如,动作1006可以包括用目标材料属性集替换所生成的材料属性集。如图10所示,步骤1000还包括向目标渲染层提供目标属性的动作1008。特别地,动作1008包括向神经网络的渲染层提供目标属性和剩余(即,未替换的)属性(如例如关于图2所描述的)。例如,动作1008可以包括使用所生成的照明环境图和所生成的表面取向图来提供目标材料属性集。此外,如图10所示,步骤1000还包括利用渲染层来生成已修改数字图像的动作1010。例如,如上所述,动作1010可以包括利用已训练渲染层以基于目标属性和剩余(即,未替换的)属性来合成已修改数字图像(例如,如以上更详细地描述的)。此外,动作1010可以包括利用渲染层来生成反映目标属性和剩余(即,未替换的)属性的已修改数字图像。在一个或多个实施例中,数字神经网络渲染系统接收在照明环境内描绘对象的输入数字图像,其中对象包括材料的表面,并且其中表面具有表面法线方向。此外,数字神经网络渲染系统接收修改输入数字图像的固有属性的请求,其中固有属性包括材料、表面法线方向或照明环境中的至少一个。响应于接收到修改固有属性的请求,数字神经网络渲染系统可以执行用于利用具有被训练为生成描绘漫射和镜面材料的目标数字图像的渲染层的神经网络来渲染用已修改属性反映输入数字图像的已修改数字图像的步骤1000。在一个或多个实施例中,修改属性的请求包括将照明环境改变为第二照明环境的请求,并且已修改数字图像描绘反映第二照明环境的已修改对象。此外,在一个或多个实施例中,修改属性的请求包括将材料改变为第二材料的请求,并且其中已修改数字图像描绘反映第二材料的已修改对象。类似地,修改属性的请求可以包括通过用包括具有第二法线方向的第二材料的第二表面的第二对象替换对象来改变表面法线方向的请求,并且已修改数字图像可以在输入数字图像的照明环境中用对象的材料来描绘第二对象的第二方向法线。另外,在一个或多个实施例中,接收修改属性的请求包括接收包括已修改属性的第二数字图像的用户输入。此外,在一个或多个实施例中,已修改数字图像描绘镜面材料。类似地,在一个或多个实施例中,输入数字图像描绘镜面材料。图1-10、相应的文本和示例提供了用于利用全路径空间学习来渲染虚拟环境的数字图像的很多不同的系统和设备。除了上述之外,还可以在包括用于实现特定结果的方法中的动作和步骤的流程图方面来描述实施例。例如,图11-12示出了根据一个或多个实施例的示例性方法的流程图。关于图11-12描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序来执行。另外,本文中描述的步骤/动作可以彼此并行地、或者与相同或类似的步骤/动作的不同实例并行地重复或执行。图11示出了根据一个或多个实施例的利用具有渲染层的神经网络来生成已修改数字图像的方法1100中的一系列动作的流程图。在一个或多个实施例中,方法1100在包括数字神经网络渲染系统800的数字介质环境中执行。方法1100旨在说明根据本公开的一种或多种方法,并且不是旨在限制潜在实施例。替代实施例可以包括比图11-12所示的那些更多、更少或不同的步骤。如图11所示,方法1100包括向神经网络提供与训练属性相对应的训练输入图像的动作1110。特别地,动作1110可以包括向神经网络提供训练输入图像,其中训练输入图像对应于训练材料属性集、训练表面取向图和训练照明环境图。在一个或多个实施例中,照明环境图包括包括多个像素的球面全景数字图像,其中球面全景数字图像的多个像素中的每个像素的位置反映与在输入数字图像中描绘的光线相对应的入射光方向。另外,如图11所示,方法1100还包括经由神经网络来预测训练输入图像的属性的动作1120。特别地,动作1120可以包括经由神经网络基于训练输入图像来预测材料属性集、表面取向图和照明环境图。例如,在一个或多个实施例中,动作1120包括利用关于入射光方向、出射光方向和材料属性(即,材料系数或材料参数)可区分的参数表示。特别地,在一个或多个实施例中,参数表示包括包括与多个材料相对应的双向反射分布函数的双向反射分布函数数据库的线性组合。此外,如图11所示,方法1100还包括经由神经网络的渲染层基于预测的属性来生成合成的训练图像的动作1130。特别地,动作1130可以包括经由神经网络的渲染层基于材料属性集、表面取向图和照明环境图来生成合成的训练图像。如图11所示,方法1100还包括通过比较合成的训练图像、训练输入图像、训练属性和预测的属性来确定损失度量的动作1140。特别地,动作1140可以包括通过将合成的训练图像、训练输入图像、训练材料属性集、预测的材料属性集、训练表面取向图和预测的表面取向图相比较来确定损失度量。此外,方法1100还可以包括访问训练目标图像和训练目标属性。具体地,训练目标图像可以包括被修改以描绘训练目标属性的训练输入图像。方法1100还可以包括向神经网络提供训练目标属性;以及经由神经网络的渲染层基于训练目标属性和以下的至少两个来生成合成目标图像:预测的材料属性集、预测的表面取向图和预测的照明环境图。此外,动作1140可以包括将训练目标图像与合成的目标图像相比较。例如,训练目标属性可以包括以下中的至少一个:不同于训练材料属性集的目标材料属性集、不同于表面取向图的目标训练表面取向图、或不同于训练照明环境图的目标照明环境图。此外,如图11所示,方法1100还包括利用所确定的损失度量来训练神经网络的动作1150。特别地,动作1150可以包括利用所确定的损失度量来训练神经网络以从输入数字图像生成已修改数字图像。例如,动作1150可以包括将损失度量反向传播到神经网络以训练神经网络以从输入数字图像生成已修改数字图像。图12示出了根据一个或多个实施例的利用具有渲染层的神经网络来生成已修改数字图像的方法1200中的一系列动作的流程图。如图所示,方法1200包括利用神经网络来预测输入数字图像的属性的动作1210。特别地,动作1210可以包括利用神经网络基于输入数字图像来预测材料属性集、表面取向图或照明环境图中的至少两个。此外,在一个或多个实施例中,神经网络包括被训练为从描绘漫射材料的输入数字图像和描绘镜面材料的输入数字图像来生成合成的数字图像的渲染层。例如,在一个或多个实施例中,动作1210包括基于输入数字图像来预测表面取向图、照明环境图和材料属性集。另外,如图12所示,方法1200还包括用目标属性的动作1220替换至少一个属性。特别地,动作1220可以包括用目标材料属性集、目标表面取向图或目标照明图替换材料属性集、表面取向图或照明环境图中的至少一个。例如,在一个或多个实施例中,动作1220包括用目标材料属性集替换材料属性集。此外,动作1220还可以包括利用神经网络基于关于入射光方向、出射光方向和材料属性(即,材料系数或材料参数)可区分的参数表示来预测材料属性集。类似地,动作1220可以包括利用神经网络预测材料表面取向图,其中表面取向图包括具有带有rbg的多个像素的rgb数字图像,其中多个像素中的每个像素的rbg值对在数字图像中描绘的对象的每个像素的表面取向的x、y和z维度进行编码。此外,如图12所示,该方法还包括利用神经网络的渲染层以基于目标属性、和输入数字图像的属性中的至少一个来生成已修改数字图像的动作1230。特别地,动作1230可以包括利用神经网络的渲染层以基于目标材料属性集、目标表面取向图或目标照明图中的至少一个来从输入图像生成已修改数字图像。例如,动作1230可以包括利用神经网络的渲染层以基于目标材料属性、表面取向图和照明环境图来生成已修改数字属性。此外,在一个或多个实施例中,动作1230包括生成已修改数字图像使得已修改数字图像描绘镜面材料。此外,在方法1200的一个或多个实施例中,输入数字图像描绘与材料属性集相对应的第一材料并且描绘第二材料。方法1200还可以包括利用神经网络来预测与第一材料相对应的材料属性集和与第二材料相对应的第二材料属性集;用目标材料属性集替换材料属性集;用第二目标材料属性集替换第二材料属性集;以及利用神经网络的渲染层以基于目标材料属性集、第二目标材料属性集、目标表面取向图和目标照明图来生成已修改数字图像。本公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,诸如例如一个或多个处理器和系统存储器,如下面更详细地讨论的。在本公开的范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。特别地,本文中描述的一个或多个过程可以至少部分地被实现为在非暂态计算机可读介质中实施并且由一个或多个计算设备可执行的指令(例如,本文中描述的任何媒体内容访问设备)。通常,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器等)接收指令,并且执行这些指令,从而执行一个或多个处理,包括本文中描述的过程中的一个或多个。计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种明显不同种类的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。非暂态计算机可读存储介质(设备)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如,基于ram的)、闪存、相变存储器(“pcm“)、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁存储设备、或者可以用于以计算机可执行指令或数据结构的形式存储期望的程序代码装置并且可以由通用或专用计算机访问的任何其他介质。此外,在到达各种计算机系统部件时,计算机可执行指令或数据结构形式的程序代码装置可以被自动地从传输介质传送到非暂态计算机可读存储介质(设备)(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓冲在网络接口模块(例如,“nic”)内的ram中,并且然后最终被传送到计算机系统ram和/或计算机系统处的更不易失性计算机存储介质(设备)。因此,应当理解,非暂态计算机可读存储介质(设备)科员被包括在也(甚至主要地)利用传输介质的计算机系统部件中。计算机可执行指令包括例如当在处理器处执行时引起通用计算机、专用计算机或专用处理设备执行某个功能或功能组的指令和数据。在一些实施例中,在通用计算机上执行计算机可执行指令以将通用计算机转换成实现本公开的元素的专用计算机。计算机可执行指令可以是例如二进制文件、诸如汇编语言等中间格式指令、或甚至源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于以上描述的特征或动作。相反,所描述的特征和动作被公开作为实现权利要求的示例形式。本领域技术人员将理解,本公开可以在具有很多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程消费电子产品、网络pc、小型计算机、大型计算机、移动电话、pda、平板计算机、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实现,其中通过网络被链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储设备两者中。本公开的实施例也可以在云计算环境中实现。在本说明书中,“云计算”被定义为用于实现对可配置的计算资源的共享池的按需网络访问的模型。例如,云计算可以在市场中使用以提供对可配置的计算资源的共享池的无处不在的和方便的按需访问。可配置的计算资源的共享池可以经由虚拟化来快速地提供,并且以较低的管理工作量或服务提供商交互被发布,并且然后被相应地缩放。云计算模型可以由各种特性组成,诸如例如按需自助服务、广泛的网络访问、资源池、快速弹性、测量的服务等。云计算模型还可以提供各种服务模型,诸如例如软件即服务(saas)、平台即服务(paas)和基础架构即服务(“iaas”)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云、混合云等。在本说明书和权利要求书中,“云计算环境”是其中采用云计算的环境。图13以框图形式示出了可以被配置为执行上述过程中的一个或多个的示例性计算设备1300。可以理解,数字神经网络渲染系统800可以包括计算设备1300的实现。如图13所示,计算设备可以包括处理器1302、存储器1304、存储设备1306、i/o接口1308和通信接口1310。在某些实施例中,计算设备1300可以包括比图13所示的更少或更多的部件。现在将详细地描述图13所示的计算设备1300的部件。在特定实施例中,处理器1302包括用于执行诸如构成计算机程序的指令的硬件。作为示例而非限制,为了执行指令,处理器1302可以从内部寄存器、内部高速缓存、存储器1304或存储设备1306检索(或获取)指令,并且对其进行解码和执行。计算设备1300包括耦合到处理器1302的存储器1304。存储器1304可以用于存储由处理器执行的数据、元数据和程序。存储器1304可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“ram”)、只读存储器(“rom”)、固态盘(“ssd”)、闪存、相变存储器(“pcm”)或其他类型的数据存储装置。存储器1304可以是内部或分布式存储器。计算设备1300包括存储设备1306,存储设备1306包括用于存储数据或指令的存储装置。作为示例而非限制,存储设备1306可以包括上述非暂态存储介质。存储设备1306可以包括硬盘驱动器(hdd)、闪存、通用串行总线(usb)驱动器、或者这些或其他存储设备的组合。计算设备1300还包括一个或多个输入或输出(“i/o”)设备/接口1308,其被提供以使得用户能够向计算设备1300提供输入(诸如,用户笔画),从接收来自计算设备1300的输出,并且以其他方式传送数据去往和来自计算设备1300。这些i/o设备/接口1308可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的i/o设备、或这样的i/o设备/接口1308的组合。触摸屏可以用触笔或手指来激活。i/o设备/接口1308可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏幕)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施例中,设备/接口1308被配置为向显示器提供图形数据以呈现给用户。图形数据可以代表一个或多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。计算设备1300还可以包括通信接口1310。通信接口1310可以包括硬件、软件或两者。通信接口1310可以在计算设备与一个或多个其他计算设备1300或一个或多个网络之间提供用于通信(诸如例如,基于分组的通信)的一个或多个接口。作为示例而非限制,通信接口1310可以包括用于与以太网或其他有线网络通信的网络接口控制器(nic)或网络适配器或者用于与诸如wi-fi等无线网络通信的无线nic(wnic)或无线适配器。计算设备1300还可以包括总线1312。总线1312可以包括将计算设备1300的部件彼此耦合的硬件、软件或二者。在前面的说明书中,已经参考本发明的具体示例实施例描述了本发明。本发明的各种实施例和方面参考本文中讨论的细节来描述,并且附图示出了各种实施例。以上描述和附图是对本发明的说明,而不应当被解释为限制本发明。描述了很多具体细节以提供对本发明的各种实施例的透彻理解。在不脱离本发明的精神或基本特征的情况下,本发明可以以其他具体形式来实施。所描述的实施例仅在所有方面被认为是说明性的而不是限制性的。例如,本文中描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序来执行。另外,本文中描述的步骤/动作可以彼此并行地、或者与相同或类似的步骤/动作的不同实例并行地重复或执行。因此,本发明的范围由所附权利要求而不是前面的描述来表示。在权利要求的等同方案的含义和范围内的所有变化将被包括在其范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1