基于跨模态地图学习的视觉语言导航

 前言

本工作开展的背景:

人类和其他物种构建类似地图的环境表示来完成寻路:

(1)当人类只使用现成的驾驶或步行路径到达目标时,构建认知地图和获取空间知识的能力就会下降;

(2)另一方面,当面对基于地标的导航指令而不是完整的路径时,人类会建立更好的空间表示。

本工作的主要贡献:

(1)提出了一种用于VLN任务的新系统,将地图作为显式的中间表示进行学习;

(2)预测语义图:在RGB-D图像和指令上应用跨模态注意力来学习在代理的视野之外产生幻觉信息,实现指令上的语义接地;

(3)预测路径:在预测的语义图和指令上应用跨模态注意力来学习预测路径,实现指令的空间接地。

在本工作中,机器人正在构建一个认知地图,该地图对环境先验进行编码,并根据该地图遵循指令。


一、模型整体框架

1.1 任务描述

在时间步 t :

(1)图片输入:一个视野有限的帧(不是全景图):

(2)文本输入:指令;

(3)动作空间:向前移动0.25m、向左转弯15^{\circ}、向右转弯15^{\circ} 和停止。


1.2 模型介绍

在episode的每一步,主要工作流程:
 
(1)预测以自我为中心的本地地图;

(2)预测以自我为中心的本地地图上定义为一组航路点的整个路径;

(3)代理将自己定位在当前预测的路径上,并选择路径上的以下航路点作为短期目标;

(4)该目标被传递给现成的本地策略(DD-PPO),该策略预测下一个导航动作。

模型的整体框架如下图所示:

可以看出,主要由以下几部分组成:

(1)文本编码器:预训练的BERT,负责提取指令特征 X ;

(2)语义预测模块:上图中的蓝色部分,包括语义分割器、地面投影、UNet和跨模态地图注意力模块;

(3)路径预测模块:上图中的橙色部分,包括跨模态路径注意力模块和UNet。


二、难点

2.1 语义预测模块

本部分的主要是作用在代理无法直接观察的区域中产生语义信息的幻觉,主要通过利用指令中的空间和语义描述来学习布局先验。

流程如下:

(1)模型首先以深度观测 D 作为输入,将该深度观测 D 地面投影到一个包含“已占用”、“空闲”和“空白”类别的自我中心网格 o_{t}\in \mathbb{R}^{​{h}'\times {w}'\times 3}  中。其中地面投影的过程为:首先利用相机内参将深度数据反投影为三维点云,然后按照文献[25]的方法将每个三维点云映射到 {h}'\times {w}' 的网格中;

(2)将中心网格 o_{t}\in \mathbb{R}^{​{h}'\times {w}'\times 3} 编码为特征表示 Y^{o}_{t}=Enc(o_{t}) ; 

(3)定义一个跨模态注意力模块,以 Y^{o}_{t} 为查询,指令特征 X 为键和值,得到跨模态表示 H^{o}_{t} :

Q=Y^{o}_{t}W_{q}, K=XW_{k}, V=XW_{v}

H^{o}_{t}=Softmax(\frac{QK^{T}}{\sqrt{d}})V

(4)将 o^{t} 和 H^{o}_{t} 通过一个UNet,得到 \hat{o}^{t} :

(5)将 \hat{o}^{t} ,H^{o}_{t} 和 \hat{\chi }_{t} 通过另外一个UNet,得到 \hat{s}^{t} :

其中 \hat{\chi }_{t} 表示 RGB 图像帧的语义分割结果的地面投影。

此部分的损失函数如下:

其中 k 表示地图中的像素数;q_{k, c}是像素 k 的地面真实标签。


2.2 路径预测模块

本部分的主要作用是使代理学会预测整个轨迹。主要流程如下:

(1)将预测的自中心语义图 \hat{s}_{t}  编码为特征表示 Y^{s}_{t}=Enc(\hat{s}_{t}) ;

(2)定义一个跨模态注意力模块,以 Y^{s}_{t} 为查询,指令特征 X 为键和值,得到跨模态表示 H^{s}_{t} :

Q=Y^{s}_{t}W_{q}, K=XW_{k}, V=XW_{v}

H^{s}_{t}=Softmax(\frac{QK^{T}}{\sqrt{d}})V

(3)将 H^{s}_{t} 和 P^{0}_{t} 通过一个UNet:

其中 P^{0}_{t} 是相对于当前代理位置的起始位置热力图,\hat{P}_{t} 是当前时间步 t 预测的航路点热力图,\hat{\zeta }_{t} 是预测的每个航路点的概率。

此部分的损失函数如下:

其中 b^{i}_{t} 是一个二进制指示符,表示特定航路点 i 在时间 t 是否在以自我为中心的地图上可见,P^{i}_{t} 表示真实的航路点热力图,\lambda _{\zeta } 权衡辅助损失。


2.3 动作决策

目前为止路径是由一系列2D航路点 \begin{Bmatrix} p^{i}_{t} \end{Bmatrix}^{k}_{i=1} 组成。决策的流程如下:
 
(1)选择一个短期目标 p^{\zeta }_{t} :

其中\Delta 是欧几里得距离,\hat{p}^{i}_{t} 对应预测的航路点热力图\hat{P}_{t} 的峰值,\varrho _{t} 对应代理在当前时间步 t 的位姿。该机制通过以下方式确定短期目标:首先找到离智能体最近的预测航路点,然后选择序列中的下一个航路点作为短期目标 p^{\zeta }_{t} ;​

(2)为了达到短期目标,使用为PointNav任务训练的现成深度强化学习模型DD-PPO。DD-PPO接收当前深度观测值 D 和p^{\zeta }_{t} ,并为代理输出下一个导航动作。


三、总结

(1)当语言和视觉出现在显式空间表征中时,它们之间的关联更强;

(2)能否将本工作中的方法应用到CityNav中?

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

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

相关文章

nodejs关于后端服务开发的探究

前提 在当前的环境中关于web server的主流开发基本上都是java、php之类的,其中java spring系列基本上占了大头,而python之流也在奋起直追,但别忘了nodejs也是可以做这个服务的,只是位置有点尴尬,现在就来探究下nodejs…

Ubuntu20.04本地配置IsaacGym Preview 4的G1训练环境(一)

Ubuntu20.04本地配置IsaacGym Preview 4的G1训练环境 配置conda虚拟环境安装pytorch、cuda和cudnn安装IsaacGym Preview 4配置rsl_rl配置unitree_rl_gym配置unitree_sdk2py 写在前面,要求完成anaconda配置,若没完成,请参考本人其余博客&#…

RangeError: Maximum call stack size exceeded

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

八卡5090服务器首发亮相!

AI 人工智能领域热度居高不下。OpenAI 的 GPT - 4 凭强悍语言处理能力,在内容创作、智能客服等领域广泛应用。清华大学团队的 DeepSeek 大模型在深度学习训练优势突出,正促使各行业应用端算力需求向推理主导转变,呈爆发式增长 。 随着 DeepS…

计算机视觉|Swin Transformer:视觉 Transformer 的新方向

一、引言 在计算机视觉领域的发展历程中,卷积神经网络(CNN) 长期占据主导地位。从早期的 LeNet 到后来的 AlexNet、VGGNet、ResNet 等,CNN 在图像分类、目标检测、语义分割等任务中取得了显著成果。然而,CNN 在捕捉全…

【Leetcode 每日一题】2597. 美丽子集的数目

问题背景 给你一个由正整数组成的数组 n u m s nums nums 和一个 正 整数 k k k。 如果 n u m s nums nums 的子集中,任意两个整数的绝对差均不等于 k k k,则认为该子数组是一个 美丽 子集。 返回数组 n u m s nums nums 中 非空 且 美丽 的子集数…

常见Web应用源码泄露问题

文章目录 前言一、常见的源码泄露漏洞git源码泄露SVN源码泄露DS_Store文件泄漏网站备份压缩文件泄露WEB-INF/web.xml泄露CVS泄露.hg源码泄露Bazaar/bzr泄露.swp文件泄露 前言 在Web应用方面对于安全来说,可能大家对SQL注入、XSS跨站脚本攻击、文件上传等一些漏洞已…

记录一次wifi版有人物联串口服务器调试经过

1、首先买了一个华为的wifi路由器,连接上以后,设置好网络名字和wifi密码 2、用网线连接串口服务器,通过192.168.1.1登录,进行配置 找到无线客户端配置,先在基本配置中打开5G配置,然后再去5.8G配置中设置 …

Android 平台架构系统启动流程详解

目录 一、平台架构模块 1.1 Linux 内核 1.2 硬件抽象层 (HAL) 1.3 Android 运行时 1.4 原生 C/C 库 1.5 Java API 框架 1.6 系统应用 二、系统启动流程 2.1 Bootloader阶段 2.2 内核启动 2.3 Init进程(PID 1) 2.4 Zygote与System Serv…

【Windows下Gitbook快速入门使用】

Windows下Gitbook快速入门使用 1 工具安装1.1 Node.js下载安装1.1 环境变量1.2 npm配置1.3 安装gitbook 2 gitbook使用2.1 gitbook 无法执行2.2 gitbook常用命令 Gitbook是一个软件,使用Git和Markdown来编排书本; GitBook helps you pushlish beautiful …

RK3588V2--HYM8563TS RTC 实时时钟适配移植

1. 什么是RTC RTC(Real-Time Clock,实时时钟)是一种电子设备或芯片,它用于保持当前时间和日期,即使系统关闭或断电也能持续计时。RTC 通常用于计算机、嵌入式系统、物联网设备等需要精确时间管理的场景。 1.1 RTC 的…

MHA集群

一.MHA集群 MHA master high avavibility 主服务器高可用 如上图所示,我们之前说过,如果在主从复制架构中主服务器出现故障,就需要我们将从服务器作为主服务器,等故障的主服务器修复好之后,再将修好的主服务器作为从服…

10 【HarmonyOS NEXT】 仿uv-ui组件开发之Avatar头像组件开发教程(一)

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 目录 第一篇:Avatar 组件基础概念与设计1. 组件概述2. 接口设计2.1 形状类型定义2.2 尺寸类型定义2.3 组件属性接口 3. 设计原则4. 使用…

微信小程序+SpringBoot的单词学习小程序平台(程序+论文+讲解+安装+修改+售后)

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统背景 (一)社会需求背景 在全球化的大背景下,英语作为国际…

鸿蒙HarmonyOS评论功能小demo

评论页面小demo 效果展示 1.拆解组件,分层搭建 我们将整个评论页面拆解为三个组件,分别是头部导航,评论项,回复三个部分,然后统一在index界面导入 2.头部导航界面搭建 Preview Component struct HmNavBar {// 属性&a…

解析 SQL,就用 sqlparse!

文章目录 解析 SQL,就用 sqlparse!一、背景:为什么你需要 sqlparse?二、什么是 sqlparse?三、如何安装 sqlparse?四、简单易用的库函数1\. parse(sql)2\. format(sql, **options)3\. split(sql)4\. get_typ…

点云软件VeloView开发环境搭建与编译

官方编译说明 LidarView / LidarView-Superbuild GitLab 我的编译过程: 安装vs2019,windows sdk,qt5.14.2(没安装到5.15.7),git,cmake3.31,python3.7.9,ninja下载放到…

【一文学会 HTML5】

目录 HTML概述基本概念HTML 发展历程HTML 基本结构 网页基本标签标题标签&#xff08;<h1> - <h6>&#xff09;段落标签&#xff08;<p>&#xff09;换行标签&#xff08;<br>&#xff09;水平线标签&#xff08;<hr>&#xff09;注释&#xff0…

Spring Boot面试问答

1. Spring Boot 基础知识 问题 1:什么是Spring Boot?它与Spring框架有何不同? 回答: Spring Boot是基于Spring框架的一个开源框架,旨在简化新Spring应用的初始化和开发过程。与传统的Spring框架相比,Spring Boot提供了以下优势: 自动配置:根据项目依赖自动配置Spring…

DeepSeek系列模型技术报告的阅读笔记

DeepSeek系列模型技术报告的阅读笔记 之前仔细阅读了DeepSeek系列模型的主要技术方面内容与发展脉络&#xff0c;以下是DeepSeek系列模型技术报告的笔记&#xff0c;有错误的地方欢迎指正&#xff01; 文章目录 DeepSeek系列模型技术报告的阅读笔记GQADeepseek MoEAbstractIn…