贡献
现有的 交互式导航(Interactive Navigation,InterNav)研究通常通过强化学习的大量试验来学习短期交互,但交互并不一定能保证高效的导航,如何规划与障碍物的交互使路径更短、消耗更少的努力同样至关重要。
本文引入了一种面向效果的可供性(affordance)地图,以支持长期交互式导航,并将现有的基于地图的导航框架扩展到动态环境领域。训练了一组可供性函数,以预测可执行的交互方式以及移除障碍物所需的时间成本,从而为交互式模块化系统提供信息支持,以解决交互和长期规划问题。在 ProcTHOR 模拟器上做了实验。
方法
一、概述
与非交互式导航(如 ObjectNav、PointNav)相比,InterNav 不仅要求智能体规划长期导航路径,还需要规划有助于导航的交互行为,从而提高导航效率。InterNav 可以被视为 PointGoal 导航的下游任务,但额外引入了物体交互的能力。
先前的 InterNav 研究采用基于强化学习(RL)的策略,利用自我中心感知 和 隐式情节记忆(来自递归神经网络)来输出可执行的动作。该方法通过大量试验实现了短期交互(对应图 1(b) 中的蓝色箭头)。
然而,有效的交互并不一定意味着高效的导航。例如(见图 1(a)),清理最短路径可能比绕行更耗费精力,甚至在障碍物被卡住时导致失败。与其他交互式任务(如抓取、重新排列)不同,InterNav 的目标并非仅仅进行交互,而是通过交互实现长期导航的优化。
总体而言,视觉导航研究可分为基于学习的方法 (先前的 InterNav 研究属于此类)和基于地图的方法。
-
基于地图的方法
通过构建空间或语义信息的显式地图,在地图上规划长期路径,并将其转换为一系列动作序列。这种 稳定的环境地图表示 使得智能体能够在未探索的场景中进行长期导航(对应图 1(b) 中的红色箭头)。
然而,这种方法的前提是智能体能确定某个位置的可达性——如果该位置被占据,则不可达;否则,它可以到达。因此,在可达区域内,可以直接规划最短路径。
-
相反,在 InterNav 中,可达性是不确定的,因为被障碍物占据的位置或其后的区域可能通过交互变得可达。为了在动态环境中规划长期路径(朝向图 1(b) 中的绿色节点),智能体需要估计障碍物区域是否可达,而这取决于交互的结果。
如图 1(b) 所示,现有方法存在一个空缺,即它们无法同时学习长期导航和短期交互。本文认为这一“缺失的拼图”就是可供性(affordance),它表明了智能体与环境交互的潜力。
-
物体的可供性 通常指的是可执行的交互方式,这不同于静态的空间或语义信息,因为它揭示了环境如何被改变。然而,知道如何交互并不等同于了解交互对导航的潜在影响。
可供性的概念已广泛应用于心理学、计算机视觉和机器人学,其中涉及交互姿态、智能体能力 、动作序列 和效果关系等方面。
本文希望进一步探索:在智能体的交互能力范围内,与障碍物的交互是否能够让路径变得可达。一旦这一点确定,智能体就可以在预期可达区域上规划长期路径,并遵循基于地图的框架进行导航。
三个层级的可供性
-
物体可供性(Object affordance)
指物体的固有属性(如可推动、可拾取),由其形状、质量等决定,不受外部因素影响。
-
姿态可供性(Pose affordance)
指在智能体当前位置和姿态下,某个物体是否可交互,这在导航过程中是动态变化的。
-
效果可供性(Effect affordance)
指在当前环境和智能体能力范围内,障碍物是否可以被移除。例如,如图 1(a) 所示,狗床可以在 3 个动作内被移走,而沙发由于质量大且周围空间狭窄,即便推 10 次也几乎无法移除。
模块化方法
本文提出了一种模块化方法,基于多层级可供性地图来解决 InterNav 任务。包括:
- 一组可供性函数
- 一个地图构建模块
- 一个交互式策略模块
这些模块的交互方式类似于视觉导航研究中广泛应用的基于地图的系统,具体而言:
- 从 RGB 观测中,利用可供性函数预测多种可供性的第一视角分割信息。
- 地图构建模块 将深度图像的几何信息投影到 3D 体素网格,并更新俯视可供性地图。
- 交互式策略模块 生成交互代价地图,结合效果可供性来规划最优路径。
- 最终,策略模块根据智能体位置和目标位置,输出导航或交互的动作序列。
可供性函数 通过智能体在模拟环境中执行的交互结果进行训练,以提高模型的交互能力。
在 ProcTHOR 模拟器 [9] 上进行了实验,该模拟器提供多房间场景并支持物体交互。实验结果表明,该方法优于现有的端到端强化学习方法和基于地图的基线方法。
二、任务范式
智能体的目标是在包含多个障碍物的(例如椅子、箱子)未见的环境中导航到可达目标点。
在每个时间步 t t t,智能体会接收到以下观测信息:
- 自我为中心的 RGB 图像 i t i_t it
- 深度图像 d t d_t dt
- 相对目标坐标 p t p_t pt
然后,智能体需要选择并执行一个动作 a t ∈ A a_t \in A at∈A,动作集合 A A A 包含:
-
5 种导航动作:
-
MoveAhead(前进)
-
RotateRight(右转)
-
RotateLeft(左转)
-
LookUp(向上看)
-
LookDown(向下看)
-
-
6 种交互动作:
-
DirectionalPush(方向性推动,支持 4 个方向)
-
PickUp(拾取)
-
Drop(放下)
-
-
终止动作:Done(结束任务)
智能体需要在距离目标**一个步长(0.25m)**内到达,并执行 Done 动作,才能完成任务。
任务在以下情况下结束:
- 智能体执行 Done,表示成功完成任务。
- 智能体的步数超过最大限制 T = 500 T = 500 T=500,此时任务失败。
三、方法综述
本文提出了 基于可供性的交互式导航(Affordance Driven Interactive Navigation, ADIN)(见图 2)。
该系统由以下三个核心组件组成:
- 可供性函数(Affordance Functions):预测当前自我中心 RGB 观测中出现的物体的多种可供性。
- 地图构建模块(Mapping Module):生成并更新全局可供性地图 m t m_t mt,该地图存储整个场景的空间信息和可供性信息。
- 交互式策略(Interactive Policy):在可供性地图上规划通向目标的长期路径。根据当前智能体的位置,决定执行导航动作或交互动作。
四、可供性函数(Affordance Functions)
可供性函数旨在解决交互式导航中如何交互、何时交互、是否交互的问题。
- 物体可供性(Object Affordance)
在 InterNav 任务中,考虑两类物体可供性(如何交互),它们分别对应两种交互方式:
-
可推动(pushable):指大型物体可以被推动移开,例如椅子、箱子。
-
可拾取(pickable):指小型物体可以被拾取,例如书本、玩具。
- 姿态可供性(Pose Affordance)
交互动作的执行前提是智能体处于合适的姿态,即物体必须在视野范围内且距离合适。因此,定义可见性(visible),即表示在当前智能体姿态下,交互是可行的。由于可见性是相对于智能体姿态的,而非物体的固定属性,因此它能够为智能体提供更具体的何时交互的指导。
- 效果可供性(Effect Affordance)
在导航过程中,智能体需要决定是否交互,这取决于交互的潜在效果,包括其带来的收益和行动成本。InterNav 的目标是高效清空路径,因此,用移除障碍物所需的时间成本来量化交互效果:
- 时间成本高 → 可达性低,智能体应放弃交互(例如,角落里卡住的沉重桌子)
- 时间成本低 → 交互可能更高效,智能体应考虑清理路径(例如,轻便的障碍物)
形式上来说,智能体接收到 RGB 观测
i
t
i_t
it 后,会识别出目标物体
n
n
n 的兴趣区域(RoI),并提取其局部特征
f
t
n
f_t^n
ftn 。通过 RoI 池化,将局部特征
f
t
n
f_t^n
ftn 与全局特征映射
f
t
∗
f_t^*
ft∗ 进行融合。四个可供性函数 基于这个融合特征预测不同层级的可供性:
a
f
t
n
=
{
a
f
t
p
u
,
a
f
t
p
i
,
a
f
t
v
,
a
f
t
e
}
n
=
F
a
f
(
f
t
n
,
f
t
∗
)
(1)
af_t^{n} = \{af_t^{pu}, af_t^{pi}, af_t^{v}, af_t^{e} \}^n = F^{af}(f_t^n, f_t^*) \tag{1}
aftn={aftpu,aftpi,aftv,afte}n=Faf(ftn,ft∗)(1)
这四者分别代表,
a
f
t
p
u
af_t^{pu}
aftpu 物体是否可推动、
a
f
t
p
i
af_t^{pi}
aftpi 物体是否可拾取、
a
f
t
v
af_t^{v}
aftv 物体是否可交互、
a
f
t
e
af_t^{e}
afte 移除障碍物所需的时间成本,前三者都是二元分类,输出 0 或 1,最后一个是连续值在0-1之间。
其中,可供性函数
F
a
f
F^{af}
Faf由四个函数构成:
F
a
f
=
{
F
p
u
,
F
p
i
,
F
v
,
F
e
}
F^{af} = \{F^{pu}, F^{pi}, F^{v}, F^{e}\}
Faf={Fpu,Fpi,Fv,Fe}
- 输入:这些函数使用局部特征 f t n f_t^n ftn 和全局特征 f t ∗ f_t^{*} ft∗ 的拼接作为输入。
- 结构:每个函数是一个两层的多层感知机(MLP)。
可供性函数的训练
为了训练可供性函数 F a f F^{af} Faf,研究者收集了一个静态数据集,包含多个场景中的特征数据 ( f t n , f t ∗ ) (f_t^n, f_t^*) (ftn,ft∗) 及其标签。具体的数据采集流程为:
- 智能体被随机放置在障碍物周围,尝试执行交互动作,DirectionalPush(方向推动)或Pick(拾取)
- 记录交互结果。
- 成功/失败 → 作为 pushable(可推动)、pickable(可拾取)、visible(可见) 的标签。
- 移除障碍物所需的时间 → 作为 effect affordance(时间成本) 的标签。
这样就让智能体从自身交互中学习,确保它对动态环境有更强的适应能力,而不是仅依赖静态规则。交互策略与模型中交互式导航策略(Interactive Policy) 一致。
监督学习训练可供性函数。离散输出(pushable、pickable、visible):使用二元交叉熵损失(Binary Cross Entropy, BCE)。连续输出(移除时间成本):使用均方误差损失(Mean Squared Error, MSE)。
最终智能体不仅要会交互,还要能精准估计交互成本,从而优化导航效率。
五、地图构建模块(Mapping Module)
可供性映射器(affordance mapper)负责汇总智能体的自我中心深度图 d t d_t dt 和 当前时间步 t t t 之前的所有可供性预测 a f t n af_{t}^{n} aftn,将这些信息转换为全局 allocentric(非自我中心)地图 m t m_t mt。即智能体在环境中的全局可供性和可达性地图。
地图构建模块的实现遵循视觉导航中的标准映射过程,通过深度图像 d t d_t dt 计算出点云,其中每个点都会关联相应的可供性预测。然后将点云投影到 3D 体素空间(voxel space),并使用可微分几何计算来构建 3D 体素表示。再将 3D 体素表示转换为 2D 顶视图(top-down maps)
-
多级可供性地图 m t A m_t^A mtA:包含 4 个通道,尺寸为 $ 4 \times M \times M$,存储不同可供性信息(如可推动、可拾取、可见性等)
-
可达性地图(occupancy map) m t R m_t^R mtR:1 个通道,尺寸为 $ 1 \times M \times M$,表示当前环境中哪些区域可达。
这些地图通过对 3D 体素表示进行垂直累积(adding up the voxel representation vertically) 获得。
每个地图点对应物理世界中的
5
c
m
×
5
c
m
5cm \times 5cm
5cm×5cm 区域。完整的可供性地图
m
t
m_t
mt 包含 8 个通道:
m
t
=
{
m
t
A
,
m
t
R
,
m
t
e
x
p
,
p
t
m
,
l
t
m
}
:
8
×
M
×
M
m_t = \{ m_t^A, m_t^R, m_t^{exp}, p_t^m, l_t^m \} : 8 \times M \times M
mt={mtA,mtR,mtexp,ptm,ltm}:8×M×M
- m t A m_t^A mtA → 4 通道,多级可供性信息(可推动、可拾取、可见、交互成本)。
- m t R m_t^R mtR → 1 通道,可达性(占用地图)。
- m t e x p m_t^{exp} mtexp → 1 通道,已探索区域地图(explored area map)。
- p t m p_t^m ptm → 目标点的位置(target location)。
- l t m l_t^m ltm → 智能体当前位置(agent location)。
- M M M → 地图的大小(grid size)。
六、交互式策略(Interactive Policy)
目标:根据可供性地图 m t m_t mt 和目标位置 p t p_t pt 规划短期动作 a t a_t at。
传统视觉导航通常只考虑如何移动,而这里的智能体需要在导航过程中决定何时与障碍物交互。
交互式策略包含两种模式:导航模式(Navigation Mode) 和 交互模式(Interaction Mode),二者交替执行。如果在通往目标的最短路径上,有一个 可交互(pushable 或 pickable)且可见(visible) 的障碍物,智能体会进入交互模式。否则,智能体保持在导航模式中。
而可供性地图会帮助智能体选择合适的位置进行交互,避免执行失败或无意义的动作。
导航模式
使用 Fast Marching Method(FMM) 计算最短路径。该方法基于 可达性地图 m t R m_t^R mtR 和可供性地图 m t A m_t^A mtA 进行距离计算,规划路径。由于障碍物区域的可达性是不确定的,因此不能简单地将障碍物设为无穷远(如墙壁) 或 标准距离(如地板),因为这样会忽略交互所需的时间成本。
这样,标准 FMM 计算的距离地图
m
t
d
i
s
m_t^{dis}
mtdis 被修正为:
m
t
d
i
s
∗
=
m
t
d
i
s
+
α
⋅
m
t
e
⋅
g
r
i
d
m
m_t^{dis*} = m_t^{dis} + \alpha \cdot m_t^e \cdot grid_m
mtdis∗=mtdis+α⋅mte⋅gridm
-
m t e m_t^e mte:effect affordance
-
α \alpha α:时间成本系数
-
g r i d m grid_m gridm:地图步长单位(如 1 步 = 5cm)
这意味着路径规划不仅考虑物理距离,还考虑移除障碍的时间成本。此时,如果移除障碍物成本较高(如重物),则该路径会被赋予更高的代价,智能体可能选择绕行。如果周围路径不可达,智能体才会选择交互模式。
交互模式
首先需要识别最近的障碍物,基于地图记忆分析周围环境,并决定交互动作。不同障碍物选择不同交互策略:
- 可推动(pushable) → 执行
DirectionalPush
方向性推动。 - 可拾取(pickable) → 执行
PickUp-旋转-Drop
序列操作,将物体放置在空闲区域。
之后,地图是通过新的自我中心观测更新的,而不是累积点云。这样可以立即反映物体的位移情况,提高交互决策的实时性。
如果智能体尝试多次交互后仍无法移除障碍物,它会将该障碍物标记到 占用地图 m t R m_t^R mtR 中,使 FMM 计算出该区域的无穷远距离。这样智能体会意识到该路径是死路(dead end),并重新规划新的路径。
交互策略的两种实现
-
ADIN-continuous(连续型)
通过调整距离地图 m t d i s m_t^{dis} mtdis,为交互区域赋予额外的代价,从而影响路径规划。
优点:能够平滑调整路径,不会突然切换模式。
-
ADIN-discrete(离散型)
直接修改占用地图 m t R m_t^R mtR:
m t R ∗ = m t R − r o u n d ( m t e − β ) m_t^{R*} = m_t^R - round(m_t^e - \beta) mtR∗=mtR−round(mte−β)- 这里 r o u n d ( ⋅ ) round(\cdot) round(⋅) 是四舍五入操作, β \beta β 是交互阈值。
- 负号表示移除障碍物,使得智能体可以忽略该障碍物进行路径规划。
优点:障碍物可以直接从地图上删除,提高规划效率。