贡献
前瞻探索策略旨在通过准确预测候选位置的未来环境来有效评估智能体的下一步行动。一些现有研究尝试预测未来环境的 RGB 图像,但这种策略存在图像失真和高计算成本的问题。
本文提出 预训练的分层神经辐射表示模型(HNR),用于为未来环境生成多层次的语义特征,该方法相比逐像素的 RGB 重建更加稳健且高效。借助预测的未来环境表示,前瞻 VLN 模型能够构建可导航的未来路径树,并通过高效的并行评估选择最优路径。在 VLN-CE 数据集上的大量实验验证了该方法的有效性。
方法
一、概述
使用全景图,采用了一种通过环境预测来前瞻性探索的策略。
生成未来环境表示,有 DREAMWALKER
想象可导航候选位置的全景图像(缺点是生成的全景图像与实际图像之间存在较大失真)。由于像素级训练目标,图像生成模型倾向于拟合局部像素的RGB值,而不是专注于关键的环境语义。对于未见过的3D环境,由于RGB图像信息冗余过高导致准确的RGB重建很难实现。此外,生成高分辨率的全景图像太过耗时,响应延迟太高。
为了平衡两者,即图像质量更高,速度更高,本文提出一种预训练的分层神经辐射(HNR)表示模型。它生成未来候选位置的多层次语义表示,而不是全景图。该语义表示通过CLIP来学习。
具体来说,在导航的每一步,CLIP模型提取的细粒度网格特征被保存到具有3D位置和方向的特征云中。为了预测未来环境的语义特征,沿着相机光线采样点,并聚合这些点周围的特征,以生成潜在特征向量和体积密度,然后使用体积渲染技术将这些值合成到小尺度区域特征中。此外,采用多层编码器生成未来环境的多层语义特征,并通过CLIP嵌入进行监督。
二、层次化的神经辐射表示
1 特征云编码
为了编码观察到的视觉信息,作者提出在每一个导航步骤 t t t 中,将图像的精细视觉特征以及其对应的空间信息存入一个“特征云(feature cloud)”中,记作 M \mathcal{M} M。
在每个时刻
t
t
t,系统观察到12张RGB图像,记为
R
t
=
{
r
t
,
i
}
i
=
1
12
\mathcal{R}_t = \{ r_{t,i} \}_{i=1}^{12}
Rt={rt,i}i=112。使用预训练的 CLIP-ViT-B/32 模型提取图像的特征
{
g
t
,
i
∈
R
H
×
W
×
D
}
i
=
1
12
\{ g_{t,i} \in \mathbb{R}^{H \times W \times D} \}_{i=1}^{12}
{gt,i∈RH×W×D}i=112。通过下采样的深度图
{
d
t
,
i
∈
R
H
×
W
}
i
=
1
12
\{ d_{t,i} \in \mathbb{R}^{H \times W} \}_{i=1}^{12}
{dt,i∈RH×W}i=112,将每个特征
g
t
,
j
g_{t,j}
gt,j 映射到3D空间位置
P
t
,
j
=
[
p
x
,
p
y
,
p
z
]
P_{t,j} = [p_x, p_y, p_z]
Pt,j=[px,py,pz],使用相机的位姿(旋转
R
\mathbf{R}
R 和平移
T
\mathbf{T}
T)以及内参矩阵
K
\mathbf{K}
K 计算公式如下:
P
t
,
j
=
[
d
t
,
j
⋅
R
−
1
K
−
1
[
h
w
1
]
−
T
]
T
P_{t,j} = \left[ d_{t,j} \cdot \mathbf{R}^{-1} \mathbf{K}^{-1} \begin{bmatrix} h \\ w \\ 1 \end{bmatrix} - \mathbf{T} \right]^T
Pt,j=
dt,j⋅R−1K−1
hw1
−T
T
此公式将图像平面中的点投影到世界坐标系中。
为了更好地表示特征的空间信息,引入了每个特征的:
- 水平朝向角 θ t , j \theta_{t,j} θt,j
- 特征网格的大小 s t , j s_{t,j} st,j
s t , j = 1 W ⋅ [ tan ( Θ H F O V 2 ) ⋅ d t , j ] s_{t,j} = \frac{1}{W} \cdot \left[ \tan\left(\frac{\Theta_{HFOV}}{2}\right) \cdot d_{t,j} \right] st,j=W1⋅[tan(2ΘHFOV)⋅dt,j]
其中:
- W W W 是CLIP模型特征图的宽度,
- Θ H F O V \Theta_{HFOV} ΘHFOV 是相机的水平视场角,
- d t , j d_{t,j} dt,j 是该点的深度。
2 通过体积渲染进行区域级编码
为了生成每个未来视图的特征图 R ∈ R H × W × D R \in \mathbb{R}^{H \times W \times D} R∈RH×W×D,给定编码后的特征云 M \mathcal{M} M 和未来视图的相机姿态,HNR 模型通过体积渲染方法预测每个区域的特征 R h , w R_{h,w} Rh,w。
HNR模型均匀地沿着从相机位置 P 1 P_1 P1 到预测区域中心的射线方向 { P n } \{P_n\} {Pn}(射线最多延伸10米)采样 N N N 个点。使用 KD-Tree 算法搜索每个采样点 P n P_n Pn 周围的 k 最近特征,并用多层感知机(MLP)网络将这些 k 个邻近特征结合起来,形成一个潜在的向量 r n r_n rn,并计算该点的体积密度 σ n \sigma_n σn(体积密度 σ n \sigma_n σn 表示射线在该点的终止概率,密度越大,对区域特征的贡献越大)最后,所有沿射线方向的潜在向量通过体积渲染方法合成为区域特征 R h , w R_{h,w} Rh,w,并用于预测未来视图中的区域特征。为了减少计算开销,使用 稀疏采样 策略,如果某个采样点 P n P_n Pn 没有邻近的特征,则直接将该点的体积密度设为零。
公式(4)和(5)描述了如何计算每个特征的相对位置 P r e l k P_{rel_k} Prelk 和相对方向 θ r e l k \theta_{rel_k} θrelk。
对于图像重建和深度估计,使用另一个MLP网络 M L P r g b d MLP_{rgbd} MLPrgbd 来预测颜色值 c n c_n cn 和体积密度 σ ^ n \hat{\sigma}_n σ^n,然后通过体积渲染计算颜色值 C h , w C_{h,w} Ch,w 和深度值 D h , w D_{h,w} Dh,w。最终通过计算渲染结果与真实值之间的误差来优化网络。
3 视图级编码
区域特征 R h , w R_{h,w} Rh,w 只能表示小范围的区域,因此为了表示整个未来视图,并预测空白区域的特征,模型需要结合周围的上下文信息。
在训练过程中,区域特征 R ^ h , w \hat{R}_{h,w} R^h,w 与从实际未来视图中裁剪出的区域图像的 CLIP 嵌入 R h , w g t R_{h,w}^{gt} Rh,wgt 对齐。类似地,视图特征 V ^ \hat{V} V^ 与从整个未来视图提取的 CLIP 嵌入 V g t V^{gt} Vgt 对齐。为了监督编码后的区域特征 R ^ \hat{R} R^,使用 CLIP 模型来对齐实际特征和预测的特征。
在训练中,模型通过最大化区域特征和实际 CLIP 嵌入之间的余弦相似度来最小化损失。
三、前瞻VLN模型架构
对于每个可导航的候选位置,HNR模型通过平均池化12个观察到的视图表示来预测当前的节点嵌入 V t v i s i t e d V^{visited}_t Vtvisited,表示已访问节点的嵌入。全景编码器用于编码每个候选节点和前瞻节点,通过平均池化前瞻视图的特征来获得嵌入。
所有节点的表示(包括已访问节点、候选节点、前瞻节点和停止节点)输入到一个4层的跨模态Transformer进行交互。该Transformer通过 跨注意力 和 图感知自注意力(GASA) 层来增强节点之间的交互。
模型为拓扑图中的每个节点预测一个导航目标分数 S S S。使用 前馈网络(FFN) 对所有节点的嵌入进行处理,生成目标分数。为了避免重复访问已访问的节点,已访问节点的分数被屏蔽。模型会计算候选节点和前瞻节点的目标分数,并选择最大值作为目标路径分数。对于每个路径分支,模型选择目标分数最高的候选节点,预测相应的路径目标分数。