本文介绍我们在 NeurIPS 2024 上的新工作《HDR-GS: Efficient High Dynamic Range Novel View Synthesis at 1000x Speed via Gaussian Splatting》。
代码链接:
视频讲解:
本文提出首个可以渲染高动态范围 (High Dynamic Range,HDR)自然光的 3D Gaussian Splatting,命名为 HDR-GS,以用于新视角合成(Novel View Synthesis,NVS)。我们的方法可以根据用户输入的曝光时间来改变渲染场景的光照强度,同时还可以直接渲染高动态范围场景。
本文提出的方法比当前最好的算法 HDR-NeRF 速度上要快 1000 倍。两者的性能对比如下图 1 所示。
▲ 图1 HDR-GS 与 HDR-NeRF 各项性能对比图
我们的工作还被推特科研风向标的 AK 和 MrNeRF 转发报道。
目前代码,数据,训练日志均已开源。欢迎大家来使用或是遇到问题来提交 issue。
一些渲染的视觉效果图:
常见的 RGB 图像大都为低动态范围(Low Dynamic Range,LDR),亮度的取值范围在 [0, 255] 之间。然而人眼对亮度的感知范围要比这更宽广得多,一般为 [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 的图像。
近期出现的 3D Gaussian Splatting(3DGS) 在保证图像质量的同时也大幅提升了训练和渲染速度。然而却很难直接地应用于 HDR NVS 上。主要有三个问题,首先,渲染的图片的动态范围依旧是 [0, 255],仍旧属于 LDR。
其次,直接使用不同光照的图片来训练 3DGS 容易导致模型不收敛,因为 3DGS 的球谐函数(Spherical Harmonics,SH)无法适应光照的变化,时常会导致伪影、模糊、颜色畸变等问题,如下图 2 所示。
最后,常规的 3DGS 无法改变渲染场景的亮度,这极大限制了它的应用,尤其是在 AR / VR、电影、游戏等领域,时常需要改变光照条件来反映人物心情与氛围。
▲ 图2. 常规 3DGS 对比本文的 HDR-GS
本文针对上述这些问题展开研究,做出了以下三点贡献:
我们提出了一个首个基于 3DGS 的方法,HDR-GS,用于三维 HDR 成像。
我们设计了一种有着双动态范围的三维高斯点云模型,同时搭配两条平行的光栅化处理管线以用于渲染 HDR 图像和光照强度可控的 LDR 图像
我们重新矫正了一个 HDR 多视角图像数据集,计算得到的相机参数和初始化点云能够支持 3DGS 类算法的研究。我们提出的算法 HDR-GS 在超过当前最好方法 1.91 dB PSNR 的同时仅使用 6.3 % 的训练时间并实现了 1000 倍的渲染速度。
本文方法
上图 3 展示了我们 HDR-GS 的整体架构。我们首先使用 Structure-from-Motion(SfM)算法来重新矫正场景的相机参数并初始化高斯点云。然后这些数据喂入到我们设计的双动态范围(Dual Dynamic Range,DDR)的高斯点云模型来同时拟合 HDR 和 LDR 颜色,如图 3(b)所示。
我们使用 SH 来直接拟合 HDR 颜色。然后使用三个独立的 MLP 来分别对 RGB 三通道做 tone-mapping 操作,根据用户输入的曝光时间将 HDR 颜色转为 LDR 颜色。然后这些 3D 点的 LDR 和 HDR 颜色喂入到我们设计的平行光栅化(Parallel Differentiable Rasterization,PDR)处理管线来渲染出 HDR 和 LDR 图像。
本章节,我们首先介绍 DDR 点云模型,然后介绍 PDR 处理管线,最后介绍 HDR-GS 的初始化和训练过程。
2.1 双动态范围高斯点云模型
为了训练稳定,我们将公式(3)从线性域转成对数域如下:
然后对此公式取反函数:
然后我们用三个 MLP 来在 RGB 三通道上分别拟合公式(5)的变换。简洁起见,我们将 tone-mapper 的映射函数记为。然后公式(5)便可被重新推导为
然后我们使用 SH 函数来拟合 HDR 颜色如下:
将公式(7)代入公式(6)便可得到:
每一个独立的 MLP 包括一层全连接、一层 ReLU、一层全连接和一个 Sigmoid 激活函数。
2.2 平行光栅化处理管线
将 3D Gaussian 的 HDR 颜色和 LDR 颜色输入到我们平行光栅化处理管线中分别渲染出 LDR 和 HDR 图像,这一过程可以被概括为如下:
接着我们详细描述这一过程的细节。首先我们计算出第 i 个 3D Gaussian 在一个 3D 点 处概率值如下:
然后将 3D Gaussian 从三维空间中投影到 2D 成像平面上。在这一投影过程中,中心点的位置 首先被从世界坐标系变换到相机坐标系,然后再投影到图像坐标系上:
三维协方差矩阵也被从世界坐标系投影到相机坐标系上:
阻碍 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 数据集重新计算相机参数和初始化点云如下:
其中的 分别表示相机的内外参数矩阵。对 LDR 图像的训练监督函数如下:
类似于 HDR-NeRF,我们也对 HDR 图像施加限制。但请注意,HDR-NeRF 施加的约束是直接使用 CRF 矫正的 GT 参数,这是一个很强的先验。我们使用的是 - law tone-mapping 后的 HDR 图像。损失函数如下:
最终总的训练损失函数是两者的加权和:
请注意,由于真实场景中并无法直接获得 HDR 图像,所以我们分别对合成场景与真实场景设置 和 。
实验结果
3.1 定量结果
合成实验和真实实验的定量对比结果分别如表 1 和表 2 所示,我们的 HDR-GS 在性能上显著超过之前方法的同时,训练和推理也分别达到了 16 倍速和 1000 倍速。
3.2 视觉结果
LDR NVS 的视觉对比结果如图 4 和 图 5 所示,HDR NVS 的视觉对比结果如图 6 所示。我们的 HDR-GS 能够渲染出更丰富更清晰的图像细节,更好地捕获 HDR 场景并能灵活地改变 LDR 场景的光照强度。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧