在机器人导航领域,视觉-语言导航(VLN)一直是个极具挑战性的任务。想象一下,你给机器人下达指令:"去客厅的茶几上拿遥控器",它需要理解这句话的含义,同时通过视觉感知环境,规划出合理的路径并执行动作。传统方法将这个复杂问题分解为几个子任务:语言理解、环境感知、路径规划和运动控制。
当前主流方法主要分为两大阵营:基于端到端学习的方法和基于图的方法。前者直接将视觉和语言输入映射到底层动作,虽然结构简单但效率低下;后者通过构建环境拓扑图,将连续空间离散化为节点和边,大大简化了决策复杂度。ETP-R1的创新之处在于,它成功融合了两种范式的优势——既保留了图方法的结构化效率,又通过强化微调引入了端到端学习的适应性。
ETP-R1延续了ETPNav的拓扑图表示方法,将环境建模为节点和边的集合。每个节点对应一个观测点,包含:
这种表示有三个关键优势:
DPFT是ETP-R1的核心创新模块,其工作流程可分为三个阶段:
特征编码阶段:
对称跨模态融合:
python复制# 伪代码示例:交叉注意力机制
def cross_attention(text_feat, visual_feat):
# 文本查询视觉
text2vis = MultiHeadAttention(
query=text_feat,
key=visual_feat,
value=visual_feat
)
# 视觉查询文本
vis2text = MultiHeadAttention(
query=visual_feat,
key=text_feat,
value=text_feat
)
return text2vis, vis2text
传统VLN数据集存在两个主要问题:
ETP-R1创新性地使用Gemini 2.0 Flash API对Prevalent数据集进行重标注,具体方法包括:
视觉提示工程:
文本生成策略:
这种方法生成的指令平均长度从31词增加到48词,同时显著减少了幻觉现象。
ETP-R1采用多任务联合预训练策略,同时使用:
训练任务包括:
这种设计使模型能同时处理不同风格和复杂度的导航指令。
在这个基础阶段,模型学习:
实践发现:联合预训练时,R2R和RxR数据的混合比例对最终性能影响显著。经过实验,1:1的比例在多数测试场景下表现最优。
采用DAgger算法进行交互式训练,关键参数包括:
这个阶段主要解决"暴露偏差"问题——训练时模型只见过专家轨迹,但测试时需要自主决策。
ETP-R1最大的创新是首次将闭环RFT应用于基于图的VLN模型,采用GRPO算法:
奖励函数设计:
GRPO优势计算:
python复制def compute_advantages(rewards):
mean_reward = np.mean(rewards)
std_reward = np.std(rewards) + 1e-6
return (rewards - mean_reward) / std_reward
在R2R-CE和RxR-CE两个基准测试中,ETP-R1均取得state-of-the-art性能:
| 模型 | R2R-CE SR | R2R-CE SPL | RxR-CE nDTW | RxR-CE SDTW |
|---|---|---|---|---|
| 基线模型 | 62.3% | 58.1% | 0.512 | 0.476 |
| ETP-R1 | 68.7% | 63.9% | 0.563 | 0.528 |
| 提升幅度 | +6.4% | +5.8% | +0.051 | +0.052 |
通过系统性的消融实验验证了各组件贡献:
在真实机器人部署时,需要注意:
尽管ETP-R1表现出色,仍存在以下局限:
可能的改进方向包括:
在实际机器人项目中,我们发现将ETP-R1与SLAM系统结合时,需要特别注意坐标系对齐问题。一个实用的技巧是在初始化阶段让机器人在原地旋转一周,这能显著提升初始建图质量。另一个经验是,对于长度超过20个单词的复杂指令,适当增加DPFT的交叉注意力层数(从4层增加到6层)可以提高约3%的指令理解准确率。