Intent3D
1. 研究背景
在现实世界中,人们寻找 3D 物体的行为往往基于特定意图,例如“我想要一个可以支撑我背部的东西”(即寻找枕头)。传统 3D 视觉定位(3D-VG)主要依赖人工提供的参照信息(如“沙发上的枕头”)。但该论文提出的3D 意图定位( 3D-IG)旨在让 AI 自动推理并检测目标物体,而无需用户明确指明物体的类别或位置。
2. 主要贡献
(1) 新任务——3D-IG
- 任务目标:给定 3D 场景(点云)和自由形式的意图文本,AI 模型需自动推理并检测符合该意图的目标对象。
- 该任务比 3D 视觉定位更具挑战性,因为它不依赖显式的物体类别或空间参照。
(2) 新数据集——Intent3D
- 从 ScanNet 数据集(Dai et al., 2017)中提取 1,042 个 3D 场景,构建 Intent3D 数据集。
- 包含 44,990 条人类意图文本,涉及 209 个细粒度类别的物体。
- 通过 GPT-4 生成意图文本,并进行人工清理,确保数据质量。
(3) 新模型——IntentNet
- 为解决 3D-IG 问题,论文提出 IntentNet,该模型主要由以下三部分组成:
- 意图理解(Verb-Object 对齐):首先识别动词,然后匹配相应的对象,提高模型对人类意图的理解能力。
- 候选框匹配(Candidate Box Matching):通过检测多个可能的目标,提高 3D 目标检测的准确性。
- 级联自适应学习(Cascaded Adaptive Learning):动态调整多个损失项的优化顺序,以增强学习效果。
3. 数据集构建
(1) 采集过程
场景构建 → 物体筛选 → 意图生成 → 数据清理
Intent3D 数据集的生成流程如下:
- 构建场景图:基于 ScanNet 3D 点云,整理场景类别、物体类别、实例数量、3D 边界框等信息。
- 选择目标物体:
- 常见物体:选择高频物体,排除结构性物体(如“墙”)。
- 非显而易见的物体:排除场景中出现过多次的物体(如会议室里 10 把椅子)。
- 无歧义的物体:过滤可能导致歧义的物体(如“垃圾桶” vs “垃圾箱”)。
- 生成意图文本:
- 通过 GPT-4 生成描述该物体用途的意图文本(如 “我想在办公桌上放点绿植”)。
- 采用多轮 Prompt 设计,确保文本不包含明确的物体类别、位置等信息。
- 数据清理:
- 移除乱码、重复和含糊的意图文本,确保数据质量。
(2) 统计分析
- 该数据集包含 63,451 个物体实例,平均每个物体有 6 条意图文本。
- 统计分析表明:
- 使用了 1,568 个不同动词(表示意图),
- 使用了 2,894 个不同名词(表示物体)。
4. 提出的模型——IntentNet
(1) 多模态特征提取(主干网络)
- 3D 点云:采用 PointNet++ 提取点云特征。
- 语言文本:采用 RoBERTa 对文本输入进行编码,能够理解文本语义。
- 3D 目标检测(MLP):使用 GroupFree 3D 检测器 生成物体候选框。
🔹 编码器(Encoder)
多模态特征通过 Transformer 结构 进行融合:
- 点云注意力模块(Point Attention Block)
- 对点云数据进行 自注意力 和 跨模态注意力,让 3D 特征与文本对齐
- 候选框注意力模块(Box Attention Block)
- 让候选 3D 物体的特征与文本进行交互
- 目标:强化可能目标的语义匹配
- 文本注意力模块(Text Attention Block)
- 让文本信息与 3D 物体信息交互,提高意图理解能力
🔹 解码器(Decoder)
- Top-K 物体候选框选择
- 选出置信度最高的 Top-K 物体
- 让模型关注最有可能满足意图的目标,生成查询提议(Query Proposal)
- 自注意力与交叉注意力机制
- 让点云、候选框、文本进行深度融合,提高检测精度
- 最终目标检测
- 预测 3D 目标物体的位置(Bounding Box)
(2) 关键模块
🔹候选框匹配(增强物体推理)(Candidate Box Matching)
- 3D 场景中可能有多个物体符合同一意图(如“坐下”可以是椅子、沙发)
- 需要让模型 自动筛选出最相关的目标
解决方案:
🔹动词-物体对齐(提高意图理解)(Verb-Object Alignment)
- AI 需要同时理解 “做什么” + “对什么物体”
- 先识别意图句中的动词(如 “support”),再匹配其作用对象(如 “back”)。
- 通过 对比学习(Contrastive Learning) 训练 AI 理解动词-对象关系。
解决方案:
🔹 级联自适应优化(提升训练效率)(Cascaded Adaptive Learning)
- 训练多个损失(意图理解、物体匹配、目标检测)很难优化
- 需要让模型 先学会简单任务,再优化复杂任务
- 由于 3D-IG 任务涉及多个学习目标(如意图理解、候选框匹配、目标检测),论文提出一种 自适应损失加权机制:
- 先优化高优先级任务(如动词识别),再逐步优化低优先级任务(如目标检测)。
- 通过 Sigmoid 自适应因子 调整各损失项的影响,提升模型收敛速度。
解决方案:
5. 实验结果
(1) 评价指标
- Top-1 准确率(Top1-Acc@IoU):预测的最高置信度目标是否正确。
- 平均精度(AP@IoU):在不同置信度阈值下的检测精度。
(2) 对比实验
模型 | Top1-Acc@0.25 | Top1-Acc@0.5 | AP@0.25 | AP@0.5 |
---|---|---|---|---|
BUTD-DETR | 47.12 | 24.56 | 31.05 | 13.05 |
EDA | 43.11 | 18.91 | 14.02 | 5.00 |
3D-VisTA(基础模型) | 42.76 | 30.37 | 36.1 | 19.93 |
Chat-3D-v2(LLM) | 36.71 | 32.78 | 3.23 | 2.58 |
IntentNet(Ours) | 58.34 | 40.83 | 41.90 | 25.36 |
- IntentNet 超越所有基线模型,尤其在 AP 和 Top1-Acc 指标上显著提升。
- LLM 模型 Chat-3D-v2 表现较差,表明现有 LLM 在 3D 任务上的适用性有限。
- 基础模型 3D-VisTA 虽然有较好的对齐能力,但仍不及 IntentNet,因为 IntentNet 显式建模了意图推理能力。
(3) 消融实验
- 移除 动词对齐(Verb),Top1-Acc@0.25 下降 5.25%。
- 移除 候选框匹配(MatchBox),Top1-Acc@0.25 下降 2.09%。
- 移除 自适应学习(Adapt),Top1-Acc@0.25 下降 0.95%。
6. 结论
该研究提出 3D 意图定位(3D-IG) 这一新任务,并构建 Intent3D 数据集,为 3D 目标检测提供新的方向。IntentNet 在意图推理、候选框匹配和级联优化方面展现了领先性能,优于现有 专家模型、基础模型和 LLM。
相关文章:

Intent3D
1. 研究背景 在现实世界中,人们寻找 3D 物体的行为往往基于特定意图,例如“我想要一个可以支撑我背部的东西”(即寻找枕头)。传统 3D 视觉定位(3D-VG)主要依赖人工提供的参照信息(如“沙发上的…...

【Python 数据结构 10.二叉树】
目录 一、二叉树的基本概念 1.二叉树的定义 2.二叉树的特点 3.特殊的二叉树 Ⅰ、斜树 Ⅱ、满二叉树 Ⅲ、完全二叉树 Ⅳ、完全二叉树和满二叉树的区别 4.二叉树的性质 5.二叉树的顺序存储 Ⅰ、完全二叉树 Ⅱ、非完全二叉树 Ⅲ、稀疏二叉树 6.二叉树的链式存储 7.二叉树的遍历概念…...

从0开始的操作系统手搓教程27:下一步,实现我们的用户进程
目录 第一步:添加用户进程虚拟空间 准备冲向我们的特权级3(用户特权级) 讨论下我们创建用户线程的基本步骤 更加详细的分析代码 用户进程的视图 说一说BSS段 继续看process.c中的函数 添加用户线程激活 现在,我们做好了TSS…...

set、LinkedHashSet和TreeSet的区别、Map接口常见方法、Collections 工具类使用
DAY7.2 Java核心基础 想学习Collection、list、ArrayList、Set、HashSet部分的小伙伴可以转到 7.1集合框架、Collection、list、ArrayList、Set、HashSet和LinkedHashSet、判断两个对象是否相等文章查看 set集合 在set集合中,处理LinkedHashSet是有序的…...

Qt开发:nativeEvent事件的使用
文章目录 一、概述二、nativeEvent 的定义三、Windows 平台示例三、使用nativeEvent监测设备变化 一、概述 Qt 的 nativeEvent 是一个特殊的事件处理机制,允许开发者处理操作系统级别的原生事件。通常,Qt 通过 QEvent 机制来管理事件,但有时…...

鸿蒙Next-应用检测、安装以及企业内部商店的实现
一、企业内部应用检测和更新升级 A应用检测是否安装B应用 canOpenApp():boolean{ try { let link schB://com.example.test/open; // 替换成你目标应用的link串儿 let canOpen bundleManager.canOpenLink(link); console.log("canOpen:"canOpen…...
存量思维和增量思维
在网上看一篇文章,有两种典型的阅读方式。 一种,是挑刺式,眼里只有缺点。 比如,有人不厌其烦地告诉作者,哪段有错别字,哪段不够严谨。 闲得蛋疼。 有这工夫,多看会书,不香么&…...
golang将大接口传递给小接口以及场景
文章目录 golang将大接口传递给小接口背景什么是大接口传递给小接口使用场景 golang将大接口传递给小接口 背景 在 Go 语言中,接口是一种强大的工具,它允许我们定义对象的行为而不关心其具体实现。特别是在复杂的应用程序中,将一个实现了较…...
K8s 1.27.1 实战系列(七)Deployment
一、Deployment介绍 Deployment负责创建和更新应用程序的实例,使Pod拥有多副本,自愈,扩缩容等能力。创建Deployment后,Kubernetes Master 将应用程序实例调度到集群中的各个节点上。如果托管实例的节点关闭或被删除,Deployment控制器会将该实例替换为群集中另一个节点上的…...

Swift系列02-Swift 数据类型系统与内存模型
Swift 是一门现代的、安全的编程语言,其类型系统和内存模型设计对性能和安全性有着重要影响。本文将深入探讨 Swift 的数据类型系统与内存模型,帮助你更好地理解并利用这些特性来优化你的 iOS 应用。本文主要包含: 值类型和引用类型…...

MySQL中like模糊查询如何优化?
大家好,我是锋哥。今天分享关于【MySQL中like模糊查询如何优化?】面试题。希望对大家有帮助; MySQL中like模糊查询如何优化? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中,LIKE 模糊查询虽然非常常见,…...

用低代码平台集成人工智能:无需专业开发也能实现智能化
引言:人工智能的普及与企业需求 随着人工智能(AI)技术的飞速发展,越来越多的企业开始意识到其在提升运营效率、优化客户体验和推动业务创新方面的巨大潜力。从智能客服到自动化决策支持,从数据分析到个性化推荐&#x…...

【使用hexo模板创建个人博客网站】
使用hexo模板创建个人博客网站 环境准备node安装hexo安装ssh配置 使用hexo命令搭建个人博客网站hexo命令 部署到github创建仓库修改_config.yml文件 编写博客主题扩展 环境准备 node安装 进入node官网安装node.js 使用node -v检查是否安装成功 安装成功后应该出现如上界面 …...

最简单圆形进度条实现CSS+javascript,两端带圆弧
两端是弧形的圆形进度条。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title…...

vuejs 模板语法、条件渲染、v-for、事件处理、表单输入绑定
创建vue项目之后我们就可以开始写代码了,我们的代码一般都会写在src目录-components目录-HelloWord.vue文件内。 我们之前写的HTML文件的结构是HTML代码可以集成或者连接外部的css/js文件。 我们通过vue建立的项目,它的结构是在一个vue文件内集成了HTML…...
论文阅读方法
文章目录 步骤一:对论文进行自我判断阅读题目和关键词。阅读摘要阅读总结要点 步骤二:阅读文章阅读图表和图表的注释阅读引言阅读实验部分阅读结果和作者对结果的讨论(创新点)要点 步骤三:精度论文回答问题1回答问题2回…...
问题解决:Kali Linux 中配置启用 Vim 复制粘贴功能
在 Kali Linux 系统中,使用 XShell 或其他类似终端时,Vim 编辑器的默认设置并不支持直接进行复制和粘贴操作,这对于日常的开发工作或渗透测试人员来说可能会造成不便。幸运的是,通过简单的配置调整,可以让 Vim 轻松支持…...
Linux hexdump命令
hexdump 是 Linux 中一个强大的二进制文件查看工具,可以用于查看文件的十六进制、ASCII 或其他格式的转储内容。以下是常见用法及示例: 1. 查看文件头部(前 N 个字节) 语法 hexdump -n <字节数> -C <文件名>示例&am…...

Stable Diffusion教程|快速入门SD绘画原理与安装
什么是Stable Diffusion,什么是炼丹师?根据市场研究机构预测,到2025年全球AI绘画市场规模将达到100亿美元,其中Stable Diffusion(简称SD)作为一种先进的图像生成技术之一,市场份额也在不断增长&…...

系统架构设计师—系统架构设计篇—微服务架构
文章目录 概述优势挑战 概述 微服务是一种架构风格,将单体应用划分成一组小的服务,服务之间相互协作,实现业务功能,每个服务运营在独立的进程中,服务间采用轻量级的通信机制协作(通常是HTTP/JSON࿰…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...

Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
ThreadLocal 源码
ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物,因为每个访问一个线程局部变量的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将…...