【3DGS新进展】ETH再发DepthSplat: Connecting Gaussian Splatting and Depth

[3DGS进展] ETH等DepthSplat证明3DGS与Henderson估计任务是可相互促进提升的,并在多个数据集上同时取得深度估计和NVS任务的SOTA

高斯点云绘制和单/多视角深度估计通常是独立研究的。在本文中,我们提出了DepthSplat来连接高斯点云绘制和深度估计,并研究它们之间的相互作用。具体来说,我们首先通过利用预训练的单目深度特征贡献了一个强大的多视角深度模型,从而实现高质量的前馈3D高斯点云绘制重建。我们还展示了高斯点云绘制可以作为学习强大深度模型的无监督预训练目标,从大规模未标记数据集中学习。我们通过大量消融和跨任务转移实验证实了高斯点云绘制和深度估计之间的协同作用。我们的DepthSplat在ScanNet、RealEstate10K和DL3DV数据集上在深度估计和新视角合成方面实现了最先进的性能,展示了连接两个任务的相互益处。我们的代码、模型和视频结果可在https://haofeixu.github.io/depthsplat/上找到。
论文链接: http://arxiv.org/abs/2410.13862v1

文章主要内容

这篇文章介绍了一种新的模型 DepthSplat,它将3D Gaussian Splatting多视图深度估计这两个通常单独研究的任务结合在一起。文章的目标是通过这两个任务之间的交互,提升深度估计和新视角合成的性能。DepthSplat模型提出了一种融合单视图深度估计特征与多视图特征匹配的架构,并展示了如何通过无监督的方式,使用Gaussian Splatting进行深度预训练,从而在多个任务中取得显著的性能提升。

在这里插入图片描述

解决的问题

传统的多视图深度估计和3D重建方法面临以下几个挑战:

  1. 遮挡、纹理缺失和反射表面:多视图深度估计中的特征匹配在这些场景中常常表现不佳。
  2. 数据监督需求高:大多数深度估计方法需要带有真实几何标注的数据,限制了其在无标注数据中的应用。
  3. 多视图一致性不足:单视图深度估计模型在不同视角之间缺乏一致性,导致3D重建精度下降。

DepthSplat通过以下方式解决这些问题:

  1. 融合单视图和多视图特征:引入预训练的单视图深度模型特征,并将其与多视图特征匹配结果结合,提升了在复杂场景下的深度估计准确性。
  2. 无监督预训练:利用3D Gaussian Splatting作为无监督的预训练任务,从大量未标注的数据集中学习深度信息,无需依赖真实的几何标注。
  3. Transformer架构:多视图Transformer通过跨视角的特征交换,解决了多视图匹配中的一致性问题,提升了多视图重建的精度。

在这里插入图片描述

优点

  1. 性能提升:DepthSplat在多个基准数据集(如ScanNet、RealEstate10K、DL3DV)上都取得了最新的最佳结果,特别是在复杂场景(如遮挡、反射和纹理缺失的区域)中表现出色。
  2. 无监督学习能力:该模型提出了利用3D Gaussian Splatting进行无监督深度预训练的机制,可以从大规模未标注数据中学习,减少了对标注数据的依赖。
  3. 跨任务互补:通过将深度估计和视图合成任务相结合,模型在两者之间实现了性能互补,提升了新视角合成和深度估计的准确性。

在这里插入图片描述
在这里插入图片描述

局限性

  1. 对相机位姿信息的依赖:当前模型仍然依赖于输入的多视图相机位姿信息,这限制了其在无位姿数据的场景中的应用。
  2. 计算复杂度:尽管模型在准确性上有显著提升,但Transformer架构和多视图特征匹配的计算代价仍然较高,尤其是处理高分辨率和多视图输入时。
  3. 场景限制:虽然模型在一些复杂场景中表现良好,但在更大规模、户外或动态场景中的泛化能力仍需进一步验证。

未来工作

文章提到的未来工作主要集中在以下几个方面:

  1. 消除对相机位姿信息的依赖:未来的研究方向之一是去除相机位姿的需求,使模型可以在没有位姿信息的情况下处理多视图数据。
  2. 扩展到更多场景:未来可以探索将DepthSplat应用到更大规模和更加复杂的场景,如户外环境和动态场景中,以进一步验证其鲁棒性和泛化能力。
  3. 提升计算效率:尽管DepthSplat已经在计算效率上做了优化,未来工作可以进一步减少其计算成本,尤其是在处理更多视图时的性能表现。

评价

这篇文章通过创新性地将Gaussian Splatting和深度估计结合起来,提出了一种性能优越的多任务模型。它解决了传统深度估计和3D重建中存在的一些核心问题,并通过无监督学习扩展了模型的适用范围。文章中的实验充分验证了模型在多个任务中的有效性,尤其是在遮挡、纹理缺失等复杂场景中的表现非常出色。

然而,该方法在实际应用中的一些局限性,如对相机位姿的依赖和计算成本高的问题,仍需要进一步的研究来优化。因此,尽管DepthSplat在深度估计和视图合成任务中表现优越,但在更大规模和动态场景中的应用还有待进一步验证和扩展。总体而言,这篇文章为3D视觉任务中的跨任务学习提供了新的思路,具有很高的研究价值。

### 实现 3D Gaussian Splatting 的准备工作 为了在 Ubuntu 上成功实现 3D Gaussian Splatting (3DGS),需要确保操作系统环境已经准备好并安装必要的依赖项。对于 Ubuntu 22.04 版本,建议按照以下指南操作。 #### 安装基础软件包 首先更新系统的软件源列表,并安装一些基本工具和库: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install build-essential cmake git wget unzip pkg-config libopencv-dev python3-pip -y ``` #### 设置 Python 和 PyTorch 环境 由于 3D Gaussian Splatting 需要使用到 PyTorch 进行模型训练与推理,因此需先确认 CUDA 版本再选择合适的 PyTorch 版本来安装[^1]。可以通过命令 `nvcc --version` 来查看当前 GPU 所支持的 CUDA 版本号。接着通过 pip 工具来安装对应版本的 PyTorch 及其扩展组件 torchvision: ```bash pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 ``` 这里假设使用的 CUDA 是 11.7 版本;如果不是,则应调整 URL 中 cu 后面的部分以匹配实际的 CUDA 版本。 #### 获取项目代码 从 GitHub 下载官方提供的 3D Gaussian Splatting 源码仓库: ```bash git clone https://github.com/graphdeco-inria/gaussian-splatting.git cd gaussian-splatting ``` #### 编译 C++ 组件 进入克隆下来的目录后,编译所需的 C++ 插件模块: ```bash mkdir build && cd build cmake .. make -j$(nproc) ``` 这一步骤会生成执行文件和其他必需的支持文件。 #### 准备数据集 如果打算测试自采集的数据集,在此之前还需要做额外的工作来处理这些原始图像序列或者点云数据,使其能够被算法所接受。具体方法可以参见相关文档说明[^3]。 #### 测试运行 最后,尝试启动示例程序验证整个流程是否正常工作: ```bash python3 main.py --config configs/example.yaml ``` 以上就是在 Ubuntu 平台上部署 3D Gaussian Splatting 技术的大致过程概述。需要注意的是,不同硬件配置可能会遇到不同的兼容性和性能优化问题,所以在实践中可能还需进一步调试参数设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值