以下文章来源于OpenDriveLab ,作者OpenDriveLa
原文:CVPR 2023 | GPT-4与文心一言同台竞技,居然是为了自动驾驶UniAD工作!
00 前言
都说 ChatGPT 是自然语言处理中技术大魔王,国内百度的文心一言是国内技术一霸,那自动驾驶中的技术魔王,你听过说吗?另外,ChatGPT 和文心一言都好评的自动驾驶端到端模型,大家不好奇吗?
图源:文心一言;关键词:技术大魔王
ChatGPT 的横空出世解决了自然语言中绝大多数的任务:包括语言生成、文本分类、机器翻译、文本摘要和对话生成。ChatGPT 对自然语言处理任务表现出强大的“统治能力”,已经一统语言处理的江湖。国内百度的文心一言也统筹解决了聚集中文环境中的自然语言处理的任务。看着这些自然语言处理的技术大魔王,再看看OpenDriveLab自己的研究领域——自动驾驶。不禁发问:一个大的任务只需要一个模型就足够了吗?会存在自动驾驶领域的大魔王吗?
自动驾驶是一项高度复杂的技术,需要多个学科领域的知识和技能,包括传感器技术、机器学习、路径规划等方面。自动驾驶还需要适应不同的道路规则和交通文化,与其他车辆和行人进行良好的交互,以实现高度可靠和安全的自动驾驶系统。面对这种复杂的场景,大部分自动驾驶相关的工作都聚焦在具体的某个模块,关于框架性的研讨则相对匮乏。
自动驾驶是个相对困难的任务,但是上海人工智能实验室 OpenDriveLab 自动驾驶团队迎难而上,勇攀高峰的精神让我们团队的精神小伙们探索出自动驾驶中魔王级别的算法框架——Unified Autonomous Driving(UniAD)!
从任务看,UniAD 首次将检测,跟踪,建图,轨迹预测,占据栅格预测以及规划整合到一个基于 Transformer 的端到端网络框架下。从性能看,UniAD 在 nuScenes 数据集下的所有相关任务都达到 SOTA 性能,尤其是预测和规划效果远超其他模型。目前论文已被 CVPR 2023 接收。UniAD 完美契合了大魔王“多任务”和“高性能”的特点,可称为自动驾驶中的技术大魔王。同时 UniAD 也获得了 ChatGPT 和文心一言的认可,可谓是通过了技术魔王的“同行评议”:
ChatGPT 版本:
我们把论文中的文字部分输入给ChatGPT,让他来理解 UniAD。文中其他的回答也都基于在模型理解完论文之后给出的答复。
文心一言版本:
同样,我们把论文的文字部分输入到文心一言中,让他来理解 UniAD。文中其他的回答也都基于在模型理解完论文之后给出的答复。
想知道的更多 UniAD 的细节,下面的两个链接会给你答案。
1. 项目地址: https://github.com/OpenDriveLab/UniAD
2. 论文地址: https://arxiv.org/abs/2212.10156
01 魔王诞生
有关 UniAD 的诞生,要不先听听技术大佬们:青年研究员陈立、ChatGPT 和文心一言怎么说?
UniAD为什么会诞生?
可以先听听我们团队青年才俊、自动驾驶研究员陈立的看法:
ChatGPT 是这样认为的:
文心一言也分析得头头是道:
通过我们的青年研究员和两个技术大魔王的分析,相信大家肯定有所了解。接下来给大家详细阐述为什么 UniAD 会诞生,这必然会回到一个问题:“为什么之前的模型没有同时做到这么多的任务呢?”或许还要从自动驾驶的框架开始分析:
自动驾驶UniAD框架对比 (a)传统模块化(b)多任务模块(c)端到端自动驾驶模块
如上图所示,现有自动驾驶系统可大致归为三类:
a. 传统模块化
每个模型负责单独的子任务,优势在于易于调试迭代,但是解耦就会丢失最优性,各个模块的优化目标并不是以驾驶为最终目标,并且每个模块的误差会传递到之后的模块。
b. 多任务模块
多任务范式利用一个共享的特征提取器来完成多个子任务,好处是节省计算成本,缺点在于不同任务之间可能会存在负面影响。
c. 端到端模块
端到端(End-to-end, E2E)范式以最终的驾驶性能为目标,具体又可以细分为两种范式:隐式的端到端和显式的端到端。其中隐式端到端是以传感器数据作为输入,直接输出规划或者控制指令。这种范式的好处是较为简洁,缺点是缺乏可解释性,难以调式及迭代。显式端到端则是将多个模块囊括在端到端模型之中,每个模块有各自的输出,并且会将提取到的特征传递到下游任务。
我们对目前显式端到端自动驾驶工作进行了比较:
端到端自动驾驶工作对比
可以发现,大多数工作都关注了感知、决策和规划三部分,但具体任务存在差异,且没有框架融合所有的任务。那为什么会出现这种情况呢?一方面受限于对自动驾驶的认识,研究者们没有对任务之间的关联和构建方式研究清楚;另一方面受限于模型的最终效果,或许有人曾经尝试过把全部任务融合,但是效果不佳。
为了探讨这一问题,UniAD 首次将所有检测,跟踪,建图,轨迹预测,占据栅格预测与规划都包含进来,从实现方面解决了这一难点。另一方面,通过严格的消融实验发现,在正确的融合方式下,所有的任务对最终的驾驶性能都是有收益的。至此,自动驾驶方面的技术魔王为了解决实际问题而来。
02 魔王登基
那为什么我们的模型可以解决不同任务的融合难的问题,从而实现多任务和高性能呢?让我们开始揭晓自动驾驶技术大魔王的真身:
整体而言,UniAD 利用多组 query 实现了全栈 Transformer 的端到端模型。如图所示,UniAD 由 2 个感知模块,2 个预测模块以及一个规划模块组成。其中感知和预测模块是通过 transformer 架构进行预测,每个模块输出的特征会传递到之后的模块来辅助下游任务。
UniAD整体框架图
秘密武器1:多组 query 的全 Transformer 模型
UniAD 利用多组 query 实现了全栈 Transformer 的端到端模型,我们可以从具体 Transformer 的输入输出感受到信息融合。在 TrackFormer 中,Track query 通过与 BEV 特征通过 attention 的方式进行交互,对特征进行输出。类似的,Map query 经过 MapFormer 的更新后,得到相应的特征。MotionFormer 使用 Motion query 与 BEV 特征进行交互,得到未来轨迹。
OccFormer 以密集的 BEV 特征和稀疏的特征对应的位置信息来构建实例级别的占据栅格。
秘密武器2:基于最终“规划”为目标
在 TrackFormer 中,Track query 中包含一个特定的 ego-vehicle query 用来表示自车属性。规划模块 (Planner) 将 MotionFormer 更新后的 ego-vehicle query 与 BEV 特征进行交互,此时 ego-vehicle query 包含对整个环境的感知与预测信息,因此能更好的学习 planning 任务。为了减少碰撞,我们还利用占据栅格预测模块 OccFormer 的输出对自车路径进行优化,避免行驶到未来可能有物体占用的区域。在这个过程中,全部的模块通过输出特定的特征来帮助实现最终的目标“规划”。
03 魔王雄风
UniAD 在 nuScenes 数据集中的所有任务都达到了 SOTA,尤其是预测和规划部分,具体的定量指标我们不多赘述。下面给出 UniAD 在不同场景的可视化结果。在技术大魔王的框架之下,如果我们能有机会坐在实车中,一定会享受整个驾驶过程。ChatGPT 和文心一言也抱有相同的看法呢:
ChatGPT 版本:
文心一言版本:
1)晴天直行
UniAD 可以感知左前方等待的黑色车辆,预测其未来轨迹(即将左转驶入自车的车道),并立即减速以进行避让,待黑色驶离后再恢复正常速度直行。
2)晴天转弯
得益于UniAD的地图分割模块,其可以沿着分割得到的道路结构适时地转弯。
3)雨天直行
在视野干扰较大的雨天环境中,UniAD 也能感知到周围车辆进行正常行驶。
4)雨天转弯
在视野干扰较大且场景复杂的十字路口,UniAD 能通过分割模块生成十字路口的整体道路结构(如右侧 BEV 图中的绿色分割结果所示),并完成大幅度的左转。
5)夜晚直行
在夜晚视野变暗的情况下,UniAD 仍然能感知到前方以及右侧的车辆(双车道场景),确保自车行驶。
6)夜晚转弯
在夜晚视野变暗的情况下,UniAD 能感知到前车并完成先静止,后左转的规划。
04 未来展望
图源:文心一言;关键词:自动驾驶
UniAD 的发展还在如火如荼的进行,那他的未来会是什么样呢?让我们一起来听听ChatGPT 和文心一言怎么说,毕竟同行最了解同样,技术魔王最懂技术魔王呀!
ChatGPT 版本
文心一言版本
总的来说,UniAD 作为一项极具创新性的自动驾驶技术,具有很大的潜力和应用价值。尽管该技术目前仍处于发展初期,但其已经引起了人们的广泛兴趣和关注,未来的发展前景非常值得期待。