SOON: Scenario Oriented Object Navigation with Graph-based Exploration
一,引言
总体来说,SOON和REVERIE任务相同:根据指令在3D环境中找到目标物体。
区别在于,之前的任务指令起始位置是固定的,然后指令是step-by-step的指导agent导航至某个位置,而SOON不依赖于起始位置,它的指令是针对目标物体的有粗到细的描述,所以可以不依赖于agent起始位置。
代理接收由多种描述组成的复杂自然语言指令(左侧)。代理在不同房间之间导航时,首先搜索更大范围的区域,然后根据视觉场景和指令逐渐缩小搜索范围。下面是与之前数据集的差别:在现实应用中,人们通常不会提供详细的逐步指导,并期望机器人能够自我探索和自主决策。本文认为,在像人类这样的3D环境中,从任何地方导航到语言引导目标的能力对智能机器人来说也非常重要。之前的方法未能考虑复杂指令仅提供目标描述而起点不固定的情况。SOON任务更加接近真实世界的情况。
-
任务(SOON Scenario Oriented Object Navigation)
在该任务中,代理被指示在房屋内找到一个完全描述的目标对象。SOON中的导航说明是面向目标的,而不是像以前的基准中那样循序渐进的保姆。该任务的两个特点:target orienting 和 starting independence。target orienting是指指令是描述的是对象而不是查询步骤,starting independence是指agent不依赖固定的起始位置,而是任意的位置都可以实现导航任务。 -
方法(GBE Graph-based Semantic Exploration)
我们提出了一种新的基于图的语义探索(GBE)方法,以提出一种很有前途的接近SOON的方向。与以前的导航工作相比,所提出的GBE具有两个优点。
首先,GBE将导航过程建模为一个 图,这使导航代理能够获得对观测信息的全面和结构化理解。它采用图动作空间,将传统序列到序列模型中的多个动作显著地合并为一步决策。合并操作减少了导航过程中的预测数量,这使模型训练更加稳定。
其次,与使用模仿学习或强化学习导航策略的其他基于图的导航模型不同,所提出的GBE结合了两种学习方法,并提出了一种新的探索方法,通过从次优轨迹学习来稳定训练。在模仿学习中,主体在地面真相标签的监督下一步一步地学习导航。这会导致严重的过拟合问题,因为标记的轨迹只占大轨迹空间的一小部分。在强化学习中,导航代理探索大的轨迹空间,并学习最大化折扣奖励。强化学习利用次优轨迹来提高可概括性。然而,强化学习不是一种端到端的优化方法,这使得代理很难收敛并学习鲁棒策略。与其他RL探索方法不同,所提出的探索方法基于语义图,该语义图是在导航过程中动态构建的。因此,它有助于代理在基于图形导航时学习健壮的策略。 -
基准(FAO From Anywhere to Object)
为了调查SOON任务,我们提出了一个大规模的从任何地方到对象(FAO)基准。该基准是建立在Matterport3D模拟器上的,该模拟器包括90个不同的住房环境和真实图像全景。FAO提供了4K套带注释的指令和40K条轨迹。如图1(左)所示,一组指令包含三个句子,包括四个层次的描述:**i)**物体的颜色和形状;**ii)**周围物体以及这些物体和目标物体之间的关系;**iii)**目标对象所在的区域和相邻区域。然后,指令的平均字数为38(R2R为26),标记轨迹的平均跳数为9.6(R2R为6.0)。因此,我们的数据集比其他任务更具挑战性。
二,SOON任务(Scenario Oriented Object Navigation)
2.1 任务定义
本文提出了一种新的面向场景的对象导航(SOON)任务,其中代理从3D体现环境中的任意位置导航,以根据指令定位目标对象。
- 该任务包括两个子任务:导航和定位。
如果agent导航到靠近目标的位置(<3m),则认为导航是成功的;
如果agent基于导航的成功在全景视图中正确定位目标对象,我们认为定位是成功的。
为了确保无论代理的起点如何都能找到目标对象,该指令由几个部分组成:i)对象属性,ii)对象关系,iii)区域描述,vi)相邻区域描述。
图2显示了演示描述的不同部分的示例。在导航的步骤t中,代理观察包含RGB和深度信息的全景视图 v t v_t vt。
同时,代理接收相邻节点观测
U
t
=
{
u
t
1
,
…
,
u
t
k
}
U_t = \{u^1_t, \dots, u^k_t \}
Ut={ut1,…,utk},这是从当前位置到 k 个可到达位置的观测。房屋扫描中所有可到达的位置都被离散化为导航图,代理在图中的节点之间导航。对于每一步,代理都采取一个动作
a
a
a,从当前位置移动到相邻节点或停止。模拟器为agent提供了RGB-D传感器和GPS传感器得到x,y坐标。
模拟器还提供当前节点和候选节点的索引。
2.2 极轴表示
REVERIE[39]在2D视图中注释2D边界框以表示对象的位置。
2D视图与具体模拟器的全景视图分开。这种标记方式有两个缺点:1)由2D视图分隔的某些对象没有标记;2) 2D图像失真引入了标签噪声。我们采用点检测的思想,并用极坐标表示位置,如图3所示。首先,我们用四个顶点{p1,p2,p3,p4}注释对象边界框。然后,我们通过pc计算中心点,将2D坐标转换为原始相机光线α和调整后的相机光线α′之间的角度差。
三,基于图的语义探索(方法)
本节介绍了基于图的语义探索(GBE)方法。GBE的流程图如图4所示。我们的视觉编码器g和语言编码器h基于视觉语言导航的常见实践。随后,我们介绍了GBE中的图规划器,它对访问地点的结构化语义进行了建模。
最后,下图介绍了基于图规划器的探索方法。
3.1 基于graph的导航
记住看过的场景并明确建模导航环境有助于长期导航。因此,我们引入了一个 graph planner 来存储观察到的特征,并将探索的区域建模为特征图。
- 图规划器维护节点特征集 V \mathcal{V} V、边缘集 E \mathcal{E} E 和节点嵌入集 M \mathcal{M} M。
- 节点特征集 V \mathcal{V} V用于存储从视觉编码器 g g g 生成的节点特征和候选特征。
- 边缘集 E \mathcal{E} E被动态更新以表示所探索的导航图。
- 嵌入集 M \mathcal{M} M 存储由GCN更新的中间节点嵌入。
M
\mathcal{M}
M 中的节点特征(记为
f
M
n
i
f^{\mathcal{M}_{n_i}}
fMni)由
V
\mathcal{V}
V中相同位置的特征初始化。在步骤 t,代理导航到索引为
d
0
d_0
d0 的位置,并接收视觉观察
v
t
v_t
vt,相邻节点的观察结果为
U
t
=
{
u
t
1
,
…
,
u
t
k
}
U_t = \{u^1_t, \dots, u^k_t \}
Ut={ut1,…,utk},其中k是邻居的数目,
N
t
=
{
n
1
,
…
,
n
k
}
N_t = \{n_1, \dots, n_k \}
Nt={n1,…,nk} 是邻居的节点索引。这个观察结果是一张图片还是在当前位置所有能看到的图片?
视觉观察和相邻观察由视觉编码器
g
g
g embedding:
其中
n
0
n_0
n0 表示当前节点,
n
i
(
1
≤
i
≤
n
)
n_i(1≤ i≤ n)
ni(1≤i≤n) 是它连接的节点。graph planner将
f
t
v
f^v_t
ftv 和
f
t
u
,
i
f^{u,i}_t
ftu,i 添加到
V
\mathcal{V}
V 中
对于导航图中的任意节点
n
i
n_i
ni,其节点特征由
V
\mathcal{V}
V 表示,遵循两个规则:
1)如果访问了节点
n
i
n_i
ni,则其特征
f
n
i
f_{n_i}
fni 由
f
n
i
v
f^v_{n_i}
fniv 表示;
2) 如果节点
n
i
n_i
ni未被访问但仅被观察,则其特征由
f
n
i
u
f^u_{n_i}
fniu表示;
3) 由于可以从多个不同的视图观察到可导航位置,因此未访问节点特征由所有观察到的特征的平均值表示。
图形规划器还通过以下方式更新边集
E
\mathcal{E}
E
边由由两个节点索引组成的元组表示,表示两个节点连接。然后,GCN根据
V
\mathcal{V}
V和
E
\mathcal{E}
E更新
M
\mathcal{M}
M:
M
←
G
C
N
(
M
,
E
)
\mathcal{M} \gets GCN(\mathcal{M,E})
M←GCN(M,E)
为了全面了解当前位置和附近场景,我们将图形规划器graph planner的输出定义为(特征求和求平均):
f
t
g
f^g_t
ftg和语言特征
f
t
l
f^l_t
ftl执行跨模态匹配并输出
f
^
t
\hat{f}_t
f^t。GBE将
f
^
t
\hat{f}_t
f^t用于两项任务:导航动作预测和目标对象定位。要导航的候选节点都是已观察到但未访问的节点其检索为
C
=
c
1
,
…
,
c
∣
C
∣
C={c_1, \dots, c_{|C|}}
C=c1,…,c∣C∣, 其中|C|是候选者数量。从
V
\mathcal{V}
V中提取候选特征,表示为
f
c
1
,
…
,
f
c
∣
C
∣
{f_{c_1}, \dots, f_{c_{|C|}}}
fc1,…,fc∣C∣.代理生成行动预测候选的概率分布pt,并输出回归结果:
l
i
h
^
\hat{l^h_i}
lih^ 和
l
i
e
^
\hat{l^e_i}
lie^ 代表定位的航角和仰角值:
0
≤
i
≤
∣
C
∣
0 \le i \le |C|
0≤i≤∣C∣,
z
i
z_i
zi是由参数为
W
n
a
v
W_{nav}
Wnav的完全连接层产生的logit,
a
c
0
a_{c_0}
ac0表示停止动作。因此,动作空间
∣
A
∣
=
∣
C
∣
+
1
|A|=|C|+1
∣A∣=∣C∣+1 根据动态构建的图而变化。
3.2 基于graph的探索
Seq2seq导航模型仅感知当前观察和历史信息的编码。现有的探索方法侧重于数据增强、启发式辅助方法和辅助任务。但是,使用动态构建的语义图,导航代理能够记住它观察到但尚未访问的所有节点。因此,我们建议使用语义图来促进探索。
如图4(黄色框)所示,图规划器在探索过程中构建导航语义图。
在模仿学习中,导航代理使用地面真实动作
a
t
∗
a^*_t
at∗ 来采样轨迹。
然而,在每个步骤t中,在基于图的探索中,从等式6中候选的预测概率分布中采样导航动作
a
t
a_t
at。图规划器计算每个候选到目标的Dijkstra距离。teacher动作
a
^
t
\hat{a}_t
a^t 是到达距离目标最近的候选者。房间到房间(R2R)数据集中的每个轨迹只有一个目标位置。然而,在SOON任务中,由于可以从多个位置观察目标物体,因此轨迹可以有多个目标位置。教师动作ˆa的计算公式为:
其中
n
T
1
.
…
,
n
T
m
n_{T_1}.\dots, n_{T_m}
nT1.…,nTm 是
m
m
m 个目标的索引,
c
i
c_i
ci是观察到但未访问节点的索引,从当前位置到节点
n
i
n_i
ni的动作由
a
t
n
i
a^{n_i}_t
atni定义。
D
(
n
i
,
n
j
)
D(n_i,n_j)
D(ni,nj)表示计算节点ni和nj之间的Dijkstra距离的函数。请注意,目标位置在计算teacher action的训练中可见,但在测试中不可见。如果当前位置是目标节点之一,教师动作
a
^
t
\hat{a}_t
a^t是停止动作。从不完善的导航策略中采样并执行动作
a
^
t
\hat{a}_t
a^t使代理能够在房间中进行探索。使用最佳操作有助于学习稳健的策略。
3.3 训练目标
我们在这里介绍两个培训目标:i)导航目标Lnav;ii)对象定位目标Lloc。GBE模型由这两个目标共同优化。
- 在模仿学习中,我们的导航代理从ground-truth actions a ∗ a^* a∗ 中学习.
- 在强化学习中,代理人在采取行动 a t a_t at 时通过最大化折扣奖励来学习导航[43]。
- 在基于图的探索中,我们通过图规划器计算最接近目标的候选,并将移动到候选的动作设置为 a ^ t \hat{a}_t a^t 。
Lnav是上述三种学习方法的组合:
p
t
p_t
pt是代理生成行动预测候选的概率分布(见公式6), A_t$是A2C[34]中定义的有利条件 。
强化学习的奖励是通过当前位置与目标之间的Dijkstra距离来计算的。 λ 1 、 λ 2 、 λ 3 λ_1、λ_2、λ_3 λ1、λ2、λ3分别是模仿学习、强化学习和基于图的探索的损失权重。我们的代理学习由目标中心位置监督的定位分支。
由于我们将二维边界框位置映射为极坐标表示,标签由两个线性值组成,即航向 l h l^h lh 和仰角 l e l^e le。我们使用均方误差(MSE)来优化预测:
四,实验
4.1 From Anywhere to Object (FAO) Dataset
本文提供了3848套自然语言指令,描述了3D环境中的绝对位置。进一步收集了90个Matterport场景中3923个对象的6326个边界框。尽管本任务不限制代理的起始位置,但我们在数据集中提供了超过30K的长距离轨迹,以验证任务的有效性。每个指令都包含属性、关系和区域描述,以在存在多个对象时过滤出唯一的目标对象。
4.1.1 数据集分割
训练分割包含3085组指令,其中28015条轨迹在38栋房屋上。
我们提出了一个新的拆分,名为“validation on seen instruction”,这是一个验证集,在同一house中包含相同的指令,具有不同的起始位置。
验证(见过指令集)包含245条指令,轨迹为1225条。
验证(在见过的house,具有不同的指令)包含195条具有1950条轨迹的指令。
验证(没见过house的验证集)包含205条指令和2040条轨迹。
4.1.2 数据收集
我们首先为全景视图中的对象标记边界框。然后,我们将边界框标签转换为极坐标表示,如第3节所述。可以从多个位置到达对象。我们注释所有这些位置以减少数据集偏差
为了收集不同的指令及其层次描述,我们将语言注释任务分为五个子任务,如图2所示:
1)描述目标的属性,如颜色、大小或形状;
2) 找到至少两个与目标相关的对象并描述它们的关系;
3) 在模拟器中进行探索,以描述目标所在的区域;
4) 探索并描述附近地区;
5) 用三句话重写所有描述。前四步确保了语言的复杂性和多样性。重写步骤使语言教学连贯自然。
最后,我们使用每个场景的导航图生成长导航轨迹。为了使任务具有足够的挑战性,我们首先设置了18米的门槛。对于每个指令和对象对,我们固定目标视点并采样起始视点。如果两个视点之间的Dijkstra距离超过阈值,我们确定轨迹有效。在一些房屋中,长轨迹通常很难找到,甚至可能不存在。因此,在每五次样本故障后,我们将阈值降低0.8倍。
4.1.3 数据分析
图5(左)说明了指令中的字数分布。FAO数据集包含3848条指令,词汇表为1649个单词。指令集中的平均字数为38.6,而REVERIE中的平均字数为26.3,R2R中的平均数为18.3。大多数指令的字数从20字到60字不等,这确保了表示能力。此外,指令长度的差异使得描述更加多样。
轨迹长度从15米到60米以上。与R2R和REVERIE相比,如图5(中间)所示,大多数轨迹在8跳以内,FAO提供了更多的长期轨迹,这使得数据集更具挑战性。图5(右)说明了四个指令注释步骤中的字数比例。注释中的单词越多,所包含的信息就越丰富。因此,我们可以推断对象关系和附近区域包含最丰富的信息。所以agent应该更加注意这两个部分去实现更好的表现。
4.2 实验结果
4.2.1 实验设置
我们在R2R和FAO数据集上评估了GBE模型。我们将数据集分成五个部分:1)训练;2) 验证(见过房屋和指令);3) 验证(对看得见的房子,但看不见的指示);4) 验证(在看不见的房子);和 5)测试。
与标准VLN基准相比,由于任务对开始位置不依赖,我们在FAO中添加了一个新的验证集,即the validation on seen instructions。
我们从两个方面评估性能:导航性能和定位性能。导航性能通过常用的VLN指标进行评估,包括导航错误(NE)、成功率(SR)、Oracle成功率(OSR)和路径长度加权的成功率(SPL)[1]。通过指示预测方向是否位于边界框中的成功率来评估定位性能。我们结合SPL和定位成功率,提出了按路径长度加权的查找成功率(SFPL):
其中
S
i
n
a
v
S^{nav}_i
Sinav和
S
i
l
o
c
S^{loc}_i
Siloc分别是代理是否成功导航到目标或定位目标的指示符。
l
i
n
a
v
l^{nav}_i
linav是导航轨迹的长度,而
l
i
g
t
l^{gt}_i
ligt是地面真实目标和起始位置之间的最短距离。
4.2.2 实验细节
我们将所提出的模型与几个基线进行了比较:1)随机策略;2) SpeakerFollower,一种模仿学习方法;3) RCM[47],模仿学习和强化学习;4) AuxRN,具有辅助任务的模型;5) 分层存储网络。所有五种模型都采用上面一章中介绍的相同视觉语言导航主干。
视觉编码器
g
g
g 由Resnet-101实现,语言编码器h是单词的嵌入层和LSTM层结合
我们在10K交互的训练分割上训练所有模型,以确保所有模型都经过充分训练。我们使用的优化器是RMSProp,学习率为
1
0
−
4
10^{-4}
10−4 。
4.2.3 R2R结果
在表2中,我们将GBE模型与没有预训练和辅助任务的最新模型进行了比较。在unseen house验证集上,GBE在不使用额外数据的情况下优于所有模型。在SPL方面,它比其他基于图形的导航方法EGP要好2.4%。在测试集上,GBE在所有评估指标上都优于以前的模型。它在SPL中的表现优于RCM(一种带有强化学习的模拟学习的seq2seq模型)5.4%。
4.2.4 FAO结果
实验结果如表3所示。基线模型的性能揭示了FAO数据集的一些独特特征。
首先,人的表现在很大程度上优于所有模型。这种人机差距的存在表明,目前的方法无法解决这一新任务。随机策略方法在所有指标上表现不佳,这表明我们的数据集没有偏差。
此外,强化跨模态匹配(RCM),一种结合了模仿学习和强化学习的方法,在看不见的房子集合上优于纯模仿学习方法(说话人跟随者)。这表明强化学习有助于避免数据集中的过度拟合。
我们对AuxRN的实验表明,R2R的辅助任务对FAO没有好处,这表明SOON是独一无二的。我们在没有基于图的探索的情况下测试GBE和GBE的性能。
我们观察到,通过图探索,模型获得了更好的泛化能力。最终模型的oracle成功率比未对测试集进行基于图的探索的模型高0.7%,成功率高0.5%,SPL高1.5%,SFPL高0.6%。我们发现模型在看到的指令集上表现良好,但在其他两个指令集上则表现不佳。由于所看到的指令集的域接近于训练集,这表明模型很好地拟合了训练数据,但缺乏泛化性。
4.2.5 FAO消融研究
我们从两个方面消融了FAO数据集:1)视觉和语言模态的影响,2)不同粒度级别的影响。
输入模态的消融结果如表4所示。我们观察到,没有视觉和语言输入的模型表现最差。因此,如果没有视觉语言模式,就不可能很快完成任务。只有视觉的模型比只有语言的模型表现得更好。我们推断,在SOON任务中,视觉比语言更重要。
最后,我们发现具有视觉和语言的模型表现最好,表明这两种模式是相关的,并且两种模式都很重要。一些物体如“椅子”存在于所有的房子中,而其他物体如“花”则不常见。该模型学习先验知识,在没有语言的导航中找到公共对象
粒度等级的消融结果如表5所示。
我们使用不同的注释粒度级别训练GBE:①对象名称,②对象属性和关系,③区域信息,④重写指令。请注意,具有对象名称(GBE+1)的模型相当于ObjectGoal导航。
我们发现,在ObjectGoal设置中训练的模型比使用更多信息训练的模型表现更差。它有两个原因:
1)有多个对象属于同一类,使用对象名称导航会导致歧义;
2) 在没有场景和区域的情况下导航会使代理更难找到最终位置。
通过比较前三个实验,我们推断对象名称①、对象属性和关系②以及区域描述⑤都有助于SOON导航。最后,我们发现具有重写指令④的模型性能最好(SFPL比GBE+1+2+3高0.6%)。我们推断良好的自然语言指令帮助agent理解。
五,总结
在本文中,我们提出了一个名为面向场景的对象导航(SOON)的任务,在该任务中,代理被指示从任意起始位置查找房屋中的对象。为此,我们构建了一个名为“从任何地方到对象”(FAO)的数据集,其中包含3K描述性自然语言指令。为了为完成这项任务提出一个有希望的方向,我们提出了GBE,这是一种将探索区域显式建模为特征图的模型,并引入了基于图的探索方法以获得稳健的策略。我们的模型在R2R和FAO数据集上优于所有现有模型。我们希望SOON任务能够帮助社区解决现实中的导航问题