3D Gaussian Splatting for Real-Time Radiance Field Rendering-简洁版

  1. 研究背景与问题

传统的3D场景表示方法,如网格和点云,适合GPU加速的光栅化操作,但缺乏灵活性。而基于神经辐射场(NeRF)的表示方式,尽管质量高,但需要高成本的训练和渲染时间。此外,快速的辐射场方法虽然优化了速度,但以牺牲图像质量为代价。当前尚无方法能够在大场景和高分辨率条件下实现高质量的实时渲染。

流程:
  1. 输入一组静态场景的图像,由SfM校准的相应摄像机和稀疏点云;
  2. 从稀疏点云中,创建了一组三维高斯函数,通过位置(均值)、协方差矩阵和不透明度 来定义。这使得对3D场景的表示相对紧凑,一定程度上是因为可以使用高度各向异性的体积斑点(anisotropic volumetric splats)来紧凑地表示细微结构。辐射场的方向外观成分通过球谐函数(SH)进行表示,遵循标准做法。
  3. 通过一系列优化步骤来创建辐射场表示,这些步骤涉及3D高斯参数的位置、协方差、和SH系数,并与自适应控制高斯密度的操作交替进行。

2. 方法核心创新

论文提出了一种新颖的3D高斯表示和渲染方法,其核心创新包括:

a. 3D高斯分布的场景表示
  • 通过相机校准生成的稀疏点云初始化3D高斯分布,每个高斯由位置、协方差矩阵、透明度等参数定义。
  • 3D高斯允许在优化过程中高效表示连续的体积辐射场,同时减少了对空白空间的计算浪费。

为什么需要用3D高斯代替点云?

  • 点云是离散的,只是单纯的点,不能很好地描述场景的连续性或细节。
  • 3D高斯分布是一种连续的表示方式,可以更好地描述一个点附近的空间范围。
  • 通过调整高斯分布的形状(例如拉长、压扁),它可以更灵活地适应场景中的复杂几何结构。
b. 各向异性协方差优化
  • 方法引入各向异性协方差优化,使得3D高斯可以准确表示复杂几何结构。
  • 协方差矩阵通过分解为旋转矩阵和缩放矩阵优化,以确保其物理合法性(半正定性)。
  • 3D高斯分布的基本概念:

    • 一个3D高斯分布可以看作是一个"模糊的点",其分布范围和形状由一个协方差矩阵(Covariance Matrix)决定。
    • 各向同性(Isotropic)高斯:形状是一个球,所有方向的扩展程度都相同。
    • 各向异性(Anisotropic)高斯:形状可以是椭球,允许不同方向的扩展程度不同。
  • 为什么需要各向异性协方差?

    • 在复杂的3D场景中,物体的形状往往是不规则的,例如细长的树枝或扁平的地面。
    • 各向异性协方差允许高斯分布适应这些复杂的几何特征。比如,细长的物体可以用一个细长的椭球来表示,而不是用一个笼统的球体。
  • 如何实现各向异性协方差优化?

    • 协方差矩阵的表示:通过分解为一个旋转矩阵(决定方向)和一个缩放矩阵(决定大小和形状),分开优化每个部分。
    • 这种方法保证了协方差矩阵始终是物理有效的(正定矩阵),不会因为优化过程中的梯度更新导致矩阵失效。
c. 高效的可见性感知渲染
  • 提出一种快速的基于GPU的平铺排序算法,用于实现高效的各向异性splats投影和前向后向传播。
  • 渲染过程采用近似的alpha混合,能够显著加速训练和实时渲染。

3. 优化与适应性密度控制

  • 训练过程中,采用自适应密度控制方法动态调整高斯分布的数量和位置:
    • 克隆:对于稀疏区域,复制小高斯以增加密度。
    • 拆分:对于过大的高斯,分裂成多个更小的高斯以提高精度。
  • 通过透明度阈值和几何梯度筛选机制,定期移除冗余或无效的高斯。

4. 性能与质量评估

a. 速度和质量比较
  • 相较于当前最佳质量的Mip-NeRF360,训练时间从48小时缩短到仅6分钟(快速配置)或51分钟(高质量配置),渲染速度达每秒135帧。
  • 结果显示在多数据集上的图像质量(PSNR、SSIM)达到或超过现有方法。
b. 适用性与场景范围
  • 在多种数据集(例如Tanks&Temples、Mip-NeRF360等)中验证,适用于室内和室外场景,包括复杂几何结构和无界环境。
c. 模型压缩与内存使用
  • 优化后的高斯分布数量显著低于传统点云方法,模型存储效率更高。

5. 局限性与未来改进方向

  • 未观测区域可能会产生伪影或不完整的重建。
  • 高斯过大时可能导致渲染时"跳跃"伪影。
  • 当前的GPU内存需求高,训练过程消耗超过20GB,未来可通过低级优化减少内存占用。
相关推荐
jndingxin9 小时前
OpenCV相机标定与3D重建(25)计算两个三维点集之间的最优仿射变换矩阵(3x4)函数estimateAffine3D()的使用
opencv·3d
普密斯科技11 小时前
3D工具显微镜的测量范围
人工智能·计算机视觉·3d·自动化·视觉检测·集成测试
前端Hardy11 小时前
HTML&CSS:3D卡片翻转悬停效果
前端·javascript·css·3d·html
兔子的洋葱圈18 小时前
Python的3D可视化库【vedo】2-5 (plotter模块) 坐标转换、场景导出、添加控件
python·3d·数据可视化
万里守约21 小时前
【论文阅读】从单张图像到高质量3D模型的快速生成方法
论文阅读·3d·三维重建·超分辨率重建·unet·高分辨率
jndingxin1 天前
OpenCV相机标定与3D重建(24)计算两个二维点集之间的最佳仿射变换矩阵(2x3)函数estimateAffine2D()的使用
opencv·3d
坐井观老天1 天前
在 C# 中绘制希尔伯特曲线分形
microsoft·3d·c#
OpenBayes2 天前
OpenBayes 教程上新丨腾讯 Hunyuan3D-1.0 上线,10s 实现 3D 图像生成
人工智能·深度学习·3d·ai·3d 模型·腾讯混元·教程上新
Laofanqie6662 天前
电脑游戏运行时问题解析:《Geometry Dash》DLL文件损坏的原因与解决方案
经验分享·游戏·3d·电脑·dash