速度提升1000倍,效果还全面碾压!JHU等提出首个可渲染HDR场景的3DGS

  新智元报道

  编辑:LRST

  研究人员提出首个可以渲染高动态范围(High Dynamic Range, HDR)自然光的 3DGaussian Splatting 模型 HDR-GS,以用于新视角合成(Novel View Synthesis, NVS)。该方法可以根据用户输入的曝光时间来改变渲染场景的光照强度,同时还可以直接渲染高动态范围场景。比当前最好的算法 HDR-NeRF 速度上要快 1000 倍。

  常见的 RGB 图像大都为低动态范围(Low Dynamic Range, LDR),亮度的取值范围在[0,255]之间。

  然而人眼对亮度的感知范围要比 RGB 图像宽广得多,一般为[0,+∞],导致 LDR 图像很难反映真实场景的亮度范围,使得一些较暗或者较亮的区域的细节难以被捕捉,高动态范围(High Dynamic Range,HDR)图像应运而生,具有更广的亮度范围。

  新视角合成(Novel View Synthesis,NVS)任务是在给定「一个场景的几张不同视角图像,并且相机位姿已知」的情况下,合成其他新视角的场景图像。

  同比于 LDR NVS,HDR NVS 能更好地拟合人类视觉,捕获更多的场景细节,渲染更高质量、视觉效果更好的图片,在自动驾驶、图像编辑、数字人等方面有着十分广泛的应用。

  当前主流的 HDR NVS 方法主要基于神经辐射场(Neural Radiance Fields, NeRF),然而,NeRF 的 ray tracing 加 volume rendering 机制都十分耗时,常常需要十分密集地采集射线,然后在每一条射线上采集多个 3D 点,对每一个 3D 点过一遍 MLP 来计算体密度和颜色,严重拖慢了训练时间和推理速度。当前最好的 NeRF 算法 HDR-NeRF 需要耗费 9 小时来训练一个场景,8.2 秒来渲染一张尺寸为 400x400 的图像。

  为了解决上述问题,约翰霍普金斯大学、香港科技大学、清华大学、上海交通大学的研究人员提出了首个基于 3DGS 的方法 HDR-GS,用于三维 HDR 成像;设计了一种有着双动态范围的三维高斯点云模型,同时搭配两条平行的光栅化处理管线以用于渲染 HDR 图像和光照强度可控的 LDR 图像。

  论文链接: https://arxiv.org/abs/2405.15125

  代码链接:https://github.com/caiyuanhao1998/HDR-GSgithub.com/caiyuanhao1998/HDR-GS

  Youtube 视频讲解:https://www.youtube.com/watch?v=wtU7Kcwe7ck

  研究人员还重新矫正了一个 HDR 多视角图像数据集,计算得到的相机参数和初始化点云能够支持 3DGS 类算法的研究。HDR-GS 算法在超过当前最好方法 1.91 dB PSNR 的同时仅使用 6.3% 的训练时间并实现了 1000 倍的渲染速度。

  图 1 HDR-GS 与 HDR-NeRF 各项性能对比图

  一大波演示如下:

  对比近期出现的 3D‍ Gaussian Splatting(3DGS),虽然能在保证图像质量的同时也大幅提升了训练和渲染速度,但却很难直接应用到 HDR NVS 上,仍然存在三个主要问题:

  1. 渲染的图片的动态范围依旧是[0,255],仍旧属于 LDR;

  2. 直接使用不同光照的图片来训练 3DGS 容易导致模型不收敛,因为 3DGS 的球谐函数(Spherical Harmonics,SH)无法适应光照的变化,时常会导致伪影、模糊、颜色畸变等问题;

  3. 常规的 3DGS 无法改变渲染场景的亮度,极大限制了应用场景,尤其是在 AR/VR、电影、游戏等领域,经常需要改变光照条件来反映人物的心情与环境氛围。

  图 2 常规 3DGS 对比 HDR-GS

  方法架构

  图 3 HDR-GS 的整体算法流程

  研究人员首先使用 Structure-from-Motion(SfM 算法来重新矫正场景的相机参数并初始化高斯点云,然后将数据喂入到双动态范围(Dual Dynamic Range,DDR)的高斯点云模型来同时拟合 HDR 和 LDR 颜色,使用 SH 来直接拟合 HDR 颜色。

  再使用三个独立的 MLP 来分别对 RGB 三通道做 tone-mapping 操作,根据用户输入的曝光时间将 HDR 颜色转为 LDR 颜色,然后将 3D 点的 LDR 和 HDR 颜色喂入到平行光栅化(Parallel Differentiable Rasterization, PDR)处理管线来渲染出 HDR 和 LDR 图像。

  双动态范围高斯点云模型

  场景可以用一个 DDR 高斯点云模型来表示:

  其中的 Np 是 3D Gaussians 的数量,Gi 表示第i个 Gaussian,其中心位置、协方差、不透明度、LDR 颜色和 HDR 颜色记为。

  除了这些属性外,每一个 Gi 还包含一个用户输入的曝光时间Δt和一个全局共享的基于 MLP 的 tone-mapper θ,由一个旋转矩阵 Ri 和一个缩放矩阵 Si 表示成如下形式:

  其中的μi,Ri,Si,αi和θ是可学习参数,Tone-mapping 操作 fTM (⋅)模拟相机响应函数来将 HDR 颜色非线性地映射到 LDR 颜色:

  为了训练稳定,研究人员将公式(3)从线性域转成对数域如下:

  对此公式取反函数:

  然后用三个 MLP θ在 RGB 三通道上分别拟合公式(5) 的变换。简洁起见,将 tone-mapper 的映射函数记为,然后公式(5)便可被重新推导为

  然后使用 SH 函数来拟合 HDR 颜色如下:

  将公式(7)代入公式(6)便可得到:

  每一个独立的 MLP 包括一层全连接、一层 ReLU、一层全连接和一个 Sigmoid 激活函数。

  平行光栅化处理管线

  将 3D Gaussian 的 HDR 颜色和 LDR 颜色输入到平行光栅化处理管线中,分别渲染出 LDR 和 HDR 图像,这一过程可以被概括为如下:

  首先计算出第i个 3D Gaussian 在一个 3D 点x处概率值如下:

  然后将 3D Gaussian 从三维空间中投影到 2D 成像平面上。在这一投影过程中,中心点的位置μi首先被从世界坐标系变换到相机坐标系,然后再投影到图像坐标系上:

  三维协方差矩阵也被从世界坐标系投影到相机坐标系上:

  后在图像坐标系下的二维协方差矩阵是直接取的前两行前两列。

  将 2D projection 分割成互不重叠的 titles,每一个三维高斯点云都按照其对应投影所落在的位置分配到对应的 tiles 上。这些 3D 高斯点云按照与二维探测器平面的距离进行排序。

  那么,在 2D projection 上像素点p上的 HDR 颜色和 LDR 颜色便是混合N个与p重叠的排好序的 3D 点得到的,如下公式所示

  HDR-GS 的初始化与训练过程

  阻碍 3DGS 类算法在三维 HDR 成像上发展的一大障碍,是原先 HDR-NeRF 搜集的多视角 HDR 图像数据集的仅提供 normalized device cooridnate(NDC)的相机位姿。

  然而 NDC 并不适用于 3DGS,主要有两个原因:

  首先,NDC 描述的是投影后 2D 屏幕上的位置。然而,3DGS 是一个显式的 3D 表征,需要对三维空间中的高斯点云进行变换和投影。

  其次,NDC 将坐标限制在[-1,1]或者[0,1]。Voxel 的分辨率有限,使得 3DGS 很难刻画场景中的细节。另外,原先搜集好的数据中并没有提供 SfM 点云来给 3DGS 进行初始化。

  为解决这一问题,研究人员使用了 SfM 算法来对多视角 HDR 数据集重新计算相机参数和初始化点云如下:

  其中的 Mint,Mext 分别表示相机的内外参数矩阵。对 LDR 图像的训练监督函数如下:

  类似于 HDR-NeRF,也对 HDR 图像施加限制。需要注意的是,HDR-NeRF 施加的约束是直接使用 CRF 矫正的 GT 参数,这是一个很强的先验。使用的是μ - law tone-mapping 后的 HDR 图像。损失函数如下:

  最终总的训练损失函数是两者的加权和:

  需要注意,由于真实场景中并无法直接获得 HDR 图像,所以分别对合成场景与真实场景设置γ=0.6 和γ=0

  实验结果

  定量结果

  表 1 合成实验对比结果

  表 2 真实实验对比结果

  合成实验和真实实验的定量对比结果分别如表 1 和表 2 所示,HDR-GS 在性能上显著超过之前方法的同时,训练和推理也分别达到了 16 倍速和 1000 倍速。

  视觉结果

  图 4 合成场景的 LDR NVS 视觉对比

  图 5 真实场景的 LDR NVS 视觉对比

  图 6 HDR NVS 视觉对比

  LDR NVS 的视觉对比结果如图 4 和图 5 所示,HDR NVS 的视觉对比结果如图 6 所示。HDR-GS 能够渲染出更丰富更清晰的图像细节,更好地捕获 HDR 场景并能灵活地改变 LDR 场景的光照强度。

  参考资料:

  https://arxiv.org/abs/2405.15125