一句话定位

CityWalker 不依赖任何人工标注或昂贵的 VLM 打标,只用现成的视觉里程计(DPVO)从 YouTube 上 2522 小时的城市步行/驾驶视频里抠出相对位姿当动作伪标签,训练一个 214M 参数(127M 可训练)的 DINOv2+Transformer 点目标导航策略;用 2000 小时数据训练后,零样本在离线基准和 Unitree Go1 四足机器人真实城市部署上都超过 GNMViNT(含微调版)、NoMaD 等专门方法与 GPT-4o 提示基线。

背景与定位

点目标导航(point-goal navigation)在室内仿真器里已被认为”接近解决”(如 DD-PPO 在 Habitat 中达到近乎完美的成功率),但论文指出这个结论并不适用于开放城市空间——人行道、红绿灯路口、密集行人、社会规范等因素让室内仿真训练出的策略难以迁移。真实世界导航研究此前主要有两条路:一是遥操作收集专家轨迹(如 GNMViNTNoMaD),受限于人工采集成本,数据规模和场景多样性都有限(多为郊区、停车场、越野等相对简单静态环境);二是借助街景全景图在虚拟环境中做强化学习(如 StreetLearn 系列),但同样缺乏真实城市动态复杂度。同期的 LeLaN(Hirose et al. 2024)尝试用 in-the-wild 视频学导航策略,但依赖 VLM 生成语言条件的动作标签,成本高、可控性差、难以规模化。

CityWalker 的定位是把”网络规模数据 + 廉价自动标注”这套在语言/视觉领域(GPT 系列、SAM、DINOv2)已验证的范式,搬到具身城市导航:用现成的单目视觉里程计(DPVO)代替昂贵的人工标注或 VLM 打标,把 YouTube 上大量第一人称”City Walk”博主视频和行车记录仪视频转成可用于模仿学习的相对轨迹标签,论证了噪声视觉里程计伪标签”够用”这一假设,并进一步验证了这套流程可以跨具身(人类步行 → 四足机器人)、跨模态(步行 → 驾驶数据混合训练)迁移。

模型架构

  • 任务形式化:点目标导航——在时刻 t,策略 π(a_t | o_(t-k):t, p_(t-k):t, w_t) 接收过去 k 帧 RGB 观测 o、过去 k 步 GPS 位置 p、以及当前子目标路点 w_t(来自地图 API 提供的连续路点),输出未来动作序列;论文取 k=5,同时预测未来 5 步动作。
  • 骨干:核心是一个 Transformer,输入为时序 token 序列——k 个图像特征 token + 1 个坐标嵌入 token(由 k 个过去位置 + 1 个目标位置堆叠而成),输出同长度序列,由动作头(action head)和到达预测头(arrival head)两个 MLP 头解码。
  • 图像编码器:DINOv2(ViT-B/14),训练时冻结骨干,只用其特征。因 DINOv2 基于 ViT 可适配任意能被 patch size 整除的输入分辨率,城市步行视频从原生 360×640 中心裁剪为 350×630,遥操作 400×400 视频中心裁剪为 392×392,以保持长宽比并保留尽量多视觉信息。
  • 坐标表示:输入坐标用极坐标(Polar Coordinate)表示,并用 Fourier 特征编码(频率数 6)。
  • 辅助自监督目标——特征幻觉(Feature Hallucination):借鉴 JEPA 类特征预测自监督工作,把 Transformer 输出的图像 token 与直接从未来帧提取的 DINOv2 特征做 MSE 对齐,作为辅助损失,引导 Transformer 预测更”有信息量”的未来 token,间接帮助两个 MLP 头解码动作和到达状态。
  • 损失函数:总损失是四项加权和 ℒ = ω_l1·ℒ_l1 + ω_ori·ℒ_ori + ω_arr·ℒ_arr + ω_feat·ℒ_feat,其中 ℒ_ori 是预测动作与真值动作的负余弦相似度(方向误差),用于弥补 L1/L2 损失无法捕捉”方向偏离但幅度接近”这类错误(论文用示意图说明:红色轨迹 L2 误差更小但方向偏离目标更严重)。权重设置:ω_l1=1.0, ω_ori=5.0, ω_arr=1.0, ω_feat=0.1。
  • 配置数字(Table II):总参数 214M,可训练参数 127M(其余为冻结的 DINOv2);token 维度 768,注意力隐藏维度 768,16 层注意力层,8 个注意力头;输入上下文 5 步,预测视界 5 步。
  • 模型尺寸消融:附录额外做了改变 Transformer 层数的模型尺寸实验(均用 2000 小时数据训练),观察到更大模型带来更好性能(尤其零样本场景),但存在饱和趋势,符合”更大模型需配更大数据”的一般缩放规律观察,论文未给出具体层数-性能数值表。

数据

  • 网络视频规模:主训练数据来自 YouTube 上两个频道的公开播放列表——步行视频来自 “WALKS_and_the_CITY”,驾驶视频来自 “jutah”。完整下载的原始视频总长 2522 小时,论文实际用于训练的是其中 2000 小时。视频覆盖不同天气与光照条件(论文附录 Fig. I 给出条件分布图,具体占比未在正文给出数值)。
  • 动作标签生成:用现成的视觉里程计模型 DPVO(Deep Patch Visual Odometry, Teed et al. NeurIPS 2024)从视频中提取逐片段的相对位姿轨迹作为动作伪标签,不使用任何 VLM 提示或人工标注。处理流程:先把长视频切成 2 分钟短片(降低 IO 瓶颈),再对每个短片跑 DPVO 得到片段内里程计,因此不提供跨片段的全局轨迹。
  • 两个已知问题及处理:(1)VO 累积误差导致全局轨迹不准——因为模型只预测短时间窗口内(过去 5、未来 5 步)的相对动作,只依赖短窗口相对位姿,可以规避累积误差;(2)VO 存在尺度歧义,导致步行视频和驾驶视频的轨迹长度不可比(如图 4 所示,驾驶视频实际轨迹更长,但 DPVO 输出反而更短)——论文借鉴 GNM 的做法,用每条轨迹自身的平均步长将动作归一化,统一到一个抽象的、与具身无关的动作空间;部署时再用目标机器人的具体步长做反归一化,得到实际执行动作。
  • 可扩展性:因为流程只依赖 VO 而非 LLM/VLM 打标,可大规模并行化——论文称处理 2000 小时视频数据”耗时可忽略不计”,使其在成本和可行性上都优于依赖 VLM 生成动作标签的流程(如 LeLaN、“VLM See, Robot Do”)。
  • 驾驶数据的跨域跨具身实验:同一套流程直接适用于驾驶视频(同样是带自运动/egomotion 的视频),用于验证跨域(步行→驾驶)、跨具身(人类步行→轮式/驾驶视角)迁移;单独用驾驶视频训练的模型性能与零样本基线相当(说明驾驶是与步行”不同域/不同具身”的一种导航形式),但驾驶+步行混合训练带来显著提升——仅用 250 小时混合数据,性能已接近仅用 1000 小时纯步行数据训练的模型。
  • 真实世界评测/微调数据(遥操作):用装有 Livox Mid-360 LiDAR 和摄像头的 Unitree Go1 四足机器人在纽约市多个区域采集,用 FAST-LIO(LiDAR-SLAM)获取机器人真值位姿动作,另用手机网页获取 GPS 位置数据(手持手机以降低四足机器人振动噪声)。总计采集 15 小时遥操作数据,其中 6 小时用于微调,9 小时用于离线测试。
  • 关键场景(critical scenarios)标注:基于真值轨迹与目标检测(Mask R-CNN)自动标注 5 类关键场景(可重叠,非互斥)——Turn(动作转角 >20°)、Crossing(检测到置信度 >0.5 的交通灯)、Detour(动作角与目标角偏差 >45°)、Proximity(最大行人检测框超过图像面积 25%)、Crowd(检测到 ≥5 人);离线测试集中各场景占比分别为 Turn 8%、Crossing 12%、Detour 12%、Proximity 6%、Crowd 7%,其余(Other)55%,五类关键场景合计占比不到一半,但论文强调它们对真实部署成功率贡献最大。

训练方法

  • 模仿学习范式:纯监督式模仿学习(behavior cloning 变体),无强化学习阶段。用视觉里程计伪标签作为动作真值,直接对 214M 参数模型做端到端训练。
  • 两阶段流程:① 主训练——在 2000 小时网络视频(步行/驾驶混合可配置)上从零训练;② 微调——用 6 小时真实遥操作数据在四足机器人具身上做域适配微调,分别用不同学习率(见下)。
  • 训练超参(Table II,主训练):10 个 epoch,batch size 32,学习率 2×10⁻⁴,AdamW 优化器,余弦(cosine)学习率调度。
  • 微调超参:学习率 5×10⁻⁵(其余沿用主训练设置)。
  • 消融发现:方向损失(ℒ_ori)和特征幻觉损失(ℒ_feat)对最终 MAOE 的提升边际(在论文有限规模的测试数据噪声范围内),真正带来明显提升的是”是否微调”这一项(MAOE 从 17.03 降到 15.23);但论文观察到一个反直觉现象——零样本(未微调)阶段,加入特征幻觉损失反而降低性能,推测是人类步行视频与四足机器人导航之间存在域/具身差距,特征幻觉损失鼓励模型模仿”人类运动模式”下的未来观测,反而给四足机器人场景引入误导性偏置;但微调后这一问题消失,且从训练损失曲线看,2000 小时训练规模下带特征幻觉损失的总损失和方向损失均低于不带该损失的版本,下降趋势更陡,预示更多训练步数下有更低误差的潜力。

Infra(训练 / 推理工程)

  • 训练硬件:2× H100 GPU。
  • 训练墙钟时间:30 小时(对应 2000 小时视频数据的完整主训练)。
  • 并行策略 / 精度:论文未披露具体的并行方案(数据并行/张量并行)或是否使用混合精度训练。
  • 推理效率:论文未披露推理 FPS、控制频率(Hz)或延迟(ms)等具体数字;真实部署硬件为 Unitree Go1 四足机器人 + Livox Mid-360 LiDAR + 摄像头,控制侧复用 ViNT 提供的 PD 控制器将预测路点转为速度指令,但未给出量化的控制回路频率。
  • 数据处理耗时:DPVO 处理 2000 小时视频”耗时可忽略不计”(论文原话,未给出具体机时数字)。

评测 benchmark

离线基准(Table 1,指标:AOE(5)/MAOE 越低越好,Arrival 越高越好,7 类场景:Turn/Crossing/Detour/Proximity/Crowd/Other/All)——对比基线 [gnm-general-navigation-model|GNM]ViNT(零样本 & 微调)、[nomad-goal-masked-diffusion-navigation|NoMaD]。All 场景汇总数字:

方法AOE(5)°MAOE°Arrival %
GNM(零样本)19.3324.5267.54
ViNT(零样本)7.6413.6370.15
ViNT(微调)5.9712.6470.69
NoMaD(零样本)7.6713.6771.55
CityWalker(零样本)5.0912.6684.12
CityWalker(微调)4.6311.5387.84

CityWalker 微调版在几乎所有场景/指标上最优,唯一逊色的是 Detour 场景(归因于训练视频中该场景占比小);零样本版本已能匹敌甚至部分超过微调版 ViNT,体现”网络规模数据”本身的价值。

真实世界部署(Table 2,Unitree Go1 四足机器人,未见环境,每类 8-14 次试验,成功判定为 5m 内到达目标):

方法All %Forward %Left turn %Right turn %
ViNT(零样本)37.762.50.050.0
ViNT(微调)57.1100.025.025.0
NoMaD(零样本)42.975.016.728.6
CityWalker(微调)77.3100.062.566.7

数据缩放实验:训练数据从小规模增至 2000 小时,零样本 MAOE 持续下降;当数据量 >1000 小时时,零样本 CityWalker 已优于微调版 ViNT。仅用驾驶视频训练的模型性能接近零样本基线水平(视为跨域/跨具身数据);驾驶+步行混合训练带来显著增益,250 小时混合数据即接近 1000 小时纯步行数据的效果。

VLM 基线对比(附录 Table III,GPT-4o 直接提示生成导航动作):GPT-4o 在 All 场景 AOE(5)=71.51°、MAOE=85.03°、Arrival=70.04%,远逊于 CityWalker 微调版(AOE(5)=4.63°、MAOE=11.53°、Arrival=87.84%);GPT-4o 在到达状态预测上相对合理(可能因为该子任务只需过去/目标位置信息,较简单),但导航动作生成”离谱”(论文原话)。

AOE 分步分析(Table 4):ViNT 的 AOE 随预测步数(1→5)递增,误差逐步累积;CityWalker 从 step 2 到 step 5 保持相对稳定,论文认为这与其在真实部署中动作预测的稳定性直接相关。

创新点与影响

  • 核心贡献:(1)首次将”具身城市导航”作为一个未解决问题正式提出,并给出可扩展的数据驱动方案;(2)提出一个简单且可扩展的数据处理范式——仅用现成视觉里程计(DPVO)从网络视频中提取噪声动作伪标签,无需昂贵的 VLM 提示或人工标注,即可支撑大规模模仿学习;(3)在真实世界实验中证明网络规模数据训练能显著提升导航性能,超越现有专门方法,并验证了跨域(驾驶数据)、跨具身(人类→四足机器人)的可迁移性。
  • 新评测指标:提出平均朝向误差(AOE)与最大平均朝向误差(MAOE)作为比 L2 距离更能反映”动作方向是否正确”的评测指标,并定义 Turn/Crossing/Detour/Proximity/Crowd 五类关键场景用于细粒度分析。
  • 论文自述局限:真实部署对较大的 GPS 误差敏感,原因是当前的位置数据处理方式(简单地把 GPS 坐标转为极坐标输入)无法有效处理明显的位置不准确;作者将增强模型对位置噪声的鲁棒性列为未来工作方向。此外附录也指出:微调后 Turn 场景性能出现下降,归因于微调数据中 Turn 场景占比(8%)显著低于原始视频数据中的占比(32%),导致微调阶段对转弯场景的训练样本不足。

原始链接

一手源存档(sources/)