Bootstrap

3D凸体投影:使用3D平滑凸体的辐射场渲染

关注公众号,发现CV技术之美

本篇分享论文3D Convex Splatting: Radiance Field Rendering with 3D Smooth Convexes,3D凸体投影:使用3D平滑凸体的辐射场渲染。

dc62800e646d0231c69f4654b14749f7.png
  • 网站: https://convexsplatting.github.io/

  • Arxiv: https://arxiv.org/abs/2411.14974

  • Youtube: https://www.youtube.com/watch?v=5N3OFHH7lbU

  • Github: https://github.com/convexsplatting/convex-splatting


1. 摘要

近年来,辐射场重建技术取得了显著进展,例如 3D 高斯泼溅 (3D Gaussian Splatting, 3DGS)通过高斯基元的组合表示场景,实现了高质量的新视角合成和快速渲染。然而,3D高斯在场景重建中存在一些局限性。准确捕捉硬边界非常具有挑战性,除非显著增加高斯基元的数量,否则会导致巨大的内存开销。此外,它们在表示平面表面时表现不佳,因为高斯基元在空间中呈弥散状态。若没有人工设计的正则化约束,高斯基元往往会在实际表面周围不规则地分散。

图 1 展示了 3D 高斯泼溅的局限性,它无法准确逼近简单形状,例如矩形、圆形或三角形。

为了解决这些问题,我们提出了一种新方法,名为 3D 凸泼溅 (3D Convex Splatting, 3DCS)。该方法利用 3D 平滑凸体 作为基元,从多视角图像中建模几何上更具意义的辐射场。与高斯基元相比,平滑凸体具有更大的灵活性,能够用更少的基元更好地表示具有硬边界和密集体积的 3D 场景。

图 2 展示了我们凸体基元的灵活性,它可以准确逼近矩形、圆形,甚至各向同性和各向异性高斯基元。

借助我们高效的基于 CUDA 的光栅化器,3DCS 在 Mip-NeRF360Tanks and TemplesDeep Blending 等基准测试中表现优于 3DGS。具体而言,与 3DGS 相比,我们的方法在 PSNR 上最高提升 0.81,在 LPIPS 上提升 0.026,同时保持了高渲染速度并减少了所需基元的数量。我们的结果表明,3D 凸泼溅 具有成为高质量场景重建和新视角合成新标准的潜力。

5b09fdccf440fbbc499848af8efd05c8.png

图1. 使用基元重建简单形状

7892ab3a717cec9d573012d3fbef885f.png

图2. 平滑凸体通过调整平滑参数 δ 和锐度参数 σ,能够表示多种多样的形状,无论是硬质还是柔软,密集还是稀疏。它们可以有效地近似多种几何形状,包括多面体和高斯体,同时所需基元数量较少即可实现准确表示。红线表示凸包


2. 主要贡献

  1. 我们提出了3D 凸泼溅,利用3D 平滑凸体作为辐射场表示的新型基元,解决了高斯基元在捕捉密集体积特征方面的局限性。

  2. 我们开发了一种优化框架以及基于 GPU 的快速可微渲染管线,针对3D 平滑凸体,能够从多视角图像中实现高质量的 3D 场景表示和高渲染速度。

  3. Mip-NeRF360Tanks and TemplesDeep Blending 数据集上,3D 凸泼溅超越了现有的渲染基元,性能优于 3D 高斯泼溅,同时减少了每个场景所需的基元数量。


3. 技术细节

cc93e6ed75aa559a7b804ec50ddbb583.png

图3. 3D平滑凸体由点集表示,并投影到2D相机平面中。我们提取投影点的线限定凸包,并为每条线定义符号距离函数。这些线被组合起来,根据3D凸体的平滑度参数 δ 和锐度参数 σ,为每个像素定义指示函数。整个管道是端到端可微的,这使得可以根据渲染图像优化平滑凸基元的参数。

算法流程:

  1. 基于点的 3D 凸形表示:
    基于平面的 3D 凸形表示在投影到相机平面时不可行。我们将 3D 凸形定义为一组 3D 点集的凸包,从而在优化过程中允许点的自由移动。这些点表示凸包,而非凸形的显式顶点。

  2. 可微分的 2D 图像平面投影:
    为了提高效率,我们避免显式构建 3D 凸包。取而代之的是,我们使用针孔相机模型将 3D 点投影到 2D 图像平面,利用相机的内参矩阵和外参(旋转和平移)。这种可微分投影允许梯度在优化过程中回传到 3D 点,从而实现参数的优化。

  3. 2D 凸包计算:
    我们使用Graham 扫描算法高效地构建 2D 凸包,仅保留形成外边界的点。该算法通过相对于参考点的极角排序对点集进行排序,然后通过检查叉积逐步添加点,并移除形成右转的点,从而确保凸性(详细信息请参考:Graham 扫描法计算凸包 - GeeksforGeeks)。最终,我们计算出 2D 空间中限定形状的边界线。

  4. 可微分 2D 凸形指示函数: 
    凸形通过符号距离函数定义,使用 LogSumExp 函数近似,其中平滑度参数 (delta) 控制边界曲率,锐利度参数 (sigma) 决定边界过渡的陡峭程度。这些函数组合成一个可微分的指示函数,用于确定像素级的贡献。这一完全可微分的管线使得从渲染图像中直接优化平滑凸形参数成为可能,从而实现准确可调的 3D 重建。

  5. 高效的可微分光栅化器: 
    我们基于自定义 CUDA 内核实现了基于瓦片的光栅化器,支持快速实时渲染。像素颜色通过有序凸形的Alpha 混合计算,颜色信息存储为球谐函数,以支持视角依赖效果。

  6. 自适应凸形优化:
    为了改进复杂场景中的几何表示,凸形根据锐利度损失动态分裂为更小的凸形。这种分裂确保对欠重建过重建区域的覆盖,同时裁剪较大或透明的凸形,以保持渲染效率。


4. 结果

8695ccf209986ed64a6860a549d5b164.png

3D 凸泼溅在渲染质量上始终表现更优,超越了其他渲染基元,如 3D 高斯泼溅 (3DGS)2D 高斯泼溅 (2DGS)  和 广义指数投影 (GES) 。同时,其轻量化版本仅使用 3DGS  所需内存的 15% ,但仍能保持可比的渲染质量

944fcd6e15bacefdb882dc8c37416eae.jpeg

dc0ab54d050f2841563b60550a2eecf9.jpeg

e3d9a6024550ebee1ca021f5e0927747.jpeg

796c4e50c274d667119896ce13ec5570.jpeg

<<< 左右滑动见更多 >>>

图3. 3D 凸泼溅通过使用 3D 平滑凸体表示场景,实现了高质量的新视角合成和快速渲染。相比之下,高斯基元的柔和特性往往导致模糊和细节丢失,而 3D 凸泼溅能够有效捕捉锐利边缘精细细节


5. 结论

我们提出了3D 凸泼溅,这是一种用于辐射场渲染的新方法,利用3D 平滑凸基元实现高质量的新视角合成。

特别地,我们的方法克服了 3D 高斯泼溅 的局限性,以更少的基元和参数提供更密集的表示。

此外,3D 凸泼溅 在新视角合成任务中表现出显著提升,特别是在 Tanks&Temples 数据集和 Mip-NeRF360 数据集中的室内场景上。

通过将凸形的自适应性与基于基元的辐射场渲染的高效性相结合,3D 凸泼溅 实现了高质量、实时且灵活的辐射场重建。

我们期待这种新型基元能够为该领域的进一步研究奠定基础。

本文为粉丝投稿
最新 AI 进展报道
请联系:[email protected]

86902330aa9b220c86f1a5a5867ce7b9.jpeg

END

欢迎加入「三维视觉交流群👇备注:3D

ac1a4ed411a453fa8f041ecbc82ec484.png

;