3DGRUT 初体验与教程:结合光线追踪的高斯泼溅

38 分钟 · 中文笔记YouTube 标准许可

本期视频介绍了 NVIDIA 的新项目 3DGRUT,它结合了 Gaussian Splatting 和 Ray Tracing(光线追踪)。主要优势是支持鱼眼镜头、处理噪声图像、支持滚动快门,且所需图像数量仅为传统高斯泼溅的三分之一。视频演示了从安装、数据准备(使用 COLMAP)、模型训练到可视化及导出 PLY 文件的完整流程,并展示了在厨房场景和乐高盆景场景中的实际效果。

你会学到

  • 3DGRUT 利用光线追踪解决了传统高斯泼溅在处理鱼眼图像时需要去畸变(undistort)导致边缘问题,以及图像倾斜(skewed)的问题。
  • 该项目支持多种渲染模式:纯光线追踪、混合模式(光线追踪+高斯泼溅)以及快速模式(3D Gaussian Splatting)。
  • 在可视化界面中,可以查看点云(point cloud)、调整点的大小,并观察光线追踪器在场景上生成的几何结构。
  • Playground 模式允许用户添加基础几何体(primitives),如玻璃球、镜面、棋盘格等,并实时查看光线追踪效果。
  • 导出 PLY 文件时,结果可能包含一些漂浮点(floating spots),特别是在快速移动拍摄的情况下。
  • 安装环境要求较高,目前主要支持 Linux,Windows 支持尚在开发中。需要 CUDA 11.8 或更新版本,若版本不匹配需使用 CUDA Toolkit 或 Docker。

步骤与时间轴

  1. 19:50 · 安装 3DGRUT
    目前主要支持 Linux 环境。需要 CUDA 11.8 或更高版本。如果系统 CUDA 版本不匹配(如 12.x),可以使用 CUDA Toolkit 或 Docker 来运行。作者提供了一个 Fork 仓库,解决了部分依赖问题,建议从该仓库开始。
  2. 24:36 · 准备图像数据
    1. 复制图像文件夹并重命名。2. 删除原有的 sparse 数据库文件夹。3. 使用 COLMAP 进行特征提取和匹配。在 COLMAP GUI 中,新建数据库,选择图像文件夹。如果是鱼眼镜头,选择 'OpenCV Fisheye' 相机模型。4. 运行特征提取(Extract Features)和匹配(Match Features)。5. 运行 Bundle Adjustment 生成 sparse/0 文件夹,其中包含 cameras.bin 等文件。
  3. 30:06 · 训练模型
    1. 进入 3DGRUT 项目目录。2. 使用 Python 运行训练脚本,传入配置文件(config file)。3. 配置文件中需指定数据路径、输出目录(如 runs)、以及是否使用 MCMC 策略等参数。4. 启动训练后,会加载可视化窗口,可以看到场景逐渐清晰并生长。5. 训练过程中系统会自动进行剪枝(pruning)。
  4. 34:00 · 可视化结果
    1. 训练完成后,使用相同的配置文件运行可视化脚本。2. 在可视化界面中,可以切换视角,查看第一人称模式下的场景。3. 可以查看点云模式,调整点的大小以观察几何细节。4. 在 Playground 模式中,可以添加基础几何体(如玻璃球、镜面)并调整其位置,实时查看光线追踪效果。5. 可以导出 PLY 文件用于其他软件查看。

要点与注意

  • 使用鱼眼镜头拍摄时,3DGRUT 可以直接处理原始图像,无需预先去畸变,这避免了传统方法中边缘失真和裁剪的问题。
  • 拍摄时图像数量可以较少,作者提到 100-200 张图像即可重建整个场景,比传统方法节省大量素材。
  • 如果图像噪声较大或不够清晰,3DGRUT 的表现依然较好,因为它对噪声图像有较好的鲁棒性。
  • 安装时如果遇到 CUDA 版本问题,建议使用 Docker 或作者提供的 Fork 仓库,其中包含更详细的安装说明。
  • 在 COLMAP 处理鱼眼图像时,务必选择 'OpenCV Fisheye' 相机模型,否则重建效果会受影响。

适合谁看

国内 CG、3D 及 AI 创作从业者,特别是关注高斯泼溅(Gaussian Splatting)、3D 重建及光线追踪技术的用户。

本页是根据公开视频整理的中文学习笔记,视频版权归原作者 Pixel Reconstruct 所有。如有问题请联系我们。

© 版权声明

相关文章