一句话定位
DualVLN把导航拆成「慢思考 + 快执行」:慢的 System 2 用 7B Qwen2.5-VL 在图上接地中期路点(约 2 Hz);快的 System 1 用轻量 DiT + Flow Matching 每秒 30 次生成 32 个连续路点。两系统异步运行,靠显式像素目标 + 隐式潜在计划双通道衔接;只在仿真训,真机零样本跨轮式 / 四足 / 人形。
关键词
任务:VLN · VLN-CE · VLN-PE · Social-VLN
方法:DualVLN · InternVLA-N1 · 双系统 · Pixel Goal · Latent Plan · Grounding
模块:Q-Former · Depth Anything ViT · DiT · Flow Matching · MPC
数据:InternData-N1 · R2R
指标:SR · SPL · NE · OSR
代码:InternNav(权重名常带InternVLA-N1-DualVLN)
和 InternVLA-N1 技术报告的关系
本文是InternVLA-N1 双系统部分的 ICLR 2026 正式论文,标题Ground Slow, Move Fast。技术报告(笔者另有精读)还包含 Wan2.1 世界模型、NavDP* 深度版 S1 等;当前开源主推权重是本文的 RGB-only DiT S1。读代码以 DualVLN 为准。
0. 论文结构
| 章节 | 内容 |
|---|---|
| §1 Introduction | 端到端 VLA 导航的碎片化动作、高延迟、难避动态障碍;提出双系统 DualVLN |
| §2 Related Work | 导航 VLA、视觉导航策略、与桌面双系统的区别 |
| §3 Method | S2 像素接地 + 视角调整;S1 DiT 轨迹;显式+隐式目标;两阶段解耦训练 |
| §4 Social-VLN | 动态行人基准 + 763K 社交避障训练轨迹 |
| §5 Experiments | VLN-CE / VLN-PE / Social-VLN / 真机跨本体 |
| §6 Conclusion | 总结与展望 |
| Appendix A | S2/S1 训练细节、prompt 模板、注意力可视化 |
1. 背景概念
VLN(Vision-Language Navigation,视觉语言导航):机器人听一句自然语言(「出卧室直行,楼梯口右转进浴室」),边看相机画面边走到目标。
VLM(Vision-Language Model,视觉语言大模型):能同时理解图像和文字的神经网络,像 ChatGPT 加了「眼睛」。DualVLN 的慢系统就是在一个开源 VLM(Qwen2.5-VL 7B)上微调出来的。
Grounding(视觉接地):把语言里的对象或方向对应到图像上的具体位置。问「红杯子在哪」,模型在图上点一下——那就是 grounding。System 2 把「下一步该往哪走」也做成图上的 2D 坐标,叫 Pixel Goal。
扩散 / Flow Matching:一种「从噪声慢慢雕出轨迹」的生成方法。System 1 不直接回归一个数字,而是学「怎么把乱线修成合理路径」。
异步双系统:慢系统 2 Hz 更新一次「中期目标」;快系统 30 Hz 一直根据上一次的目标和当前画面刷新轨迹——像领航员隔几秒指方向,司机一直盯路躲人。
2. 论文在干什么
2.1 痛点
- 端到端离散动作:很多导航 VLA 每一步只输出「前进 0.25 m / 左转 15°」,动作碎、推理慢,动态障碍来不及反应。
- 层次纠缠:把「听懂指令」「全局规划」「局部避障」塞进一个网络,难以同时做好敏捷控制和长程推理。
- 纯像素目标太浅:只用 2D 像素当接口,接不上 VLM 内部丰富的语义;但只用隐式特征又难解释、难泛化。
2.2 贡献(作者自述)
- 首个双系统 VLN 基础模型DualVLN:S2 慢接地 + S1 快轨迹,异步推理。
- 显式像素 + 隐式 latent 双通道:像素增强可解释性与 S2 泛化;latent queries 让 S1 主动抽取任务相关语义。
- 解耦两阶段训练:先训 S2 像素接地,再冻 S2、训 latent + S1,保住 VLM 泛化。
- Social-VLN 基准:在 R2R-CE 上加入动态人形智能体,测社交避障与任务恢复。
- 全基准 SOTA + 真机:VLN-CE / VLN-PE 领先;轮式 / 四足 / 人形零样本部署。
3. 核心创新点
| # | 创新 | 新在哪 |
|---|---|---|
| 1 | Ground Slow, Move Fast 架构 | 把 VLM 推理频率(2 Hz)与轨迹生成(30 Hz)彻底拆开,低层控制器 200 Hz 跟踪,真机可近实时 |
| 2 | 最远可见像素目标(farthest pixel goal) | 把 3D 专家轨迹投影到当前视角,取可见范围内最远路点,减少「指太近」的短视行为 |
| 3 | 自主视角调整(self-directed view adjustment) | S2 先决定转头/低头(最多连续 4 次 15°),再接地像素——模仿人「先环顾再指路」 |
| 4 | latent queries + 显式像素文本 | 4 个可学习<TRAJ>token 从冻住的 Qwen 上下文里抽隐式计划;训练时 latent 仍能 attend 到像素坐标文本 |
| 5 | RGB-only 多模态条件 DiT | S1 只吃 RGB(Depth Anything ViT-Small)+ latent;两帧 RGB(S2 上次帧 + 当前帧)经 MemoryEncoder + Q-Former 压成 32 token |
| 6 | Social-VLN | 首个强调动态行人、绕障后回到任务轨迹的 VLN 评测;新增 HCR(Human Collision Rate)指标 |
4. 方法细节
4.1 System 2:慢接地(约 2 Hz)
骨干:Qwen-VL-2.5 7B,视觉编码器与 LLM全参数微调1 epoch(数据配方跟 StreamVLN)。
每步输出三类之一:
- 视角调整:左转/右转/抬头/低头各 15°(轨迹投不进当前画面时,最多连续预测 4 次转向)。
- 像素目标:在当前图上输出( u , v ) (u,v)(u,v),监督为专家轨迹投影后最远且可见的路点(用深度图剔除被遮挡点)。
- STOP:任务完成。
训练数据构造:把 VLN-CE 连续轨迹按可见性切成 grounding 样本;附录有完整 prompt 模板(历史帧 + 当前图 + 指令)。
4.2 System 1:快轨迹(约 30 Hz)
结构:紧凑 DiT(hidden 384,12 层,6 头)+ Flow Matching,生成32 个稠密相对路点。
两路条件:
| 条件 | 频率 | 来源 |
|---|---|---|
| 隐式 latentZ ′ Z'Z′ | 低(S2 更新时才变) | 4 个 latent queries 过冻住的 Qwen,3584 维 → 768 维投影 |
| 高频 RGBF FF | 高(每步刷新) | 当前帧 + S2 上次用的帧 → ViT → 自注意力融合 → Q-Former → 32 token |
异步语义:t tt时刻 S2 给出 latent;t + k t+kt+k时刻 S1 仍用这份「过期计划」+ 新 RGB 估计已走距离并避障——这是双系统能躲动态人的关键。
训练目标(Flow Matching):
L flow = E u , X 0 , ϵ ∥ X ˙ ^ u − X ˙ u ∥ 2 2 \mathcal{L}_{\text{flow}} = \mathbb{E}_{u, X_0, \epsilon} \left\| \hat{\dot{X}}_u - \dot{X}_u \right\|_2^2Lflow=Eu,X0,ϵX˙^u−X˙u22
其中X u = α u X 0 + σ u ϵ X_u = \alpha_u X_0 + \sigma_u \epsilonXu=αuX0+σuϵ,网络预测速度场X ˙ ^ u = f θ ( X u , u , Z ′ ⊕ F ) \hat{\dot{X}}_u = f_\theta(X_u, u, Z' \oplus F)X˙^u=fθ(Xu,u,Z′⊕F)。
4.3 两阶段解耦训练
| 阶段 | 训练对象 | 超参(附录) |
|---|---|---|
| Stage 1 | Qwen 全参数 | AdamW,lr2 × 10 − 5 2\times10^{-5}2×10−5,batch 128 对话,约 1.4 万 step |
| Stage 2 | latent queries + DiT | 冻 Qwen;AdamW,lr1 × 10 − 4 1\times10^{-4}1×10−4,batch 128 轨迹,约 1.5 万 step |
为何不能一阶段端到端训?消融「w/o Sys.2 Train」:S1 收敛慢、S2 泛化掉——解耦训练是论文的核心设计选择。
4.4 整体推理数据流
真机:RGB-D 上云(RTX 4090,约 20 GB);S2 用 KV-cache 把轨迹 token 推理从 1.1 s 降到 0.7 s;S1 TensorRT 并行 32 条轨迹约 0.03 s;里程计把相对轨迹变世界系再交给 MPC。
5. Social-VLN 基准
- 在 R2R-CE 上沿专家路径策略性放置 Habitat 3.0 人形智能体(非随机乱走)。
- 新指标HCR(Human Collision Rate):因撞人失败的占比。
- 训练侧采集763K条社交避障轨迹(人形 mask 超阈值时用改进 A* 重规划)。
Figure 4 的 Top Down Map 是什么
右侧俯视图是HabitatTopDownMap评测可视化(NavMesh 切片 + 轨迹/起点目标),不是DualVLN 内部建的地图,模型也不读取它。
| 设定 | StreamVLN SR | DualVLN SR |
|---|---|---|
| 标准 R2R Val-Unseen | 56.9% | 64.3% |
| Social-VLN 同 split | 31.4% | 37.2% |
动态场景下两者都掉约 27%,但 DualVLN 仍更好——说明快系统对动态障碍有价值,但社交导航仍很难。
6. 实验结论
6.1 VLN-CE(仅单目 RGB)
| 方法 | NE↓ | OS↑ | SR↑ | SPL↑ |
|---|---|---|---|---|
| StreamVLN | 4.98 | 64.2 | 56.9 | 51.9 |
| UniNaVid | 5.58 | 53.3 | 47.0 | 42.7 |
| DualVLN | 4.05 | 70.7 | 64.3 | 58.5 |
RxR Val-Unseen:SR61.4%,SPL51.8%,nDTW70.0%——多语言指令也领先。
6.2 VLN-PE(Unitree H1 人形,零样本)
未在 VLN-PE 上微调,从 VLN-CE 权重直接评:
| 方法 | Unseen SR↑ | Unseen SPL↑ | FR↓ |
|---|---|---|---|
| NaVid | 16.93% | 15.24% | 11.25% |
| Seq2Seq† | 15.20% | 12.79% | 20.21% |
| DualVLN | 51.60% | 42.49% | 0.45% |
物理仿真里摔倒率极低,说明连续轨迹 + 双系统比离散动作 VLM 更扛动力学。
6.3 真机(20 次/场景)
Turtlebot4 / Go2 / G1,走廊(易)/ 卧室(中)/ 办公室(难,穿房间)。VLM 基线里 NaVid 复杂任务易失败,NaVILA 长程但终点易偏,StreamVLN 会避障但完不成任务;DualVLN SR 与 NE 均最优(见图 5 柱状图)。
6.4 消融要点
| 变体 | 相对完整 DualVLN |
|---|---|
| w/o Sys.2 Train(S1+S2 一阶段联合,无像素中间目标) | SR −9.1%,SPL −7.0% |
| w/o Pixel Goal(latent 看不到像素文本) | SR −2.1%,NE +0.17 m |
| w/o Latent Goal(只用像素 token 最后一层 hidden) | SR −3.4%,NE +0.21 m |
| S1 换成 iPlanner / NavDP + 深度点目标 | 仍不如联合训练的 S1(表 4) |
S1 数据 scaling:只用 S2 轨迹的1%已能打平;10%近饱和——快系统轻量、样本效率高,瓶颈在 S2 的 VLM 推理与接地质量。
要点总结
- 标题Ground Slow, Move Fast=S2 慢接地像素/latent,S1 快出轨迹;模型名DualVLN,代码在 InternNav。
- 接口是双通道:看得见的像素坐标 + 看不见的 4 个 latent token;缺任一都会掉点。
- 训练必须先 S2 后 S1;一阶段端到端会伤 VLM 泛化。
- S1 是RGB-onlyDiT + Flow Matching,不是技术报告里带深度的 NavDP* 版;跑评测要对权重名。
- Social-VLN测动态人;标准静态基准 SR 高不代表能躲行人。
- 真机链路:云端双系统 → 相对轨迹 → 里程计 → MPC(200 Hz)。
开放问题
- Social-VLN 的 763K 训练数据是否已并入 InternData-N1 公开版?
- 像素目标在楼梯 / 大俯角相机上的失败模式?(视角调整上限 4 次够吗)
- 与 TAMP-Nav 的长程子集对比:谁更适合人形 + 动态人群?