在V-Ray 3.x中,Chaos Group引入了我们自己的去噪解决方案。这个方案允许用户渲染图像到某个程度,然后让V-Ray根据具有的信息对其进行去噪。这个过程在GPU上运行得非常好。 我们在GPU指南中提到的一件事就是GPU在大规模平行任务中表现出色。 而去噪就是其中的一个任务。借助GPU,我们可以获得20倍的速度提升,并且只需几秒钟即可完成此过程。
但去噪过程可能会更快。那么如果不是独立解决每个图像的去噪问题,倘若去噪器可以参考以前的去噪解决方案来更快地解决问题呢?
使用神经网络来说明去噪
使用这个预先“学习”的数据是机器学习的基础。 在V-Ray中,V-Ray可以使用光缓存过程中学到的数据,以更快的速度解决各种渲染问题。例如,自我调整采样器(Adaptive Sampler),自我调整光源(Adaptive Lights)和新的自我调整圆顶灯(Adaptive Dome Light)都使用这个概念。 但是,如果V-Ray能够从其他渲染的图片中学习,而不仅仅是V-Ray自己产生的数据呢?
目前围绕深度学习和深度神经网络的话题很多。 (其实,这两个是一样的东西)。 神经网络有多深是指其网络所包含的层数。这个想法是建立一个计算网络,学习如何解决具体问题,无论是从提供的解决方案到解决问题,还是透过软件自己的测试中学习。一旦网络更理解如何解决问题,例如去噪,就可以更快地解决问题。
试想一下,如果你不知道5 + 5 = 10,而且每次都要用手指算,那会算得很慢。 但是如果你已经知道了答案,所以你可以跳过你的手指,算的快得多了。
理论上,通过提供神经网络数以千计的不同噪点渲染以及干净的最终版本,可以学习如何使用该图像数据解决噪点问题,然后将解决方案应用于其他情况。
这正是NVIDIA推出的OptiX AI加速去噪器做的事。 他们使用Iray渲染的成千上万的图像构建了一个神经网络,现在这个学习的数据可以应用到其他光线跟踪图像。 我们决定来试验这个学习的数据怎样能让V-Ray受益。
重点在于速度
NVIDIA的OptiX降噪器比V-Ray的降噪器有什么优势?虽然V-Ray降噪器速度非常快,可以在GPU上以秒为单位对图像进行降噪,但OptiX解决方案可以达到实时降低渲染效果。但请记住,降噪的图像从来不会是准确的。根据定义,降噪器给你最好的猜测结果,提供您最终的影像应该的样子。而准确性可能不是最重要的。如果您可以实时获得可用的无噪点图像,则可能会大幅改变工作流程,尤其是在照明和视觉开发阶段(look development)。
NVIDIA OptiX降噪器如何在V-Ray中工作
即便除噪点的资料是以使用Iray渲染来收集的,还是可以将学习数据用在V-Ray。 我们甚至可以使用V-Ray渲染重新训练神经网络。
去噪器对图像的了解越“真实”,而不只是用猜的,就越能做好去噪的工作。例如,让我们来看看边缘检测。由于通常基于相邻像素之间的高对比度度来检测边缘,因此噪点图像可能没有足够的信息来良好地检测边缘。 当您在V-Ray中渲染diffuse pass和normals pass时,去噪器会收集有关场景的足够信息以确认边缘的位置。
通过学习数据和渲染元素的结合,即使只有少量样本,OptiX降噪器也能够很好地预测最终图像。 虽然这种类型的去噪可以在GPU或CPU上运行,但对于用户来说最大的好处是交互式地工作。
一些测试结果
在这个例子中,我们看到了一个相当复杂的场景,有很多全局照明。我们使用diffuse和normal pass给予降噪器使用。我们在渲染过程中拍摄了快照,以显示原始渲染和去噪后的渲染。