1. 引言
随着人工智能技术的不断发展,自动驾驶越来越多地出现在我们的视野中,智能化和电动化已经成为汽车行业的主旋律。无论是从研究的角度还是从工程的角度来看,它都像是一个巨大的宝藏,等待着我们去探索。本文将介绍这一技术的相关进展。
闲话少说,我们直接开始吧!
2. 自动驾驶典型框架
上图显示了自动驾驶的典型框架,其中最重要的任务是场景理解任务,一般也被称之为感知任务,该任务不断突破性能上限。为了帮助控制系统理解车辆周围的环境,自动驾驶系统使用了多种感知技术,其中最重要的是 SLAM
和 BEV
技术。这些技术可以帮助车辆了解自身的位置,探测周围的障碍物,了解障碍物的方位和距离,以及它们是静止的还是移动的,为后续的驾驶决策提供必要的信息。
3. BEV感知技术
BEV
感知技术是自动驾驶领域的一项关键技术,它通过将来自车辆周围传感器的数据转换为鸟瞰视图,为自动驾驶系统提供了一种全新的环境感知方式。这种技术能够有效地解决传统2D
感知中存在的遮挡和缩放问题,同时为车辆定位、轨迹预测和运动规划等下游任务提供更为直观和准确的三维空间信息。
对于 BEV
感知来说,关键在于将二维图像作为输入并输出BEV
视角下的感知结果。如何在多摄像头视角下优雅地获得最佳特征表达是一个难题。接下来本文将讨论BEV
感知不同的实现方案对比。
4. 自下而上的方法
目前,BEV感知研究主要基于深度学习方法。根据获取BEV
特征组织方式的不同,主流方法可以分为自下而上和自上而下的方法。
自下而上 法采用了从2D
到3D
的方法,一般步骤为:
首先,在2D视图中估计每个像素的深度,然后通过内参和外参将图像特征投射到 BEV 空间。
然后,通过融合多个视角生成 BEV 特征得到最终的融合后的特征。
这种方法的早期代表作是 LSS
(Lift、Splat、Shoot)
,LSS
和 BEVDepth
等作品基于LSS
框架进行了优化,是 BEV
算法的经典之作。
自下而上法的核心步骤是:
Lift
: 在获取每个相机图像下采样的特征图后,针对特征图上每个特征点显示的估计对应的深度分布,进而获取包含图像特征的视锥
Splat
: 结合相机的内外参将所有相机的视锥投影到 BEV 网格中,并对每个网格中的多个视角的视锥进行求和计算,形成融合不同视角图像特征的BEV特征图;
Shoot
:在Shoot步骤中,会从BEV网格中提取特征,并将这些特征用于执行特定的感知任务。这可能包括使用深度学习模型,如卷积神经网络(CNN)或Transformer,来识别和分类BEV视图中的物体,预测它们的轨迹,或者进行其他相关的分析。
5. 自顶向下的方法
另一种方法是自顶向下,从3D
到 2D
。
它首先在
BEV
空间中初始化特征;
然后通过多层transformer
与每个图像特征交互,最终得到BEV
特征。
Transformer
是谷歌在 2017 年提出的一种基于注意力机制的神经网络模型。与传统的 RNN
和 CNN
不同,Transformer
通过注意力机制挖掘序列中不同元素之间的联系,从而适应不同长度和结构的输入。
Transformer
首先在自然语言处理NLP
领域取得了巨大成功,随后被应用于计算机视觉CV
任务,并取得了显著效果。
这种自顶向下的方法逆转了基于LSS
的BEV
的构建过程,利用 Transformer
的全局感知能力从多个透视图像的特征中查询相应特征,并将这些特征融合更新到 BEV
特征图中。特斯拉在其 FSD Beta
版的视觉感知模块中采用了这种自上而下的方法,并在特斯拉 AI-Day
上展示了相关技术理念。
6. 小结
总的来说,自下而上和自上而下两种方法在 BEV
研究中都得到了广泛应用。自下而上的方法适用于早期的 BEV
研究,如 LSS
和 BEVDet
等。自上而下法更倾向于使用 Transformer
等模型,利用全局感知能力,并在一些最新工作中取得了显著成果,如上海 AILab
团队的 BEVFormer
。这两种方法各有优势,可以互为补充,为自动驾驶中的 BEV
感知发展提供丰富的技术选择。