基于自监督三维语义表示学习的视觉语言导航

发布于:2025-03-09 ⋅ 阅读:(37) ⋅ 点赞:(0)

前言

目前的视觉语言导航存在的问题:

(1)在VLN任务中,大多数当前方法主要利用RGB图像,忽略了环境固有的丰富三维语义数据。许多语义无关的纹理细节不可避免地被引入到训练过程中,导致模型出现过拟合问题,训练后的代理将没有足够的能力适应3D环境感知。

本工作的主要贡献:

(1)提出了一种新的学习和融合框架,为VLN任务引入了三维语义表示;

(2)设计了一个区域查询前置学习任务,以自监督学习的方式帮助从未标记的三维语义重建中学习三维语义表示。


一、模型整体框架

1.1 任务描述

在时间步 t :

(1)图片输入:全景RGB-D图像(在实施过程中会将全景图拆分成12个不同角度的图片);

(2)文本输入:指令;

(3)输出:预测的动作。


1.2 模型介绍

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

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

(1)3D语义编码器:将RGB语义分割信息和D深度信息结合,得到3D重构结果,将3D重构结果作为输入,利用自监督方法训练此编码器。训练完的编码器输入为RGB-D图像,输出为3D语义特征;

(2)视觉编码器:双尺度图Transformer(DUET)模型,输入为RGB特征和3D语义特征,输出为总的视觉特征;

(3)文本编码器:预训练的BERT,输出为文本特征;

(4)细尺度多模态注意力模块 + 局部动作预测模块:整合对齐局部视觉特征和文本特征,并得到局部预测动作;

(5)粗尺度多模态注意力模块 + 全局动作预测模块:整合对齐全局视觉特征和文本特征,并得到全局预测动作;

(6)动态融合模块:融合局部和全局动作预测,得到最终动作预测结果。


二、难点

2.1 3D语义编码器

2.1.1 3D语义重构

此部分的主要功能是将RGB图像结合深度信息,转化为三维语义表示。主要流程如下:

(1)将特定位置代理的多个二维RGB观测图像输入语义分割器(总共150类)中,以获得二维语义分割;

(2)使用深度观测和相机参数将二维语义分割投影到三维空间中,每个RGB-D观测值都被转换为三维语义点云;

(3)通过组合不同视点的三维点云,我们可以获得局部位置特定的全景语义点云;

(4)通过计算每单位体积中属于特定类别的点云的数量来对三维语义点云进行体素化。假设体素化参数对于X轴和Y轴为0.125 m,对于Z轴为0.25 m。对于代理,相对于中心的最大水平观测范围为±8 m,对于垂直方向为±4 m。因此,基于体素的三维语义重建的维度为150×128×128×32;

(5)使用三维重建的稀疏表示,只记录至少有一个非零语义类别的位置,形成k×4(记录索引和位置)和k×150(记录语义类别)的向量,其中k是具有非零语义类别的位置数量。

如下图所示:

2.1.2 自监督学习方法

此部分的主要功能是训练一个3D语义编码器,将3D重建的稀疏表示(体素化、稀疏化后的3D语义点云)编码成3D语义特征,即使用稀疏卷积网络将输入的3D重建的稀疏表示编码为2048×4×4张量,记为F_{sem}

本工作设计了一个区域查询前置学习任务,其中需要三维视觉编码模型回答特定区域中对象的存在问题。主要流程如下:

(1)给定一个定义为元组 (x_{1}, y_{1}, z_{1}, x_{2}, y_{2}, z_{2}, c) 的查询;

(2)询问在满足 x_{1}\leq x\leq x_{2}y_{1}\leq y\leq y_{2}z_{1}\leq z\leq z_{2} 的区域中是否存在类 c 的对象,模型应给出 True 或 False 的答案。

2.1.3 如何训练3D语义编码器?

期望所提出的3D视觉编码器能够通过自监督查询任务,感知不同观察空间范围内的语义信息,往往场景中空间位置与对象语义信息的关联有利于下游导航任务。

下面介绍3D语义编码器的训练过程:

(1)使用多层感知(MLP)对查询进行编码,以生成2048-维的向量 q :

其中 c 是类 c 的 one-hot 向量,r=x_{1}, y_{1}, z_{1}, x_{2}, y_{2}, z_{2}W_{c} 是 128\times 150 维的可学习参数,W_{r} 是 128\times 6 维的可学习参数;

(2)使用多头注意力模型的softmax输出来估计答案ans\in \begin{Bmatrix} True, False \end{Bmatrix}的概率:

其中 W_{h} 和 W_{q}  是 256\times 2048 维的可学习参数,h 是为多头注意力层的输出:

其中K, V为经过3D语义编码器编码的3D语义特征。

具体过程如下图所示:


2.2 基于Transformer的视觉语言导航模型

如下图所示:

主要流程如下:

(1)将3D语义特征映射到与RGB特征相同的维度,即768×16;

(2)将RGB特征与映射后的三维语义特征进行concat连接,创建扩展特征(扩展特征嵌封装了详细的纹理和颜色特征以及空间语义特征,形成了更全面的上下文嵌入);

(3)将扩展特征向量通过多层Transformer,使模型能够辨别RGB和3-D语义特征之间的相互作用;

(4)Transformer输出向量一方面用于更新拓扑图,另一方面输入到精细尺度交叉模态编码器中进行局部动作预测。

(5)分别进行局部和全局的多模态融合,然后分别得到局部和全局的动作预测;

(6)将局部和全局的动作预测动态融合,得到最终的动作预测结果。

2.2.1 拓扑图映射

访问节点的嵌入表示:

(1)访问过的节点:通过添加平均池级联特征向量来增强访问过的节点在拓扑图中的嵌入。这种增强通过利用我们提出的3-D语义编码器提取的语义深度信息来促进空间推理。

(2)未访问的节点:由于智能体仅能部分观测未访问节点,这些未访问节点的嵌入表示通过部分池化机制实现——即在对应视图上累积从不同观测位置获取的特征向量。

需要注意的是,768×16维的三维语义嵌入缺乏方向属性,因此采用简单的前馈神经网络(FFN)作为分类器。该网络以具有方向属性的RGB嵌入为输入,预测三维语义嵌入中的token索引,将该索引对应的token作为当前视图的代表性三维特征,本质上是从16个token中选取最优表征。


三、总结

本工作主要提出一种将3D语义信息应用到视觉语言导航VLN任务中的方法。为了实现这一方法,设计了一个区域查询前置学习任务,以自监督学习的方式训练了一个3D语义编码器,将3D语义成功的编码成为了特征,从而与文本特征一起输入到多模态注意力模块,完成了VLN这一任务。


网站公告

今日签到

点亮在社区的每一天
去签到