一句话定位
ViNT(Visual Navigation Transformer)是一个 31M 参数的图像目标(image-goal)视觉导航基础模型:用两个 EfficientNet-B0 编码器把「过去 5 帧 + 当前帧观测」与「当前+目标图的融合」tokenize,喂进一个 4 层 4 头的 decoder-only Transformer,输出到达子目标的时间距离和 5 步未来相对航点(embodiment-agnostic 归一化航点)。它只在已有公开导航数据集拼起来的约 80 小时、8 种机器人本体上训练,却能零样本控制训练里从没出现过的机器人(如 Unitree Go1 四足),配上拓扑图 + 图像扩散子目标提议就能跑 公里级导航,还能用「类 prompt-tuning」的软提示把目标编码器换成 GPS 航点 / 高层路由指令,1 小时数据即可微调到 CARLA 自动驾驶这类完全 OOD 的任务。CoRL 2023 Oral。
背景与定位
论文要回答的问题是:移动机器人的「基础模型」需要什么? 在 NLP/CV 里「大规模弱监督预训练 → 零样本 / prompt-tuning / 微调迁移」的范式已经成立,但机器人因为环境、平台、应用高度异质,难以照搬。作者选了视觉导航作为切入口——机器人仅凭第一视角 RGB 观测导航——因为它对数据假设最少。
关键的建模决策是采用 image-goal navigation(图像目标导航) 作为预训练目标:目标由「机器人在目标处会看到的那张图」指定。相比 PointGoal、GPS 目标或语义目标,图像目标不需要真值定位、语义标注或任何 metadata,任何「有视频 + 有动作」的数据都能拿来训,从而能把大量不同机器人的数据汇成一个大而杂的训练集。
这条路线是作者团队(Sergey Levine 组,BAIR)导航模型谱系的一环:GNM(General Navigation Model,2022/ICRA 2023,首次证明异质 RGB 数据可训跨本体通用导航策略,但只做零样本图像目标这一件事、模型小)→ ViNT(本文,把它做成可适配多任务的高容量基础模型)→ NoMaD(2023,给 ViNT 加目标掩码 + 动作扩散头,把探索和定向导航合并、缩到 19M)。论文自陈最近的对照是 RT-1、I2O、GNM:RT-1 强在指令跟随,I2O 强在 sim-to-real,而 ViNT 的重点是单一模型跨多机器人、并能高效适配到不同下游任务。高层长时程框架(拓扑图 episodic memory + 类 A* 物理搜索 + 卫星图启发式)直接沿用作者此前的 ViKiNG。相关数据谱系可参考 Open X-Embodiment 这类跨本体数据聚合工作,方法论定位见 机器人基础模型综述。
范式命名:cross-embodiment foundation model for visual navigation with strong zero-shot generalization——一个「先给任意移动机器人一个通用导航底座、再在其上构建具体应用」的思路。
模型架构
总体数据流:输入当前+过去观测 o_{t-P:t} 和子目标图 o_s,输出 (i) 到达子目标所需时间步数(dynamical / temporal distance),(ii) 长度 H 的未来动作序列。全部网络从零初始化、端到端训练。
Tokenization(观测编码):
- 用 EfficientNet-B0 编码器 ψ 独立编码当前帧和 P=5 个过去帧,每帧输入分辨率 85×64×3,取最后卷积层的扁平特征向量作为 token。
- Token 嵌入维度 d_model = 512。
Goal fusion(目标融合,关键设计):作者发现直接用 EfficientNet 抽取目标图特征 ϕ(o_s) 效果很差,模型常常完全无视目标。他们的假设是——图像目标任务里有用的特征往往是相对的(当前观测与目标的差异),而非目标的绝对表征。于是用一个单独的目标融合编码器 ϕ(o_t, o_s):把当前观测图和目标图沿通道维拼接,过第二个 EfficientNet-B0,扁平化得到 goal token。附录 Table 5 的消融证实:early fusion 对核心导航任务最好但不支持下游适配;late fusion 利于适配但性能差;这套 goal-fusion 折中——逼近 early fusion 的性能,同时保留适配能力。
Transformer:P+2 个 token(5 个过去观测 + 当前观测 + 1 个 goal token = 7 个 token)加位置编码后送入 decoder-only Transformer f,n_L = 4 层多头注意力块,每块 n_H = 4 头,前馈隐藏维 d_FF = 2048。输出序列拼接后过一个 FC 网络(MLP 层 (256, 128, 64, 32))预测距离和动作。整个模型 31M 参数。
Embodiment-agnostic action space(本体无关动作空间):动作 â 采用相对航点(relative waypoints);为吸收不同机器人尺寸/速度差异,把航点按机器人最高速度归一化。部署时由各机器人自带的低层控制器反归一化并用低层控制跟踪——这套设计沿用 GNM。
长时程系统(Sec. 4):ViNT 策略本身只做短时程图像目标导航;要跑长距离/无图像目标的任务,外挂:
- 拓扑图 M 作为在线构建的 episodic memory,节点是子目标观测、边是可达路径(由 ViNT 预测的距离决定连通性)。
- 图像到图像扩散模型 g(o_s|o_t) 提议多样的短时程子目标候选(详见「训练方法」);这些子目标不带空间信息,再用 ViNT 计算时间距离和动作 rollout 做空间接地(spatial grounding)。
- 类 A* 物理搜索:代价函数 f(s) = d_M(o_t, s⁻) + d_pred(s⁻, s) + h(s, G, C),其中 h 是目标导向启发式,可为 0(纯覆盖探索)、欧氏距离(GPS/2D 位置目标)或基于卫星图训练的学习型启发式(CNN 用对比目标预测子目标是否在通往 G 的轨迹上)。
下游适配(Sec. 5):把目标编码器 ϕ 换成一个小网络 ϕ̃,将新模态目标 σ(2D 坐标 / 高层路由指令)映射到同一 goal token 空间——即「软提示 / soft prompt」,用同样目标做少量数据微调。GPS 适配:切掉目标编码块,学一个 size-3000 固定张量与 ego-坐标 GPS 目标拼接过 2 层 MLP;指令适配:为「left/right/straight」各学一个固定张量,按索引选取。
数据
训练集全部来自已有公开/他人采集的数据集,没有为 ViNT 专门采数。异质导航轨迹,8 种不同机器人本体,速度跨度 0.2–10 m/s,环境含办公室、走廊、郊区、越野小径、校园等。附录 Table 7 逐条列出(Total Hrs = 各数据集总时长,Hrs Used = 实际用于训练的时长):
| # | 数据集 | 平台 | 速度 | 总时长 | 用于训练 | 环境 |
|---|---|---|---|---|---|---|
| 1 | GoStanford | TurtleBot2 | 0.5 m/s | 17h | 14h | office |
| 2 | RECON | Jackal | 1 m/s | 25h | 25h | off-road |
| 3 | CoryHall | RC Car | 1.2 m/s | 2h | 2h | hallways |
| 4 | Berkeley | Jackal | 2 m/s | 4h | 4h | suburban |
| 5 | SCAND-S | Spot | 1.5 m/s | 8h | 4h | sidewalks |
| 6 | SCAND-J | Jackal | 2 m/s | 1h | 1h | sidewalks |
| 7 | Seattle | Warthog | 5 m/s | 1h | 1h | off-road |
| 8 | TartanDrive | ATV | 10 m/s | 7h | 5h | off-road |
| 9 | NeBula | ATV | 10 m/s | 10h | 10h | off-road |
| 10 | SACSoN | TurtleBot2 | 0.5 m/s | 75h | 10h | office |
| 11 | BDD | Car(s) | 20 m/s | 10h | 4h | on-road |
| 合计 | 160h | 80h |
口径提醒:正文/摘要对规模的说法不一致——摘要说「hundreds of hours」、正文说「over 100 hours」、Table 7 标题说「over 150 hours」,而表格实际「Hrs Used」加总为 80 小时(160 小时可用)。这里以表格数字为准:约 80 小时用于训练,覆盖 11 个源数据集、8 种本体。平台含 4 个商用(TurtleBot、Jackal、Warthog、Spot)+ 若干自制(Yamaha Viking ATV、RC Car、乘用车)。
动作标注:图像目标是自监督采样的——从轨迹里随机取未来观测 o_s := o_{t+d}(d 从 [l_min, l_max] 均匀采)当子目标,对应的 H 个未来动作与距离 d 直接当标签,无需人工标注。动作统一转成相对航点并按各机器人最高速度归一化,实现跨本体混训。数据「as-is」使用——没有做传感器系统辨识或跨机器人的归一化/同质化,每个平台保留自己的低层控制器与板载栈。
扩散子目标模型的数据:从训练轨迹里取 o_t(随机),o_s 取其后 5–20 个时间步的未来观测,构成图像对训练条件生成。
CARLA 微调数据(下游):用规则化 oracle 自动驾驶 agent 采,起终点随机、最长 900m。Town01 采 181 条轨迹(≈4h) 训练、Town02 采 52 条(1h) 留出测试;再加 4h「偏离后回正车道」的纠偏轨迹。实验用至多 5 小时数据,不到 1 小时即有效果(正文原话 “under 1 hour” / “as little as 1 hour”)。
训练方法
目标函数:最大似然,联合预测动作序列和时间距离(式 1): L = E_τ E_t E_d [ log p(â | f(ψ(o)_{t:t-P}, ϕ(o_t, o_s))) + λ·log p(d | f(…)) ],其中 λ = 0.01 平衡两个损失,最大距离 = 20(时间步)。预测时间上下文 P = 5、预测时程 H = 5。
ViNT 训练超参(Table 6):
- 30 epochs,batch size 300,学习率 5×10⁻⁴,优化器 AdamW,4 epoch warmup + cosine(周期 10)。
- 微调学习率 1×10⁻⁴。
下游微调 / 适配流程:
- 全模型微调(image-goal):架构不变,LR 1e-4、AdamW、无 warmup/scheduler,不混入先验数据,5 epochs。用最少 1 小时 on-task 数据就能掌握新环境/新本体。
- GPS 适配 / 指令适配:见「模型架构」的软提示机制,cosine + warmup 到 1e-4、4 epochs;GPS 从未来里程计自监督采目标,指令则按未来位置的横向偏移回溯打「left/right/straight」标签(阈值 0.05 归一化距离)。
扩散子目标模型的训练:图像到图像扩散(318M 参数,独立于 31M 的 ViNT 策略),U-Net(Flax diffusers 实现、去掉文本 cross-attention),图像条件用通道拼接注入;采用 Kingma VDM 的连续时间扩散 + 固定线性噪声调度 + 非加权 L_simple 目标 + classifier-free guidance。训练:dropout 0.1、batch 128、AdamW、1000 步 warmup、LR 1e-4 cosine、weight decay 0.001、EMA、CFG mask 比例 0.2、250,000 步。采样:DDIM(η=0)、200 采样步、guidance weight 1.0。
Infra(训练 / 推理工程)
- ViNT 训练算力:代表性配置 8× V100,约 30 小时。论文脚注说明整个研究期间用过多种工作站(2×4090 / 3×Titan Xp / 4×P100 / 8×1080Ti / 8×V100 / 8×A100),架构固定但 batch 与时长随设备变化。并行/精度细节未披露。
- 扩散模型训练算力:v4-8 TPU board,约 30 小时,250k 步。
- 推理 / 部署:策略以 4 Hz 运行,用 PD 控制器在 receding-horizon 方式下跟踪预测航点。GitHub 说明模型在 LoCoBot + NVIDIA Jetson Orin Nano 边缘算力上部署;研究者已独立把它跑在 Clearpath Jackal、DJI Tello、Unitree A1、TurtleBot2、Vizbot 及 CARLA 仿真上。论文本身在五种平台上评测,含无人机、四足和两台训练中未出现的新机器人。具体 FPS 上限 / 端侧延迟数字未披露(4 Hz 是运行频率)。
- 论文自陈局限:Transformer 模型推理开销明显高于简单前馈卷积网络,对四旋翼这类功耗受限平台是挑战。
评测 benchmark
全部为真机(+CARLA 仿真微调)实测。
① 覆盖探索(undirected goal-reaching,成功率,Table 1):
| 方法 | Indoor | Outdoor |
|---|---|---|
| End-to-End BC | 0.72 | 0.44 |
| End-to-End GCG | — | 0.61 |
| RECON(VIB 子目标) | 0.19 | 0.23 |
| ViNT-R(随机子目标) | 0.81 | — |
| ViNT(扩散子目标) | 0.94 | 1.00 |
② 有引导的公里级导航(Table 2):
| 场景 | 方法 | Success | SPL | 无碰撞距离 |
|---|---|---|---|---|
| Indoor: Position | ViKiNG | 0.60 | — | 56m |
| ViNT | 0.90 | — | 91m | |
| Outdoor: GPS | ViKiNG | 0.64 | 0.42 | 720m |
| ViNT | 0.95 | 0.84 | 1270m | |
| Outdoor: Satellite | ViKiNG | 0.77 | 0.68 | 780m |
| ViNT | 1.00 | 0.94 | 1040m |
③ 零样本跨本体(覆盖任务,无干预最大位移 / 米,Table 3):
| 模型 | LoCoBot | Go1 | Vizbot | Jackal |
|---|---|---|---|---|
| Single-Robot(专家) | 40 | 12 | 40 | 184 |
| GNM | 60 | 8 | 20 | 427 |
| ViNT | 120 | 45 | 110 | 438 |
其中 Go1 四足训练集中完全没有(虽有 Spot 数据,但两者特性差异大),ViNT 仍零样本控制。更值得注意的是 ViNT 在分布内机器人(Vizbot)上也大幅超过只在该机器人数据上训练的专家模型——即正迁移(positive transfer),作者视之为「基础模型」的关键标志、且小模型(GNM)不具备。
④ CARLA 微调 / 适配(Table 3-右)——perceptually 完全 OOD(真实数据训、仿真测):
| 方法 | Images(Success) | Images(In Lane) | Positions | Routing |
|---|---|---|---|---|
| Scratch | 0.45 | 0.74 | 0.79 | 0.43 |
| ImageNet | 0.22 | 0.71 | 0.59 | 0.45 |
| SimCLR | 0.21 | 0.63 | 0.70 | 0.64 |
| VC-1(冻结) | 0.19 | 0.65 | 0.49 | 0.38 |
| GNM | 0.49 | 0.66 | 0.45 | 0.49 |
| ViNT | 0.82 | 0.82 | 0.89 | 0.72 |
ViNT 在 0 微调数据时已 40% success,用 <1 小时数据微调到 80%,且超过用 5× 数据训练的单域专家模型。GNM(8.7M 可训练参数 vs ViNT 31M)在适配任务上明显吃亏,说明 ViNT 的架构与更大容量对广义适配是必要的。
⑤ 冻结编码器消融(Table 8):ViNT-FE(冻结视觉编码器、与 VC-1 同样可训练参数量)在 Images/Positions 上得 0.32/0.78,远超同为冻结通用编码器的 VC-1(0.19/0.49)——即导航相关特征比通用视觉特征更易迁移到 OOD。
涌现行为(定性):(a) 隐式碰撞避免——给它无效随机目标仍能 80% 成功探索(ViNT-R);(b) 隐式偏好——户外倾向走铺装路、室内走走廊中线,尽管训练数据含大量歪扭次优轨迹;(c) 对动态行人的鲁棒避让,尽管只用离线自监督目标训练。
创新点与影响
- 把「基础模型」范式落到移动机器人导航:证明用图像目标这一最弱假设的自监督目标,把一堆异质公开数据集拼起来训一个 Transformer,就能得到跨环境、跨本体的通用导航底座,并支持零样本迁移 + prompt-tuning + 微调三种适配路径。
- goal-fusion 编码器:指出图像目标任务需要相对(当前 vs 目标)而非绝对目标表征,用通道拼接的第二编码器解决「模型无视目标」的失败模式(Table 5 消融支撑)。
- 本体无关归一化航点动作空间 + PD 跟踪,使单一策略能驱动尺寸/速度差异巨大的多种机器人,并出现正迁移(跨机器人互相增益、超过单机专家)。
- 扩散子目标提议 + 拓扑图物理搜索:首次用图像扩散模型在导航里提议多样短时程子目标,配 ViNT 空间接地,实现公里级、无干预的探索式导航;并观察到 ViNT 对低质量/无效子目标鲁棒(因其「默认」无碰撞行为)。
- 影响:ViNT 是 BAIR「通用导航模型(GNM/ViNT/NoMaD)」谱系的中枢,开源权重 + 训练/部署代码被独立复现到多种机器人;后续 NoMaD 正是把它的探索外挂(300M+ 扩散子目标)换成 19M 的目标掩码动作扩散。
- 作者自陈局限:(1) Transformer 推理开销大,对功耗受限平台(四旋翼)是负担;(2) 泛化假设一定的结构相似性——无法控制四旋翼高度、无法处理动作表征变化或 LIDAR 等新传感器;(3) 更广的泛化有待更大的多机器人数据集。
原始链接
- 论文 arXiv abs:https://arxiv.org/abs/2306.14846 (CoRL 2023 Oral)
- 论文 PDF:https://arxiv.org/pdf/2306.14846
- 论文 HTML 全文:https://arxiv.org/html/2306.14846v1
- 项目主页:https://general-navigation-models.github.io/vint/
- 代码(GNM/ViNT/NoMaD 共用仓库):https://github.com/robodhruv/visualnav-transformer
- 预训练权重(Google Drive):https://drive.google.com/drive/folders/1a9yWR2iooXFAqjQHetz263—4_2FFggg
一手源存档(sources/)
- vint-foundation-model-visual-navigation—project-page — 官方项目主页快照(general-navigation-models.github.io/vint)
- vint-foundation-model-visual-navigation—github-readme — GitHub 仓库 README 快照(robodhruv/visualnav-transformer)
- arXiv 全文(
2306.14846):原文 PDF/HTML 不入 git,引用见上方 arXiv URL