当前位置: 首页 > news >正文

【论文精读】COLMAP-Free 3D Gaussian Splatting

今天读一篇CVPR2024 Highlight的文章,这篇文章直接与NoPe-NeRF对标,相当于其3D-GS版本。
项目地址:点击前往

关于NoPe-NeRF的解读可以看我之前的文章:【论文精读】NoPe-NeRF: Optimising Neural Radiance Field with No Pose Prior

文章目录

  • Abstract
  • 1. Introduction
  • 2. Related Work
    • Novel View Synthesis
    • NeRF Without SfM
  • 3. Method
    • 3.1 3D Gaussian Splatting 预备知识
    • 3.2 Local 3DGS:估计相对相机位姿
      • 步骤一:初始化局部高斯点集
        • 步骤二:优化相对位姿
      • 3.3 Global 3DGS:逐帧更新构建全局模型
        • Densification(点补充)
        • 最终效果
    • 总结:模块本质
  • 4. Experiments
    • 数据集
    • 评估指标
    • 性能对比
  • 5. Ablation Studies
    • 逐步增长 vs 单阶段优化
    • 使用深度损失
    • 与 COLMAP + 3DGS 对比
  • 6. Conclusion

Abstract

本论文提出一种无需COLMAP等SfM预处理的3D-GS,用于无相机位姿信息的场景重建和新视角合成。与NeRF等隐式方法不同,GS提供了显式点云表达,使得可以直接对几何结构和相机位姿进行优化。该方法通过逐帧处理输入视频,利用视频的时间连续性,逐步建立和优化一组全局高斯点云,并在过程中联合优化相机位姿。实验表明,CF-3DGS在大幅度相机运动下仍能实现优于现有方法的合成质量和位姿估计准确性。

1. Introduction

NeRF类方法对准确的相机位姿依赖严重,而常用的SfM工具如COLMAP存在:

  • 特征提取不稳定;
  • 在纹理缺失或重复结构场景中容易失败;
  • 处理耗时。

已有一些方法尝试在NeRF框架中联合优化位姿,但由于其隐式表达和光线投射机制,优化通常困难、缓慢,且需良好的初始化。相反,Gaussian Splatting提供了显式点表示,适合直接进行变换。

CF-3DGS的核心思想:

  1. 局部对齐:每次仅考虑相邻两帧之间的相对位姿,估计affine变换;
  2. 全局整合:逐步将当前帧的信息融合到全局高斯模型中;
  3. 不再依赖 SfM 预处理,而是仅使用视频帧和内参。

2. Related Work

Novel View Synthesis

传统方法包括使用:

  • 平面、网格、点云、多平面图像;
  • NeRF及其衍生变种(MipNeRF、Zip-NeRF、Ref-NeRF等);
  • PointNeRF和Gaussian Splatting等显式点云方法。

这些方法大多依赖SfM获取相机位姿。

NeRF Without SfM

为减少对SfM的依赖,已有一些尝试:

  • i-NeRF、NeRFmm:联合优化姿态与 NeRF;
  • BARF、GARF:使用coarse-to-fine encoding;
  • Nope-NeRF:引入单目深度作为几何先验;
  • MonoNeRF、RUST、FlowCam:使用自监督方式泛化到无姿态视频,但渲染效果较差。

多数方法存在问题:

  • 仅适用于小范围运动;
  • 训练时间长(>10h);
  • 需要初始化或几何先验。

3. Method

在这里插入图片描述
本方法的目标是:仅凭图像序列(含已知内参)进行新视图合成与相机位姿估计,无需 SfM提供初始外参。

核心思想是结合:

  1. 显式点云表达(3D-GS自带buff);
  2. 视频帧的时间连续性(用于近邻帧相对位姿估计);
  3. 从局部到全局的高斯集合构建方式

3.1 3D Gaussian Splatting 预备知识

和其他文章一样,简介3D-GS。

3.2 Local 3DGS:估计相对相机位姿

核心问题:NeRF中常通过间接方式优化pose(例如反向传播 ray origin),效率低下。而 3DGS是显式点表示,可以直接学习刚性变换。

步骤一:初始化局部高斯点集

使用单目深度网络(如 DPT)从当前帧 I t I_{t} It获取深度图 D t D_{t} Dt,将其点云初始化 G t G_{t} Gt

目标是最小化渲染图与当前帧的重建误差:

G t ∗ = arg ⁡ min ⁡ c t , r t , s t , α t L r g b ( R ( G t ) , I t ) (6) G_t^* = \arg\min_{c_{t},r_{t},s_{t},\alpha_{t}} \mathcal{L}_{rgb}(\mathcal{R}(G_t), I_t) \tag{6} Gt=argct,rt,st,αtminLrgb(R(Gt),It)(6)

  • R ( G t ) \mathcal{R}(G_t) R(Gt):3DGS渲染;
  • L r g b \mathcal{L}_{rgb} Lrgb:图像重建损失。

损失定义为:

L r g b = ( 1 − λ ) L 1 + λ L D − S S I M (7) \mathcal{L}_{rgb} = (1 - \lambda)\mathcal{L}_1 + \lambda \mathcal{L}_{D-SSIM} \tag{7} Lrgb=(1λ)L1+λLDSSIM(7)

  • L 1 \mathcal{L}_1 L1:像素L1损失;
  • L D − S S I M \mathcal{L}_{D-SSIM} LDSSIM:结构相似性损失;
  • λ = 0.2 \lambda = 0.2 λ=0.2:平衡项。
步骤二:优化相对位姿

利用已训练好的3D-GS G t ∗ G_{t}^{*} Gt,我们冻结其所有属性,仅学习一个刚体变换 T t T_{t} Tt,使其变换后能拟合帧 t + 1 t+1 t+1

T t ∗ = arg ⁡ min ⁡ T t L r g b ( R ( T t ⊙ G t ) , I t + 1 ) (8) T_t^* = \arg\min_{T_t} \mathcal{L}_{rgb}(\mathcal{R}(T_t \odot G_t), I_{t+1}) \tag{8} Tt=argTtminLrgb(R(TtGt),It+1)(8)

  • T t ⊙ G t T_t \odot G_t TtGt:表示将 G t G_{t} Gt应用 T t T_{t} Tt变换;
  • 由于帧间距离小,变换小、易优化;
  • 优化变量仅为旋转(四元数)+ 平移(3D 向量)。

这一部分的核心意义在于:

  • 利用近邻帧的局部几何对齐来估计相对相机姿态;
  • 避免了全局图优化所带来的高维非凸问题;
  • 更快收敛,适合大规模视频。

3.3 Global 3DGS:逐帧更新构建全局模型

局部对齐只能估计相邻帧之间的相对变换,但构建完整场景需要一个不断增长的全局点云模型。

核心机制:

  • 维护一个全局 G g l o b a l G_{global} Gglobal
  • 每接收到一帧,就通过累计 T T T变换推导出与第一帧的相对位姿;
  • 将当前帧的局部高斯投影进全局模型,并联合优化。
Densification(点补充)

通过梯度的大小判断哪些区域尚未被很好重建,对这些区域插值添加新的高斯点(参考原 3DGS方法):

  • 每隔 N N N帧进行一次;
  • 保持全局模型持续增长,避免中途停止densify导致部分区域渲染模糊。
最终效果

这种从 局部配准 → 全局融合 → 多步 densify → 全图优化 的策略:

  • 保证了结构一致性与位姿连贯性
  • 对输入顺序鲁棒,可支持视频或连拍图像;
  • 同时提升合成质量与相机姿态估计精度。

总结:模块本质

模块作用创新点
Local 3DGS相邻帧之间估计相对 pose显式刚体变换优化,不依赖ray tracing
Global 3DGS构建统一高斯点云模型逐帧融合,避免全局bundle adjustment
Densification弥补视角缺失区域利用梯度引导,动态补全点云
RGB losssupervision使用photometric loss即可稳定优化pose与3DGS

4. Experiments

数据集

  • Tanks and Temples:8 个室内外场景,小范围相机移动;
  • CO3D-V2:多个类别的 360° 物体视频,挑战大。

评估指标

  • 新视角合成:PSNR, SSIM, LPIPS;
  • 相机姿态估计:RPEt, RPEr, ATE;
  • 所有pose都经过Procrustes对齐。

性能对比

Table 3中:

方法PSNR ↑SSIM ↑LPIPS ↓训练时长
Nope-NeRF26.860.730.47~30h
Ours29.690.890.29~2h
  • 在CO3D v2的大范围运动下,本方法大幅超越Nope-NeRF;
  • Pose估计方面,平均RPEt从0.400降到0.140。

5. Ablation Studies

逐步增长 vs 单阶段优化

  • 不使用 progressive growth 会导致合成质量与姿态估计性能下降显著(如 Table 5中Church 场景 PSNR 从 30.23 降至 22.01)。

使用深度损失

  • 添加深度监督并不能提升性能,反而略有下降,说明显式点表示在photometric loss下已能很好优化。

与 COLMAP + 3DGS 对比

  • 无需 COLMAP 情况下,CF-3DGS 的新视图质量与原始 3DGS 接近甚至更优。

6. Conclusion

本文提出了CF-3DGS,在无相机位姿的情况下实现联合相机姿态估计和高质量新视图合成:

  • 利用了视频时间连续性;
  • 显式点云结构便于优化;
  • 适用于复杂相机轨迹场景;
  • 快速训练,效果强大。

局限性

  • 依赖帧序列信息,不适用于无序图像集;
  • 后续可拓展至 unordered image collection。

相关文章:

  • [linux] vim 乱码
  • C++ 哈希表
  • Qt QML实现Windows桌面歌词动态播放效果
  • QtApplets-实现应用程序单例模式,防止重复运行
  • 2025年Q2(流动式)起重机司机考试题
  • 【Windows本地部署n8n工作流自动平台结合内网穿透远程在线访问】
  • Ubuntu利用docker搭建Java相关环境记录(二)
  • Vision Transformer项目分析与介绍
  • 压缩包网页预览(zip-html-preview)
  • Apache Atlas构建安装(Linux)
  • Python 深度学习 第8章 计算机视觉中的深度学习 - 卷积神经网络使用实例
  • YOLO训练多评价指标曲线画图
  • 【2025“华中杯”大学生数学建模挑战赛】选题分析 A题 详细解题思路
  • k8s报错kubelet.go:2461] “Error getting node“ err=“node \“k8s-master\“ not found“
  • 【秣厉科技】LabVIEW工具包——OpenCV 教程(20):拾遗 - imgproc 基础操作(下)
  • Python实例题:Python自动化开发-考勤处理
  • iptables防火墙
  • 深入浅出 Redis:核心数据结构解析与应用场景Redis 数据结构
  • 简述Apache RocketMQ
  • R语言简介与下载安装
  • 中国田径巡回赛西安站完赛:男子跳远石雨豪夺冠,女子跳高刘肼毅折桂
  • C919上海虹桥-深圳航线开通,东航今年计划再接收10架C919
  • 以色列在加沙发起新一轮强攻,同步与哈马斯展开“无条件谈判”
  • 明查| 新一代AI诊疗系统可3秒筛查13种癌症?没有证据
  • 泽连斯基启程前往土耳其
  • 今天北京白天气温超30℃,晚间为何下冰雹?