一句话定位
NaVid 是第一个把视频 VLM 用于连续环境视觉-语言导航(VLN-CE)的方案:只吃机器人单目 RGB 摄像头的在线视频流 + 人类自由语言指令,端到端输出带量化参数的下一步低层动作(前进 d cm / 左转右转 x 度 / 停止),全程不用地图、里程计、深度,从而绕开这些输入带来的 sim-to-real 域差与里程计噪声,在仿真 SOTA 的同时于真实四场景 200 条指令上取得约 66% 成功率。RSS 2024。
背景与定位
VLN 任务要求机器人在未见环境里跟随自由语言指令导航,长期难点是泛化——从 seen 场景到 novel 场景、尤其是从仿真到真实(Sim2Real)。此前主流分两条路线,NaVid 都指出其结构性缺陷:
- 离散图(nav-graph)路线(R2R/MP3D 上的 teleport):把真实环境抽象成连通图上的路点跳转,需要额外的 landmark 图与点间局部导航模型,难以直接落到真实机器人。
- 连续环境(VLN-CE, R2R-CE/RxR-CE)路线:更贴近真实,但现有方法依赖 RGBD、里程计、地图作为输入,正是这些模态的域差与噪声导致 Sim2Real 掉点严重(Anderson et al. 报告成功率下降 >50%)。
NaVid 属于把基础大模型迁移到具身的浪潮——RT-2 证明 VLM 能把网络知识迁到机器人操作、PaLM-E 做多模态高层规划、GR-1/RoboFlamingo 做操作策略。相较而言 NaVid 的定位有三点区分:(1) 相比只能做粗规划的”导航通才”,NaVid 是能推出可执行、带量化参数动作的实用 VLA 模型;(2) 相比用 LLM 当规划器、把历史观测转成文本描述或在离散空间建模的 VLN 方法,NaVid 直接在连续空间以视频形式编码历史;(3) 相比专用 VLN 模型,NaVid 砍掉里程计/深度/地图依赖,做到接近人类导航行为的 RGB-only 导航。
架构上直接继承视频 VLM llama-vid(LLaMA-VID)的双 token 表示范式,并在其上做 VLN 专用改造。后续工作 Uni-NaVid(RSS 2025,统一多种具身导航任务)与 NaVILA 均出自同组(PKU-EPIC / Galbot / BAAI)。
模型架构
Policy backbone = 视频 VLM(LLaMA-VID 架构),四个组件:视觉编码器 + 查询生成器 + 两个跨模态投影器 + LLM。
- 视觉编码器:EVA-CLIP(实现用 EVA-ViT-G),每帧 xt 编码为视觉嵌入 Xt ∈ R^(Nx×C),patch 数 Nx=256。所有帧共享同一编码器(frozen)。
- 每帧用两类 token 表示(LLaMA-VID 范式):
- instruction-queried token(指令查询 token):用 Q-Former 式查询生成器 GQ,基于视觉嵌入 Xt 与指令 I 的跨模态交互生成 instruction-aware query Qt ∈ R^(M×C),再与 Xt 做 cross-attention + 沿 query 维平均池化 + 投影,得到 1 个 token(EQt ∈ R^(1×C))。文本侧查询用 BERT 编码指令。
- instruction-agnostic token(指令无关 token):对 Xt 直接做 grid pooling(把 Nx 压到 Nv)+ 投影,保留细粒度几何信息。token 数决定粒度。
- 历史帧 vs 当前帧差异化编码(NaVid 的关键改造):当前帧对导航动作推理最重要、历史帧只提供进度上下文,因此当前帧用 64 个 instruction-agnostic token,每个历史帧只用 4 个。作者指出 LLaMA-VID 原生的”每帧 2 token”设计不满足 VLN-CE(原本为高层 QA 设计),必须靠 grid pooling 保留足够几何信息,LLM 才有上下文推理动作的量化参数。
- special token 分区:用
<HIS></HIS>界定历史帧 token、<OBS></OBS>界定当前帧 token、<NAV>提示 LLM 开始处理指令文本并输出动作。输入格式为<HIS>{历史帧}</HIS><OBS>{当前帧}</OBS><NAV>{指令}。消融显示去掉这些 special token 会明显掉点。 - LLM = Vicuna-7B,以语言形式推理输出动作。
- 动作头 = 离散动作类型 + 量化参数的语言输出:动作类型 ∈ {FORWARD, TURN-LEFT, TURN-RIGHT, STOP};FORWARD 额外推理具体移动距离(cm),TURN-LEFT/RIGHT 额外推理旋转角度(度)。用正则表达式解析器从语言输出中抽取动作类型与参数,在 R2R val-unseen 上取得 100% 的有效动作率。消融显示:若改成直接输出连续位置/朝向(Waypoints prediction 变体),VLM 极难学会导航(SR 0%)。
数据
训练数据分两大块(摘要口径:“510k 导航样本 + 763k 网络数据”):
- 导航样本 510k(全部来自 VLN-CE 连续环境):
- oracle 轨迹 320k step-wise 样本:从 61 个 MP3D 室内场景采集,含单目视频观测 + 指令 + 机器人动作(来自 VLN-CE R2R)。
- non-oracle 轨迹 180k step-wise 样本(DAgger 式):先用 320k oracle 数据训一个 agent,把它部署回 VLN-CE 环境再采集非最优轨迹,让训练分布贴近真实部署条件、提升鲁棒性。二者合并做最终训练。
- instruction reasoning 辅助任务 10k 轨迹:给一段视频轨迹让模型反推对应指令(描述该轨迹),复用同一套数据组织格式,强化环境理解与指令跟随。
- 网络视频 QA / caption 数据 763k:并入 co-training,用于增强指令跟随能力、抗遗忘预训练获得的通用知识(沿用 LLaMA-VID 的 video-QA 样本;project page 称 “763K real-world caption samples”)。这些序列最长可达 300 帧,使模型能处理比多数 VLN 任务更长的历史上下文。
数据规模分析(breakdown):把训练分 pre-DAgger(0→330k)与 post-DAgger(330k→510k)两段。发现 <280k 时 SR/OS/SPL/NE 提升缓慢;到 330k 出现明显跃升(模型开始”掌握”VLN);post-DAgger 段提升很小,作者归因于在 R2R train split 上做 DAgger 无法提供足够多样的环境/指令信息。
帧采样:video-caption 数据按 1 FPS 采样去冗余;navigation-action 数据保留全部帧(多数 <300 帧)。
评测数据划分:所有方法在 10,819 条 R2R train split 上训练,在 1,839 条 R2R val-unseen(cross-split)与 1,517 条 RxR val-unseen(cross-dataset 零样本)上评测。
训练方法
- 目标:语言建模式的模仿学习——把 VLN-CE 动作规划、instruction reasoning、video-QA 三类任务统一成”输入 token 序列 → 语言输出动作/描述”,co-training 混合训练。
- hybrid training 两大策略:(1) DAgger 式采集 non-oracle 轨迹并入训练循环(避免只见 oracle 轨迹);(2) 设计 instruction reasoning 辅助任务增强场景理解与指令跟随。
- 参数冻结策略:EVA-CLIP、Q-Former、BERT、Vicuna-7B 均加载各自默认预训练权重;沿用 LLaMA-VID 策略只优化 LLaMA(Vicuna)与文本编码器的可训练参数,训练 1 个 epoch。
- 动作 tokenization:不做专门的动作离散 token,而是把动作写成自然语言(“The next action is move forward 75 cm.“),推理时正则解析。
- 消融确认关键项:co-training 数据最关键(去掉 co-training SR 从 37.4→24.7);去掉 instruction reasoning 样本 SR→31.1;去掉 non-oracle(DAgger) 样本 SR→34.2;去掉 special token 均掉点。
Infra(训练 / 推理工程)
- 训练:24 张 NVIDIA A100,约 28 小时,合计 672 GPU-hours,1 epoch。并行/精度细节论文未披露。
- 推理(真实部署):远端服务器跑 NaVid 接收观测+指令、指挥本地机器人执行;导航时每帧输出一个动作约 1.2–1.5 秒(论文指出可用量化/action-chunk 加速)。
- 推理(仿真评测,开源代码口径):评测代码复用历史视觉 token,8 张 A100 上 2.5 小时跑完 1,839 条 R2R 全部 episode。(对比后续 Uni-NaVid 用 online token merging 在单张 A100 上约 5 Hz。)
- 真实机器人平台:Turtlebot4 + Kinect DK 相机(NaVid 只用 RGB);需里程计的 baseline 用 Turtlebot4 内置 RPLIDAR A1M8 + Nav2 工具箱做定位建图,激光-相机标定沿用既有工作。
- 成功判定阈值:仿真内 STOP 距目标 <3 m、真实环境 <1.5 m 视为成功。
评测 benchmark
指标:SR(成功率)、OS(oracle 成功率)、SPL(按路径长加权的成功率,主指标)、TL(轨迹长)、NE(终点误差 m)。以下为论文一手数字。
① VLN-CE R2R Val-Unseen(cross-split,低层动作空间,仅 RGB 输入)
| 方法 | 观测 | TL | NE↓ | OS↑ | SR↑ | SPL↑ |
|---|---|---|---|---|---|---|
| WS-MGMap [16] | RGB+Depth | 10.00 | 6.28 | 47.6 | 38.9 | 34.3 |
| CMA [45] | RGB+Depth | 8.64 | 7.37 | 40.0 | 32.0 | 30.0 |
| RGB-CMA | RGB only | 6.28 | 9.55 | 10.8 | 5.00 | 4.43 |
| NaVid (Ours) | RGB only | 7.63 | 5.47 | 49.1 | 37.4 | 35.9 |
NaVid 在 仅 RGB 条件下 SPL/NE/OS 达到该设定 SOTA,SR 与用了深度的方法可比;相较同为 RGB-only 的 CMA-RGB(SR 5.00 / SPL 4.43)分别提升到 37.4 / 35.9;SPL 比用深度+语义地图的 SOTA WS-MGMap 高 1.6%。不同步长(30–90 步、约 5–20 m)下性能保持稳定。
② VLN-CE RxR Val-Unseen(cross-dataset 零样本,R2R 训练→RxR 测试)
| 方法 | 观测 | NE↓ | OS↑ | SR↑ | SPL↑ |
|---|---|---|---|---|---|
| A²Nav [17](GPT 规划,零样本 SOTA) | — | — | — | 16.8 | 6.3 |
| WS-MGMap [16] | RGB+Depth | 9.83 | 29.8 | 15.0 | 12.1 |
| NaVid (Ours) | RGB only | 8.41 | 34.5 | 23.8 | 21.2 |
相比 RxR-CE 零样本 SOTA A²Nav,SR +41.7%(16.8→23.8)、SPL +236.5%(6.3→21.2);同设定的 RGB-only baseline(Seq2Seq-RGB / CMA-RGB)在 RxR 上全部失败(SR 0%),凸显 RGB-only 泛化的难度。
③ 真实环境(4 场景:Meeting Room / Office / Lab / Lounge,每场景 25 简单 + 25 复杂 = 200 条指令)
- 整体约 66% 成功率;简单指令跟随(single landmark)约 84%,复杂组合指令(2–5 条组合)约 48%。
- 逐场景 SR(简单/复杂):Meeting Room 92%/56%、Office 84%/48%、Lab 76%/40%、Lounge 88%/44%。端到端 baseline(Seq2Seq/CMA)几乎全灭(0–8%),地图法 WS-MGMap 简单 44–60%、复杂 12–32%——NaVid 全面领先且只用 RGB 视频。
④ 关键消融
- 历史表示方式(R2R val-unseen SPL,论文 Table IV):video-based(NaVid)35.9 > ego-view-text 20.8 > map-text 8.97 > text-based(NavGPT 式)0.0。文本/2D 地图表示压缩了丰富视觉信息,且文本历史推理每步约 2.7 s(视频法的两倍多,需额外 LLaVA 描述 + GPT 汇总)。
- 每帧 instruction-agnostic token 数:1 token → SR 23.9 / SPL 20.5 / 0.87s;4 token → SR 37.4 / SPL 35.9 / 1.22s;16 token → SR 38.0 / SPL 36.1 / 2.72s。从 1→4 SR +56.4%、时间 +40.2%;4→16 SR 仅 +1.6%、时间 +122%——4 token 是最优折中。
- 大基础模型对比(100 条 R2R 子集):GPT-4V(精心 in-context)SR 5%;Emu/LLaVA/LLaMA-VID 常输出与动作无关的文本;用导航数据 co-tune 后 LLaMA-VID-Nav 有效动作率从 0%→91.3%,证明导航数据的重要性。
- vs LM-Nav(RxR val-unseen,即便 LM-Nav 用了 oracle landmark 图与最短路):NaVid OS 35.5 / SR 23.5 显著优于 LM-Nav 各变体(如 GPT-3.5+CLIP OS 24.0 / SR 7.38)。
注:GitHub/HF 上开源重训版(在 R2R+RxR 两个 training split 上、按 Uni-NaVid 训练策略重训)数字更高:R2R Val SR 41.9 / SPL 36.5、R2R Test SR 45 / SPL 39、RxR Val SR 45.7 / SPL 38.2——与上表论文原版(仅 R2R train)口径不同,勿混用。
创新点与影响
- 第一个视频 VLM 的 VLN-CE 方案,实现类人 RGB-only 导航:仅单目在线视频流 + 语言指令 → 可执行低层动作,无地图/里程计/深度,从建模上消除这些模态带来的 Sim2Real 域差与里程计噪声。
- 提出历史/当前帧差异化 token 编码(当前 64 / 历史 4)+ special token 分区,把机器人历史轨迹以视频形式编码为比”文本描述/离散空间”更信息密集且自适应的上下文;实验证明视频表示对 VLN 显著优于文本/地图表示。
- hybrid training(DAgger non-oracle 轨迹 + instruction-reasoning 辅助 + web 视频 QA co-training)把有限的仿真导航数据用到极致,换来强 cross-dataset 与 Sim2Real 迁移。
- 作者自述局限:(1) 计算开销大导致高延迟、影响导航效率,建议用 action-chunk 或量化缓解;(2) 超长 horizon 指令下受长上下文 token 问题影响可能掉点,且缺高质量长视频标注数据加剧该问题,可换更强 backbone + 长视频数据;(3) 未来想扩展到移动操作等其他具身任务,需设计能同时控制机械臂与移动底座的动作、采集带标注的移动操作视频,并进一步提速/降硬件成本。
原始链接
- 论文(arXiv abs):https://arxiv.org/abs/2402.15852 (v7, 2024-06-30;RSS 2024)
- 论文 PDF:https://arxiv.org/pdf/2402.15852
- 项目主页:https://pku-epic.github.io/NaVid/
- 代码(评测):https://github.com/jzhzhang/NaVid-VLN-CE
- 权重(HF):https://huggingface.co/Jzzhang/NaVid (license CC-BY-NC-4.0)
- 视频:https://www.youtube.com/watch?v=IHkDuJZV0I8
一手源存档(sources/)
- navid-video-vlm-vln—project-page — 项目主页快照(highlights、sim-to-real demo 描述)
- navid-video-vlm-vln—github-readme — jzhzhang/NaVid-VLN-CE README(环境搭建、预训练权重、开源版评测表、推理速度)
- navid-video-vlm-vln—hf-card — HF 模型卡 Jzzhang/NaVid(开源权重口径评测表、license)
- arXiv 原文 PDF(2402.15852,arXiv 原文 PDF,不入 git)——见上方 PDF 链接