查看
使用球体作为场景表示,在避免拓扑问题的同时可以获得前所未有的速度。
(
这个策略结合了经典渲染和神经网络的优点。通过投影步骤,可以生成场景的一致几何表示,而神经着色步骤可以通过利用最新的生成性神经网络来生成逼真的图像。其中,神经网络可以近似复杂的自然图像形成现象,无需显式建模。
理想情况下,这种神经渲染方法可以以端到端的方式联合训练:学习场景的3D表示并通过投影和着色步骤发送。生成的图像可以与groundtruth观测值进行比较,从而为优化过程提供信息。这不仅可以在着色步骤中改进生成模型,同时可以联合学习场景的表示和投影步骤中潜在的未知参数。这个过程需要以可缩放的方式通过整个管道高效地计算梯度,这样即使对于以真实世界分辨率渲染的复杂详细场景的几何体,其都可以实现高性能。
在名为《Pulsar:EfficientSphere-basedNeuralRendering》的论文中,
Pulsar是一个高效的、基于球体的、可微分的渲染模块。从场景表示的设计到底层数据的并行优化,其目标是通过各种措施来满足要求。首先,团队选择一个完全基于球体的三维数据表示。每个球体都由其在空间中的位置及其半径参数化。另外,每个球体具有指定的不透明度,并且可以具有任意向量作为有效载荷,例如颜色或一般隐特征向量。图像形成是基于一个体三维合成模式,从后向前聚合有效载荷以形成最终图像或屏幕空间特征图。这使得直接处理来自3D传感器的点云数据变得容易,允许在不改变拓扑的情况下优化场景表示(就像网格存在的那样),并且比基于体三维网格等最新方法更有效地实现渲染。
另外,研究人员基于球体的表示消除了对加速结构(如八叉树)的需要,所以可以支持动态场景。然后,它同时提供了一个简单的渲染和混合函数,可以在无需近似的情况下进行微分。团队故意将照明计算与几何投影步骤分开,因为它可以在单独的步骤中轻松处理。最后,研究人员将Pulsar与PyTorch优化框架相结合,从而利用自动微分,并简化与深度学习模型的集成。
上述策略允许Pulsar通过图像形成来为消费者图形硬件渲染和微分具有数百个球体的3D场景。对于1024×1024像素的图像分辨率,它可以实时渲染和更新多达1024个球面(执行C++代码渲染的时间小于一百万毫秒,而梯度计算小于6毫秒)。
尽管已经演示了具有数百万球体的复杂场景的高性能渲染和优化,但团队表示这个方法依然受到一定的限制。例如,计算屏幕空间中小于几个像素的球体的位置和半径梯度是一个挑战;以及目前不可编程等等。对于这一点,研究人员表示希望在未来予以解决。
Pulsar开源,这样研究人员就能够独立解决各种各样的研究问题。总之,团队的主要技术贡献是:
- 《Pulsar:EfficientSphere-basedNeuralRendering》。