1 背景
在现代自动驾驶任务中,决策规划模块依赖于多个感知、预测任务模块以提供充足的环境信息,其中感知任务不仅需要检测场景中的动态物体,还需要识别道路边界、人行横道、车道线、路标等静态元素。而预测任务需要系统能够推理其它动态物体的运动趋势,为决策提供信息依据,规划出道路从而避免碰撞。
目前业界基于纯视觉的感知、预测算法研究通常仅针对上述流程中的单个子问题的image-view方案,如3D目标检测、语义地图识别或物体运动预测,通过前融合或后融合的方式将不同网络的感知结果进行融合。这导致了在搭建整体系统时只能以线性结构堆叠多个子模块。尽管上述方式能够实现问题分解、便于独立的学术研究,但这种串行架构具有几个重要的缺陷:
(1)上游模块的模型误差会不断向下游传递,然而在子问题的独立研究中通常以真值作为输入,这使得累积误差会显著影响下游任务的性能表现
(2)不同子模块中存在重复的特征提取、维度转换等运算过程,但是串行架构无法实现这些冗余计算的共享,不利于提升系统的整体效率
(3)无法充分利用时序信息,一方面,时序信息可以作为空间信息的补充,更好地检测当前时刻被遮挡的物体,为定位物体的位置提供更多参考信息。另一方面,时序信息能够帮助判断物体的运动状态,在缺少时序信息的条件下,基于纯视觉的方法几乎无法有效判断物体的运动速度
区别于image-view方案,BEV方案通过多摄像头或雷达将视觉信息转换至鸟瞰视角进行相关感知任务,这样的方案能够为自动驾驶感知提供更大的视野并且能够并行地完成多项感知任务,那么BEV感知能够成为下一代自动驾驶感知算法风向吗?
BEV空间下地图分割任务,截图自"UniFormer"(Qin et al., 2022)
2 BEV的发展历史
在BEV空间中,传统的BEV变换算法通常是在图像空间中进行特征提取,并产生分割结果,再利用逆透视变换(IPM)将其转化为BEV空间。
两个输入图像(a)和(b)以及它们对应的IPM投影图像,分别是(c)和(d),截图自"Multimodal inverse perspective mapping"(Oliveira et al., 2015)
IPM的功能是消除视觉上的影响,比如,在自动/辅助驾驶中,因为在前视的照相机拍摄的图像中,原本平行的物体会因为透视的原因而发生交叉。
IPM是把影像与BEV空间连接起来的一种简便、直接的方式,要得到一幅影像的IPM,就必须了解摄像机的内参(焦距、光心)和外参(俯仰角、偏航角和地面高度)。在这个过程中,摄像机必须保持俯仰角,但这种约束太严格,难以在实际应用中得到满足。同时,由于参数的变化,会引起系统对物体的感知能力的变化,从而降低视觉质量,造成平行车道之间的夹角。
为减小俯仰角对视觉的影响,在改进后的算法中,采用了摄像机的实时位姿,并将俯仰校正添加到相邻的帧中,这样可以获得较好的逆变换效果,但由于实时位姿难以精确地获得,因而无法获得最理想的结果。
这两年BEV相关算法的发展让深度学习应用于BEV空间转换的方式逐渐成为主流。与以往的算法相比,利用神经网络进行二维BEV空间变换可以获得更好的视觉效果。
该方法主要流程是:首先利用主干网对各个摄像机进行特征提取,再利用Transformer等技术将多摄像机数据从图象空间转化为BEV空间。在BEV空间中,由于利用同一坐标系统,可以很方便地将Lidar、Radar等传感器数据与其他传感器数据进行融合,还可以进行时序融合形成4D空间,这也是当下BEV技术的大趋势。
3 BEV的优势
3.1 跨摄像头融合和多模态融合更易实现
传统跨摄像头融合或者多模态融合时,由于数据空间的差异,需要用很多后处理规则去关联不同传感器的感知结果,操作非常复杂。而在BEV空间内进行多摄像头或多模态融合后,再做目标检测、实例分割等任务,可以使算法的实现更加简单,也能更直观地显示出BEV空间中的物体大小和方向。
3.2 时序融合更易实现
在BEV空间中,可以很容易地实现时序信息的融合,从而构建一个4D空间。在4D空间内,感知算法能够更好地完成诸如速度测量等感知任务,并能将运动预测的结果传递到下游的决策和控制模块。
3.3 可“脑补”出被遮挡的目标
由于视觉的透视效应,现实世界的物体在2D图像中很容易受到其他物体的遮挡,因此,传统的基于2D的感知方式只能感知可见的目标,对于被遮挡的部分算法将无能为力。而在BEV空间内,算法可以基于先验知识,对被遮挡的区域进行预测,“脑补”出被遮挡的区域是否有物体。虽然“脑补”出来的物体固然有“想象”的成分,但对后续的控制模块来说,还是有不少益处。
3.4 端到端的优化更加容易
在传统感知任务中,识别、跟踪和预测更像是个“串行系统”,系统上游的误差会传递到下游从而造成误差累积,但在BEV空间内,感知和预测都是在一个统一的空间中进行的,因此,可以通过神经网络直接做端到端优化,“并行”出结果,这样既可以避免误差累积,又可以极大地降低算法逻辑的影响,让感知网络能够以数据驱动的方式来自学习,进行更好的功能迭代。
4 BEV感知,是下一代自动驾驶感知风向吗?
回到本文开头的问题,BEV感知能够成为下一代自动驾驶感知算法风向吗?通俗的讲,BEV感知相当于给自动驾驶开启了“上帝视角”,能够让车辆无遮挡的“看清”道路上的实况信息,在BEV视角下统一完成感知和预测任务。
在传统的image-view方案中,3D目标检测、障碍物实例分割、车道线分割、轨迹预测等各项感知任务互相分离,使得该方案下的自动驾驶算法需要串联多个子模块,极大增加了算法的开发、维护成本。而BEV感知能够让这些感知任务在一个算法框架上实现,大大减少人力需求。
综合前文所述的BEV优势,当下不少的研究机构和各大车企都在推动BEV方案的落地,基于来自传感器输入层、基本任务和产品场景的不同组合,可以给出相应的BEV算法,例如,M2BEV和BEVFormer属于纯摄像机路线的算法,从多个摄像机获取图像信息来执行多种任务,包括3D目标检测和BEV地图分割等。BEVFusion设计了一个BEV空间的多模态融合策略,同时使用摄像机和LiDAR作为输入完成3D检测和跟踪任务。特斯拉发布了其系统化的pipeline,在矢量空间(BEV)中检测物体和车道线,用于二级公路导航和智能召唤。
可以肯定的是,BEV感知算法能够更好地融合多传感器的特征,提高感知和预测的准确率,在一定程度上可以提升自动驾驶技术。
BEV感知是否能够成为自动驾驶的“答案”还有待时间验证。而在刚过去不久的特斯拉AI Day2022中,特斯拉提出的Occupancy Network在BEV的基础上加上了Z轴的信息,引入的occupancy grid可以用于表示任意形状的物体和任意形式的物体运动。Occupancy Network是否又能将自动驾驶带到一个新的高度?我们将在后续系列的推文中介绍并一起探讨关于特斯拉的自动驾驶解决方案。