【论文阅读】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

【无人机避障算法核心技术】:揭秘五种主流算法原理与实战应用场景

第一章:无人机避障算法概述 无人机避障算法是实现自主飞行的核心技术之一,其目标是在复杂环境中实时感知障碍物,并规划安全路径以避免碰撞。随着传感器技术和计算能力的提升,避障系统已从简单的距离检测发展为融合多源信息的智能决策体系。 避障系统的基本组成 典型的无人机避障系统包含以下关键模块: * 感知模块:利用激光雷达、超声波、立体视觉或RGB-D相机获取环境数据 * 数据处理模块:对原始传感器数据进行滤波、特征提取和障碍物识别 * 决策与规划模块:基于环境模型生成避障轨迹,常用算法包括A*、Dijkstra、RRT和动态窗口法(DWA) 常见避障算法对比 算法优点缺点适用场景A*路径最优,搜索效率高高维空间计算开销大静态环境全局规划DWA实时性强,适合动态避障局部最优风险室内低速飞行RRT*渐进最优,适应复杂空间收敛速度慢三维未知环境 基于深度学习的避障方法示例 近年来,端到端神经网络被用于直接从图像生成控制指令。以下是一个简化的行为克隆模型推理代码片段: import torch import torchvision.transforms as tran

【Mac 实战】简单知识图谱搭建步骤详解(Neo4j + py2neo)

【Mac 实战】简单知识图谱搭建步骤详解(Neo4j + py2neo)

目录 一、Neo4j图数据库 1、neo4j 安装 - mac brew版 2、neo4j 快速入门 3、neo4j 基本操作 (1)增操作 (2)查操作 (3)改操作 (4)删操作 4、安装py2neo 二、数据预处理 1、数据清洗 2、知识建模 (1)识别实体 (2)识别实体属性 (3)识别关系 三、搭建知识图谱 博主的数据集是用的自己的数据集,大家练习时可以在网上找一个数据量小的数据集练手。 一、Neo4j图数据库         Neo4j 是一个高性能的、原生的图数据库。它不采用传统的行和列的表格结构,而是使用节点和关系的图结构来存储和管理数据。 1、neo4j

SpringBoot + Low-Code + JSON 表单引擎:5 分钟配置一套审批流,告别重复 CRUD

前言 在企业级应用开发中,审批流是一个高频需求。无论是请假申请、费用报销,还是采购审批,都需要一套完整的表单和流程系统。传统开发模式下,每个审批流都需要单独开发表单页面、验证逻辑、数据存储和流程控制,不仅耗时耗力,还容易出现重复造轮子的情况。今天,我将和大家分享一个基于SpringBoot的低代码表单引擎解决方案,通过JSON配置,实现5分钟配置一套审批流,彻底告别重复的CRUD开发。 原文链接 为什么需要低代码表单引擎? 1. 开发效率问题 传统审批流开发需要经历以下步骤: * 设计表单UI界面 * 实现前端交互逻辑 * 开发后端API接口 * 编写数据验证逻辑 * 集成工作流引擎 * 实现审批节点配置 * 部署和测试 整个过程可能需要几天甚至几周时间,而且每个新流程都要重复这些步骤。 2. 维护成本高昂 随着业务发展,表单字段经常需要调整,流程节点需要变更,每次修改都需要开发人员介入,增加了维护成本和响应时间。 3. 业务人员参与度低 业务人员无法直接参与表单和流程的设计,只能被动接受开发结果,导致最终产品与实际需求存在偏差。 核心技术方案

智元机器人三大产线

智元机器人三大产线

执行摘要 2025 年 12 月 8 日,智元机器人迎来了具有里程碑意义的时刻 —— 第 5000 台通用具身机器人在上海临港工厂正式量产下线。这一成就标志着中国具身智能产业从技术验证阶段全面迈入规模商用时代。智元机器人通过三年的快速发展,已建立起远征、灵犀、精灵三大产品矩阵,累计出货 5000 台,其中远征 A1/A2 下线 1742 台,灵犀 X1/X2 下线 1846 台,精灵 G1/G2 下线 1412 台(3)。 在技术层面,智元机器人实现了多项重大突破。其自主研发的 PowerFlow 关节电机峰值扭矩超过 350N・m,重量仅 1.6kg,采用准直驱技术方案,相较传统谐波减速器方案成本降低