自动驾驶和自然语言如何结合?NuPrompt来了!

2023-11-05

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

>>点击进入→自动驾驶之心【大模型】技术交流群

自动驾驶语言提示

原标题:Language Prompt for Autonomous Driving

论文链接:https://arxiv.org/pdf/2309.04379.pdf

作者单位:北京理工大学 澳门大学 MEGVII Technology 北京人工智能研究院

代码链接:https://github.com/wudongming97/Prompt4Driving

b16bd1fef528c7a544e274a9035d8f88.png

论文思路:

计算机视觉领域的一个新趋势是根据自然语言提示符表示的灵活的人类命令捕获感兴趣的目标。然而,由于缺乏配对提示实例(prompt-instance)数据,在驾驶场景中使用语言提示的进展陷入了瓶颈。为了解决这个问题,本文提出了第一个以目标为中心的语言提示集,用于3D、多视图和多帧空间中的驾驶场景,名为NuPrompt。它扩展了Nuscenes的数据集,构造了总共35367个语言描述,每个描述平均引用5.3个目标轨迹。基于新基准中的目标-文本对(object-text pairs),本文制定了一个新的基于提示的驾驶任务,即使用语言提示来预测所描述的目标的跨视图和帧的轨迹(trajectory)。此外,本文还提供了一个简单的基于Transformer的端到端基线模型,名为PromptTrack。实验表明,本文的PromptTrack在NuPrompt上取得了令人印象深刻的性能。本文希望这项工作能为自动驾驶社区提供更多新的见解。

主要贡献:

本文提出了一种新的大规模语言提示集(language prompt set),名为NuPrompt。据本文所知,它是第一个专门研究视频领域多个感兴趣的3D目标的数据集。

本文构造了一个新的基于提示的驾驶感知任务,要求使用语言提示作为语义线索来预测目标的轨迹。

本文开发了一个简单的端到端基线模型,称为PromptTrack,它有效地融合了新构建的提示推理分支中的跨模态特征,以预测参考目标(referent objects),显示了令人印象深刻的性能。

网络设计:

为了推进驾驶场景中提示学习的研究,本文提出了一种新的大规模基准,名为NuPrompt。基准测试是建立在流行的多视图3D目标检测数据集Nuscenes[2]上的。本文将语言提示分配给具有相同特征的目标集合,以便为它们奠定基础(for grounding them)。从本质上讲,这个基准提供了许多3D实例-文本匹配,具有三个主要属性: 1.真实驾驶描述。与现有的基准测试只表示来自模块化图像的2D目标不同,本文数据集的提示描述了来自3D、环顾四周和长时间空间的各种与驾驶相关的目标。图1展示了一个典型的例子,即一辆车在多个视图中从后面到前面超过了我们的车。2.实例级提示标注。每个提示符都表示一个细粒度的、有区别的、以目标为中心的描述,并允许它覆盖任意数量的驱动目标。3.大规模语言提示。就提示符的数量而言,NuPrompt可以与当前最大的数据集[7]相媲美,即包含35367个语言提示符。

与基准一起,本文制定了一个新的基于提示的感知任务,其主要目标是使用给定的语言提示来预测和跟踪驾驶环境中的多个 3D目标。该任务的难点在于两个方面:跨帧时间关联和跨模态语义理解。为了解决这一挑战,本文提出了一种端到端的基线,它建立在camera-only 3D tracker PF-Track[24]上,命名为PromptTrack。请注意,PF-Track通过它的过去和未来推理分支展示了出色的时空建模。此外,本文增加了一个快速推理分支来进行跨模态的融合和理解。具体来说,本文的提示推理涉及到提示嵌入和查询特征之间的交叉注意力,这些特征来自过去的推理,进一步预测 prompt-referred 目标。

ee6b82333f294bf62acf1f648241c2b7.png

图5。PromptTrack的总体架构。对于每一帧,视觉特征和查询首先被输入到Transformer解码器中,以产生类似于原始DETR框架的解码查询。然后,过去的推理通过处理历史查询来增强和改进策略,而未来的推理则有利于使用预测位置进行跨帧查询传播。最后,快速推理分支预测 prompt-referred 轨迹。该模型采用在线模式进行评价,训练可进行端到端 differentiated。

33e74ad1d444f7e072199fb31403bbca.png

图2。语言提示标注过程Pipeline,包括三个步骤:语言元素收集、语言元素组合、描述生成。首先,在语言元素收集阶段,本文将每个语言标签与 referent objects 配对。然后,在语言元素组合阶段,选择并组合某些语言元素。最后,根据得到的组合,在描述生成阶段采用大型语言模型(LLM)创建语言描述。

82748670d17d247941b2a82dad31fd93.png

图1。一个来自NuPrompt的典型例子。语言提示“正在超车的车辆”,在三维、多帧、多视图空间内精确注释并匹配驾驶目标。NuPrompt包含35367个目标-提示符对。

c3c403771de1e31cad3a844ff5eed63e.png

图3。NuPrompt的前100个单词的词云。它有大量的词来描述驾驶物体的外观,如“黑”、“白”、“红”等,并涵盖了许多运动场景,如“走”、“动”、“过”等。

d21a5fd8db4d79a062512e536f0fda7e.png

图4。NuPrompt的统计信息:(a)每个提示符的实例数分布和(b)每个提示符的框数分布。

实验结果:

cdf792ff2d91f82944c50cda3e5bdca6.png 0aba605f20b99562cac2d677aa4dc944.png 7ae04b5902f727b848360c4fc828f3cc.png 119fd43455efb76b30613fae9399fcc9.png

引用:

Wu, D., Han, W., Wang, T., Liu, Y., Zhang, X., & Shen, J. (2023). Language Prompt for Autonomous Driving. ArXiv. /abs/2309.04379

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,如果您希望分享到自动驾驶之心平台,欢迎联系我们!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署协同感知语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

25716a6fa9df6afd8c38ee55f866597e.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

fe9fba2fb4353008f56bab10f9c00b19.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

739f222e1bbfb467d876926e9cc8205a.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

9e720318693580b8ff57ba905e804f0a.jpeg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动驾驶和自然语言如何结合?NuPrompt来了! 的相关文章

随机推荐

  • Android 禁止RecycleView的滑动

    1 问题 使用RecycleView 时 如果数据量很少只有几个 需求不需要它上下左右滑动 在xml配置中加上Android scrollbars none 这只是去掉了滑动bar 但是RecycleView 上下还是能滑动 且有阴影 2
  • 【message:发生错误 Error: D:\微信小程序\second-demo\package.json 对应的 node_modules 不存在】

    微信小程序安装vant weapp报 node module不存在 提示 这里简述项目相关背景 想使用vant weapp写小程序 在安装的时候踩了一些坑 记录一下 1 安装 vant weapp 提示 这里一个一个来描述遇到的问题 我是根
  • 网络驱动程序snull

    由于下次开会要做报告 所以就先把字符设备驱动程序那块搁浅了 先来复习下网络驱动这块 虽然以前看过 学习过网络驱动的相关内容 但是当再次学习这块的时候 仍然有新的收获 或许是时间长不看了 有些东西的印象浅了 或者应了那句话 温故而知新 ok
  • 多线程能有事务吗?

    需求 多线程插入 保证原子性 要么都成功 要么都失败 其中一个线程报错 所有线程回滚 为什么做不了 首先事务的四大特性 ACID 特性都知道吧 面试中张口就来 原子性 Atomicity 一个事务要么全部提交成功 要么全部失败回滚 不能只执
  • SpringFramework核心技术五:面向切面编程(AOP)和代理机制

    AOP与代理 Spring AOP使用JDK动态代理或CGLIB为给定目标对象创建代理 只要有选择 JDK动态代理就是首选 一 代理机制 如果要代理的目标对象实现至少一个接口 则将使用JDK动态代理 目标类型实现的所有接口都将被代理 如果目
  • socket异步编程--libevent的使用

    http www cnblogs com cnspace archive 2011 07 19 2110891 html 这篇文章介绍下libevent在socket异步编程中的应用 在一些对性能要求较高的网络应用程序中 为了防止程序阻塞在
  • Spring Boot集成RocketMq(一看就会)

    目录 1 创建topic 2 新建Spring boot项目 3 导入依赖 4 配置yml文件 5 新建Controller 生产服务 6 新建消费者 7 配置类 定义topic 8 添加消息以及 消费者查看 8 1 调用接口 往Mq中添加
  • 岛屿数量(Java)

    分析 把1当成陆地 0当成海 简单来说只要上下左右如果是1的话就可以看成一个陆地 从示例中也可以很清楚的看懂 思路 用一个和grid大小一样的整型二维数组arr来代表岛屿的生成过程 遍历grid 如果遇到grid i j 1 arr i j
  • 软件生命周期与技术人的职业周期

    话题有点大 但还是忍住想说两句 也算把自己曾经的困惑落在纸上 做个记录 什么是软件的生命周期的 相信你能比我还熟练的罗列出来 从初步规划 到需求分析 再到系统设计 接着系统实现 往下系统测试 跟着发布部署 最后运行维护 中途免不了打些小补丁
  • UART通信原理

    UART 通信格式 串口全称叫做串行接口 通常也叫做 COM 接口 串行接口指的是数据一个一个的顺序传输 通信线路简单 使用两条线即可实现双向通信 一条用于发送 一条用于接收 串口通信距离远 但是速度相对会低 串口是一种很常用的工业接口 I
  • python国内镜像源

    让python pip使用国内镜像 国内源 清华 https pypi tuna tsinghua edu cn simple 阿里云 http mirrors aliyun com pypi simple 中国科技大学 https pyp
  • 有关HC-05蓝牙模块的学习记录

    文章目录 HC 05学习笔记 一 HC 05的基本硬件介绍 二 工作原理 三 使用方法 一 硬件连接 二 软件控制 1 第一个片段 2 第二个片段 四 具体应用 一 信息的传送 二 手机操纵单片机 五 注意事项 一 AT状态 1 第一种方法
  • mysql存储过程之循环(WHILE,REPEAT和LOOP)

    MySQL提供循环语句 允许我们根据条件重复执行一个SQL代码块其中有三个循环语句 WHILE REPEAT和LOOP 我们接下来分别看下 首先是WHILE语句来看下语法 WHILE expression DO statements END
  • 在 C++ STL 中复制的不同方法

    文章目录 1 C STL 中复制的不同方法及实例解析 传送门 gt gt AutoSAR实战系列300讲 糖果Autosar 总目录 1 C STL 中复制的不同方法及实例解析 C STL 中存在各种不同的 copy 它们允许以不同的方式执
  • idea设置控制台为单独的窗口

    如图 点击控制台右上角的齿轮 设置 按钮 然后点击windowed mode就可以分离出来了
  • 推荐一组用过好几年的非常稳定的dns

    通常宽带或路由里 都是未设置dns 自动获取的是本地运营商推荐的dns 那些dns非常非常的不稳定 经常打不开网页或有些图片不显示 甚至更可恶的还有广告劫持 下面推荐一组用过好几年的dns 比较稳定 分享给大家 223 5 5 5 4 2
  • you need to install ‘unbuffer‘ (from package expect or expect-dev)

    在下载完RK3399 Linux SDK后的第一次编译时 报以下错误 you need to install unbuffer from package expect or expect dev log saved on home user
  • Java循环查询数据库优化

    1 static 和 final 的用法 static 的作用从三个方面来谈 分别是静态变量 静态方法 静态类 静态变量 声明为 static 的静态变量实质上就是全局变量 当声明一个对象时 并不产生static 变量的拷贝 而是该类所有实
  • 使用git fetch和git merge手动解决一次pull request冲突

    问题提出 github上的一次 pull request 出现了 conflicts 需要解决合并冲突 冲突的内容主要是新增功能的代码和修改的注释 问题思考 由于之前没有更新分支 同时又提交了分支中的代码 而git不能在不丢失提交的情况下对
  • 自动驾驶和自然语言如何结合?NuPrompt来了!

    点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 gt gt 点击进入 自动驾驶之心 大模型 技术交流群 自动驾驶语言提示 原标题 Language Prompt for Autonomous Driving 论文链接