Aerial Vision-and-Dialog Navigation阅读报告

news/2024/11/15 4:24:38/

Aerial Vision-and-Dialog Navigation

  • 本次报告,包含以下部分:1摘要,2数据集/模拟器,3AVDN任务,4模型,5实验结果。重点介绍第2/3部分
  • 相关主页:Aerial Vision-and-Dialog Navigation (google.com) 包含,code,paper,dataset

一,摘要

这一部分将论文中的摘要,引言,相关工作,合并介绍

          本文提出了一个空中/对话/导航任务,其目的是解放双手来控制无人机。为了完成这个任务,作者创建了一个来自真实图片的 连续场景的 无人机模拟器 和 一个具有3064条条轨迹的对话数据集。在对话的过程中,commander(用户角色)提供初始的导航指令和进一步的指导。fellower(无人机角色)在必要的时候提问。在此基础上,作者提出了两种空中导航任务,一种是ANDH,另一种是AVDN-Full,区别是AVDN-Full是直接给出所有的完整的对话历史预测到达目的地的导航轨迹,AVDN是使用逐轮对话进行子轨迹的导航,从而完成导航到最终目的地的完整任务。作者还提出了一种结合人类注意力预测的transformer-based模型来预测waypoints。

图一简单介绍了一个AVDN任务的例子
在这里插入图片描述
表一中,本文提出的数据集AVDN跟其他VLN数据集进行了比较:
在这里插入图片描述

  • 后面的内容解决以下几点疑问:
    • Q 1: 模拟器能提供那些功能?
    • Q 2: 数据集有哪些信息?
    • Q 3: 导航成功的条件?
    • Q 4: 对话过程是怎么异步进行的?
    • Q 5: 提出的模型方法的流程,输入输出是什么?
    • Q 6: 人类注意力是怎么得到的?怎么使用的?
    • Q 7: 任务的局限性?

二,数据集/模拟器

数据集/模拟器是 任务 的基础,提出的任务不能超过数据集/模拟器的能力范围

figure 2
AVDN
在这里插入图片描述

2.1 模拟器

和R2R任务相似,模拟器的构建需要基于一个开源的大规模3D数据集。
而AVDN任务需要的模拟器,是基于 xView数据集 构建的 (一个开源的,大规模的卫星图像目标检测数据集)

Response for Q1: 模拟器能够提供那些功能

  • 模拟器提供的是一个自上而下的视角,模拟环境是一个连续的环境,无人机可以移动到环境中的任何点,所以模拟器提供的是具有丰富视觉内容的连续帧。
  • 无人机还可以通过键盘控制,无人机观察到的视觉内容可以被实时展示。控制过程中,用户还可以通过点击他们关注的区域来关注界面显示的图像。
  • 除此之外,如图2展示的那样,我们的模拟器能够生成commander视图,观察到起始点,目标区域,当前的视图,过去的行动轨迹。

2.2 数据集

2.2.1 数据集结构

Response for Q1: 数据集有哪些信息
数据集包含了导航轨迹 (time step(T)= 0, 1, 2……M):

  • T=0时,commander提供一个初始指令。相邻的时间步之间存在对应的导航子轨迹。
  • 在中间的每一个时间步(0<T<M),都有对应的(来自fellower的)问题和(来自commander)答案。
  • 在T=M时,到达目标区域,由follower决定导航轨迹结束。

有T=M个fellower的视图序列, < u 0 T , u 1 T , , , , u N T T > , N T <u_0^T, u_1^T,, , ,u_{N_T}^T>,N_T <u0T,u1T,,,,uNTT>NT是T-th序列的长度,每个视图的中心总是落在轨迹上。因此,基于每个视图,我们能检索到无人机的的位置,方向,高度( c i , d i , h i c_i,d_i,h_i ci,di,hi).
对于每个视图区域u,还有一个对应的大小相同的二进制的人类注意力的mask,fellower关注白色区域。

2.2.2 数据集收集

Response for Q 3: 导航成功的条件
导航成功的情况是,当fellower宣称到达了真正的目标区域时。如果视图中心 c i c_i ci在目标区域时候,并且到达的区域 u j u_j uj和目标区域Des 的交并比大于0.4时,认为到达了目的地。

2.2.3 数据集分析

AVDN数据集包含了3064个空中导航轨迹,每个轨迹包含多轮对话。平均来说,每个轨迹只包含两轮对话,对话的轮数和是最大的time step M是相同的。3064个完整的轨迹可以被分割成6269条子指令和对应的轨迹。

图3展示了常用词和路径长度分布,轨迹平均长度是287m。
在这里插入图片描述

表二展示了对不同数据集分割的统计分析,平均每个数据集分割包含1.2平方千米的卫星图像区域(相当于一个大学校园那么大)。
在这里插入图片描述

关于指令,包含两种,一种是详细的描述目的地的指令,一种是粗略的初始指令和后面的对话进一步描述。
描述方向的方式也包含两种,一种是以自我为中心的,例如“turn right”,占82%。一种是非以自我为中心的,例如“turn south”,占30%。还有部分指令包含了这两种指令。

三,AVDN任务

本节介绍具体的任务,包含AVDN和AVDN-Full两种,两个模型都需要预测一系列的视觉区域

Respone for Q 4:对话过程是怎么异步进行的?
github的issue中的回复。
在这里插入图片描述

  • 对于这个问题的解答可以看完第四节模型的预测过程后,再回头来看
  • agent跑到不同的地方,应该提出不同的问题?
    在训练的时候,无论agent跑没跑偏,都无所谓,因为我们有ground truth导航点,我们预测一个对或错的导航点之后,下一个起始位置一定是从正确的轨迹上的点开始。推理测试的时候,没有正确的子轨迹和waypoint供参考,如果预测到一个不在数据集中的waypoint上,则必须回溯到正确的轨迹上,而测试集没有正确的轨迹,所以只能回到起始点。
  • 根据作者回复的最后一句话,在推理时,对话历史总是准备好的(而不是交互的),根据这一对话历史完成预测之后必须到达下一个起始位置,也就是说进行下一个预测任务。也就是说,在训练train的时候,该任务是有一定的对话的意思,但是在测试test的时候,没有ground truth轨迹,只能在测试一开始将对话历史输入进去,中间过程不再对话。
3.1 AVDN

任务目标是让agent根据对话历史中的指令预测一个引导至目标区域的导航动作(而不是直接导航到目标区域)。
具体来说,在Ti到 T i − 1 T_{i-1} Ti1这一步,agent预测一个动作 a ^ j \hat{a}_j a^j
输入是(从T=0到T=Ti)对话和一系列的图像 u ^ 0 , u ^ 1 , , , , u ^ j − 1 > \hat{u}_0, \hat{u}_1,, , ,\hat{u}_{j-1}> u^0,u^1,,,,u^j1>,
目标区域和当前的导航time step有关,
在这里插入图片描述

3.2 AVDN-Full

和AVDN的区别是,AVDN-Full的输入是整个导航对话和视觉内容,agent需要预测一个完整的(从起始点 u 0 0 u_0^0 u00到目标区域Des)轨迹,

所以,AVDN-Full为agent提供完整的监督,包括了更精确的目的地描述,更长的表达,更复杂的视觉grounding挑战。

3.3 评估指标

SR成功率和SPL(导航轨迹和导航路径长度加权)都是最基本的导航指标。

GOAL progress是对话导航独有的评估指标,用来评估通往目的地进展的距离,其实就是轨迹的欧拉距离减去预测中心到目标区域的距离。

四,模型

不细讲模态的编码方法,重点在于讲解模型预测的输入输出流程,阅读时请结合模型流程图

在这里插入图片描述
Response for Q1: 模型的流程,输入输出是什么

多模态编码

输入来自三个模态,无人机接收到的方向,图像和历史对话。
起始的时候,接收整个对话历史,包含question和指令。
在每个时间步,之前的方向和图像都被输入到模型中。其中,使用一种卫星图像的预训练模型提取图像编码,整个模型总体上和ET(21年提出的室内导航方法)类似。
多模态的总体输入输出可以表示为
{ z 1 : L l , z 1 : t v , z 1 : t x } = F M T ( { z 1 : L l , z 1 : t v , z 1 : t x } ) \{z_{1:L}^l, z_{1:t}^v, z_{1:t}^x \} = F_{MT}(\{ z_{1:L}^l, z_{1:t}^v, z_{1:t}^x\}) {z1:Ll,z1:tv,z1:tx}=FMT({z1:Ll,z1:tv,z1:tx})
这里的输出不是最终的预测结果,而是一种融合跨模态特征表示。

至于导航进度 g ^ \hat{g} g^,用于决定何时停止。如果导航进度大于阈值,无人机将结束导航,不执行预测waypoint的动作

导航预测和waypoint控制

导航输出是
( w ^ , g ^ ) = F N D ( { z 1 : L l , z 1 : t v , z 1 : t x } ) (\hat{w},\hat{g})=F_{ND}(\{z_{1:L}^l, z_{1:t}^v, z_{1:t}^x \}) (w^,g^)=FND({z1:Ll,z1:tv,z1:tx})
其中, w ^ \hat{w} w^是一个3D坐标(x,y,h)x,y表示位置,h表示高度。
预测的waypoint也控制着无人机的方向,方向朝着移动的方向。因此, w ^ \hat{w} w^也控制着无人机的移动,下一个视图中心,宽度和旋转由 w ^ \hat{w} w^决定。

人类注意力预测(human attention predication)

Q 6:人类注意力是怎么得到的?怎么使用的?
使用 z 1 : t v z_{1:t}^v z1:tv作为输入,编码后预测一个和图像维度大小相同的mask,值越大表示越关注该区域。

Training

首先训练AVDN任务,再训练AVDN-Full任务
waypoint( w ^ \hat{w} w^)和导航进程( g ^ \hat{g} g^)预测使用下面公式训练

人类注意力预测使用下面公式训练:

其中,P是预测的human attention mask,Q是ground truth mask

五,实验结果

在AVDN和AVDN-Full上的预测结果
在这里插入图片描述
实验还证明了,注意力预测有助于最终的导航成功率

在这里插入图片描述

Q 6:任务的局限性是什么?
文中指出的任务局限性在于隐私泄露


http://www.ppmy.cn/news/99588.html

相关文章

Java数据结构之第十三章、字符串常量池

目录 一、创建对象的思考 二、字符串常量池(StringTable) 三、再谈String对象创建 一、创建对象的思考 下面两种创建String对象的方式相同吗&#xff1f; public static void main(String[] args) {String s1 "hello";String s2 "hello";String s3 …

Flask or FastAPI? Python服务端初体验

1. 引言 最近由于工作需要&#xff0c;又去了解了一下简单的python服务搭建的相关工作&#xff0c;主要是为了自己开发的模型或者工具给同组的人使用。之前介绍的针对于数据科学研究比较友好的一个可以展示的前端框架Streamlit可以说是一个利器。不过&#xff0c;随着ChatGPT的…

Django实现人脸识别登录

Django实现人脸识别登录 Demo示例下载 1、账号密码登录 2、人脸识别登录 3、注册 4、更改密码 5、示例网站 点我跳转 一、流程说明 1、注册页面:前端打开摄像头,拍照,点击确定后上传图像 2、后端获取到图像,先通过face_recognition第三方库识别是否能够获取到人脸特征…

【java基础】Map集合

大家好&#x1f44b;&#xff0c;今天我来给大家科普一下Java中的map集合。map是Java中非常重要的数据结构之一&#xff0c;经常被用于存储键值对。 【有关这部分知识的思维导图放在文章末尾了&#xff0c;需要的C友请自取】 正文开始&#xff1a; 一、Map集合概述 我们知道&…

linux编译时的告警选项

makefile文件中 这是一些编译器警告选项&#xff0c;用于在编译代码时检测潜在的问题和错误。下面是每个警告的含义&#xff1a; - -Wall&#xff1a;启用所有常规警告。 - -Wextra&#xff1a;启用额外的警告&#xff0c;包括一些不被 -Wall 覆盖的警告。 - -Wshadow&#xf…

ISCC2023 擂台misc wp

刚想起来发 文章目录 雪豹哦&#xff1f;摩斯密码&#xff1f;ඞG9的钢琴曲BNG听你心跳里的狂Brain Games user-id&#xff1a;芝士雪豹 雪豹 这道题没啥意思&#xff0c;存粹为了套拿450分。知识点属于重复知识点&#xff0c;见谅&#xff1a; 拿到附件&#xff0c;用360解…

由前序和中序创建二叉树

算法分析 首先&#xff0c;前序是按照 根 -> 左子树 -> 右子树 这样的顺序来进行访问的&#xff0c;也就是说&#xff0c;前序给出的顺序一定是先给出根结点的&#xff0c;那么我们就可以根据前序的顺序来依次递归判断出每个子树的根结点了。 如下所示&#xff1a; 我…

【LeetCode热题100】打卡第6天:正则表达式匹配

文章目录 正则表达式匹配⛅前言&#x1f512;题目&#x1f511;题解 正则表达式匹配 ⛅前言 大家好&#xff0c;我是知识汲取者&#xff0c;欢迎来到我的LeetCode热题100刷题专栏&#xff01; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&#xff0c;适合…