【三维分割】Gaga:通过3D感知的 Memory Bank 分组任意高斯

news2025/2/25 11:05:10

在这里插入图片描述


文章目录

  • 摘要
  • 一、引言
  • 二、主要方法
    • 2.1 3D-aware Memory Bank
    • 2.2 三维分割的渲染与下游应用
  • 三、实验
    • 消融实验
    • 应用: Scene Manipulation


地址:https://www.gaga.gallery
标题:Gaga: Group Any Gaussians via 3D-aware Memory Bank
来源:加利福尼亚大学;Nvidia;Google

摘要

  Gaga,一个通过利用zero shot分割模型预测的不一致的2D mask来重建和分割开放世界的3D场景的框架。与之前严重依赖于视频物体跟踪的3D场景分割方法相比,Gaga利用了空间信息,并有效地关联了不同相机pose中的物体mask
。通过消除训练图像中连续视图变化的假设,Gaga展示了对相机姿态变化的鲁棒性,特别有利于稀疏采样的图像,确保了精确的mask标签的一致性。此外,Gaga适应了来自不同来源的二维分割mask,并在不同的开放世界zero shot分割模型中表现出了稳健的性能
,增强了其通用性。

  

  


一、引言

  有效的开放世界三维分割对场景的理解和操作至关重要。尽管2D分割技术有了显著的进步,例如SAM和EntitySeg ,将这些方法扩展到3D领域,但遇到了确保多视图图像之间一致的mask标签分配的挑战。具体来说,不同视图的mask可能有不同的mask id,因为多视图图像是由二维分割模型单独处理的。简单地将这些不一致的二维掩模提升到3D中会导致模糊性,导致三维场景分割效果较差。因此,我们认为,在将每个掩模提升到3D之前,为每个掩模分配一个多视图一致的通用掩模ID是至关重要的。我们将此任务称为掩码关联。

  先前的研究工作[9,26]建立在三维重建的高斯溅射[3DGS],试图通过将多视图图像数据集视为视频序列,采用现成的视频对象跟踪方法[6]来解决这一任务。然而,这种设计依赖于多视图图像之间的视图变化最小的假设,这种情况在现实世界的3D场景中可能并不一致地存在。因此,这些方法会与类似的物体或被遮挡的物体作斗争,这些物体会不时地消失和重新出现,如图2所示。

在这里插入图片描述

  因此,我们分析了三维mask关联和视频对象跟踪任务之间的基本差异:对固有的三维信息的利用。具体来说,不同视图的同一对象的mask应对应于同一组三维高斯。因此,如果两组分散的三维高斯分布之间有很大的重叠,我们可以从具有相同通用mask ID的不同视图分配两个mask

  基于这种直觉,我们提出了Gaga,一个框架,将任何3D高斯进行分组,并在不同视图中呈现一致的3D分割。给定一组假设的RGB图像,我们首先使用高斯溅射法重建一个三维场景,并使用开放世界分割方法提取二维掩模。随后,我们迭代地构建一个三维感知存储库,它收集和存储按类别分组的高斯数据。具体来说,对于每个输入视图,我们使用相机参数将每个二维掩模投影到三维空间中,并在内存库中搜索与失投影掩模重叠最大的类别。根据重叠的程度,我们要么将掩码分配给一个现有的类别,要么创建一个新的类别。最后,按照上述掩模关联过程,我们利用一致的二维掩模学习每个高斯分布的特征进行渲染分割。

  我们的方法Gaga能够1)合成新的RGB视图图像,分割具有固有的三维一致性;2)基于二维分割掩模对三维高斯分布进行分组,为场景操作提供精确的三维实例分割;3)适应任何二维分割方法,不需要额外的掩模预处理。我们的贡献总结如下:

  • 我们提出了一个框架,使用由开放世界分割模型生成的不一致的二维掩模来重建和分割三维场景。
  • 为了解决二维掩模跨视图的不一致性,我们设计了一个3守护软件存储库,收集相同语义组的高斯数据。然后使用这个内存库跨不同的视图对齐2D掩模。
  • 研究结果表明,该方法可以有效地利用任何二维分割掩模,使其易于适用于合成新的视图图像和分割mask。
  • 我们在不同的数据集和具有挑战性的场景上进行了全面的实验,包括稀疏输入视图,以定性和定量地证明所提方法的有效性

二、主要方法

  高斯的图像像素渲染公式:

在这里插入图片描述

  身份编码。每个高斯分配一个16维特征,通过分类器 L L L 解码为一个逐像素的分割mask ID m x , y m_{x,y} mx,y的每个像素(x,y):

在这里插入图片描述
产生的mask IDs 由 2D 分割masks监督。

2.1 3D-aware Memory Bank

  给定带pose图像,目标是重建一个具有语义标签的三维场景进行分割渲染。为此,首先利用高斯溅射法进行场景重建。然后使用一种开放世界的二维分割方法,如SAM [14]或EntitySeg [21]来预测每个输入图像的类未知分割。然而,由于分割模型独立地处理每个输入图像,所得到的掩模自然不是多视图一致的。为了解决这个问题,[9,26]假设附近的输入视图是相似的,并应用一个视频对象跟踪器来关联不同视图的不一致的2D掩模。然而,这个假设可能并不适用于所有的3D场景,特别是当输入视图是稀疏的时。

  Gaga的灵感来自于跨多个视图的面具关联任务和视频中的跟踪对象之间的根本差异:3D信息的整合。为了在不同的视图中可靠地生成一致的mask,我们提出了一种利用三维信息的方法,而不依赖于对输入图像的任何假设:在不同视图中属于同一实例的mask将对应于三维空间中的同一高斯群。因此,这些高斯分布应该被分组在一起,并分配一个相同的 group ID。

  我们首先将每个二维分割mask与其相应的三维高斯分布关联起来。具体地说,给定每个输入图像的pose,将所有三维高斯splat到相机帧上。随后,对于图像中的每个mask,识别出哪些三维高斯被投影在该mask中。这些高斯模型应该被识别为3D mask的表示,并作为关联不同视角的mask的指导。

  值得注意的是,mask通常描述了在当前相机pose下的前景物体的形状。然而,如图4 (a)所示,很大一部分高斯对二维分割mask的像素没有贡献,因为它们代表了位于后面的对象。为了解决这个问题,我们选择最接近相机帧的三维高斯的前x%作为mask对应的高斯。x是一个超参数,根据场景的性质进行调整。如图4 (b)行1所示,基于整个mask选择对应的高斯不能准确地表示大的mask的形状,且不能将不同像机pose的mask关联起来。为了解决这个问题,我们提出了一种策略,将图像划分为32个×32个patch,将每个patch内最接近像机帧的三维高斯的前x%的集合识别为mask m m m的对应高斯,记为G (m)。如图4 (b)行2所示,这种简单的策略有效地提高了不同视图间关联掩模的一致性。.

  3D-aware Memory Bank用于收集并分组三维高斯,用来关联不同视图中的mask:给定一组图像,先将第一张图像中每个mask的相应高斯分储到一个group中,并使用一个group ID来初始化3d感知记忆库。对于后续图像的二维mask,首先找到对应的高斯,然后将其分配给内存库中的已有group;如果它们与内存库中的现有group没有相似之处,则建立一个新的group

  通过高斯重叠,来分配Group ID。这里,我们通过共享高斯的百分比来定义两组3DGS的相似性。具体来说,给定二维mask m m md 对应的3DGS(记为 G ( m ) G(m) G(m) 和Memory Bank中的group i i i(记为G_i)的3DGS,计算共享高斯(利用索引) G ( m ) ∩ G i G(m)∩G_i G(m)Gi的重叠的比例:

在这里插入图片描述
如果group i i i在Memory Bank的所有组中与mask m m m 的重叠最高,且大于阈值,则:

在这里插入图片描述

2.2 三维分割的渲染与下游应用

  在分配group ID之后,由同一组3DGS投影的mask应该在不同的视图中具有相同的ID。与Gaussian grouping]类似,使用这些mask作为伪标签,并通过训练身份编码将它们提升到3D。由于已经预训练过3DGS,所以只修复其他属性(例如,位置、不透明度等)

  

  

三、实验

  数据集。使用了一个场景理解数据集LERF-Mask [26],以及两个室内场景数据集:Replica[23]和ScanNet [8]。LERF-Mask是基于LERF数据集[12],并由[26]的作者用任务和地面真相进行了注释。它包含了3个场景:figurines, ramen,和 teatime。对于每个场景,选择6-10个对象作为文本查询,并使用Grounding DINO [17]从渲染的分割中选择mask ID。Replica[23]和ScanNet使用了8个场景,每个场景包含180张训练图像和相同数量的图像用于测试。在ScanNet中使用了7个场景,每个场景包含超过300张训练图像和大约100张测试图像。请注意,所有注释的分割mask在训练期间都是不可用的。

  评估指标。使用mIoU和边界IoU(mBIoU)对LERF-Mask数据集进行评估。Replica和ScanNet使用真实全光学分割,不考虑类别信息。为了处理预测的和真实mask标签之间的差异,我们计算了基于IoU的最佳线性分配。此外,以IoU = 0.5为标准,我们报告了精度和召回率。

表1与表2:
在这里插入图片描述

在这里插入图片描述

  实验细节。我们使用SAM [14]和Entity[21]来分割2D掩码,通过对置信度较高的mask排序,分低于0.5的mask被丢弃。先训练30K原始高斯溅射,然后冻结其他参数,训练10K的身份编码;选择最接近相机帧的前20%三维高斯函数作为mask对应的3D高斯。新的group ID的重叠阈值设置为0.1。为了公平比较,我们训练高斯分组[26]进行40K迭代,所有用于训练三维高斯的参数的身份编码与[3DGS]和[Gaussian grouping]相同。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

消融实验

  Gaga对训练图像数量变化的鲁棒性(分别对replica数据集按比例0.3、0.2、0.1和0.05的副本稀疏采样),效果如表3:
在这里插入图片描述
在这里插入图片描述

与GaussianGrouping相比,Gaga对训练图像数量减少的敏感性较低,这可以从IoU下降值较小得到证明。可视化结果如图7所示。只有5%的训练数据,Gaga仍然可以提供准确的分割掩模,而高斯分组由于不准确的跟踪,无法为很大一部分物体提供掩模。

在这里插入图片描述

应用: Scene Manipulation

  Gaga实现了高质量、多视图一致的3D分割,有利于Scene Manipulation任务,因为我们可以准确地分割3D对象的高斯分布并编辑它们的属性。利用预先训练的具有身份编码的三维高斯模型,我们使用经过身份编码训练的分类器来预测每个三维高斯模型的掩模标签。随后,我们选择与目标对象共享相同mask标签的三维高斯,并编辑它们的属性,如对象着色、删除和位置移动

在这里插入图片描述

其他消融实验:

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2280561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《王者荣耀》皮肤爬虫源码

1.爬取网页 https://pvp.qq.com/web201605/herolist.shtml 2.python代码 import requests from bs4 import BeautifulSoup import os import threading from queue import Queuedef mul(x):if not os.path.exists(x):os.mkdir(x)print("目录创建成功")else:pass h…

iconfont等图标托管网站上传svg显示未轮廓化解决办法

打开即时设计 即时设计 - 可实时协作的专业 UI 设计工具 导入图标后拖入画板里面,右键选择轮廓化 将图标导出

【Linux系列】查看服务器是否使用了 SSD 的多种方法

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【AIGC】ChatGPT 的 Prompt Hacker 技巧:让简历轻松通过 AI 筛选

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯背景简化简历格式 💯简化 Prompt Hacker 的逻辑使用 Prompt Hacker 技巧**示例 Prompt:引导 AI 筛选简历**如何利用 Prompt 优化简历筛…

AI News(1/21/2025):OpenAI 安全疏忽:ChatGPT漏洞引发DDoS风险/OpenAI 代理工具即将发布

1、OpenAI 的安全疏忽:ChatGPT API 漏洞引发DDoS风险 德国安全研究员 Benjamin Flesch 发现了一个严重的安全漏洞:攻击者可以通过向 ChatGPT API 发送一个 HTTP 请求,利用 ChatGPT 的爬虫对目标网站发起 DDoS 攻击。该漏洞源于 OpenAI 在处理…

windows下使用docker执行器并配置 hosts 解析

本篇目录 1. 问题背景2. 环境准备2.1 云上开通windows 2022 英文版机器2.1.1 安装 git2.1.2 安装 runner2.1.3 装docker2.1.4 注册runner并使用docker执行器 3. 项目信息3.1 编写window bat脚本3.2 项目.gitlab-ci.yml文件 4. 测试结论4.1 运行流水线 5. troubleshooting问题1&…

centos9编译安装opensips 二【进阶篇-定制目录+模块】推荐

环境:centos9 last opensips -V version: opensips 3.6.0-dev (x86_64/linux) flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, CC_O0, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS1024, MAX_RE…

靶机复现-pikachu靶机文件包含漏洞

本篇文章旨在为网络安全渗透测试靶机复现学习。通过阅读本文,读者将能够对渗透pikachu靶场文件包含漏洞复现有一定的了解 原文学习链接 CSDN博主:One_Blanks主页地址 靶机资源下载 PHPStudy pikachu 一、前言 文件包含漏洞是编程中的一种安全隐患&a…

【机器学习实战高阶】基于深度学习的图像分割

机器学习项目图像分割 你可能已经注意到,大脑如何快速高效地识别并分类眼睛感知到的事物。大脑以某种方式进行训练,以便能够从微观层面分析所有内容。这种能力有助于我们从一篮子橙子中分辨出一个苹果。 计算机视觉是计算机科学的一个领域,…

【Elasticsearch 】 聚合分析:桶聚合

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

Skyeye 云 VUE 版本 v3.15.5 发布

Skyeye 云智能制造,采用 Springboot winUI 的低代码平台、移动端采用 UNI-APP。包含 30 多个应用模块、50 多种电子流程,CRM、PM、ERP、MES、ADM、EHR、笔记、知识库、项目、门店、商城、财务、多班次考勤、薪资、招聘、云售后、论坛、公告、问卷、报表…

TCP如何保证安全可靠?

TCP如何保证安全可靠? TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。为了保证数据传输的安全性和可靠性,TCP 采用了多种机制,包括确认和重传、数据校验、数据分片和排序、流量控制以及拥塞控制。 1. 确认和…

高等数学学习笔记 ☞ 定积分的积分方法

1. 定积分的换元积分法 1. 换元积分公式:设函数在闭区间上连续,令,若满足: ①:当时,;当时,。 此时的大小关系不一定,但与最好对应着写,否则就要留意变号的问…

Alluxio 联手 Solidigm 推出针对 AI 工作负载的高级缓存解决方案

作者:Wayne Gao, Yi Wang, Jie Chen, Sarika Mehta Alluxio 作为全球领先的 AI 缓存解决方案供应商, 提供针对 GPU 驱动 AI 负载的高速缓存。其可扩展架构支持数万个节点,能显著降低存储带宽的消耗。Alluxio 在解决 AI 存储挑战方面的前沿技…

Docker Load后存储的镜像及更改镜像存储目录的方法

Docker Load后存储的镜像及更改镜像存储目录的方法 Docker Load后存储的镜像更改镜像存储目录的方法脚本说明注意事项Docker作为一种开源的应用容器引擎,已经广泛应用于软件开发、测试和生产环境中。通过Docker,开发者可以将应用打包成镜像,轻松地进行分发和运行。而在某些场…

爬虫基础之爬取某站视频

目标网址:为了1/4螺口买小米SU7,开了一个月,它值吗?_哔哩哔哩_bilibili 本案例所使用到的模块 requests (发送HTTP请求)subprocess(执行系统命令)re (正则表达式操作)json (处理JSON数据) 需求分析: 视频的名称 F12 打开开发者工具 or 右击…

可视化-numpy实现线性回归和梯度下降法

代码如下: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib.patches import Patch# 生成二维输入数据 np.random.seed(0) X1 2 * np.random.rand(100, 1) # 第一个特征 X2 3 * np.random.rand(10…

计算机网络 (53)互联网使用的安全协议

一、SSL/TLS协议 概述: SSL(Secure Sockets Layer)安全套接层和TLS(Transport Layer Security)传输层安全协议是工作在OSI模型应用层的安全协议。SSL由Netscape于1994年开发,广泛应用于基于万维网的各种网络…

在视频汇聚平台EasyNVR平台中使用RTSP拉流的具体步骤

之前有用户反馈,在EasyNVR平台中添加Pull时使用海康设备的RTSP流地址无法播放。经过研发的优化及一系列严谨的验证流程,我们已确认优化后的EasyNVR平台,通过Pull方式添加海康设备的RTSP流已经能够正常播放。以下是具体的操作步骤:…

在Linux环境中使用Qt访问USB摄像头的解决方法

一、Cheese方法 1、将虚拟机关机,点击左上角的虚拟机设置,将显示所有USB输入设备选上,点击确定。 2、 打开虚拟机,在终端输入以下命令安装所需的软件包: sudo apt update sudo apt install cheese v4l-utils 确保摄…