ADAS Laboratory
点击上方蓝字关注 智驾实验室
近年来,自动驾驶中的视觉感知3D发展迅速。尽管3D感知模型在结构和概念上存在许多相似之处,但在特征表示、数据格式和目标上仍然存在差距,这为统一和高效的3D感知框架设计带来了挑战。
在本文中,作者提出了UniVision,这是一个简单而高效的框架,将视觉感知3D中的两个主要任务(占用预测和目标检测)统一在一起。
具体而言,作者提出了一种显式-隐式视图转换模块,用于互补2D-3D特征转换。作者提出了一种局部-全局特征提取和融合模块,用于高效和自适应 Voxel 和BEV特征提取、增强和交互。此外,作者提出了一种联合占用-检测数据增强策略和一种逐步损失权重调整策略,使得多任务框架训练的有效性和稳定性得以实现。
在四个公共基准测试上实验,包括nuScenes激光雷达分割、nuScenes检测、OpenOccupancy和Occ3D。UniVision在各自的基准测试上实现了最先进的结果,分别实现了+1.5 mIoU、+1.8 NDS、+1.5 mIoU和+1.8 mIoU的改进。作者相信UniVision框架可以作为统一视觉感知3D感知任务的强大基准。
代码:https://github.com/Cc-Hy/UniVision
1 Introduction
自动驾驶系统中的主要任务是3D感知,其目的是利用一系列传感器(例如,激光雷达、雷达和摄像头)获取的数据,对驾驶场景进行全面理解,从而用于后续的规划和决策。在过去的3D感知领域,由于点云数据提供的高度准确的3D信息,激光雷达基础的模型占据了主导地位。然而,激光雷达基础的系统成本高、易受恶劣天气影响且部署不方便。相比之下,视觉基础的系统具有许多优势,如低成本、易于部署和良好的可扩展性。因此,以视觉为中心的3D感知吸引了众多研究者的关注。
近年来,基于视觉的3D检测通过特征表示转换、时间融合和监督信号设计得到了显著提高,不断缩小与激光雷达基础模型的差距。最近,基于视觉的占用任务也得到了快速的发展。与使用3D边界框来表示某些白名单目标不同,占用可以更全面地描述驾驶场景的几何和语义,并且不受物体形状和类别的限制。
尽管检测方法和占用方法在结构和概念上存在许多相似之处,但同时解决这两个任务并探索它们之间的相互关系尚未得到充分研究。占用模型和检测模型通常提取不同的特征表示。占用预测任务需要在不同的空间位置进行全面的语义和几何判断,因此 Voxel 表示广泛用于保留细粒度的3D信息。在检测任务中,BEV表示法由于大多数物体在同一水平上且略有重叠,因此更为常用。与BEV表示法相比, Voxel 表示法虽然更为复杂,但效率较低。
此外,许多先进的运算符(例如,移位窗口注意力和变形卷积)主要针对2D特征进行设计和优化,使其与3D Voxel 表示的集成不够直接。BEV表示法在时间和内存效率方面更具优势,但在密集空间预测方面效果不佳,因为它在高度维度上失去了结构信息。除了特征表示外,不同的感知任务在数据格式和目标上也存在差异。因此,确保多任务3D感知框架的统一和效率是一个巨大的挑战。
为了进一步发掘视觉模型的潜力并探索不同感知任务之间的相关性,作者提出了UniVision,这是一个同时处理3D检测和占用预测的统一框架。该框架遵循一个“合并-分割-合并”的图。作为输入,作者使用共享的网络进行图像特征提取。作者提出了一种新颖的视图转换模块,该模块将深度引导提升和 Query 引导采样相结合,用于互补2D-3D特征转换。然后,网络并行地提取基于 Voxel 和BEV的特征,利用不同特征表示的优势。作者随后采用两个特征表示之间的自适应特征交互来增强彼此,然后使用针对不同感知任务的特定任务头。
除了框架设计外,作者还提出了一种联合占用-检测数据增强方法和多任务训练策略,用于有效训练UniVision框架。作者在四个基准测试上进行了广泛的实验,包括nuScenes激光雷达分割、nuScenes检测、OpenOccupancy和Occ3D。所提出的UniVision框架不仅能够有效地处理不同的3D感知任务,而且在不同的基准测试上实现了最先进的表现。
作者所做的贡献可以总结如下:
- 提出了一个简单而高效的统一视觉中心3D感知框架,该框架同时处理检测和占用任务。大量的实验表明,UniVision框架在不同基准测试上具有最先进的表现,展现了该框架的通用性和优越性。
- 提出了一种显式-隐式(Ex-Im)视图转换方法,该方法结合了深度引导提升和 Query 引导采样,简化了2D-3D特征转换。
- 提出了一种局部-全局特征提取和融合模块,用于高效和自适应特征提取、增强和交互。
- 提出了一种联合占用-检测(Occ-Det)数据增强方法和一种逐步损失权重调整策略,以实现多任务框架的有效训练。
2 Related Works
Vision-based 3D Detection
基于视觉的3D检测旨在通过单个或多个相机的图像来定位和分类3D目标。早期的方法通过预测额外的3D属性,将先进的2D目标检测方法扩展到3D情况。后来,鸟瞰图(BEV)图已成为主流。CaDDN利用Lift-Splat-Shoot(LSS)图将单目图像转换为BEV特征,并在BEV框架内执行检测过程。BEVDet和BEVFormer将环绕视图相机的图像转换为单个BEV特征图,用于全范围检测。
此外,各种方法努力将DETR图引入3D领域。近年来,从长期时间融合和稀疏表示的角度,3D目标检测方法已经取得了进一步的改进。
Vision-based Occupancy Prediction
占用预测,也称为语义场景补全(SSC),需要对场景中的位置进行全面的判断,包括该位置是否被占用以及占用的类别。早期的基于视觉的方法使用富含额外几何信息的图像,如RGB-D图像,来执行占用预测。MonoScene是第一个从单目图像中推理稠密几何和语义的方法。
TPVFormer通过引入三角视图(TPV),增强了通常使用的鸟瞰图(BEV),从而增加了Z轴信息。OccFormer提出了一种双路径 Transformer 网络来处理3D体积进行语义占用预测。此外,像OpenOccupancy、Occ3D和SurroundOcc提出了一种生成高质量稠密占用标签的 Pipeline 。
Multi-task Framework
多任务框架旨在在单一网络中高效地管理各种任务。在2D视觉领域,Mask-RCNN提出了一种统一网络进行目标检测和分割。UberNet以端到端的方式同时处理各种低、中、高级视觉任务。
在激光雷达基础的3D感知中,像LidarMTL和LidarMultiNet利用共享网络来处理包括3D检测、分割和道路理解的任务。多任务网络的一个主要优势是通过利用共享的模型结构和权重来节省计算和存储开销。然而,随着网络在不同的目标之间进行权衡,单个任务的性能经常降低,这为多任务框架设计带来了挑战。
3 Method
Framework Overview
图1显示了UniVision框架的整体架构。给定来自周围N个摄像机的多视图像,其中,作为输入,首先利用图像特征提取网络提取图像特征。然后,将2D图像特征通过Ex-Im视图转换模块提升到3D Voxel 特征,该模块结合深度引导显式特征提升和 Query 引导隐式特征采样。
Voxel 特征被送入局部-全局特征提取和融合模块,分别提取局部上下文感知 Voxel 特征和全局上下文感知BEV特征。然后,使用交叉表示特征交互模块在 Voxel 特征和BEV特征之间进行信息交换,这些特征用于不同的下游感知任务。在训练过程中,同时使用联合Occ-Det数据增强和逐步损失权重调整策略进行UniVision框架的有效训练。
Ex-Im View Transform
遵循Lift-Splat-Shoot(LSS)图,作者在每个像素的深度分布和图像特征上执行 Voxel 池化操作,以提取 Voxel 特征。
由于是通过显式深度分布估计生成的,作者称其为显式 Voxel 特征。
Query 引导隐式特征采样。然而,在表示3D信息方面存在一些缺陷。的准确性高度依赖于估计的深度分布的准确性。此外,LSS产生的点是不均匀分布的。在摄像机附近,点是密集的,而在距离较远的地方,点是稀疏的。
因此,作者进一步使用 Query 引导特征采样来弥补的上述缺陷。作者定义可学习的 Voxel Query ,并使用3D Transformer 从图像中采样特征。对于每个 Voxel Query ,将其中心通过校准矩阵投影到图像平面上,然后使用个 Transformer 块。每个块包括一个可变形交叉注意力(DCA)层,一个3D卷积(Conv)层和一个前馈网络(FFN):
(3)
与LSS生成的点相比, Voxel Query 在3D空间中均匀分布,并从所有训练样本的统计特性中学习,与LSS中使用的深度先验信息无关。因此,和可以相互补充,并作为视图转换模块的输出特征进行 ConCat 。
在此处,表示 ConCat 操作。
Ex-Im视图转换模块如图2所示。
Local-Global Feature Extraction and Fusion
给定输入 Voxel 特征,作者首先在Z轴上堆叠特征,并使用卷积层将通道数减少,以获得BEV特征。
然后,模型分成两个并行的特征提取和增强分支。
局部特征提取。 对于,作者使用一个由3D卷积组成的局部特征提取分支,从每个空间位置提取局部特征。作者将ResNet扩展到ResNet3D,从中提取多尺度 Voxel 特征,其中。然后,使用SECOND的3D版本中FPN结构将合并为。
全局特征提取。 BEV特征保留物体 Level 的信息,且计算效率高。因此,作者提出一个全局特征提取分支,基于BEV表示提取具有全局感受野的特征。作者使用具有可变形卷积v3(DCNv3)的网络动态收集多尺度BEV特征的全局信息。然后,通过SECOND FPN结构合并为全局BEV特征。
跨表示特征交互。 在生成输入 Voxel 特征的局部上下文感知 Voxel 特征和全局上下文感知BEV特征之后,使用跨表示特征交互模块,实现两个特征表示之间的自适应信息交换以进一步增强。作者首先将全局BEV特征映射到 Voxel 特征,将 Voxel 特征映射到BEV特征,这可以通过Z维的重复或加法实现:
对于 Voxel 表示,使用来自 Voxel 分支的作为 Query ,将来自BEV分支的作为Key和Value。然后,推广局部感知场内的信息收集自注意力转换器,将其扩展为交叉注意力,并进行对称处理。
具体来说,作者将设置为BEV特征的, Voxel 特征的。
Heads and Losses
作者为和添加了针对不同感知任务的特定 Head 。对于占用任务,使用两个全连接层将特征通道映射到占用类别的数量。遵循OpenOccupancy中的损失设置,将交叉熵损失、Lovasz softmax损失、几何相似性损失和语义相似性损失相结合。
对于检测任务,使用中心头,检测损失由分类损失和回归损失组成。
此外,将BEVDepth中使用的深度损失添加为图像 Level 的监督。
整体损失函数定义为:
逐步损失权重调整策略。 在实际训练中,作者发现直接将上述损失组合在一起往往会导致训练失败,网络无法收敛。在训练的早期阶段, Voxel 特征是随机分布的,占用头和检测Head中的监督贡献小于其他损失,同时检测任务中的分类损失非常大,主导了训练过程,使得模型难以优化。
为了克服这个问题,作者提出了逐步损失权重调整策略,以动态地调整损失权重。具体而言,在非图像 Level 损失(即占用损失和检测损失)中添加一个控制参数,以在不同的训练周期中调整损失权重。控制权重在开始时设置为一个较小的值,并逐渐增加到,在个训练周期内。
其中表示第个训练周期。在这种情况下,优化过程首先关注图像 Level 信息(深度和语义)以生成合理的 Voxel 表示,然后关注后续感知任务。这种进度在图3(b)中得到说明。
Joint Occ-Det Spatial Data Augmentation
在3D检测任务中,空间 Level 的数据增强除了可以提高模型性能外,还可以提高占用任务中的模型性能。然而,在占用任务中应用空间 Level 增强并不简单。当作者对离散的占用标签应用随机缩放和旋转等数据增强时,很难确定生成的 Voxel 的意义。因此,现有的方法只简单地应用了占用任务中的空间增强,如随机翻转。
为了解决这个问题,作者提出了一种联合Occ-Det空间数据增强,允许在作者的UniVision框架中同时对3D检测任务和占用任务进行数据增强。由于3D框标签是连续值,并且可以通过计算生成的增强3D框进行训练,作者遵循BEVDet[20]中的检测增强方法。尽管占用标签是离散的,难以操作,但 Voxel 特征可以看作是连续的,可以通过采样和插值等操作进行处理。因此,作者提出将 Voxel 特征进行转换而不是直接操作占用标签来进行数据增强。
具体而言,首先采样空间数据增强并计算相应的3D变换矩阵。对于占用标签及其 Voxel 索引,作者计算其3D坐标。然后,将应用于,并归一化它们,以获得增强的 Voxel 索引。
其中,和是 Voxel 索引和空间坐标之间的转换矩阵。然后,使用采样 Voxel 特征:
其中,表示采样操作,是与原始占用标签相对应的 Voxel 特征,这些特征没有经过变换,可以用于计算占用损失。值得注意的是,一些采样位置可能超出范围,在计算占用损失时,通过在中添加二进制Mask来忽略这些 Voxel :
其中,表示损失函数。将在图3(a)中说明联合Occ-Det增强。
4 Experiments and Discussions
Datasets and Evaluation Metrics
nuScenes。 nuScenes是一个现代大规模自动驾驶数据集,包含1000个驾驶场景。它提供了包括激光雷达、雷达、相机和不同自动驾驶任务(例如3D检测、激光雷达分割和运动规划)的传感器数据支持。
nuScenes LiDAR分割。 参考最近的OccFormer和TPVFormer,使用相机图像作为LiDAR分割任务的输入,LiDAR数据仅用于提供3D位置以 Query 输出特征。作者使用mIoU作为评估指标。
nuScenes 3D目标检测。 对于检测任务,使用nuScenes的官方指标,nuScenes Detection Score (NDS),它是平均精确率(mAP)和几个指标的加权和,包括平均位移误差(ATE)、平均尺度误差(ASE)、平均方向误差(AOE)、平均速度误差(AVE)和平均属性误差(AAE)。
OpenOccupancy。 OpenOccupancy基于nuScenes数据集,提供了语义占用标签,分辨率为。标记类别与LiDAR分割任务中的相同,作者使用mIoU作为评估指标。
Occ3D。 Occ3D基于nuScenes数据集,提供了语义占用标签,分辨率为。Occ3D进一步提供了可见Mask用于训练和评估。标记类别与LiDAR分割任务中的相同,作者使用mIoU作为评估指标。
Experimental Settings
nuScenes LiDAR分割 对于LiDAR分割任务,只使用稀疏的LiDAR分割标签作为监督,不使用其他基准的额外稠密占用标签。使用ResNet-101作为图像backbone,并将图像分辨率设置为。模型在20个epoch下训练,总batch大小为32。使用AdamW优化器,并将学习率设置为0.0002。没有使用时间信息或测试时间增强(TTA)。
nuScenes检测 对于nuScenes检测基准上的结果,提供了两种比较结果。在第一种版本中,选择了三个先前的最佳方法,并将训练设置(包括图像backbone、输入分辨率、batch size和learning rate)对齐,以进行公平的比较。作者使用ResNet-50图像backbone,模型在20个epoch下训练,学习率设置为0.0002。当输入分辨率是时,batch size设置为32,当输入分辨率是时,batch size设置为16。
在第二种版本中提高了模型并与其他方法中报告的结果进行比较。使用ResNet-101作为图像backbone,并将图像分辨率设置为。模型在20个epoch下训练,总batch size为32,使用AdamW优化器,学习率设置为0.0002。对于UniVision4D,作者从单帧版本中初始化模型权重,并使用0.0001的学习率训练模型10个epoch。值得注意的是,作者没有使用其他方法中的CBGS策略。
OpenOccupancy 作者使用ResNet-50图像backbone,模型在20个epoch下训练,学习率设置为0.0002,batch size设置为32,输入分辨率设置为。考虑到OpenOccupancy基准提供的标签具有的分辨率,非常占用内存,作者将标签下采样为原始分辨率的一半进行训练。在推理阶段,作者将输出上采样为原始分辨率。没有使用时间信息或TTA。
Occ3D 考虑到Occ3D刚刚发布,且报道的结果较少,使用比较方法的官方代码,并将训练设置(包括图像backbone、输入分辨率、batch size和learning rate)对齐,以进行公平的比较。作者选择ResNet-50作为图像backbone,并在20个epoch下训练模型。当输入分辨率是时,batch size设置为32,当输入分辨率是时,batch size设置为16。使用AdamW优化器,并将学习率设置为0.0002。在训练和推理过程中,使用相机可见Mask进行损失计算或指标评估。没有使用时间信息或TTA。
Abalation研究 对于ablation研究,使用nuScenes检测基准和Occ3D基准来验证组件的有效性。作者使用ResNet-50作为图像backbone,并将图像分辨率设置为。所有模型在20个epoch下训练,总batch size为32。作者使用AdamW优化器,并将学习率设置为0.0002。
Results
nuScenes LiDAR分割。 在nuScenes LiDAR分割基准上展示了结果,如表1所示。UniVision在1.5 mIoU上显著超过了最先进的基于视觉的方法OccFormer,并在Leadboard板上成为视觉模型的新纪录。值得注意的是,UniVision也超过了一些LiDAR基模型,例如PolarNet和DB-UNet。nuScenes 3D目标检测。 如表2所示,当使用相同的训练设置进行公平比较时,UniVision在其他方法之上表现出优势。具体而言,当图像分辨率为时,UniVision相对于BEVDepth实现了2.4点mAP和1.1点NDS的改进。当作者扩大模型并引入时间输入,UniVision进一步显著超越了最先进的基于时间的检测器。UniVision实现了这一点,使用了较小的输入分辨率,并且没有使用CBGS。
OpenOccupancy。 在OpenOccupancy基准测试上的结果如表3所示。UniVision显著超过了最近的一些基于视觉的占用方法,包括MonoScene,TPVFormer和C-CONet,在mIoU方面分别取得了7.3点,6.5点和1.5点的改进。此外,UniVision也超过了一些LiDAR基方法,如LMSCNet和JS3C-Net。Occ3D。 Tab. 4列出了在Occ3D基准测试上的结果。随着输入图像分辨率的改变,UniVision显著超过了最近的一些基于视觉的方法,在mIoU方面分别取得了2.7点以上的改进。
值得注意的是,BEVFormer和BEVDet-stereo加载了预训练权重并在推理中使用时间输入,而UniVision没有使用它们但仍然实现了更好的性能。
Ablation Studies
检测任务中组件的有效性。 在Tab. 5中展示了检测任务中的拆分研究。当作者将BEV基础的全局特征提取分支插入 Baseline 模型时,性能得到了提升,mAP增加了1.7,NDS增加了3.0。当作者将 Voxel 基础的占用任务作为辅助任务添加到检测器时,模型在mAP上获得了1.6点的改进。当作者将从 Voxel 特征中显式引入跨表示交互时,模型实现了最佳性能,与 Baseline 相比,mAP提高了3.5点,NDS提高了4.2点。
占用任务中组件的有效性。 在Tab. 6中展示了占用任务中的拆分研究。基于 Voxel 的局部特征提取网络为 Baseline 模型带来了1.96 mIoU的改进。当将检测任务引入为辅助监督信号时,模型在mIoU方面的性能得到了提升,增加了0.4。当作者将glocal BEV特征与 Voxel 特征显式融合时,模型实现了最佳性能,与 Baseline 相比,mIoU提高了2.64点。
检测任务和占用任务如何相互影响? Tab. 5和Tab. 6表明,在UniVision框架中,检测任务和占用任务相互受益。对于检测任务,占用监督可以提高mAP和mATE指标,这表明 Voxel Level 的语义学习有效地提高了检测器的物体几何、中心和尺度意识。对于占用任务,检测监督显著提高了前背景类别的性能,以及检测类别的性能,从而导致整体性能的提高。
联合Occ-Det空间增强,Ex-Im视图转换和渐进损失权重调整的有效性。 在Tab. 7中展示了联合Occ-Det空间增强,提出的Ex-Im视图转换模块和渐进损失权重调整策略在mIoU,mAP和NDS指标上的有效性。空间增强和视图转换模块显著提高了检测任务和占用任务的表现。损失权重调整策略使多任务框架的训练变得高效。如果没有这种调整,统一框架的训练将无法收敛,性能非常低。
Qualitative Results
在图4中展示了UniVision的定性结果,包括在2D图像平面上进行的检测结果,在BEV平面上进行的检测结果,以及相应的占用预测结果。UniVision框架可以同时使用统一的网络为3D检测和占用预测任务生成高质量预测结果。
5 Conclusion
在本文中提出UniVision,这是一个统一的视觉中心3D感知框架,可以同时处理占用预测任务和3D检测任务。为了实现这一点,作者提出了显式-隐式视图转换模块用于互补2D-3D特征转换。作者提出了一个局部-全局特征提取和融合模块,用于高效和自适应多表示特征提取、增强和交互。
此外,还提出了一个联合oc-det数据增强策略和一个渐进损失权重调整策略,以实现多任务框架的高效和稳定训练。UniVision在四个基准测试上实现了最先进的表现,包括nuScenes激光雷达分割、nuScenes检测、OpenOccupancy和Occ3D。
参考
[1]. UniVision: A Unified Framework for Vision-Centric 3D Perception
扫描下方二维码,添加AI驾驶员
获取更多的大模型与多模态等信息