专栏名称: 我爱计算机视觉
关注计算机视觉与机器学习技术的最前沿,“有价值有深度”,分享开源技术与最新论文解读,传播CVML技术的业内最佳实践。www.52cv.net 微博:计算机视觉与机器学习,QQ群:928997753,52CV君个人账号:Your-Word。
目录
相关文章推荐
余杭发布  ·  省级未来乡村,余杭新增6个! ·  昨天  
杭州本地宝  ·  2025杭州元宵免费活动汇总! ·  昨天  
余杭时报  ·  3月1日起,退钱! ·  昨天  
杭州本地宝  ·  杭州9场舞龙表演时间、地点公布! ·  3 天前  
51好读  ›  专栏  ›  我爱计算机视觉

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

我爱计算机视觉  · 公众号  ·  · 2024-12-25 22:11

正文




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




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

  • 网站: 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-NeRF360 Tanks and Temples Deep Blending 等基准测试中表现优于 3DGS。具体而言,与 3DGS 相比,我们的方法在 PSNR 上最高提升 0.81 ,在 LPIPS 上提升 0.026 ,同时保持了高渲染速度并减少了所需基元的数量。我们的结果表明, 3D 凸泼溅 具有成为高质量场景重建和新视角合成新标准的潜力。

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

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


2. 主要贡献

  1. 我们提出了 3D 凸泼溅 ,利用 3D 平滑凸体 作为辐射场表示的新型基元,解决了高斯基元在捕捉密集体积特征方面的局限性。
  2. 我们开发了一种优化框架以及基于 GPU 的快速可微渲染管线,针对 3D 平滑凸体 ,能够从多视角图像中实现高质量的 3D 场景表示和高渲染速度。
  3. Mip-NeRF360 Tanks and Temples Deep Blending 数据集上,3D 凸泼溅超越了现有的渲染基元,性能优于 3D 高斯泼溅,同时减少了每个场景所需的基元数量。

3. 技术细节

图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. 结果

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







请到「今天看啥」查看全文