来源: 图形学与几何计算
6月28日,清华大学计图(Jittor)团队发布了可微渲染库Jrender 2.0新版本,正式支持可微体渲染!近期学术界已有大量工作基于可微体渲染完成,其中备受关注的NeRF[1]应用,在Jrender的加速下训练、测试速度增幅可达2倍!
Part1、可微体渲染引发学界新热潮
可微渲染作为连接神经网络和渲染的工具,近年来在很多方向都推动了计算机图形学及计算机视觉的发展。其中,基于可微体渲染的工作尤为亮眼,如发表于ECCV2020的NeRF[1]获得最佳论文奖提名,仅一年已被引用近300次,发表于CVPR 2021的GIRAFFE[2]更是荣获CVPR的最佳论文奖(见图1)。据不完全统计,近一年来基于可微体渲染的工作超过50篇,发表于顶级会议、期刊的不下20篇,可微体渲染已引发学界新热潮!
Part2、Jrender对可微体渲染的支持及优化
可微体渲染之所以能在学术界引发巨大关注,是因为该技术将三维场景的表达从物体表面扩展到物体内部,能够支持半透明等复杂材质渲染,还能够获得真实感更强的渲染结果。
同时,可微体渲染所需的三维场景内部表达连续性很强,非常适合神经网络训练,易与神经网络相关的工作进行结合。
但可微体渲染的求解复杂度是很高的,从渲染方程的角度来说,求解可微体渲染等同于求解无穷维积分。为了能够高效地求解可微体渲染问题,Jrender渲染库实现了Raymarching[3]算法(见图2)。该算法对发射自相机的每条光线会在物体内部进行采样,采样点的渲染特性加权求和即为相机所视颜色。
为了能够使我们的渲染框架更加通用,我们支持将Raymarching中采样点的渲染特性用两种方式表达:离散三维形式表达和神经辐射场形式表达(见图3)。其中离散三维形式主要用于传统渲染中,神经辐射场表达主要用于神经网络相关研究应用中,如NeRF[1]以及GIRAFFE[2]都采用了神经辐射场表达。
Part3、渲染效果及性能对比
如前所述,计算机视觉、图形学领域的许多研究都在可微渲染的基础上完成。我们的可微渲染库Jrender正是基于这一需求开发出来的,能够帮助快速实现更多的上层应用(见图4)。
借助于Jittor[4]对神经网络运行的加速,Jrender渲染库会获得明显性能提升,相较于Pytorch版本的算法会有2倍速度提升!
如图5、图6所示,我们在Jrender渲染库的基础上实现了NeRF[1]应用,并且在合成数据集与真实数据集中都达到了原论文的效果。
可喜的是,在多种数据集上,基于Jrender的实现相比于Pytorch实现在训练、测试中均达到1.9-2.3倍的速度提升(见图7)。
Jrender渲染库全部代码已开源在:
https://github.com/Jittor/jrender
欢迎大家使用Jittor的可微渲染库JRender开展研究工作。
参考文献
Ben Mildenhall, Pratul P. Srinivasan, MatthewTancik,Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. NeRF: RepresentingScenes as Neural Radiance Fields for View Synthesis, ECCV, 2020.
Niemeyer, M. and Geiger, A. Giraffe:Representing scenes as compositional generative neural feature fields, CVPR, 2021.
Novak, Jan and Georgiev, Iliyan and Hanika,Johannes and Kvrivnek, Jaroslav and Jarosz, Wojciech, Monte Carlo Methods forVolumetric Light Transport Simulation, Eurographics, 2018.
Shi-Min Hu, Dun Liang, Guo-Ye Yang, Guo-Wei Yang, Wen-Yang Zhou, Jittor: a novel deep learning framework with meta-operators and unified graph execution, Science China Information Science,2020, Vol. 63, No. 12, article no. 222103, pages: 1-21.
本文转自:图形学与几何计算(gh_fc184cd8b952)/清华大学图形学实验室,转载此文目的在于传递更多信息,版权归原作者所有。如不支持转载,请联系小编demi@eetrend.com删除。