Volumetric Environment Representation for Vision-Language Navigation

一、知识点

  1. Coarse-to-Fine

    • 一种处理策略,指的是从粗粒度(较为抽象或低分辨率)逐步过渡到细粒度(具体或高分辨率)的过程。
  2. VER(Visual Event Recognition)

    • 视觉事件识别,指的是识别和理解图像或视频中发生的事件。
  3. 3D Deconvolutions

    • 3D反卷积操作,通常用于提高三维数据的空间分辨率。
  4. CVA(Cross-View Attention)

    • 交叉视角注意力机制,一种算法,用于提取和关注图像中不同视角下的关键信息。
  5. Up-sampling

    • 上采样,一种技术,用于增加数据集的大小,通常通过插值方法来提高图像的分辨率或特征的维度。
  6. Interpolation

    • 插值,一种数学方法,用于在已知数据点之间估计未知点的值。
  7. Vision-Language Navigation (VLN)

    • 定义:VLN任务要求一个智能体(agent)在3D环境中根据自然语言指令进行导航。
    • 关键:环境的全面理解在决策制定中起着至关重要的作用。
  8. 环境表示学习

    • 早期的VLN模型主要依赖单目框架提取2D视角特征,但这种方法在捕捉3D几何和语义信息方面存在困难,导致环境表示不完整。
    • 后来的模型引入外部记忆模块,以拓扑图或语义地图的形式显式地建模和维护环境布局和内容,但仍基于2D视角特征。
  9. 3D感知任务

    • 3D占位预测、3D布局估计和3D检测等任务是理解3D环境的关键组成部分。
    • 这些任务通常需要精细的3D表示,以便准确地捕捉场景的几何和语义信息。

二、方法

  1. Volumetric Environment Representation (VER)

    • 定义:VER将物理世界量化成结构化的3D体素(cells),每个体素对应3D空间的局部上下文。
    • 实现:通过环境编码器(Environment Encoder)将多视角2D特征聚合成统一的3D表示。
  2. 2D-3D采样

    • 在每个导航步骤中,智能体观察其周围环境并获取多视角图像。
    • 引入跨视图注意力(Cross-View Attention, CVA)机制,将不同视角的特征聚合到VER中。
  3. 体积状态估计

    • VLN任务通常被视为状态估计和转换问题。
    • 使用VER,智能体的状态表示为“体积状态”,通过多层Transformer(MLT)模型(ViT-B/16)根据指令嵌入和VER来更新。
  4. 行动预测

    • 建立了一个情景记忆模块,用于存储过去的环境表示,并允许轻松访问它们。
    • 在行动预测阶段,智能体基于当前观察的体积状态和情景记忆中的过去表示来做出决策。
  5. 多任务学习

    • 为了优化VER,在多个3D感知任务(如3D占位预测、3D布局估计和3D检测)的监督下进行训练。
    • 这种多任务学习框架有助于提取更精细和全面的3D表示。

三、工作

  1. 环境编码

    • 在处理多视图图像时,研究人员使用了一个名为ViT-B/16的预训练模型,该模型基于ImageNet数据集进行训练,目的是为了提取图像特征。为了将这些二维图像特征转换为三维空间的理解,他们定义了一个三维体积查询的网格,其尺寸为15×15×4。每个查询点根据相机的内参和外参被映射到二维视图上,以模拟三维空间中的点。此外,研究者设定了一个感知范围,即在x-y轴方向上为[-6m, 6m],在高度(z轴)方向上为[-1.5m, 2m],这样可以确定在三维空间中哪些点是值得关注的。为了将二维特征映射到三维空间,使用了六层CVA(Eq. 1)进行2D到3D的采样。最后,为了提高空间分辨率,采用了三组级联的反卷积(上采样)操作(Eq. 2)。特征的维度被设置为768,这意味着在处理过程中,每个维度(深度、宽度、高度)的特征大小都是768。
  2. 体积状态估计

    • 指令嵌入(Instruction Embeddings):指令嵌入是通过将导航指令转换为嵌入向量来实现的。这些嵌入向量被编码为E,用于表示导航指令中的信息。在确定下一中间位置时,这些指令嵌入与环境表示Ft3d结合,用于预测到达目标状态T的路径。指令嵌入帮助模型理解导航指令,并将这些指令与视觉观察建立关系,从而指导导航行为。
    • 三维状态估计(Volume State Estimation):三维状态估计是通过体积状态空间X来实现的,该空间对应于三维物理世界,并具有初始状态s0。在每一步t,下一个中间状态st+1是通过指令嵌入E和体积环境表示Ft3d来确定的。体积状态估计模块预测中间状态st+1的概率分布p3dt,基于当前状态s_t和指令嵌入E。这个概率分布是通过多层变换器(MLT)和多层感知器(MLP)来计算的,从而得到在三维空间中每个单元格的转移概率。
  3. 拓扑图Gt = {Vt, Et}的构建是为了在导航过程中表示情节记忆。具体来说,Vt表示观察到的视角点,包括所有访问过的视角点及其候选视角点。这些视角点通过压缩之前的VERs(Volumetric Environment Representations)进行编码。边Et表示这些视角点之间的可导航连接。为了预测下一步动作,代理结合体积状态估计和情节导航记忆进行决策。

在预测局部动作时,代理在水平平面上导航以到达相邻的候选视角点{vn}Nn1。将体积状态空间映射到2D空间以与这种移动模式对齐。具体来说,沿着高度(z轴)轴平均p3dt得到pht∈RX×Y。然后,对{vt,n}Nn0(v-0表示当前视角点,即[STOP])的邻域内的概率值求和,并将它们标准化为局部动作概率。

对于全局动作预测,使用情节记忆模块存储过去的环境表示,并允许轻松访问它们。为了有效地记忆环境表示,使用与当前观察到的视角点{v-n}Nn0对应的邻域柱状表示Fn ∈RDe ×|Ωn| ×Z。通过平均池化获得相应的节点嵌入,然后将它们整合到Gt中。对于之前观察到的节点,计算它们特征的平均值。

包含观察到的视角点的情节记忆Gt提供了全局动作空间A*t ∈ R |Vt|。这使得代理可以通过“跳跃”直接到另一个视角点来轻松改变当前的导航状态,即使这个视角点是之前几步观察到的。在Gt上计算全局动作概率。

在执行A_t中的动作后,代理到达下一个视角点vt+1,0,并将迭代执行以下步骤:(1) 通过Eq. (1)编码当前观察为Ft31;(2) 更新其体积状态为st+1 = (xt+1, yt+1, zt+1);(3) 将{vt+1,n}Nn1的节点嵌入添加到情节记忆Gt+1中;(4) 使用更新的情节记忆(即Gt+1)和体积状态(即st+1)预测下一步。代理重复上述过程,直到选择[STOP]动作或达到最大步数限制。

  1. 注释的生成是通过一个设计的房间-对象-体素管道自动完成的。这个管道利用现有的激光雷达(LiDAR)点云标签,而不需要额外的人工注释。具体来说,该管道使用以自我为中心的观察和多视图图像作为输入,来生成用于3D占用预测、物体检测和房间布局估计的注释。

在房间布局方面,注释指定了相对于相机中心的墙的位置、方向和高度,目的是在曼哈顿世界中重建立方体房间形状。注释包括中心坐标、宽度、长度、高度和旋转参数。

对于物体检测,基于房间布局,如果代理位于房间内,则收集周围的物体。在非封闭环境中,根据物体与代理的距离收集附近物体的信息。对于每个物体,使用其顶点的特征向量来定义一个定向包围盒,紧密地包围物体。考虑到由于遮挡而消失的物体仍然存在于环境中,这些物体也被纳入分析。

对于占用点的累积,通过累积稀疏的激光雷达点并利用3D盒子来生成体素标签。首先将3D空间体素化,并根据该体素中标记点的多数投票来标记每个体素。由于激光雷达点数量有限,使用最近邻算法为剩余体素生成密集标签,通过搜索最近的语义标签。此外,代理推断出每个对象的完整3D占用情况(包括未直接观察到的区域),这使得代理能够预测整个对象而不是仅可见表面。

统计数据显示,对于高分辨率标签,定义了120 × 120 × 35的体素网格,在世界坐标中,场景体素大小等于0.1米。注释了超过500亿个体素和16个类别,包括11个前景物体和5个背景物体。这包括大约10万个注释的边界框和1500个房间布局在场景中。这些注释遵循与R2R相同的训练/验证/测试分割。

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2025 John Doe
  • Visitors: | Views:

请我喝杯茶吧~

支付宝
微信