当前位置: 首页 > news >正文

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,该模型主要由以下三部分组成:
    1. 意图理解(Verb-Object 对齐):首先识别动词,然后匹配相应的对象,提高模型对人类意图的理解能力。
    2. 候选框匹配(Candidate Box Matching):通过检测多个可能的目标,提高 3D 目标检测的准确性。
    3. 级联自适应学习(Cascaded Adaptive Learning):动态调整多个损失项的优化顺序,以增强学习效果。

3. 数据集构建

(1) 采集过程

场景构建 → 物体筛选 → 意图生成 → 数据清理

Intent3D 数据集的生成流程如下:

  1. 构建场景图:基于 ScanNet 3D 点云,整理场景类别、物体类别、实例数量、3D 边界框等信息。
  2. 选择目标物体
    • 常见物体:选择高频物体,排除结构性物体(如“墙”)。
    • 非显而易见的物体:排除场景中出现过多次的物体(如会议室里 10 把椅子)。
    • 无歧义的物体:过滤可能导致歧义的物体(如“垃圾桶” vs “垃圾箱”)。
  3. 生成意图文本
    • 通过 GPT-4 生成描述该物体用途的意图文本(如 “我想在办公桌上放点绿植”)。
    • 采用多轮 Prompt 设计,确保文本不包含明确的物体类别、位置等信息。
  4. 数据清理
    • 移除乱码、重复和含糊的意图文本,确保数据质量。

(2) 统计分析

  • 该数据集包含 63,451 个物体实例,平均每个物体有 6 条意图文本
  • 统计分析表明:
    • 使用了 1,568 个不同动词(表示意图),
    • 使用了 2,894 个不同名词(表示物体)。

4. 提出的模型——IntentNet

(1) 多模态特征提取(主干网络)

  • 3D 点云:采用 PointNet++ 提取点云特征。
  • 语言文本:采用 RoBERTa 对文本输入进行编码,能够理解文本语义。
  • 3D 目标检测(MLP):使用 GroupFree 3D 检测器 生成物体候选框。

🔹 编码器(Encoder)

多模态特征通过 Transformer 结构 进行融合:

  1. 点云注意力模块(Point Attention Block)
    • 对点云数据进行 自注意力跨模态注意力,让 3D 特征与文本对齐
  2. 候选框注意力模块(Box Attention Block)
    • 让候选 3D 物体的特征与文本进行交互
    • 目标:强化可能目标的语义匹配
  3. 文本注意力模块(Text Attention Block)
    • 让文本信息与 3D 物体信息交互,提高意图理解能力

🔹 解码器(Decoder)

  1. Top-K 物体候选框选择
    • 选出置信度最高的 Top-K 物体
    • 让模型关注最有可能满足意图的目标,生成查询提议(Query Proposal)
  2. 自注意力与交叉注意力机制
    • 让点云、候选框、文本进行深度融合,提高检测精度
  3. 最终目标检测
    • 预测 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.25Top1-Acc@0.5AP@0.25AP@0.5
BUTD-DETR47.1224.5631.0513.05
EDA43.1118.9114.025.00
3D-VisTA(基础模型)42.7630.3736.119.93
Chat-3D-v2(LLM)36.7132.783.232.58
IntentNet(Ours)58.3440.8341.9025.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是有序的&#xf…...

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 应用。本文主要包含: 值类型和引用类型&#xf…...

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项目之后我们就可以开始写代码了&#xff0c;我们的代码一般都会写在src目录-components目录-HelloWord.vue文件内。 我们之前写的HTML文件的结构是HTML代码可以集成或者连接外部的css/js文件。 我们通过vue建立的项目&#xff0c;它的结构是在一个vue文件内集成了HTML…...

论文阅读方法

文章目录 步骤一&#xff1a;对论文进行自我判断阅读题目和关键词。阅读摘要阅读总结要点 步骤二&#xff1a;阅读文章阅读图表和图表的注释阅读引言阅读实验部分阅读结果和作者对结果的讨论&#xff08;创新点&#xff09;要点 步骤三&#xff1a;精度论文回答问题1回答问题2回…...

问题解决:Kali Linux 中配置启用 Vim 复制粘贴功能

在 Kali Linux 系统中&#xff0c;使用 XShell 或其他类似终端时&#xff0c;Vim 编辑器的默认设置并不支持直接进行复制和粘贴操作&#xff0c;这对于日常的开发工作或渗透测试人员来说可能会造成不便。幸运的是&#xff0c;通过简单的配置调整&#xff0c;可以让 Vim 轻松支持…...

Linux hexdump命令

hexdump 是 Linux 中一个强大的二进制文件查看工具&#xff0c;可以用于查看文件的十六进制、ASCII 或其他格式的转储内容。以下是常见用法及示例&#xff1a; 1. 查看文件头部&#xff08;前 N 个字节&#xff09; 语法 hexdump -n <字节数> -C <文件名>示例&am…...

Stable Diffusion教程|快速入门SD绘画原理与安装

什么是Stable Diffusion&#xff0c;什么是炼丹师&#xff1f;根据市场研究机构预测&#xff0c;到2025年全球AI绘画市场规模将达到100亿美元&#xff0c;其中Stable Diffusion&#xff08;简称SD&#xff09;作为一种先进的图像生成技术之一&#xff0c;市场份额也在不断增长&…...

系统架构设计师—系统架构设计篇—微服务架构

文章目录 概述优势挑战 概述 微服务是一种架构风格&#xff0c;将单体应用划分成一组小的服务&#xff0c;服务之间相互协作&#xff0c;实现业务功能&#xff0c;每个服务运营在独立的进程中&#xff0c;服务间采用轻量级的通信机制协作&#xff08;通常是HTTP/JSON&#xff0…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...