【论文阅读】Gaussian Grouping: Segment and Edit Anything in 3D Scenes

【论文阅读】Gaussian Grouping: Segment and Edit Anything in 3D Scenes

摘要

高斯投影(Gaussian Splatting)实现了高质量、实时的三维场景新视点合成。不过,它仅专注于外观和几何建模,缺乏对细粒度的物体级场景理解。为了解决这一问题,我们提出了 Gaussian Grouping,将高斯点扩展为联合重建和分割开放世界三维场景中的任意内容。我们为每个高斯添加了一个紧凑的身份编码(Identity Encoding),使得这些高斯点能够根据其在三维场景中的物体实例或“物体/背景”的成员关系进行分组。并不依赖昂贵的三维标签,我们在可微渲染过程中通过利用 Segment Anything Model (SAM) 的二维掩码预测,以及引入的三维空间一致性正则化,对身份编码进行监督。与隐式的 NeRF 表示相比,我们表明离散且分组的三维高斯点能够在三维中以高视觉质量、细粒度和高效性来重建、分割和编辑任意内容。

引言

本文旨在构建一个 expressive 的三维场景表示,不仅对外观和几何进行建模,还捕捉场景中每个实例和物体的身份信息。我们的方法以最近的三维高斯投影(Gaussian Splatting)为基础,将其从纯粹的三维重建扩展到细粒度的场景理解。提出的“Gaussian Grouping”方法能够做到:

  • 同时对场景的每个三维部分进行外观、几何和它们的掩码身份的建模;
  • 将三维场景完全分解为离散分组,例如表示不同对象实例以便进行编辑;
  • 在不降低原始三维重建质量的前提下,实现快速训练和渲染。

Gaussian Grouping 有效地利用了 SAM 的密集二维掩码提案,并通过辐射场渲染将其提升到三维场景中的任意物体的分割。

方法

3D Gaussian Grouping

在本节中,我们将介绍 Gaussian Grouping 的设计。为了使三维高斯点具备细粒度场景理解能力,我们的核心思路是:在保持高斯点原有属性(如位置、颜色、不透明度和大小)不变的前提下,新增身份编码参数(Identity Encoding),其格式类似于颜色建模。这使得每个高斯点都能够被分配到在三维场景中所表示的实例或“物体/背景”之中。

在这里插入图片描述

(a) 2D 图像与掩码输入
为了准备 Gaussian Grouping 的输入,在图2(a)中,我们首先使用 SAM 自动为多视图集合中的每张图像生成掩码。2D 掩码是按图像单独生成的。随后,为了在三维场景中给每个 2D 掩码分配一个唯一的 ID,我们需要在不同视图之间关联具有相同身份的掩码,并获得三维场景中实例/物体的总数 K。

(b) 跨视图的身份一致性
我们在训练中不再依赖基于代价的线性分配的做法 [44] ,而是将三维场景的多视图图像视为视角逐步变化的视频序列。为了实现跨视图的 2D 掩码一致性,我们使用一个训练良好的零-shot 跟踪器 [7] 来传播并关联掩码。这也提供了三维场景中掩码身份的总数。我们在图 2(b) 中对关联的 2D 掩码标签进行了可视化。与文献 [44] 提出的基于代价的线性分配相比,我们发现该方法简化了训练难度,同时避免在每次渲染迭代中重复计算匹配关系,从而实现了超过 60 倍的加速。在密集且相互重叠的 SAM 掩码情形下,该方法还展现出比基于代价的线性分配更好的性能。此外,我们在图 5 中展示了我们对三维掩码关联的鲁棒性,其中来自视频的 2D 关联掩码 [7] 也存在明显错误。

(c)3D 高斯渲染与分组
为了在场景的不同视图之间生成一致的三维掩码身份,我们提出将属于同一实例/物体的三维高斯进行分组。除了现有的高斯属性外,我们还为每个高斯引入一个新的参数,即身份编码(Identity Encoding)。身份编码是一个长度为 16 的可学习且紧凑的向量,我们发现它在保持计算效率的同时足以区分场景中的不同对象/部件。在训练过程中,与表示每个高斯颜色的球面调和系数(SH)类似,我们优化引入的身份编码向量,以表示场景的实例 ID。需要注意的是,与场景的视角相关外观建模不同,实例 ID 在不同渲染视图之间是一致的。因此,我们将身份编码的 SH 阶数设为 0,只对其直流分量进行建模。与基于 NeRF 的方法 [16,19,44] 设计额外的语义 MLP 层不同,身份编码作为每个高斯的可学习属性,用于对三维场景进行分组。
最终渲染出的视频2D掩码身份特征 EidE_{id}Eid​ 在每个像素处是对每个高斯的长度为 16 的 Identity Encoding eie_iei​ 的加权求和,权重为该高斯在该像素处的影响因子 αi′\alpha^′_iαi′​。参见 [61],我们通过测量一个带协方差矩阵 Σ2DΣ^{2D}Σ2D 的二维高斯并乘以一个学习得到的每点不透明度 αiα_iαi​ 来计算 αi′α^′_iαi′​,并且
Σ2D=JW Σ3D JWT \Sigma_{2D} = J_W \, \Sigma_{3D} \, J_W^T Σ2D​=JW​Σ3D​JWT​
其中 Σ3D\Sigma_{3D}Σ3D​ 是三维协方差矩阵,Σ2D\Sigma_{2D}Σ2D​ 是投影后展开的二维版本 [68]。JJJ 是三维到二维投影的仿射近似的雅可比矩阵,WWW 是从世界坐标到相机坐标的变换矩阵。

(d) 组分损失
在对每个训练视图的 2D 实例标签进行关联之后,假设三维场景中共有 K 个掩码。为了按实例/物体掩码身份对每个 3D 高斯点进行分组,我们设计了分组损失 Lid\mathcal{L}_{id}Lid​,用于更新高斯点的 Identity Encoding,包含两个部分:

  1. 2D 身份损失(2D Identity Loss):由于掩码身份标签在 2D 中,我们并不直接对三维高斯的 Identity Encoding eie_iei​ 进行监督。给定 Eq. 1 中渲染得到的 2D 特征 EidE_{id}Eid​ 作为输入,先通过一个线性层 f 将其特征维度恢复到 K,然后对 f(EidE_{id}Eid​) 进行 softmax,以进行身份分类,其中 K 是三维场景中掩码的总数。我们采用一个标准的交叉熵损失 L2d\mathcal{L}_{2d}L2d​,用于 K 类分类。
  2. 3D 正则化损失(3D Regularization Loss):为了进一步提升高斯点的分组准确性,除了对间接的 2D 监督使用的标准交叉熵损失外,我们还引入一个无监督的 3D 正则化损失,以直接对 Identity Encoding eie_iei​ 的学习进行正则化。3D 正则化损失利用三维空间的一致性,强制前 k 个最近邻三维高斯的 Identity Encoding 在特征距离上保持接近。这使得位于 3D 物体内部、或在点渲染(式(1))中几乎在所有训练视图中都不可见的高斯点,能够得到更充分的监督。在 Eq. 3 中,我们将 F 表示在线性层 f 之后的 Softmax 操作(在计算 2D Identity Loss 时共用)。我们用带有采样点的 KL 散度损失来形式化,记为 m 采样点的 KL 损失。
在这里插入图片描述


其中 P 包含一个三维高斯点采样得到的 Identity Encoding e,而集合 Q = {e′1, e′2, …, e′k} 则由其在三维欧氏空间中的最近邻的 k 个向量组成。为简洁起见,我们省略在线性层 f 之后的 Softmax 操作。

结合在图像渲染上使用的传统三维高斯重建损失,用于端到端完全训练的总损失记为 Lrender\mathcal{L}_{render}Lrender​:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

用于场景编辑的高斯分组

在完成 3D 高斯场的训练与分组(第 3.2 节)后,如图 3 所示,我们用一组分组后的三维高斯来表示整个三维场景。为执行各种后续的局部场景编辑任务,我们提出高效的局部高斯编辑(Local Gaussian Editing)。得益于解耦的场景表示,我们无需对所有 3D 高斯进行微调,而是冻结大部分已经良好训练的高斯的属性,只调整与编辑目标相关的少量现有或新添加的 3D 高斯。

  • 对于 3D 目标移除,我们只需删除编辑目标的 3D 高斯。
  • 对于 3D 场景的重新组合,我们在两个高斯组之间交换其 3D 位置。这两种编辑应用都是直接可用的,无需额外的参数调优。
  • 对于 3D 目标修复(inpainting),我们首先删除相关的 3D 高斯,然后在渲染过程中通过 LaMa [46] 的 2D 修复结果来监督添加少量新高斯。
  • 对于 3D 目标着色,我们仅调整相应高斯组的颜色(SH)参数,以保持学到的三维场景几何结构不变。
  • 对于 3D 目标风格迁移,我们进一步解冻 3D 位置和尺寸,以实现更真实的效果。

实验

见原文。

结论

本文提出了高斯分组(Gaussian Grouping),这是首个基于三维高斯点的能够在开放世界三维场景中实现“共同重建与分割”的能力的方法。方法引入了一种用于三维高斯的 Identity Encoding,它通过 SAM 的二维掩码预测以及三维空间一致性来进行监督。基于这一分组且离散化的三维场景表示,方法进一步展示了其能够支持多种场景编辑应用,例如三维对象移除、三维对象修复、三维对象风格迁移和场景重新组合,同时兼具高质量的视觉效果和较高的时间效率。


Author:ChiAuthor: ChiAuthor:Chi

Read more

Google AI Studio 全指南:从入门到精通 Gemini 开发

在生成式 AI 的浪潮中,Google 凭借 Gemini 模型系列强势反击。而对于开发者来说,想要体验、调试并集成 Gemini 模型,最佳的入口并不是 Google Cloud Vertex AI(那是企业级的),而是 Google AI Studio。 Google AI Studio 是一个基于 Web 的快速原型设计环境,它允许开发者极速测试 Gemini 模型,并将测试好的 Prompt(提示词)一键转换为代码。本文将带你从零开始,掌握这款强大的工具。 一、 什么是 Google AI Studio? Google AI Studio 是 Google 为开发者提供的免费(或低成本)AI

API 调用基础:执行式AI必备网络请求知识

API 调用基础:执行式AI必备网络请求知识

API 调用基础:执行式AI必备网络请求知识 📝 本章学习目标:本章是入门认知部分,帮助零基础读者建立对AI Agent的初步认知。通过本章学习,你将全面掌握"API 调用基础:执行式AI必备网络请求知识"这一核心主题。 一、引言:为什么这个话题如此重要 在AI Agent快速发展的今天,API 调用基础:执行式AI必备网络请求知识已经成为每个开发者和研究者必须了解的核心知识。无论你是技术背景还是非技术背景,理解这一概念都将帮助你更好地把握AI时代的机遇。 1.1 背景与意义 💡 核心认知:AI Agent正在从"对话工具"进化为"执行引擎",能够主动完成任务、调用工具、与外部世界交互。这一变革正在深刻改变我们的工作和生活方式。 从2023年AutoGPT的横空出世,到如今百花齐放的Agent生态,短短一年多时间,执行式AI已经从概念走向落地。根据最新统计,全球AI Agent市场规模已突破百亿美元,年增长率超过100%

手把手|VSCode搭建Claude编程环境,低成本用AI写代码

手把手|VSCode搭建Claude编程环境,低成本用AI写代码

📌 教程前言 作为海南大学大一学生,从零开始搞定VSCode调用AI写代码、做UI,全程无复杂操作,跟着步骤走就能成功。避开报错坑、网络坑、扣费坑,低成本用上高效AI编程工具,新手也能一次通关。 ✅ 前期准备 * 电脑系统:Windows(本教程适配Windows环境) * 提前装好:VSCode编辑器、Node.js(版本v24.14.0即可) * 备好手机号(用于DeepSeek平台注册) * 备用:网络环境稳定,避免安装卡顿 🔧 步骤一:全局安装Claude命令行工具 1. 按下Win+X,打开Windows PowerShell,先检查Node版本,确认已安装 (安装地址https://nodejs.org/en) node-v 2. 执行安装命令,切记不要打错包名,少字母会直接报错 npminstall-g @anthropic-ai/claude-code 3. 等待安装完成,

OpenClaw 接入 QVeris:让你的 AI 助手拥有实时数据查询能力

OpenClaw 接入 QVeris:让你的 AI 助手拥有实时数据查询能力

摘要:本文详细介绍如何在 OpenClaw 中配置和使用 QVeris API,让 AI 助手能够查询实时股票行情、天气数据、新闻资讯等外部信息。通过实际案例演示,帮助你快速上手这个强大的工具集成方案。 一、为什么需要 QVeris? 1.1 AI 助手的数据困境 使用过 AI 助手的朋友都知道,大模型有一个天然的局限性:训练数据有截止时间,无法获取实时信息。 比如你想问: * "今天 A 股涨幅榜前 10 的股票有哪些?" * "北京现在的天气怎么样?" * "特斯拉最新的股价是多少?" 如果没有外部数据源,AI 助手只能基于训练数据"猜"一个答案,准确性可想而知。 1.2