在拓扑图上做长程规划(全局),在当前观测上做细粒度理解(局部),用图 Transformer 动态融合两个尺度。~180M 参数,R2R/REVERIE/SOON 三榜 SOTA,ICCV 2021 Workshop 双料冠军。后续 HAMT、ETPNav、ScaleVLN 等方法都建立在 DUET 的拓扑图框架之上。
早期 VLN 方法(Seq2Seq、RCM 等)是单尺度的——只能看到当前 viewpoint 的局部观测。这导致两个致命问题:
DUET 的解法:在线构建拓扑图,将已探索的所有 viewpoint 组织成图结构。全局分支在整个图上做注意力推理("哪个远端节点最可能是目标?"),局部分支只关注当前周围的候选节点("眼前的门和指令中的'厨房'匹配吗?"),两个尺度的预测通过动态融合机制合并。
关键:拓扑图不是预先给定的,而是在导航过程中动态构建的。每一步都需要在所有已发现节点中选择下一个目标(全局推理),同时理解当前位置的视觉细节(局部推理)。
局部分支处理当前 viewpoint 周围的候选节点(通常 ≤5 个邻接节点)。
每个候选节点有 36 张全景图。使用预训练的 ViT(视觉编码器)提取每张图的 region 特征(通常为 36×2048 维,来自 Faster R-CNN 或 DETR)。将这些 region 特征与节点位置编码拼接。
将候选节点的视觉特征与指令文本的词嵌入做跨模态注意力。这一步回答:"当前可见的这些节点中,哪个与指令描述最匹配?"使用 LXMERT-style 的 co-attention(视觉→语言 和 语言→视觉 双向注意力)。
全局分支处理拓扑图上所有已发现节点(可能数十个)。
每个节点用一个 embedding 向量表示(来自局部分支的聚合特征 + 节点在图中的拓扑位置编码)。
所有节点的 embedding 在图结构上做自注意力。与标准 Transformer 不同,图 Transformer 的注意力 mask 基于拓扑图的邻接关系——距离当前节点远的节点通过多跳注意力间接参与推理。这使得模型可以:"虽然厨房在 5 步之外,但全局推理表明它最可能是目标。"
两个尺度的预测通过一个可学习的门控机制融合:
score(node) = α · score_local(node) + (1-α) · score_global(node)
# α 由当前状态动态决定:
α = sigmoid(W · [current_observation, instruction_embedding])
直觉:探索初期(图小,只有局部信息),局部分支占主导;探索后期(图大,有全局信息),全局分支占主导。
DUET 使用 LXMERT(跨模态预训练模型)初始化,在大量图文对上预训练。然后增加两个 VLN 专用 proxy task:
| Proxy Task | 目标 | 效果 |
|---|---|---|
| MASK (Masked Region Prediction) | 遮挡部分视觉 region,预测其类别和属性 | 增强细粒度视觉理解 |
| SPC (Single-hop Prediction) | 给定指令和当前节点,预测正确的下一步节点 | 学习指令-动作映射 |
| MPC (Multi-hop Prediction) | 预测多步之后的远端目标节点 | 学习长程规划能力 |
预训练数据来自 PREVALENT——从 Matterport3D 生成的增强导航数据(超过 600 万条指令-路径对)。
标准模仿学习在训练集上的表现受限于标注路径的覆盖度。DUET 引入伪交互示范(Pseudo Interactive Demonstrator, PID):
# PID 策略(简化):
1. 运行当前策略预测下一步
2. 如果与标注路径一致 → 正常继续
3. 如果偏离标注路径 → 强制回到标注路径
并将"偏离状态"加入训练集
4. 最终训练集覆盖了策略可能遇到的真实分布
这与 NavGPT-2 的 DAgger 思路一致——核心都是解决训练/推理时的分布不匹配问题。
| 方法 | TL ↓ | NE ↓ | OSR ↑ | SR ↑ | SPL ↑ |
|---|---|---|---|---|---|
| Seq2Seq (2018) | 9.79 | 7.00 | 28.36 | 18.63 | 16.56 |
| WGTM (2021) | 11.58 | 5.21 | 44.38 | 28.36 | 24.50 |
| DUET (2022) | 11.68 | 4.70 | 56.32 | 38.51 | 33.87 |
DUET 在 REVERIE 上的提升幅度巨大——SR 从 28.36% 跃升到 38.51%(+10%),这是该 benchmark 上的里程碑式跨越。全局拓扑图推理对"找远处目标物体"任务至关重要。
| 方法 | Val Unseen SR↑ | Val Unseen SPL↑ | Test Unseen SR↑ | Test Unseen SPL↑ |
|---|---|---|---|---|
| VLN-BERT (2021) | — | — | 28.76 | 25.28 |
| HAMT (2021) | — | — | 36.81 | 33.69 |
| DUET (2022) | 54.21 | 47.46 | 40.05 | 36.71 |
| ScaleVLN (2023) * | — | — | 75.24 | 67.48 |
* ScaleVLN 在 DUET 基础上扩展,使用合成环境数据扩增。当前 R2R SOTA 约 72-75% SR。
DUET 也是 SOON benchmark 的 SOTA(ICCV 2021 Workshop 冠军),进一步验证了双尺度图 Transformer 在开放性导航任务上的泛化能力。
| 属性 | 规格 |
|---|---|
| 论文 | CVPR 2022 Oral |
| 参数量 | ~180M(含 LXMERT 初始化) |
| 视觉编码器 | Faster R-CNN / ViT 预提取 region 特征(36×2048 维/viewpoint) |
| 文本编码器 | BERT tokenizer + LXMERT 文本编码器 |
| 拓扑图构建 | 在线动态构建,基于 Matterport3D 导航图 |
| 预训练 | LXMERT 初始化 + PREVALENT 数据 + proxy tasks (MASK/SPC/MPC) |
| 微调策略 | Pseudo Interactive Demonstrator (PID) |
| 动作空间 | 拓扑图节点选择(离散) |
| 评测数据集 | R2R / REVERIE / SOON / R4R |
| GPU 需求 | 单卡 RTX 3090 即可微调(~180M 模型) |
| 仿真器 | Matterport3D Simulator |
DUET 的核心取舍
✓ 优势:
• 训练高效——~180M 参数,单卡 3090 可训,是三者中最轻量的
• 拓扑图推理天然支持长程规划——REVERIE 上的巨大提升证明了这一点
• 代码工程质量极高——GitHub 仓库开箱即用,后续工作广泛复用
• 动态融合机制优雅,自动平衡局部与全局推理
✗ 代价:
• 离散动作空间——依赖 Matterport3D 预定义的 viewpoint 导航图
• 依赖预提取特征——需要提前跑 Faster R-CNN 提取 region 特征,流程繁琐
• 无真机验证——纯仿真环境,Sim-to-Real 未探索
• 无可解释性——不像 NavGPT-2 能输出推理文本
DUET 是 VLN 领域的基础设施级工作。以下方法均建立在 DUET 的拓扑图框架之上:
| 后续工作 | 年份 | 对 DUET 的改进 |
|---|---|---|
| ETPNav | 2022 | 更高效的训练范式(SR 值回环 + teacher-student) |
| ScaleVLN | 2023 | 用合成环境大规模扩增训练数据(当前 SOTA 基础) |
| HAMT | 2022 | 引入完整历史观测建模 |
| BEVBert | 2023 | 用 Bird's-Eye-View 替代全景图 |
选型建议
如果你的目标是理解 VLN 的技术基础,DUET 是必读论文——几乎所有 2023+ 的 VLN 工作都建立在它的拓扑图+图 Transformer 框架上。如果目标是快速搭建 VLN 原型,DUET 的 GitHub 仓库是最佳起点。