论文分享:【2024 CVPR】Imagine Before Go: Self-Supervised Generative Map for Object Goal Navigation

贡献

物体目标导航(ObjectNav)要求智能体在未知环境中导航至指定目标,这就要求智能体能从部分观察中推断未知的上下文物体和环境,从而推测目标的可能位置。

本文提出了一种自监督生成地图( Self-supervised Generative Map, SGM)的方法,这是一种通过自监督学习来学习显式上下文关系模块化方法。SGM通过利用情景观察和通用知识来重建局部地图(全局地图被裁剪后生成的)的被遮挡像素进行训练。

在导航过程中,智能体保持一个不完整的局部语义地图,同时,局部地图中的未知区域通过预训练的SGM生成。基于生成的地图,智能体将目标的预测位置设为目标,并朝其移动。在三个仿真环境中 ( Gibson, Matterport3D and Habitat-Matterport3D) 显示该方法有效。

方法

视觉物体目标导航(ObjectNav)相当于是VLN中以目标为导向的一个任务。

一、研究背景

在ObjectNav任务中,智能体被置于一个未知且未映射的环境中,任务是根据视觉观察导航至用户指定类别的物体(例如沙发)。由于环境是未知的,当目标不可见时,智能体需要推断目标的可能位置。这要求智能体学习和理解物体之间的上下文关系(例如,沙发通常与靠垫和咖啡桌一起出现,共现关系),从而使其能够根据观察到的视觉线索推测目标的位置。

  1. 其他方法概述
  • 端到端强化学习:将预先构建的物体关系图嵌入到端到端导航模型中,或者通过强化学习直接学习物体之间的关联。这些预先学习的先验信息被隐式地编码在策略当中。

    但是这些先验信息和当前环境的情景无关,并且缺乏当前环境的几何记忆,该方法在位置环境中的泛化能力有限

  • 模块化方法:构建显式的语义局部地图,融合了未知环境的几何和语义信息。智能体可以忽略局部地图中未出现目标的观察区域,简化需要探索的潜在状态空间。

    但是该方法没有学习到物体之间的上下文关系(共现关系),存在局限性。

最近的一些方法尝试将物体上下文关系的先验知识引入到模块化方法中,以预测长期目标。学习这种上下文关系的方式相关文章包括预测最接近目标的潜在边界、估计到目标的距离、直接预测目标的坐标……

但是这种上下文关系(通过监督学习)可能并不可靠,比如目标的绝对位置可能因为房间的布局而不同。因此物体间的共现关系可能更加可靠,比如椅子和桌子通常是一起出现的、沙发、靠垫和茶几可能是一起出现的。

  1. 本文方法概述

本文提出通过自监督方式来学习物体的联合上下文关系(包含物体间的共现关系)。

  • 无需监督学习那样进行数据收集和标注,只需从输入数据中掩盖部分信息并预测这些信息来学习上下文关系
  • SGM可以与各种LLMs兼容,适用于与LLMs共同进步的并行任务。
  • 模型可以掌握单个物体的具体信息(例如位置和大小),同时理解其上下文伴随物体的模式(即上下文物体关系)以及周围环境(例如潜在障碍和自由路径)

在这里插入图片描述

如图1所示。给定一个训练房间的全局地图,将全局地图裁剪成不同尺度、位置和角度的子地图框,然后统一调整为固定的尺度。按照 MAE 的自监督学习设置,子地图的某些区域会被随机遮挡。SGM通过利用情景观察通用知识来训练预测被遮挡区域的像素值。

  • Masked Autoencoders (MAE):通过掩盖输入图像的部分区域并重建这些区域来学习视觉上下文关系

  • 情景观察:即可见区域,通过视觉编码器进行编码。

  • 通用知识:预训练的LLMs,可见区域通过文本模板转换为LLMs的提示,随后LLMs(如GPT-4,ChatGLM)在文本中预测被遮挡区域的语义内容。

然后将通用知识和情景观察(两者正交互补)通过跨模态编码器进行融合。解码器根据编码信息预测被遮挡区域的像素值。

具体来说,在导航过程中,智能体维护一个局部语义地图,该地图整合了当前未知环境的观察信息。局部地图是不完整的,经过训练的SGM被用来生成局部地图中未观察到的区域。局部地图最初被划分为不重叠的区域块。怎么选择区域块然后来进行预测呢?采样策略为:优先选择那些信息丰富或与未观察区域相邻的区域块。选中的区域块输入到SGM中,以预测未知区域的像素值。智能体在生成的地图中选择具有最高置信度的目标坐标作为长期目标。SGM根据更新后的局部地图持续生成未知区域,直到找到目标。

二、任务的定义

ObjectNav任务的定义如下:智能体需要在一个未知环境中导航到指定物体类别的实例(例如,盆栽植物)。智能体在每个任务的开始时被随机放置。每个时间步t,智能体接收来自自我中心RGB-D的观察数据s_t、目标物体o和传感器姿态(x_t, y_t, θ_t),其中x_t、y_t和θ_t表示智能体的坐标和朝向。智能体执行一个离散的动作,动作包括前进、左转、右转和停止。当它决定完成任务时,智能体会执行“停止”动作。

导航成功的定义:当智能体走了若干步之后,它到达一个位置,且该位置离目标的距离小于某个阈值(例如1米),并且目标在智能体的自我中心视角中是可见的。

物体目标导航的模块化方法:通常在导航过程中构建一个累积的语义地图,该地图基于RGB-D观察数据、传感器姿态和分割模型。

语义地图 m t ∈ R ( N o + N s ) × H × W m_t ∈ R^{(No+Ns)×H×W} mtR(No+Ns)×H×W利用多个通道来表示不同的类别,其中No表示占用类别的数量,包括占用和空闲,Ns是物体类别的数量,H和W是地图的尺寸。语义地图聚合了从0到t观察到的未知环境中的物体布局。由于语义地图仅通过部分观察到的环境信息获得,因此它只是全局地图的一个子集(即局部地图)。

三、SGM方法

地图被划分为不重叠的区域块,采用均匀分布策略进行无重复采样。被选中的区域块作为可见区域块 m s m_s ms,而剩下的区域块 m u m_u mu 被遮挡。SGM P ( m u ∣ m s ) P(m_u | m_s) P(mums) 通过自监督的方式进行训练,其目标是根据可见的邻近区域块重建被遮挡的区域块。

在这里插入图片描述

如图2所示,所提出的SGM通过利用情景观察和通用知识来重建被遮挡的区域块。

  1. 情景观察

可见的区域块通过线性投影进行嵌入,并加上位置嵌入。视觉编码器由ViT的Transformer块实现。情节观察被嵌入为 E v ( m s ) = f v ∈ R ( n v × n d ) E_v(m_s) = f_v ∈ R^{(nv×nd)} Ev(ms)=fvR(nv×nd),其中nv是可见区域块的数量,nd是特征维度。

编码器只处理可见的区域块。因此,当可见区域块的比例较小时(如25%),编码器消耗的计算和内存资源较少。

  1. 通用知识

对于所有可见区域块,当某个物体类别的像素值为1并出现在对应的通道时,该物体类别被视为已观察。然后,将观察到的类别填充到固定的句子模板中,以生成LLMs的文本提示。例如,当观察到沙发和椅子时,生成的提示是“在一个室内环境中,如果观察到沙发和椅子,其他物体可能会在它们周围吗?用一句话回答。”

LLMs接收文本提示并预测与观察到的类别相邻的可能物体类别。LLMs的预测进一步通过ToKizer进行处理,并用预训练的RoBERTa进行编码。

  1. 融合和预见

利用LXMMERT的跨模态编码器来融合 f v f_v fv f l f_l fl。跨模态编码器的输出作为所有可见区域块的最终嵌入。

解码器将完整的区域块(即编码后的可见区域块和遮挡区域块)作为输入。其中,遮挡区域块被初始化为与编码后的可见区域块大小相同的可学习向量。所有区域块都加上表示其空间位置的位置信息嵌入。输出是预测的未知区域的像素值。

训练函数使用了逐像素的二元交叉熵损失和类别级别的逐像素交集和并集损失。

四、使用SGM方法进行ObjectNav

在导航过程中的每个时间戳 t,智能体构建一个局部语义地图 m t m_t mt

在这里插入图片描述

给定时间 t 的局部语义地图 m_t,我们首先裁剪出一个子区域,该区域的大小是未知区域最小拟合正方形区域的 ϵ \epsilon ϵ 倍。该值是一个缩放因子,最小为100%。裁剪后的地图被调整为固定尺度 m t ′ ∈ R ( N o + N s ) × L × L m_t' \in \mathbb{R}^{(N_o + N_s) \times L \times L} mtR(No+Ns)×L×L, 并分为不重叠的区域块,每个区域的大小相同。然后SGM的输入如前述两点要求进行采样,信息量大或与未观察区域相邻的区域块。(采样策略详见文章)

SGM的原始预测通过添加实际的局部语义地图来增强,以生成最终的全局地图,其中如果一个坐标已经被观察(表示为语义地图中的值),则其预测值将被替换为确认的已观察值。

在ObjectNav任务中,智能体通过生成的语义地图中目标的通道,确定目标的坐标。且目标的预测置信度要超过某个阈值。然后,这个像素的坐标被设置为长期目标。一旦长期目标被识别,智能体只需从当前位置 (x_t, y_t)导航到长期目标。

那局部策略呢?通过快速行进法(Fast Marching Method)实现,该方法根据生成地图的占用通道计算从当前位置到长期目标的最短路径,局部策略基于智能体的步进距离和最短路径计算确定性的动作,在每个时间戳,局部策略将根据更新的语义地图重新规划智能体的动作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值