NaVILA
会行走的视觉语言模型
一篇关于足式机器人 视觉-语言-行动 (VLA) 导航的深度解析。
研究动机
为什么需要 NaVILA?
视觉-语言导航 (Vision-and-Language Navigation, VLN) 任务要求机器人能像人一样,根据自然语言指令(例如“穿过客厅,在沙发旁停下”)在未知环境中导航。这不仅是更自然的交互方式,也能提高机器人的泛化能力。
然而,以往的 VLN 研究大多局限于轮式机器人或离散的模拟环境。当我们将目标转向足式机器人(如四足或人形机器人)时,问题变得棘手得多。足式机器人虽然能穿越轮式机器人无法应对的复杂、混乱场景(如楼梯、杂乱的实验室、不平坦的户外地形),但也带来了新的挑战。
核心问题在于:如何将高级的自然语言指令,一路“翻译”到底层的腿部关节动作(例如,12个关节的精确扭矩控制)?
现有的端到端 Vision-Language-Action (VLA) 模型(如 RT-2)试图用一个大模型“通吃”——从图像和语言直接输出低层动作。但这非常困难,因为 LLM 和 VLM 主要是在语言数据上训练的,它们擅长推理,却不擅长输出精确的、非语言的物理控制信号。
本文的 Significance (核心贡献) 在于提出了 NaVILA,一个创新的两级 (2-level) 框架:
- 1. 高层 VLA (VLM): 这一层负责“思考”。它接收语言指令和视觉输入(历史帧+当前帧),但不输出底层的关节动作。相反,它输出中层动作指令,并以语言形式表示,例如:“向前移动 75 厘米”或“向右转 30 度”。这充分利用了 VLM 擅长的空间推理和语言生成能力。
- 2. 低层运动策略 (RL): 这一层负责“执行”。它是一个高度优化的视觉运动强化学习 (RL) 策略,接收来自 VLA 的简单语言指令(如“向前 75 厘米”),并将其转化为实时的、精确的关节控制。
这种解耦设计带来了三大优势:
- (i) 解耦与泛化:VLA 模型是机器人无关的。同一套 VLA 模型可以部署在不同的机器人上(如 Unitree Go2 和 H1),只需更换底层的运动策略即可。
- (ii) 高效的数据利用:VLA 可以用更多样化的数据进行训练(包括真实的 YouTube 人类视频、QA 数据),而不用担心过拟合到特定机器人的低层动作。
- (iii) 双频运行:VLA(大模型,计算密集)可以低频运行(例如 1 FPS)进行高层决策,而低层运动策略(小模型,轻量)可以高频实时运行,处理动态障碍物,极大提高了鲁棒性。
核心建模与数学表示
NaVILA 的两级框架
1. 高层 VLA:从 VILA 到 NaVILA (Sec II-A)
高层 VLA 模型基于 VILA (Visual Language Models) 构建,包含视觉编码器、投影层和 LLM。
关键创新:导航提示 (Navigation Prompts)
在 VLN 任务中,视频帧并非生而平等。NaVILA 创新地将不同时间的帧赋予不同角色:
- 当前观测 ($x_t$):用于即时决策(如“在路口右转”)。
- 历史观测 ($x_0, ..., x_{t-1}$):作为记忆库,用于跟踪总体进展(如“我刚从哪个房间出来”)。
如 Figure 3 所示,模型使用特定的文本提示词来区分它们:
Imagine you are a robot programmed for navigation tasks. You have been given a video of historical observations: [...历史帧 tokens...] and current observation: [...当前帧 $x_t$ tokens...] Your assigned task is: [...用户指令, e.g., "Walk forward and turn right."...] Analyze this series of images to decide your next move... The next action is
LLM 最终会自回归地生成动作文本,例如 "$\text{forward 50 cm}$"。一个正则表达式解析器会提取动作类型和参数。
2. 监督微调 (SFT) 数据混合 (Sec II-A)
为了达到高复现性,SFT 的数据构成至关重要。NaVILA 混合了四类数据:
-
来自真实视频的导航数据 (关键创新):
- 来源: 2000 个 YouTube 第一人称(egocentric)旅行视频。
- 动作提取: 使用 MASt3R 模型进行度量级姿态估计,提取出连续的动作标签(例如,摄像机前进了 $d$ 米,旋转了 $\theta$ 度)。
- 指令生成: 使用 VLM 进行视频字幕生成,再通过 LLM (GPT-4O) 进行转述,为轨迹生成自然语言指令。
[Figure 4: 从 YouTube 视频中提取导航数据的流程图。] -
来自模拟器的导航数据:
- 来源: R2R-CE 和 RxR-CE 数据集 (在 Habitat 模拟器中)。
- 技巧 1 (动作合并): 将连续的相同动作合并。例如,两个连续的 "$\text{forward 25 cm}$" 合并为 "$\text{forward 50 cm}$"。这增加了动作的多样性并减少了过拟合。
- 技巧 2 (标签平衡): 增加了稀有的 "$\text{stop}$" 动作的采样权重。
-
辅助导航数据:
- EnvDrop: 增强的指令数据。
- ScanQA: 3D 场景问答数据,用于增强空间理解能力。
- 轨迹摘要任务: 一个辅助任务,让 VLA 观看一段轨迹视频并用语言描述它(例如“机器人走过走廊,进入了厨房”)。
-
通用 VQA 数据集:
- 用于保持模型的通用视觉和语言知识,防止在导航任务上过拟合。
3. 低层视觉运动策略 (Sec II-B)
这一层是机器人的“小脑”,负责敏捷、鲁棒的运动。
-
从语言到速度: VLA 输出的语言指令(如 "$\text{move forward 75 cm}$")被确定性地映射为速度指令。例如:
- "$\text{move forward}$" $\rightarrow$ $v_{cmd} = 0.5 \text{ m/s}$
- "$\text{turn left}$" $\rightarrow$ $\omega_{cmd} = \frac{\pi}{6} \text{ rad/s}$
- RL 算法: PPO (Proximal Policy Optimization)。
- 训练范式: 单阶段 (Single-stage) 训练。这与以往工作(如 ROA)中复杂的“两阶段教师-学生”蒸馏范式不同。单阶段训练更高效,且允许策略直接与环境交互,发现新策略。
-
策略输入 (Observation):
- Actor ($o^a$): 仅使用真实世界可获取的数据:本体感知(关节位置 $q$、关节速度 $\dot{q}$、机身朝向、角速度)+ 高度图 (Height Map)。
- Critic ($o^c$): 使用特权信息 (Privileged Info) 以便更准确地估计价值函数:$o^a$ + 真实的机身线速度 $v_{xy}$、特权地形扫描。
-
关键传感器:LiDAR (激光雷达):
策略的“眼睛”不依赖 RGB 摄像头,而是使用 LiDAR 生成的 2.5D 高度图。这是实现鲁棒性的关键。如 Figure 5b 所示,RGB 和深度相机在强光或透明玻璃前会失效,但 LiDAR 可以准确感知这些障碍物。
实验方法与设计
复现论文的关键设置
论文通过四个核心问题来验证 NaVILA 的有效性:
- (Q1) 高层 VLA 性能如何? (对比 SOTA VLN-CE 和 ScanQA)
- (Q2) 低层 RL 策略性能如何? (对比 ROA)
- (Q3) 模拟中的足式机器人导航性能如何? (在新的 VLN-CE-Isaac 库上)
- (Q4) 真实世界部署效果如何? (在 Go2 和 H1 机器人上)
1. 高层 VLA 实验 (Q1)
- Benchmark 1: VLN-CE (R2R-CE, RxR-CE)
- 环境: Habitat 模拟器,使用 Matterport3D 真实室内扫描场景。
- 设置: 在 `val-unseen` 划分上进行评估。
- 指标: SR (Success Rate, 成功率), SPL (Success-weighted Path Length, 路径效率), NE (Navigation Error, 导航误差), OS (Oracle Success Rate, 预言机成功率), nDTW (normalized Dynamic Time Warping, 路径相似度)。
- Benchmark 2: ScanQA (Val split)
- 任务: 3D 场景问答,用于测试空间理解能力。
- 输入: 论文使用从 3D 扫描中采样的多视角 RGB 图像作为输入。
- 指标: CIDEr, Bleu-4, Rouge, Meteor, EM (Exact Match)。
2. 低层 RL 策略实验 (Q2)
- 对比方法: ROA (Regularized Online Adaptation),一种 SOTA 的两阶段(教师-学生)策略蒸馏方法。
- 环境: Isaac Sim。
- 指标:
- Linear Vel. Error: 线速度跟踪误差。
- Angular Vel. Error: 角速度跟踪误差。
- Collision Rate: 碰撞率。
3. VLN-CE-Isaac 模拟实验 (Q3)
- 新 Benchmark: VLN-CE-Isaac
- 动机: Habitat 模拟器缺乏真实的物理交互。例如,Habitat 中的智能体可以穿过 10cm 的缝隙,这对足式机器人是不可能的。
- 构建: 论文将 R2R 的场景和轨迹(1077条可通行轨迹)移植到了高保真物理模拟器 Isaac Sim 中。
- 评估:
- 机器人: Unitree Go2 (四足) 和 Unitree H1 (人形)。
- 对比: `NaVILA-Vision` (使用 LiDAR 高度图) vs. `NaVILA-Blind` (仅使用本体感知)。
- 指标: SR, SPL, NE。
4. 真实世界实验 (Q4)
- 机器人: Unitree Go2 (四足) 和 Booster Dynamics T1 (人形)。
- 环境: 3 类真实场景 (Workspace, Home, Outdoor)。
- 指令: 25 条指令,分为“简单”(1-2个命令)和“复杂”(3+个命令,跨房间)。
- 对比: NaVILA (完整版) vs. NaVILA$^\dagger$ (没有使用 YouTube 人类视频训练) vs. GPT-4O (作为 SOTA VLM 基线)。
- 指标: SR, NE。
复现细节:低层策略训练 (Appendix C3)
这是复现的关键,论文附录给出了详细参数:
- 训练地形: 平地、随机粗糙地形、斜坡、障碍物 (Fig 11)。
- 域随机化 (Table XI):
- 机身质量: $\pm 3.0$ kg
- 地面摩擦系数 (动/静): $[0.4, 4.0]$
- 电机强度: $[0.9, 1.1]$
- LiDAR & 高度图 (Table XII):
- 垂直范围: $[0, 90]$ 度
- 水平范围: $[-180, 180]$ 度
- 体素大小: $0.06$ m
- 感知范围 (X): $[-0.8, 0.2]$ m (机器人前方 0.8m, 后方 0.2m)
- 感知范围 (Y): $[-0.8, 0.8]$ m (左右各 0.8m)
- 奖励函数 (Table X): 包含线速度/角速度跟踪、机身平稳、关节加速度惩罚、能量消耗、机身高度、足部打滑等共计 9 项奖励。
# 奖励项示例 Linear velocity tracking: exp(-||$v_{xy}^{cmd} - v_{xy}$||$^2_2$), Weight: 1.5 Angular velocity tracking: exp(-($\omega_{yaw}^{cmd} - \omega_{yaw}$)$^2$), Weight: 1.5 Flat orientation: $-2.0 \cdot ||\text{orientation}_{xy}||^2_2$ Energy: $-\tau \cdot \dot{q}$, Weight: -2e-5 Feet slipping: $-||v_{feet} \cdot \mathbf{1}[F_{feet} > 1]||_2$, Weight: 0.05
实验结果与核心结论
NaVILA 的表现
结论 1: VLA 性能在 VLN-CE 上达到 SOTA (Table I)
NaVILA 在 R2R-CE 和 RxR-CE 基准上,显著优于所有不依赖“模拟器预训练的航点预测器”的先前方法。甚至,NaVILA (仅用单目 RGB) 的性能也超过了许多使用额外信息(如全景图、深度、里程计)的方法。
| Method | S.RGB | Depth | Pano. | Odo. | R2R Val-Unseen | RxR Val-Unseen | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NE ↓ | OS ↑ | SR ↑ | SPL ↑ | NE ↓ | SR ↑ | SPL ↑ | nDTW ↑ | |||||
| CMA$^*$ [42] | ✓ | ✓ | ✓ | 6.20 | 52.0 | 41.0 | 36.0 | 8.76 | 26.5 | 22.1 | 47.0 | |
| HNR$^*$ [50] | ✓ | ✓ | 4.42 | 67.0 | 61.0 | 51.0 | 5.50 | 56.3 | 46.7 | 63.5 | ||
| BEVBert$^*$ [51] | ✓ | ✓ | ✓ | 4.57 | 67.0 | 59.0 | 50.0 | 4.00 | 68.5 | - | 69.6 | |
| Seq2Seq [58] | ✓ | 7.77 | 37.0 | 25.0 | 22.0 | 12.10 | 13.9 | 11.9 | 30.8 | |||
| NaVid [12] | ✓ | 5.47 | 49.0 | 37.0 | 35.0 | 6.77 | 49.3 | 44.0 | 58.8 | |||
| NaVILA (Ours) | ✓ | 5.22 | 62.5 | 54.0 | 49.0 | - | - | - | - | |||
结论 2: VLA 具有极强的跨数据集泛化能力 (Table II)
将在 R2R-CE 数据集上训练的模型,直接零样本 (zero-shot) 迁移到 RxR-CE 上进行评估。NaVILA 的 SR 达到了 46.8%,远超先前的 SOTA NaVid (34.5%),显示了极强的泛化性。
结论 3: VLA 具备 SOTA 的空间场景理解能力 (Table III)
在 ScanQA 任务上,NaVILA (仅用 RGB 图像) 的性能(102.7 CIDEr)甚至超越了需要 3D 扫描或 RGBD+Pose 作为输入的 3D-LMMs(如 LEO, Scene-LLM)。这证明 NaVILA 的 VLA 模块具备了强大的 3D 空间推理能力。
结论 4: 单阶段 RL 策略优于两阶段蒸馏 (Table V)
NaVILA 采用的单阶段 RL 策略在所有指标上均优于 SOTA 的两阶段蒸馏方法 ROA。特别是在碰撞率 (Collision Rate) 上,NaVILA (0.81) 远低于 ROA (3.09),证明了其卓越的避障能力。
| Method | Linear Vel. Error ↓ | Angular Vel. Error ↓ | Collision Rate ↓ |
|---|---|---|---|
| ROA [68] | 0.161 | 0.152 | 3.09 |
| NaVILA (Ours) | 0.066 | 0.113 | 0.81 |
结论 5: 视觉(LiDAR)对足式导航至关重要 (Table IV)
在新的高保真 VLN-CE-Isaac 基准上,`NaVILA-Vision`(使用 LiDAR 高度图)的成功率 (Go2: 50.2%, H1: 45.3%) 远超 `NaVILA-Blind`(仅本体感知)(Go2: 36.2%, H1: 24.4%)。这证明了低层策略中的视觉避障是不可或缺的。
结论 6: NaVILA 成功部署于真实世界,且人类视频数据是关键 (Table VI)
NaVILA 在三个真实环境中(工作区、家庭、户外)均表现出色,总体成功率达 88%,远超 GPT-4O。
人类视频的重要性:对比 NaVILA (完整版) 和 NaVILA$^\dagger$ (无人类视频),后者在所有场景,特别是 Outdoor 场景中性能下降明显。这证明了从 YouTube 视频中学习到的真实世界导航经验是模型泛化能力的关键。
机器人泛化性:同一套 VLA 模型无需重新训练,即可从 Go2 (四足) 迁移到 T1 (人形) 机器人上,证明了 2 级解耦框架的有效性。
Reviewer 的评论
作为研究者,我对这项工作的锐评
这是一篇非常扎实且令人兴奋的论文。它不仅仅是在 VLN 的某个基准上“刷点”,而是真正解决了将 VLM 部署到真实、复杂(足式)机器人上的核心瓶颈。
优势 (Strengths)
- 框架设计极其巧妙 (Elegant Framework): 两级解耦框架是本文最大的亮点。它精准地“扬长避短”——让 VLM 负责它擅长的“语言和空间推理”,让 RL 策略负责它擅长的“实时物理控制”。这是对 VLA 模型落地的一种非常务实的思考。
- 详实且强大的实验 (Strong Empirical Results): 论文的实验部分堪称典范。它不仅在模拟基准 (VLN-CE) 上达到了 SOTA,在更考验空间推理的 ScanQA 上“降维打击”了 3D LMM,并且最终在真实世界的多种机器人和多种环境中都取得了成功。
- 新颖的数据流水线 (Novel Data Pipeline): 提出使用 MASt3R + LLM Rephrasing 来挖掘 YouTube 视频,将其转化为连续导航数据的想法非常新颖。这为 VLA 模型获取大规模、多样化的真实世界数据提供了一条可行的路径 (Table VI 证明了其有效性)。
- 有价值的公共贡献 (Valuable Contributions): 论文贡献了 VLN-CE-Isaac 这一高保真基准,推动了领域向更真实物理模拟的发展。同时,其单阶段 RL 策略和 LiDAR 高度图的应用,对足式机器人学界也具有很高的参考价值。
不足与局限 (Weaknesses & Limitations)
- 高层 VLA 仍是“开环”的 (Open-Loop VLA): 这是该框架最大的局限。高层的 VLA 似乎只是单向地发出指令(如“向前 50cm”),然后等待低层执行。如论文附录 E 中的失败案例 (Fig 13) 所示,当低层策略执行失败或遇到预期外的情况时,VLA 缺乏有效的错误修正和重规划 (Error Correction & Replanning) 机制。
- 中层动作空间仍然简单 (Simple Mid-level Actions): 目前的中层指令集("forward X", "turn Y", "stop")虽然有效,但仍显粗糙。这会导致机器人的动作序列不连贯(例如,"左转30度-前进1米-右转30度" 而不是一个平滑的曲线)。这限制了 LLM 更精细化推理能力的发挥。
- 计算成本 (Computational Cost): VLA 是一个 8B 的 VILA 模型,在 4090 上的推理速度约为 1 FPS (Sec C4)。虽然双频设计缓解了这个问题,但这仍然是一个庞大且昂贵的模型。
改进方向 (Future Work)
- 闭环 VLA (Closed-Loop VLA): 未来的工作必须解决“闭环”问题。VLA 不仅要发出指令,还必须接收来自低层策略的反馈。这种反馈不应只是“执行完毕”,而应该是更丰富的状态,例如“执行偏离 $X$ 米”,“前方 $Y$ 米处检测到 LiDAR 障碍物,VLA 未指示”。VLA 需要根据这些反馈实时进行重规划。
- 更丰富的动作原语 (Richer Action Primitives): 中层“语言”可以更丰富。除了路点,VLA 或许可以生成更抽象的指令,例如“沿着走廊右侧墙壁行走”,“小心地绕过那张玻璃桌子”,然后由低层策略去实现这些基于感知的、更泛化的技能。
- 模型量化与端侧部署 (Quantization & On-device Deployment): 论文在附录 D 中已经用 AWQ 做了初步探索,将延迟降低了 40%。这是正确的方向。最终,VLA 模型应该被量化并部署在机器人的边缘计算单元上,以消除网络延迟,实现更快的闭环响应。
One More Thing...
LiDAR 与模拟器的胜利
作为一名研究者,有两个细节让我印象深刻,它们是实现鲁棒机器人系统的关键:
- 选择 LiDAR (Fig 5b): 论文明确指出,低层策略使用 LiDAR 生成高度图,而不是 RGB-D 相机。Figure 5b 中那个“LiDAR 检测到玻璃,而 RGB 和深度图失效”的例子,完美诠释了为什么纯视觉模型在真实世界中如此脆弱。在强光、透明或反光物体面前,LiDAR 是保障安全的“底裤”。这是一个非常务实且关键的工程选择。
- 新模拟器的必要性 (Fig 8): 论文花篇幅构建了 VLN-CE-Isaac 基准。Figure 8 中的对比(Vision 策略 vs Blind 策略)清晰地展示了其价值:在高层 VLA 指令错误(让机器人撞墙)时,`Blind` 策略(类似于 Habitat 中的运动)会卡死,而 `Vision` 策略(基于 LiDAR)能够自主避障并绕过障碍物。这证明了低层策略的“智能”至关重要,它不是一个简单的动作执行器,而是一个安全护栏,这在高保真物理模拟中才能得到充分训练和验证。
总之,NaVILA 的成功,不仅是 VLM 的成功,更是务实的机器人学思维(传感器冗余、高保真模拟、分层控制)的成功。