无监督3D场景理解,LLM 在 3D 场景理解中的应用与探索 !

news2024/9/27 6:44:32

图片

构建能够理解和推理3D场景的模型很难,原因在于缺乏3D监督训练的数据来源和大规模训练策略。

在这项工作中,作者问到:在没有3D预训练的情况下,预训练语言模型中的知识如何被利用来理解和推理3D场景?

本工作的目标是确定预训练语言模型是否拥有在3D空间中进行推理所需的前置知识/信息,以及如何促使它们成为用于一般目的空间推理和3D目标理解的工具。为此,作者提出了一种基于语言模型的场景理解系统SceneGPT,它可以执行无需训练或显式3D监督的3D空间推理。作者框架的关键组成部分包括:

1)一个3D场景图,作为场景表示,编码场景中的物体及其空间关系;

2)一个可以与上下文学习相结合进行适应性训练的预训练语言模型,用于3D空间推理。

作者对作者的框架在包括物体语义、物理属性和效用(物体级)以及空间理解(场景级)等任务上的质量进行评估。

1 Introduction

开发能够理解3D世界的系统是计算机视觉领域的一个重要目标。这类系统需要一个语义丰富的3D表示,将目标嵌入空间结构中。此外,场景理解系统需要能够理解和推理特定场景下的自然语言 Query 。传统的场景理解方法依赖专门的模块进行目标/空间理解,需要针对一组已标记的目标进行3D监督训练。这导致了由于缺乏3D数据来源和可行的大规模训练方案而产生的瓶颈。此外,这些模型在特定专业任务(例如3D分割、定位)的训练数据集上具有有限的类别集,并且不能泛化到新 Query 、任务和目标,从而限制了其用于实际应用的能力。

随着大型语言模型(LLMs)的近期进展,在视觉理解和通用推理方面的能力得到了证实。它们具有关于目标语义的知识,可以理解自由形式的文本指令,并很好地泛化到新场景。然而,目前还不清楚LLMs是否具备用于3D空间推理的先验知识或知识。

为此,作者提出的问题是:“如何利用预先训练的大型语言模型(LLMs)的知识进行3D场景理解而无需任何3D预训练?” 具体而言,作者开发了SceneGPT框架,它利用LLMs的知识进行3D场景理解任务。

作者的关键贡献如下 :

  • 作者证明LLMs具备3D场景理解的先验知识,且无需监督或微调即可通过简单的上下文提示释放这些能力。
  • 作者开发了SceneGPT,结合了开放的词汇场景表示和LLM,并在多样化的目标和场景级 Query 上展现了令人一亮的结果。

2 Background and Related Work

在任何场景理解系统中,关键的组成部分是一个能嵌入物体语义知识的开放词汇表示,该表示被封装在3D空间结构中。最近,多模态基础模型的进步驱使出现使用CLIP等基础模型先验的知识来构建3D场景表示的方法。一些显著的努力包括OpenScene [14],它使用2D开放词汇分割器计算每个像素的特征,并通过使用CLIP特征进行训练,通过CLIP特征提取到3D数据网络。另一方面,ConceptFusion [6]采取这个方法,构建一个完全无训练的开放集多模态3D映射,具有CLIP的局部和全局目标嵌入。这个3D映射可以通过像素对齐的CLIP特征从多个模态(如图像、文本、音频和点击)的概念进行 Query 。最近,ConceptGraphs [4]改进了这些方法,构建一个稀疏开放词汇映射,编码物体语义(通过包括多模态语言模型如LLAVA [10]的先验)和场景图结构。这种方法比密集特征方法更轻量、可扩展和高效,并泛化到新颖的物体和场景。

对于作者正在进行的工作,作者使用ConceptGraphs [4]作为开放词汇场景表示,并通过与LLM进行接口,使用LLM开发作者的3D理解框架。

LLMs和提示技术:LLMs是参数化模型,它们在包含自由形式从互联网的大量文本的语料库上进行训练,使用语言建模目标,如预测下一个单词(或 Token )[19, 20, 12]。最近,像GPT-3.5/4 [12](封闭源)和LLama-2 (开源) [20],在常识、逻辑理解和视觉推理任务上表现出杰出的能力。

鉴于LLMs的规模和参数,许多最近的关注点集中在开发不需要更新权重或进行微调的为特定任务适应LLM的技术,这包括上下文提示(或少样本提示) [21, 22]。此外,提示工程和思维链提示可以帮助LLM更好地推理复杂任务,提高其输出质量和性能。

在本文中,作者使用GPT-4 LLM和上下文提示来开发作者的3D场景理解框架。

与LLMs的时空理解:最近,使用LLMs中的知识在视频中的时空推理引起了兴趣[9]和3D推理任务[5]。LLM grounded视频扩散[9]使用较少提示来预测视频连续2D帧中物体的位置和布局(即边界框)。另一方面,3D-LLM [5]利用3D监督联合训练语言模型用于场景理解。然而,与作者的方法不同,它需要3D数据集进行监督,并要求大规模的联合训练方式。

3 Method

Overview

作者的目标是利用预训练LLM的先验知识构建一个3D场景理解系统。图1显示了作者的整体流程概述。它主要由两部分组成:

图片

  1. 生成(适用于LLM的场景表示)
  2. 大型语言模型

在更高层次上,作者的模型作为输入接收一个场景的RGBD帧,并生成一个语义丰富的3D图,其中包含目标表示和图结构。这个场景表示随后转换为LLM可读的格式,通过系统提示与预训练的大型语言模型进行交互。LLM可以从输入场景中的少量上下文示例和回答用户 Query 中学习,并以输入场景的图作为输入。让作者进一步详细讨论作者的流程中的各个部分。

Scene Representation

有效的场景3D表示应具有语义丰富性,编码实体之间的空间关系,并在零样本方式下泛化到新物体,而无需训练。在本工作中,作者使用概念图(ConceptGraphs)[4],这是一种由2D基础模型提供的先验信息构建的开放的词汇图结构表示。这使得作者可以构建3D地图而无需任何3D数据监督或大规模的训练模式。

图结构:作者用开放的词汇3D场景图(3DSG)表示场景,即。图中的每个节点(或顶点)对应于感兴趣的物体,而边表示物体对之间的空间关系。

图中的每个节点还编码关于相应物体的语义、几何和空间定位信息。具体而言,在本工作中,作者编码目标标签和目标描述,它们分别命名和描述感兴趣的目标。目标的几何尺寸(bbox范围)和3D位置(bbox中心)。最后,颜色和材质属性。

LLM可读表示:为了将场景表示作为上下文传递给LLM,作者首先将其转换为LLM可读/兼容的格式( see 示例1 )。受以前的工作[9,4]启发,作者使用JSON数据结构,因为它能够以键值对字典格式编码各种数据。此外,各种LLM(如作者在这项工作中使用的GPT4)专门针对以JSON格式理解和推理数据进行了训练,用于代码生成和函数调用任务。

场景图生成:作者遵循概念图(ConceptGraphs)的框架,做出一些修改,并在实现细节部分(第3节)讨论场景图生成。

列表1:作者以LM可读JSON格式显示的3D场景图的示例。目标用节点表示,具有语义、几何和物理属性。

LLM Interface and In-context Learning

既然作者已经有了针对3D场景的LLM兼容图表示,作者需要构建一个界面,使作者的LLM能够与场景进行通信,并根据给定的场景结构和物体对其响应。

为了在场景和LLM之间构建一个交流界面,作者设计了一个系统提示(参考[9, 4]),向LLM告知场景表示,并指导它接受用户 Query 并以所需格式作出响应。

列表2显示了作者用于将场景图与LLM进行界面化的系统提示。提示输入场景图json表示、用户 Query 以及在上下文中的示例(第23-27行)。

首先,作者描述了作者的场景图的主要字段,以便LLM了解如何解释针对场景理解问题的场景。然后,作者让LLM知道它需要执行的任务,并指定它应遵循的明确输出结构。

输出结构:列表2,第14-20行,作者使用一种链式思维提示帮助LLM逐步关于复杂的 Query 进行推理。这种技术帮助LLM将复杂的任务分解成一系列连续执行的简单子任务,从而达到最终目标[21]。在作者场景理解问题的上下文中,作者首先要求LLM输出对用户 Query 及任务的解释,并输出其对相关物体的理解[Line 16]。然后,它获取与给定 Query 相关的物体,并输出它们的相关性解释[ Lines 。作者发现强制LLM解释相关性有助于其更好地检索相关物体。最后,作者要求它输出 Query 的最终答案,并解释[Line 19-20]。这种逐步过程使LLM将复杂任务分解成子步骤,并更好地理解用户 Query 需求,将其输出与用户意图[9, 4, 21]相匹配。

列表2:用于创建与场景之间的LLM界面的系统提示。该提示输入场景图json;userquery和in-context例子。它为LLM提供了一个逐步推理结构。

列表3和4分别展示了作者用于空间和几何方面的上下文示例。在这些示例中,作者帮助LLM解码局部定位信息(例如eBox中心,盒宽)和目标尺寸(例如eBox宽度)在3D坐标系(例如ex,y和z坐标轴)中的局部信息,并为其提供适当的原因。这引导LLM在其推理过程中将这些示例中学到的知识应用于新的 Query 和场景以进行场景理解。

实现细节作者简要描述了在场景图生成上作者遵循的实现,使用现成的模型 RAM[24],GroundingDINO[11]和SAM[7]对物体进行标记,为标记生成边界框,并使用SAM提示边界框来获得物体分割。作者使用LLaVA-13B [10]作为作者用于从 crops 中获取物体标签和字幕的多模态语言模型。作者更进一步,并要求LLaVA预测物体的颜色和材质,以便获得更丰富的场景表示。最后,作者使用gpt4-16k模型作为作者的大型语言模型。

4 Results

在本节中,作者讨论了作者基于LLM的3D场景理解框架的定性结果。为了验证作者框架的有效性,作者在各种 Query 上展示了结果,这些 Query 可以大致分为三组:①目标理解 ②几何 Query ③空间 Query 。

目标理解:在这个组中,作者测试模型的目标理解能力,基于可用性(affordance)和否定(negation) Query 进行, Query 灵感来自[4]。图2(上排)显示了这些 Query 的定性结果。

图片

首先,作者对基于可用性的 Query 进行测试,即系统要找出可以用于指定任务的物体(例如“可以用来插花的物体”)。作者的框架逐步分析用户的 Query ,利用关于物体可用性的先验知识对场景进行推理,正确地检索到“花瓶”及其精确位置。然后,作者对否定 Query 进行测试,即要求系统找出不满足特定物理特性的物体(例如“不是不透明的物体”)。作者的模型理解物体属性和否定 Query ,最终检索到一个通常透明的窗户。这些结果与之前一些工作的观察一致:[6, 4] 也表明LLM具有目标理解能力。

几何理解:在这个 Query 池中,作者测试模型的物体几何和尺寸理解能力。作者要求它比较场景中物体的尺寸,并要求它判断给定的物体是否能容纳另一个物体。

得益于作者的上下文示例,帮助LLM理解了箱体尺寸和物体尺寸之间的关系,作者注意到,框架可以准确地根据箱体尺寸比较 Query 目标(例如“书”和“烛台”)的基本尺寸。它还成功地推理出“白沙发”可以包含“白枕头”,因为它的尺寸较大,可以容纳场景中的“白枕头”。

空间理解:作者测试SceneGPT模型在3D空间中理解物体方向和物体相对位置的能力。首先,作者测试模型的空间推理能力,询问它是否“书位于烛台之上”(图2(e))。请注意,LLM分别从x,y和z维度单独看待这个问题,并通过比较z坐标得出结论,书没有放在烛台上。值得关注的是,LLM通过从上下文示例中学到的3D坐标系中的空间推理,顺利地将它应用到一个新的物体集和不同的问题设置和 Query 中。此外,作者进一步要求LLM解释不同物体之间的相对位置,即“地毯和椅子之间的相对位置”,图2(f)。作者的SceneGPT框架考虑了物体在三维中的位置,并输出了 Query 物体的正确空间关系。

5 Failure Cases and Limitations

SceneGPT框架由场景图表示(在本研究中,即为概念图,下同)和大型语言模型(如作者案例中的GPT-4)组成,并继承了它们的一些基本限制,作者在本节中讨论。

  • SceneGPT框架将场景图作为JSON输入,并由语言模型的上下文长度限制。作者尝试在[3]中使用ScanNet场景并在ScanQA数据集上评估作者的框架,但这些场景图中的目标节点(场景图中超过120个目标节点)超过了作者模型的输入上下文长度,因此无法作为作者的模型的输入。由于公共GPT4模型的上下文长度有限,因此这种情况下无法使用。
  • ConceptGraphs框架使用预训练的多模态语言模型(如[10]中的LLaVA)来分配目标节点、标签和标题。多模态语言模型准确率接近70%,但有30%的时间将目标节点标签错误,这会导致场景图中的目标节点出现错误(由于这些模型未经微调)。这限制了作者的框架的准确度,因为在一些检测到的目标中可能会出现错误。然而,随着更强大的多模态语言模型的出现,作者希望场景中的目标节点预测将变得更加准确。

请注意,由于原始英文文本中并未包含具体数字(如120和30),为确保翻译的准确性,这些数字可能需根据上下文进行调整。

6 Conclusion and Future Work

在本文中,作者开发了一个基于LLM的3D场景理解系统,其无需3D监督数据和大规模的训练体系。作者证明了像语境提示这样的简单技术可以帮助适配LLM并挖掘其中的空间推理能力。

在未来,作者将尝试将此框架扩展到更复杂的任务,如导航、轨迹预测和任务规划,并验证像语境学习这样的简单技术是否足以应对这些复杂任务。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

HTML5有格调的个人介绍网站源码

文章目录 1.设计来源1.1 主界面1.2 个人信息界面1.3 项目统计界面1.4 我的相册界面1.5 朋友评价界面1.6 保持联系界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址&a…

JAVA后端框架--【Mybatis】

框架 框架就是对技术的封装,将基础的技术进行封装,让程序员快速使用,提高开发效率 java后端框架 mybatis 对jdbc进行封装 背景介绍 mybatis是apache下面的一个开源项目,名为ibatis,2010年开发团队转移到谷歌旗下…

unity3d拼图__附带资源

要达到吸附效果则需要每个拼图上挂载碰撞体 达到整张图片的替换效果需要选中所有拼图部件把材质球拖上去 、 制作材料球 脚本挂载到随便一个空物体上 using System.Collections; using System.Collections.Generic; using UnityEngine;public class PinTu : MonoBehaviour …

Qt编写贪吃蛇小游戏完整项目

文章目录 前言一、Qt环境准备二、编写思路三、编写代码1、开始游戏界面代码1.1、绘制界面1.2、界面基本配置 2、选择难度界面代码3、游戏房间界面制作3.1、界面基础配置3.2、提前配置类中的成员变量3.2.1、QRectF 3.3、检测游戏是否结束的方法3.4、蛇移动的实现3.4.1、蛇向上移…

智慧农业——生成式人工智能如何改变农业

在数字化转型时代,农业不再仅仅与土壤、水和阳光有关。随着生成式人工智能的出现,农业正变得更加智能、高效,并且越来越以数据为主导。从以前所未有的准确度预测作物产量到开发抗病植物品种,生成式人工智能使农民能够做出精确的决…

c语言个人笔记

linux嵌入式C语言 课程链接: [史上最强最细腻的linux嵌入式C语言学习教程李慧芹老师] 0. gcc与vim的使用 gcc 指令 -Wall:显示所有警告 gcc默认的警告包括真正的错误:error和 告警warning 执行过程 c源代码.c -> 预处理(E) -> 编译(S) -> 汇编©.o…

Clickhouse集群化(五)clickhouse语法学习

1. 基础 1.1. 建表建库 CREATE DATABASE IF NOT EXISTS helloworld use default; CREATE TABLE IF NOT EXISTS system_cpu_info (uuid String, -- 主机的唯一标识符source String, -- 数据来源标识resource_pool Strin…

011_IO体系

Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出源抽象表述为"流"。 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称…

代码随想录 刷题记录-18 动态规划(1)基本理论及习题

一、基本理论 什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分…

码云 云片滑块 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我…

小乌龟运动控制-3两只小乌龟

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

Mysql系列—3.体系架构

目录 Mysql体系结构 Connectors: 连接池和线程管理: SQL Interface: Parser(查询解析器): Optimizer(优化器): Caches(缓存): …

Clickhouse集群化(四)使用clickhouse-operator部署clickhouse集群

clickhouse operator实际下就是帮助我们自动化的生产一些clickhouse配置文件信息,在目录/etc/clickhouse-server/的config.d conf.d users.d 1.1. 部署clickhouse operateor 下载clickhouse-operator.yaml文件 wget https://raw.githubusercontent.com/Altinity/…

Vue3 前端导出Excel表格 Xlsx格式

介绍 xlsx 是一个用于处理 Excel 文件的流行库。可以你读取、生成和操作 Excel 文件(.xlsx 格式),提供了强大的功能来处理工作表和单元格数据。可以轻松地将 JSON 数据转换为 Excel 表格,也可以从 Excel 文件中读取数据。 安装 …

【Linux篇】网络请求和下载与端口

目录 1. 网络请求和下载 1.1 ping命令 1.2 wget命令 1.3 curl命令 2. 端口 2.1 查看端口占用 使用nmap命令,安装nmap:yum -y install nmap 可以通过netstat命令,查看指定端口的占用情况。 3. 进程管理 3.1 进程 3.2 查看进程 3.3 …

Llama 4B剪枝蒸馏实战

大型语言模型 (LLM) 因其有效性和多功能性,如今已成为自然语言处理和理解领域的主导力量。LLM(例如 Llama 3.1 405B 和 NVIDIA Nemotron-4 340B)在许多具有挑战性的任务中表现出色,包括编码、推理和数学。然而,它们的部…

异步编程之std::future(二): std::future和std::promise原理

目录 1.引言 2.源码分析 2.1.std::promise的源码实现 2.2.std::future的源码实现 2.3.关联状态对象的代码实现 3.整个类图 4.future和promise之间的并发安全和线程同步 5.总结 1.引言 异步编程之std::future(一): 使用-CSDN博客 在std::future(一)中详…

【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range

【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range 环境 linux diffusers 0.30.0问题详情 报错详情 from diffusers import KolorsPipelineTraceback (most recent call last):File "Kolors/demo.py", line 6, in <module>pi…

Vue(2)——Vue指令

目录 v-html v-show和v-if v-else和v-else-if v-on v-bind v-for v-model v-html 设置元素的innerHTML <body><div id"app"><div v-html"msg"></div></div><script src"https://cdn.jsdelivr.net/npm/vue2.…