2023 年 1 月 21 日,人工智能顶级会议 ICLR 2023(International Conference on Learning Representations)投稿结果正式公布。上海人工智能实验室自动驾驶 OpenDriveLab 团队成果 —— 基于自监督几何建模的自动驾驶策略预训练方法(PPGeo)被正式录用。PPGeo 是一个基于几何建模的自监督预训练框架,利用大量无标注网络驾驶视频,以自监督的方式对驾驶策略进行预训练,将会显著提升下游端到端感知决策任务的性能。
驾驶策略学习的特殊性
自动驾驶领域中的端到端驾驶策略学习将原始传感器数据(图片,车身信号,点云等)作为输入,直接预测控制信号或规划路线。由于驾驶环境的复杂性和不确定性以及传感器数据中的大量无关信息,对于端到端的驾驶策略模型,从头开始学习是很困难的,它通常需要大量的标注数据或环境交互反馈才能达到令人满意的性能。
如图 1 所示,自然环境中存在着许多不需要关注的信息如建筑物、天气变化以及光照变化等,于驾驶任务而言,下一步往哪里行驶,信号灯是否允许通行,这些信息才是真正需要关注的。
- (a) 静态障碍物和背景建筑物(黄色矩形中的物体)与驾驶决策无关;
- (b) 视觉输入中的交通信号(标有绿色框)仅占图片的很小一部分,但对于控制输出而言却是确定性的;
- (c) 端到端驾驶策略模型必须对不同的光照和天气条件具有鲁棒性。
图 1:PPGeo 研究动机
当前预训练方法在策略学习任务中的限制
为解决端到端的驾驶策略模型对于大规模标注数据的需求,采用无标注的驾驶视频 (如图 2)数据对驾驶策略模型的感知部分进行预训练是很自然的思路,因此获得了非常广泛有效的应用,主流的预训练方法包括分类,对比学习,掩码图像建模。然而,不同于常见的检测和分割任务,端到端驾驶策略学习对自车的位姿敏感,缺乏平移或视角不变性。这也使得常见视觉任务预训练的常胜将军们,在端到端驾驶策略学习任务上败下阵来。由于上文提到的端到端驾驶任务输入的特殊性,其他机器人领域的视觉控制任务使用的预训练方法在这里也表现相对有限。
图 2:YouTube 上驾驶视频数据示例
对此,OpenDriveLab 团队提出一个基于自监督几何建模的端到端自动驾驶策略预训练方法(PPGeo)。
- 论文地址:https://arxiv.org/abs/2301.01006
- 项目地址:https://github.com/OpenDriveLab/PPGeo
基于自监督几何建模的策略预训练
PPGeo 分为两个阶段,在第一阶段,根据时序前后帧图像训练位姿和深度预测网络;在第二阶段,利用第一阶段训练的深度网络和位姿网络监督单图像输入的视觉编码器,完成视觉编码器的预训练。将使用 PPGeo 预训练后的视觉编码器进行微调,可以适配于下游不同的端到端自动驾驶任务。实验表明,基于 PPGeo 的预训练方法相比于其他预训练方法在下游任务上具有更好的驾驶性能。
图 3:PPGeo 的概述。(a) 在第一阶段 (a.1), 利用前后帧图像作为输入,训练一个位姿预测网络 PoseNet 和深度预测网络 DepthNet,位姿预测网络通过比较前后帧图片推测出自车运动,并结合深度和相机内参估计完成两帧之间的像素对应,从而形成监督。在第二阶段 (a.2),待预训练的视觉编码器仅以单帧图像作为输入,在当前帧图像中捕捉与驾驶策略真正相关的信息来预测自车运动,并利用第一阶段获得的内参和深度估计完成像素对应。在这个说明性的例子中,自车需要刹车。位姿预测网络(a.1)根据连续两帧几乎没有变化来推断出刹车行为;而视觉编码器(a.2)根据单一视觉输入中前方有他车来做出预测。(b) 视觉编码器可以被微调并应用于广泛的下游任务中。
第一阶段 - 自监督的几何建模
通过给定一个目标图像 I_t 和源图像 I_(t^' ),估计目标图像的深度、相机的内参,以及这两帧之间的六自由度自车运动。根据这些估计结果,我们可以对场景的三维几何形状进行建模,并通过在源图像中投影像素来重建目标图像,根据重建的光度误差计算损失进行自监督训练。
第二阶段 - 视觉运动策略预训练
经过第一阶段的训练后,估计深度的 DepthNet 和估计位姿变化的 PoseNet 经过良好的训练,已经拟合了驾驶视频数据。在第二阶段,我们将用于下游驾驶策略学习任务的视觉编码器 φ(X) 替换 PoseNet。现在,视觉编码器只接受单帧图像作为输入,并预测当前帧和后续帧之间的自车运动。当前到未来帧的自车运动直接与当前时刻下的驾驶决策或行动相关, 因此视觉编码器能够通过预测自车运动学习到实际的驾驶策略。
至此,视觉编码器 φ(X) 已经从大量的驾驶视频中获得了关于驾驶策略的知识。它可以作为初始权值应用于下游的端到端自动驾驶任务。此外,经过在大量无标注校准的视频数据上训练的 DepthNet 和 PoseNet 也可以用于深度和测程估计任务。
PPGeo 性能比较
PPGeo 的预训练实验是在大量无标注的 YouTube 驾驶视频上进行。我们在 1Hz 的频率下总共采样了 80 万帧样本来进行训练,训练样本涵盖了诸如地理位置和天气等不同的驾驶条件(如上图 2)。
下游自动驾驶任务实验
Navigation&Navigation Dynamic - 基于 CARLA 的两个用于模拟学习的闭环驾驶任务
我们使用不同大小的训练数据(从 4K 到 40K)在标记数据有限的情况下评估预训练视觉编码器的泛化能力并进行闭环评估。评估指标是成功率,表示在 50 条预定义路线中完成驾驶路线没有发生任何碰撞的比率。相较于 Navigation 任务,Navigation Dynamic 中还包括其他动态车辆和行人(如图 4)。
图 4:导航和导航动态任务的前视图图像示例
表 1:闭环导航任务的成功率结果
可以看到,模型在从 10% (4K) 到 100%(40K)的不同数量的微调样本下进行测试。在训练样本量特别小的情况下,PPGeo 依然表现出有竞争力的表现,并且相对其他方法有超过 100% 的提升。这验证了预训练视觉编码器的泛化能力,这在适应标记数据非常有限的新环境时非常重要。
Leaderboard‑Town05‑long
Leaderboard‑Town05‑long 的 10 条长距离路线任务更接近现实世界的城市驾驶,在路线中添加了不同的挑战性场景。由于此任务中具有挑战性的场景,我们使用最先进的基于单帧图像的自动驾驶模型 TCP (NeurIPS 2022)来评估不同的预训练方法。该任务的主要指标是驾驶分数、路线完成和违规分数(均越高越好)。
如表 2 所示,在更具挑战性和真实世界风格的 Leaderboard Town05-Long 任务中,使用我们的方法预训练的模型获得了最高的驾驶分数和违规分数。PPGeo 可以很好地处理自车需要刹车的情况,从而大大减少车辆碰撞和闯红灯的情况。
表 2:闭环任务 Town05-long 任务结果。除三个主要指标外,其余违规详细信息(越低越好)上 PPGeo 也均表现优秀
强化学习在 CARLA 中的驾驶任务
我们进一步验证预训练方法对于强化学习任务的帮助。我们使用强化学习算法近端策略优化 (PPO) 在 CARLA Town01 环境中训练使用不同预训练权重初始化的 CILRS 模型(左)。我们进一步实验在训练期间冻结预训练的视觉编码器(右),以更好地研究预训练特征表示的有效性。
图 5:使用 PPGeo 和其他三个最佳预训练方法的强化学习学习曲线。左:预训练视觉编码器在 RL 训练期间联合微调;右:视觉编码器在 RL 训练期间被冻结
NuScenes 上的开环规划任务
我们使用真实世界的 NuScenes 数据集评价不同时间长度下的轨迹规划预测与实际真实轨迹之间的 L2 距离以及规划轨迹导致的碰撞率。相较其它预训练方法,PPGeo 在下游开环规划任务上也取得了最优的效果。
表 3:NuScenes 开环轨迹规划结果
可视化结果
图 6 展示的是不同预训练方法学习的特征表示的热图。在许多情况下,我们的模型关注部分主要集中在与驾驶高度相关的自车前方的车道。PPGeo 还很好地捕捉到了导致刹车动作的特定线索,包括前方车辆(第 3 和 4 行)和交通信号灯(第 5 行)。我们还观察到,使用 ImageNet 分类预训练的模型倾向于捕获图像中的显著对象,当显著对象与驾驶决策直接相关时(第 4 行),该模型可以正常工作;但当输入包含其他不相关信息时(第 2 行和第 3 行),该模型可能会关注错误的对象。
图 6:驾驶视频数据上不同预训练方法学习表征的可视化热图
消融研究
就表 4 中的导航任务对 PPGeo 的不同设计进行了消融研究。同时在单个阶段(第 1 行)训练视觉编码器和 DepthNet 导致性能变差,这表明同时从头开始进行对深度估计网络和预测自车运动的视觉编码器的训练过于困难。此外,在第二阶段(第 2 行)联合优化 DepthNet 会降低深度估计质量并损害性能。在第 3 行中,我们观察到利用第一阶段获得的 PoseNet 提供伪标签监督将会导致较差的结果,因为单个不准确的伪标签在很大程度上对学习过程造成影响,而通过像素重建的方式可以获得更加稠密丰富的监督。
表 4:PPGeo 的关键设计消融研究
总结
- 我们提出了一种针对视觉运动驾驶任务的预训练范式 PPGeo。这是第一个完全自监督的预训练框架,不需要任何标签和额外数据,可以充分利用大规模的无标注数据。
- 经过预训练的视觉编码器,能够基于单一的视觉输入预测自车运动,并提取与驾驶策略密切相关的特征表征。这种视觉编码器的设计可以灵活地扩展到各种下游应用程序。
- 我们在一系列端到端驾驶任务上展示了我们的方法的优越性,涵盖了不同的类型和难度级别。在数据非常有限的具有挑战性的情况下,各种指标方面的性能从 2% 提高到甚至超过 100%。
- 使用第一阶段训练后的 DepthNet 和 PoseNet 作为初始权重,并在 KITTI 上进行实验。证明了通过大规模驾驶视频的预训练也可以提高深度和测程估计任务的性能,这是我们的预训练框架的额外收获。