点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
论文作者 | Zhongyu Xia
编辑 | 自动驾驶之心
写在前面&笔者的个人理解
在自动驾驶系统中,感知任务是非常重要的一环,是自动驾驶后续下游轨迹预测以及运动规划任务的基础。作为一辆能够实现自动驾驶功能的汽车而言,其通常会配备环视相机传感器、激光雷达传感器以及毫米波雷达传感器。由于基于纯视觉的BEV感知算法需要更低的硬件以及部署成本,同时其输出的BEV空间感知结果可以很方便被下游任务所使用,受到了来自工业界和学术界的广泛关注。
随着目前感知任务需求的增长,比如要实现基于BEV空间的3D检测任务或者是基于BEV空间的语义分割任务,一个理想的感知算法是可以同时处理像3D检测或者语义分割等多个任务的。同时,目前的自动驾驶系统更加倾向于采用完全端到端的感知框架,从而简化整个系统的架构并降低感知算法实现的复杂性。
虽然端到端的多任务感知模型具有诸多的优势,但是目前依旧存在着诸多挑战:
目前,绝大多数基于相机的3D感知算法,为了提高模型的检测性能,都会采用更高分辨率的输入图像、长时序的输入信息以及更强大的图像特征编码器。但是需要注意的是,在单任务的感知算法模型上同时采用这些技术会导致训练过程中巨大的训练成本。
由于时序的输入信息可以更好的提升感知算法模型对于当前环境的理解和感知,目前很多工作都采用了这一策略。这些工作主要将不同帧的信息处理为BEV特征后,直接沿着通道的维度进行求和或者拼接来让模型能够获取到一段时间段内的环境元素信息,但收益却不是特别的理想。造成这一现象的主要原因是自车周围环境的运动物体在不同时刻沿着BEV的轨迹是不同的,并且分散在BEV的大片区域中。因此,我们需要引入动态对齐机制的思想来对运动物体的位置进行调整。
对于目前已有的多任务学习框架而言,主要都是采用一个共享的图像编码网络来处理不同的感知任务。然而,通过这些论文中列举的相关实验结果我们发现,通过多任务联合学习的方式通常在不同任务上的表现要弱于每个任务单独训练的性能。
针对上述提到的端到端多任务感知模型存在的诸多挑战,在本文中,我们提出了一个用于端到端多任务3D感知的混合特征编码算法模型HENet,在nuScenes数据集上实现了多个任务的SOTA,如下图所示。
论文链接:https://arxiv.org/pdf/2404.02517.pdf;
网络模型的整体架构&细节梳理
在详细介绍本文提出的HENet端到端的多任务感知算法模型之前,下图展示了我们提出的HENet算法的整体网络结构。
通过网络结构图可以看出,我们提出的HENet网络结构主要包括Hybrid Image Encoding Network(混合图像编码网络)、Temporal Feature Integration(时序特征集成模块)以及Independent BEV Feature Encoding(独立BEV特征编码模块)三个子部分。
具体而言,对于给定的时序环视图像输入,首先利用混合图像编码网络提取其BEV空间特征。然后,利用提出的时序特征集成模块来聚合多帧的BEV特征信息。最后,将具有不同BEV特征分辨率的BEV特征送入到独立BEV特征编码模块中实现进一步的特征提取,并送入到解码器中完成最终的多任务感知结果的预测。
混合图像编码网络(Hybrid Image Encoding Network)
通过网络结构图可以看出,混合图像编码网络包含两种不同复杂度的图像编码器,具体配置方式如下:
短时序信息的处理方式:我们首先采用高分辨的输入图像以及更加强大的图像特征提取主干网络(VoVNetV2-99)以及FPN特征金字塔组合来处理短时序的输入信息。然后,对于2D特征向BEV空间的坐标映射,我们采用了BEVStereo中的双目深度估计网络来预测像素深度信息以及构建相机视锥特征。最后,利用BEVPoolv2的BEV池化模块来生成最终的多尺度BEV特征。
长时序信息的处理方式:我们首先对输入的环视图像进行降采样用于降低输入图像的分辨率,并且采用一个小规模的图像特征提取主干网络(ResNet-50)以及FPN特征金字塔组合来处理长时序的输入信息。然后,对于2D特征向BEV特征的坐标映射,我们采用了BEVDepth中的单目深度估计网络来预测像素深度信息以及构建相机视锥特征。最后,同样是利用BEVPoolv2的BEV池化模块来生成最终的多尺度BEV特征。
但是,根据我们基于BEV空间的3D检测以及语义分割对于不同BEV网格分辨率的相关实验结果可以看出,不同的感知任务对于BEV空间特征的分辨率是不相同的,结果见下表所示。
通过上述的实验结果可以看出,不同的3D感知任务(基于BEV空间的3D目标检测及基于BEV空间的语义分割)对于BEV网格的要求并不完全相同。具体来说,对于3D目标检测任务而言,模型更加关注定位局部的前景目标,所以适合采用更小的BEV特征分辨率。但是与之相反,BEV空间的语义分割任务需要对于大尺度场景的整体理解,包括车道线和道路区域,所以更适合采用更大一些的BEV特征分辨率。因此,在实验中我们对于3D检测任务采用的BEV特征大小为256×256,对于语义分割任务采用的BEV特征大小为128×128。
时序特征集成模块(Temporal Feature Integration)
在利用提出的混合图像编码网络生成多帧、多尺度的BEV特征之后,我们采用提出的时序特征集成模块来实现时序特征的融合,网络结构如下图所示。
具体而言,时序特征集成模块包括前向和反向两个特征聚合过程。我们提供了该过程的一个完整的伪代码来说明其具体的实现流程。在每个处理的步骤中,我们会采用带有交叉注意力机制的相邻帧融合模块(AFFM)来融合两个相邻帧的BEV特征。
我们将任意两帧BEV特征分别记作为以及,则相邻帧融合模块的实现细节可以用如下的公式进行表示:
其中,代表均值操作,是一个可以学习的调节因子,代表特征图之间的拼接操作,代表常规的注意力运算。
此外,通过时序特征集成模块的示意图可以看出,在使用了相邻帧注意力机制的情况下,相比于应用全局注意力或者在所有帧上应用卷积层而言,会引入更少的噪声。通过相邻的注意力机制,相邻帧融合模块可以更准确的对齐运动物体的特征,避免融合冗余背景信息。
独立BEV特征编码模块(Independent BEV Feature Encoding)
在获得了时序特征集成模块输出的不同分辨率大小的BEV特征之后,我们将不同特征分辨率的BEV特征分别用于不同的感知任务上。在送入到各个任务的解码器之前,我们借鉴了BEVFusion工作中进一步处理BEV特征的自适应特征选择以及BEV编码网络。
具体而言,我们设计了一个独立的BEV特征编码模块,整体结构如下图所示。
通过上图可以看出,独立BEV特征编码模块由两部分构成,分别是自适应特征选择以及BEV Encoder两部分模块构成。其中自适应特征选择模块采用了一个简单的通道注意力模块来选择重要的特征,这部分可以建模成如下的公式形式:
其中,是BEV特征图,代表线性的变换矩阵,代表全局平均池化,代表Sigmoid激活函数。对于图中的BEV Encoder模块而言,我们采用了三个残差连接模块和一个FPN网络来实现BEV特征的进一步特征提取过程。但需要注意的是,对于两个不同的任务而言,3D目标检测以及语义分割分支共享了相同的独立BEV特征编码网络结构,但是其中的参数并不共享。
实验结果&评价指标
定量分析部分
为了验证我们提出的算法模型HENet对于多任务感知任务的效果,我们在nuScenes的验证集上与其他的多任务模型进行了对比,实验结果见下表所示。
通过实验结果可以看出,我们提出的HENet表现出了良好的多任务感知性能,并实现了SOTA的性能。具体而言,在3D目标检测任务上,我们提出的算法模型相比于BEVFormer,在NDS和mAP指标上要分别提高7.9%以及8.7%。在BEV空间下的语义分割任务中,在mIoU指标上要高于8.6%。同时,相比于具有很强BEV空间下语义分割能力的PETRv2算法模型而言,我们提出的HENet在3D目标检测任务中,NDS指标要超过10.4%,在mIoU指标上童谣具有很强的竞争力。
除了多任务感知效果的对比之外,我们也进行了单任务的效果对比实验。首先,我们现在单独的3D目标检测任务上与其它优秀的检测算法模型进行了对比,实验对比结果如下表所示。
通过上表的实验结果对比可以看出,我们提出的HENet在单独的3D目标检测任务上,在不同的主干网络以及输入图像分辨率的情况下,均超过了所有的环视相机的3D目标检测算法,进一步证明了我们提出的混合图像编码网络以及时序特征集成模块的有效性。
此外,我们也在单独的BEV空间下的语义分割任务上进行了不同算法模型的对比实验,相关实验结果汇总在下表中。
通过上表的实验结果可以看出,我们提出的HENet与现有的BEV空间语义分割算法而言,具有更好的性能。
除了不同算法模型精度对比的实验,我们也进行了模块级的消融实验,首先是我们提出的混合图像编码网络的消融实验结果,如下表实验结果所示。
为了证明提出的混合图像编码网络的有效性,我们将HENet算法模型与所采用的基线算法模型以及二者的集成模型进行了对比。通过采用混合图像编码网络的方式来集成BEVDepth以及BEVStereo算法可以显著提升3D目标检测的性能。此外,与输入更高分辨率的图像相比,我们提出的混合图像编码网络可以实现更快的推理速度和更低的训练成本以实现更高的检测精度。与增加时序信息的帧数相比,混合图像编码网络可以在较低训练成本下获得更高的准确度。
接下来是我们提出的时序特征集成模块的消融对比实验,相关的实验结果汇总在下面的表格中。
通过上表的实验结果可以看出,在采用了相邻帧注意力的情况下,我们的模型实现了最佳的检测结果。此外,我们还发现,采用了相邻帧融合的思想要好于采用全局操作的方式,无论是采用注意力机制还是使用卷积还是拼接等方法。同时,在引入了全局注意力以及更大的BEV Encoder模块,模型的参数量进一步提高,但是性能却有所降低。这一现象表明了性能的提升主要来自于模型设计本身而不是增加模型的参数。
定性分析部分
下图展示了我们提出的HENet算法模型与基线模型的端到端多任务的预测结果可视化。通过可视化的结果可以证明,我们提出的HENet算法模型通过时序信息的引入更好的解决了物体被遮挡的问题,以及得益于高分辨率的输入实现更加准确的预测。
结论
在本文中,我们提出了一个端到端的多任务感知算法模型HENet。通过提出的混合图像编码网络、时序特征集成模块以及独立BEV特征编码模块在nuScenes数据集上实现了多任务感知的SOTA性能。
参考
[1] HENet: Hybrid Encoding for End-to-end Multi-task 3D Perception from Multi-view Cameras
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
网页端官网:www.zdjszx.com② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!
自动驾驶感知:目标检测、语义分割、BEV感知、毫米波雷达视觉融合、激光视觉融合、车道线检测、目标跟踪、Occupancy、深度估计、transformer、大模型、在线地图、点云处理、模型部署、CUDA加速等技术交流群;
多传感器标定:相机在线/离线标定、Lidar-Camera标定、Camera-Radar标定、Camera-IMU标定、多传感器时空同步等技术交流群;
多传感器融合:多传感器后融合技术交流群;
规划控制与预测:规划控制、轨迹预测、避障等技术交流群;
定位建图:视觉SLAM、激光SLAM、多传感器融合SLAM等技术交流群;
三维视觉:三维重建、NeRF、3D Gaussian Splatting技术交流群;
自动驾驶仿真:Carla仿真、Autoware仿真等技术交流群;
自动驾驶开发:自动驾驶开发、ROS等技术交流群;
其它方向:自动标注与数据闭环、产品经理、硬件选型、求职面试、自动驾驶测试等技术交流群;
扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!