无需训练的开源插件3DGS-to-PC:将3DGS直接转换为稠密点云或Mesh!

0. 论文信息

标题:3DGS-to-PC: Convert a 3D Gaussian Splatting Scene into a Dense Point Cloud or Mesh

作者:Lewis A G Stuart, Michael P Pound

机构:University of Nottingham

原文链接:https://arxiv.org/abs/2501.07478

代码链接:https://github.com/lewis-stuart-11/3dgs-to-pc

1. 导读

3D Gaussian Splatting (3DGS)擅长于生成高度详细的3D重建,但这些场景通常需要专业的渲染器来实现有效的可视化。相比之下,点云是一种广泛使用的3D表示形式,与大多数流行的3D处理软件兼容,但将3ds场景转换为点云是一项复杂的挑战。在这项工作中,我们介绍了3DGS-to-PC,这是一个灵活且高度可定制的框架,能够将3DGS场景转换为密集、高精度的点云。我们从每个高斯样本中随机抽取点作为3D密度函数。此外,我们使用到高斯中心的Mahalanobis距离来阈值化新点,以防止极端异常值。结果是一个点云,它近似地表示了编码到3D高斯场景中的形状。单个高斯函数使用球谐函数根据视图调整颜色,每个点可能只对最终渲染的场景有细微的颜色暗示。为了避免不符合最终点云的虚假或不正确的颜色,我们通过定制的图像渲染方法重新计算高斯颜色,为每个高斯分配其在所有视图中贡献最大的像素颜色。3DGS-to-PC还支持通过泊松表面重建生成网格,应用于从预测表面高斯采样的点。这允许从3DGS场景中生成彩色网格,而无需重新训练。这个包是高度可定制的,并且能够简单地集成到现有的3DGS管道中。3DGS-to-PC为将3DGS数据转换为点云和基于表面的格式提供了一个强大的工具。

2. 效果展示

3DGS-to-PC如何从Mip-NeRF 360转换自行车场景的展示数据集从三维高斯抛物到密集点云。

图片

四种不同的Mip-NeRF 360数据集场景的3DGS、点云和网格表示之间的比较。点云和网格是使用 3DGS-to-PC在默认参数上生成的,。自行车场景有一个限界框,每个维度为-5到5,仅在网格上实现,以提高图像中自行车的视觉清晰度。3DGS图像使用官方的3D高斯扫描SIBR交互式查看器渲染,而点云和网格图像则从CloudCompare查看器生成。

图片

3. 引言

三维高斯溅射(3DGS)是近期流行的一种视图合成方法。该方法能够从二维图像及其关联的相机姿态生成高质量的三维表示。然而,为了显示三维场景,这些表示的可视化需要专门的高斯渲染器。相比之下,点云是一种成熟的三维表示方法,其中场景中的物体被编码为一系列离散点,通常还会附带颜色信息。点云已成为许多三维流程中的常见组成部分,例如,作为生成完整网格表示的一个步骤,作为深度学习框架的输入,或用于科学测量。此外,点云与众多成熟的三维处理软件兼容。尽管如此,3DGS相较于传统点云具有几个显著优势。这包括三维形状的更准确表示,高斯分布包含三维尺寸和旋转信息,以及能够渲染出细节更丰富的场景。虽然三维高斯场景可以加载到点云软件中,如CloudCompare,但仅利用了每个高斯分布的中心,忽略了如旋转和缩放等几何属性,这些属性对于有效表示场景区域至关重要。结果是,导出的点云比预期更稀疏,且对底层场景物体形状的表示准确性较低。

存在能够将3DGS场景转换为网格的软件包,然后可以再将网格转换为点云。然而,这些方法通常仅关注在训练过程中生成表面网格,而不是提供一种在训练后将整个场景进行转换的机制。为了弥补这一空白,我们引入了3DGS-to-PC框架,该框架旨在将三维高斯场景转换为密集点云。该框架接受.ply或.splat文件格式的3DGS数据,以及.json或COLMAP[13, 14]项目格式的相机姿态。用户可以指定生成的点数,并有多种附加自定义选项来控制点采样。该过程根据每个高斯分布的大小,在整个场景中概率性和均匀性地采样点。场景渲染同时用于根据每个输出点对合成图像的贡献来为其着色,而不是根据其采样自的高斯分布的原始颜色来着色。最终输出的是一个彩色点云,以.ply文件存储,该点云准确反映了原始的高斯场景,并且与成熟的点云处理工具完全兼容。

4. 主要贡献

在本技术报告中,我们提供了3DGS-to-PC中采用的方法的详细信息,具体包括:

渲染新点颜色的过程,以纠正直接从每个高斯颜色采样导致的颜色错误问题。

在三维高斯场景中优化点采样。

我们将高斯表面转换为基本网格表示的方法。

5. 方法

演示如何根据场景中的渲染颜色确定高斯颜色。该场景由一组高斯组成,构成一个黄色物体的表面,以及一个单独的灰色背景表面。显示了每个高斯的透明度(alpha)值。图示的左侧演示了像素颜色渲染,其中遮挡的高斯(例如绿色和红色)共同贡献最终像素颜色,尽管单独这些颜色与环境不匹配。右侧显示了更新过程,其中每个高斯颜色的调整都是为了匹配它贡献最多的像素。例如,绿色高斯被更新为反映黄色像素,而不是灰色像素,因为灰色高斯是不透明的。在实践中,这个过程涉及的相机和像素数量比简化图中所示的要多。

图片

用渲染的颜色演示高斯点生成。每个高斯生成的点数由其体积决定,如图左所示。高斯中心和生成点之间的距离超过2个标准差的点被移除并重新生成,如图右侧所示。这个迭代过程确保最终的点云准确地代表场景,每个高斯点的点数与其体积成正比。

图片

6. 总结 & 未来工作

在本研究中,我们提出了3DGS-to-PC框架,该框架能够从3DGS(三维几何形状)场景中稳健地生成高质量的点云表示。我们的方法通过分析高斯分量对渲染图像中像素颜色的贡献,有效地计算出高斯颜色,从而确保生成的点云中颜色表示的准确性。点的分布与每个高斯分量的体积成正比。利用马氏距离识别出的离群点将被移除并重新生成,以确保3DGS场景的真实表示。该框架还支持通过泊松表面重建生成网格,该方法应用于从预测的表面高斯分量中采样的点。

该框架具有高度的可定制性,提供了降噪、点云密度控制和高斯滤波等选项。此外,由于大部分软件包与原始的3DGS实现共享,因此该框架可以集成到3DGS流水线中。未来的开发工作将侧重于减少渲染时间,并避免在渲染新图像时依赖预先存在的相机姿态。

对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~

### 3DGS渲染软件的选择与下载 对于户外场景的3D高斯泼溅(3DGS)渲染,目前并没有专门针对3DGS设计的通用渲染软件可以直接下载和使用。然而,根据已有的研究和项目进展,可以参考以下方法实现3DGS渲染[^1]。 #### 使用开源项目进行3DGS渲染 一种可行的方式是利用现有的开源项目来构建自己的渲染环境。例如,3DGS-to-PC项目提供了将3DGS场景转换为点云的功能,这使得用户可以在兼容点云文件的3D处理软件中查看和编辑生成的场景[^1]。此外,该项目还支持生成网格模型,进一步增强了对户外场景的应用能力。 为了配置和运行3DGS-to-PC项目,需要满足以下前提条件: - 操作系统:Ubuntu 20.04。 - GPU加速支持:CUDA 11.8。 - 编程环境:Python 3.x(建议3.8更高版本)。 - 已安装好的3D Gaussian Splatting环境。 通过上述配置,用户可以基于现有的3DGS数据集自定义数据集进行渲染实验。 #### 增强渲染质量的工具 在面对稀疏输入视图等挑战性设置时,可以考虑使用3DGS-Enhancer工具。该工具通过引入2D视频扩散先验来解决视角一致性问题,从而显著提升渲染质量[^2]。尽管3DGS-Enhancer本身并不是一个独立的渲染软件,但它可以通过优化初始3DGS模型来间接改善户外场景的渲染效果。 #### 下载与安装步骤 由于3DGS相关工具多以开源形式发布,用户可以通过访问GitHub等代码托管平台搜索相关的项目仓库。例如: 1. 搜索关键词“3D Gaussian Splatting”3DGS-to-PC”。 2. 下载项目源码并按照README文档中的说明完成依赖安装。 3. 使用提供的示例数据集验证渲染效果,随后替换为实际的户外场景数据。 以下是简单的依赖安装示例代码: ```bash # 安装基础依赖 sudo apt update && sudo apt install -y build-essential cmake git # 安装Python依赖 pip install numpy torch torchvision scikit-image pytorch3d opencv-python ``` ### 注意事项 需要注意的是,3DGS渲染技术仍处于快速发展阶段,许多工具可能仅适用于特定的研究环境。因此,在选择和部署相关软件时,应充分评估其适用性和兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值