什么是Neural Rendering神经渲染?

Number of views 17

随着我们的世界日益数字化,构建虚拟世界的方式也在迅速发生变化。神经渲染通过利用生成式机器学习技术,在改善渲染管线流程的许多方面都展现出巨大潜力。那么,什么是神经渲染呢?在本文中,我们将介绍这一概念,将其与传统计算机图形学进行对比,并探讨它对未来发展的意义。

image1751942891638.png

传统渲染

如今,创建3D虚拟世界是一个复杂且繁琐的过程。虚拟场景中的每一个物体或(Asset)资产,都是通过多边形网格来表示的(如下图)。这种多边形网格可以由设计人员建模生成,也可以通过扫描实物获得:这两种方式都需要大量的人工成本,且耗时较长。如果我们希望这个特定资产越精细,它的网格所包含的多边形数量就将越多。

image1751943164035.png

创建多边形网格只是第一步。3D世界中的每个表面还都有相应的材质,用于决定网格的外观。在运行时,物体的材质和网格会被作为数据输入提供给着色器程序(Shader Programs),这些程序会根据特定的光照条件和摄像机角度来计算物体的外观(如下图)。多年来,人们开发出了许多不同的着色器程序,尽管其实现方式各异,但基本原理是相同的:利用物理规律来计算物体的外观。这一点在“光线追踪”(Ray Tracing)方法中表现得尤为明显,在这种方式中,每一条从光源发出的光线都会计算其路径从而被追踪,直到它在各个表面上发生反射或折射为止。

image1751943385917.png

这种渲染流程可以产生令人惊叹的效果:你所看到的每一部电影中的CGI特效,以及你玩过的每一款游戏,都使用了某种形式的“传统计算机图形学”流程。然而,这一流程的主要痛点在于:需要显式地定义每一个物体和材质,同时渲染一个逼真或复杂的场景还需要巨大的计算量。这让我们不禁思考一个问题:如果我们不需要手动定义每一个物体,也不必逐个计算每一条光线的反射路径呢?

神经渲染登场

那么,什么是神经渲染?尽管它仍然是一个非常年轻的领域,但目前已涵盖了大量不同的技术——例如GAN(生成对抗网络)就是神经渲染的一种形式。神经渲染方法背后的核心概念是“可微分性”。一个可微分的函数意味着在其定义域内的每一点上都存在导数。这一点非常重要,因为机器学习本质上就是链式法则加上一些额外步骤:只要渲染函数是可微分的,就可以通过数据,一步一步地用梯度下降法来学习这个函数。

通过数据统计学习渲染函数的方式,与我们前面介绍的传统渲染方法有着根本性的不同。传统方法依赖于已知的物理规律进行计算和外推,而神经渲染则是从数据中自动“学会”如何渲染,这种方法在效率和灵活性方面展现出巨大的潜力。

image1751943849074.png

神经渲染中最酷的一种应用之一是新视角合成(novel view synthesis)。在这个任务中,神经网络能够学会从任意视角渲染一个场景。

上图与下图来自该领域的两篇优秀论文:一篇来自Google Research,另一篇来自Facebook Reality Labs 。这两项研究都使用了一种称为光线行进ray marching)的体渲染volume rendering)技术。光线行进的基本思想是从观察者(即相机)出发,向空间中的某个三维体积区域发射一条光线,并询问一个函数:空间中这个点的颜色和不透明度是多少?

而神经渲染的突破性在于:用神经网络来近似这个函数。也就是说,神经网络会根据输入的位置坐标,预测出该点的颜色和密度等信息,从而实现对整个三维场景的高质量渲染。这种方法极大地简化了传统建模与渲染流程,也让我们离“仅凭数据重建虚拟世界”更进一步。

image1751944371178.png

实时渲染技术的未来

我们目前对神经渲染的介绍还只是浅尝辄止。如果你想要深入了解,我们强烈推荐这篇非常详尽的综述论文 。但在结束之前,让我们来探讨一下它可能对未来带来哪些影响?

借助神经渲染,我们不再需要手动对场景进行物理建模,也不再需要模拟复杂的光线传输过程,因为这些步骤已经被隐式地存储在一个神经网络的权重之中。这意味着,未来我们或许可以在你佩戴VR头显时,直接渲染你的面部表情(如下图),而完全不需要存储或变形一个你脸部的3D多边形网格!

这不仅大大简化了内容创建流程,也为实时渲染、虚拟人、增强现实(AR)、虚拟现实(VR)等应用打开了全新的可能性。神经渲染正在推动图形学进入一个更加智能、高效的新时代。

image1751944649223.png

借助神经渲染,渲染一张图像所需的计算量不再受限于场景的复杂程度(如物体、光源和材质的数量),而是取决于神经网络的规模(即前向传播所需的时间)。这意味着,我们有可能在极高的画质下实现飞快的帧率,从而带来更流畅、更逼真的实时图形体验。

如果你对机器学习与3D技术的交叉领域感兴趣,也欢迎查看作者开源的合成数据工具包 zpy

作者:hu-po

0 Answers