CenterFusion:Center-based Radar and Camera Fusion for 3D Object Detection
- 简介
- 框架
- CenterFusion
- 中心点检测
- 雷达关联
- radar特征提取
- 实施详细信息
- 结论
简介
提出了CenterFusion架构,利用radar和camera数据做3D目标检测。该网络主要将radar的点云数据与图像中获得的初步检测结果相关联。然后生成雷达的特征图像与camera的特征图像结合,精确估计目标的3D检测框。
方法:
1. 提出一种CenterFusion网络架构。如图1.。
2. 首先使用全卷机网络(文中成为中心点检测网络,主要是采用了热图生成中心点方法)检测图像上目标的中心点。包含了3D位置、方向和尺寸。
3. 提出一种Frustum(截椎体,没有尖的椎体)关联的方法,将radar探测数据与图像上的目标中心点相关联,解决了关键数据关联问题。如图2、3所示。
4. 相应的radar检测生成了雷达的特征图,将其与图像特征图连接,补充了图像特征,最后用于二级回归到目标的特性,如深度、旋转、速度等。如图5所示。
框架
图1. CenterFusion网络架构。首先使用由主干提取的图像特征来获得初步的3Dbox。Frustum关联模块使用初步框将雷达探测与目标关联,并生成雷达特征图。然后将图像和雷达特征图连接起来,并通过重新计算深度和旋转以及估计物体的速度和属性来改进初步检测
图2 . Frustum 关联。使用图像特征(左)检测到的对象,基于对象的3D边界框(中)生成ROI Frustum,ROI Frustum在BEV视角下的可视化(右)。δ用于增加测试阶段的截头体尺寸。d是训练阶段的真实深度和测试阶段的估计目标深度。
图3.将雷达点扩展到3D柱(上图)。将支柱直接映射到图像上,并用雷达深度信息进行替换,会导致与对象中心的关联性较差,并导致许多重叠的深度值(中间图像)。Frustum关联将雷达探测精确地映射到物体的中心,并最小化重叠(底部图像)。当雷达探测柱的全部或部分位于box内时,雷达探测仅与有真实或检测box的物体相关。Frustum关联还防止将背景物体(如建筑物)引起的雷达探测与前方物体关联,如图像右侧的行人。
CenterFusion
在本节中,介绍了用于3D物体检测的雷达和相机传感器融合方法。总体CenterFusion架构如图1所示。采用热图的峰值作为基于中心的对象检测网络来检测图像平面上对象的中心点,并回归到其他对象信息,如3D位置、方向和尺寸。本文提出了一种中间融合机制,该机制将雷达探测与相应图像目标的中心点相关联,并利用雷达和图像特征,通过重新估计其深度、位置、旋转和属性来改进初步检测。
融合机制的关键是雷达探测与目标的精确关联。中心点对象检测网络为图像中的每个对象类别生成热图。热图中的峰值表示物体可能的中心点,这些位置的图像特征用于估计物体的其他信息(如上面所提到的3D位置、方向等)。为了在该情况中使用雷达信息,需要将基于雷达的特征映射到图像上相应对象的中心,这需要雷达探测和场景中对象之间的精确关联。
代码:网络的输入
中心点检测
采用CenterNet[34]检测网络对图像进行初步检测。首先使用完全卷积编码器-解码器骨干网络提取图像特征。遵循CenterNet结构,并使用深度层聚合(DLA)网络的修改版本作为骨干网络。然后使用该网络提取的图像特征来预测图像中目标的中心点,以及对象的2D尺寸(宽度和高度)、中心偏移、3D尺寸、深度和旋转。这些值由图1所示的主回归heads预测。每个主回归heads由一个256个通道的3×3卷积层和一个1×1卷积层组成,生成所需的输出。这为场景中每个检测到的对象提供了一个准确的2D边界框和一个初步的3D边界框。
雷达关联
中心点检测网络仅使用每个对象中心的图像特征回归到所有其他对象信息。为了在这个过程中充分利用雷达数据,首先需要将雷达探测与图像平面上的相应对象相关联。为了实现这一点,一种新的方法是将每个雷达探测点映射到图像平面,如果该点映射到该对象的2D边界框内,并将其与对象关联。这不是一个非常稳健的解决方案,因为雷达探测的目标和图像中的物体之间没有一对一的映射;场景中的许多对象都会生成多个雷达探测,并且也有与任何对象都不对应的雷达探测。此外,由于雷达探测的z维度不准确(或根本不存在),因此映射的雷达探测可能最终位于其对应对象的2D边界框之外。最后,从被遮挡物体获得的雷达探测测将映射到图像中的相同的区域,很有可能会使得在2D图像平面中区分它们变得困难。
Frustum关联机制:开发了一种Frustum关联方法,该方法使用对象的2D边界框及其估计的深度和大小为对象创建3D感兴趣区域(RoI)平截头体(Frustum)。有了一个精确的对象二维边界框,为该对象创建一个Frustum,如图3所示。这大大缩小了需要检查关联的雷达探测范围,因为可以忽略这个Frustum之外的任何点。然后,使用估计的物体深度、维度和旋转来创建物体周围的RoI,以进一步过滤掉与该物体无关的雷达探测。如果在这个RoI内有多个雷达探测,将最近的点作为雷达探测对应于这个物体。
在训练阶段,使用物体的3D地面真实边界框来创建一个紧密的RoI Frustum区域,并将雷达探测与物体关联起来。在测试阶段,如前所述,使用对象的估计3D边界框计算RoI Frustum。在这种情况下,使用参数δ来控制RoI Frustum的大小,如图3所示。这是为了解释估计深度值的不准确,因为在这个阶段,物体的深度仅使用基于图像的特征来确定。即使估计深度稍有偏差,使用此参数放大Frustum会增大将相应雷达探测包括在Frustum区域内部的可能性。应谨慎选择δ值,因为大型RoI Frustum可以包括对附近物体的雷达探测。RoI Frustum方法可以轻松地关联重叠对象,因为对象在3D空间中是分离的,并且会有单独的RoI Frustum。它还消除了多检测关联问题,因为只有RoI Frustum内最近的雷达探测与物体关联。然而,这无助于解决z维度不准确的问题,因为雷达探测可能由于其不准确的高度信息而位于相应对象的ROI Frustum区域之外。
代码:
支柱扩展:为了解决radar检测目标高度不准确的问题,引入了一个称为支柱扩展的雷达点云预处理步骤,其中每个雷达点扩展为固定大小的支柱,如图4所示。柱子为雷达探测到的物理物体创造了更好的表示,因为这些检测可以与三维空间中的一个维度相关联。有了这个新的表示,如果其对应的支柱的全部或部分位于Frustum内,简单地将雷达探测视为位于Frustum内部,如图1所示。
代码:
radar特征提取
在将雷达探测与其对应的对象关联之后,使用雷达探测的深度和速度为图像创建互补特征。特别是对于与物体相关的每一次雷达探测,都会生成三个位于物体二维边界框中心和内部的热图通道,如图4所示。热图的宽度和高度与对象的2D边界框成比例,并由参数α控制。热图值是标准化物体深度(d),也是自中心坐标系中径向速度(vx和vy)的x和y分量:
其中i∈1,2,3是特征图通道,Mi是归一化因子,fi是特征值(d,vx或vy),cj x和cj y是图像上第j个对象的中心点的x和y坐标,wj和hj是第j个目标的2D边界框的宽度和高度。如果两个对象具有重叠的热图区域,则具有较小深度值的热图占主导地位,因为只有最近的对象在图像中完全可见。
生成的热图然后作为额外的通道连接到图像特征。这些特征被用作二次回归头的输入,以重新计算对象的深度和旋转,以及速度和分布。速度回归head估计车辆坐标系中物体实际速度的x和y分量。属性回归head为不同的对象类估计不同的属性,例如Car类的移动或停放,行人类的站立或坐着。二次回归头由3×3核的三个卷积层组成,然后是1×1卷积层,以生成所需的输出。与主要回归head相比,额外的卷积层有助于从雷达特征图中学习更高级别的特征。最后一步是将重建head结果解码为3D边界框。box解码器块使用二级回归头中估计的深度、速度、旋转和属性,并从一级回归头获取其他对象信息。
实施详细信息
使用预训练的CenterNet网络和DLA[32]骨干作为目标检测网络。DLA使用迭代深度聚合层来提高特征图的分辨率。CenterNet使用不同的主干架构比较其性能,Hourglass网络[21]的性能优于其他网络。选择使用DLA网络,因为在提供合理性能的同时,训练所需的时间大大减少。直接使用发布的CenterNet模型,该模型在nuScenes数据集上训练了140个epoch。默认情况下,该模型不提供速度和属性预测。训练了30个epoch的速度和属性head,并使用生成的模型作为基线。网络中的二次回归head被添加到CenterNet主干网络的顶部,并使用图像和雷达功能在两个Nvidia P5000 GPU上进行了额外60个epoch的训练,批量大小为26。在训练和测试期间,将图像分辨率从最初的1600×900像素降低到800×450像素。在训练过程中使用数据增强,包括随机左右翻转(概率为0.5)和随机移位(从图像大小的0%到20%)。同样的增强也适用于参考相机坐标系的雷达点云。不应用任何缩放增强,因为它会改变3D测量。在测试时,只使用翻转测试增强,其中图像及其翻转效果被送入网络,网络输出的平均值用于解码3D边界框。在利用CenterNet时没有使用的多尺度测试增强。支柱尺寸在[x,y,z]方向上设置为[0.2,0.2,1.5]米,δ设置为在测试时将RoI Frustum的径向长度增加20%。对大多数回归头使用L1损失,中心点热图head使用Focal损失、属性回归头使用二元交叉熵(BCE)损失。
结论
总之,提出了一种新的雷达和相机融合算法,称为CenterFusion,以利用雷达信息进行稳健的3D物体检测。CenterFusion使用基于Frustum的关联方法将雷达探测与图像上的目标精确关联,并创建基于雷达的特征图,以补充中间融合方法中的图像特征。本文Frustum关联方法使用预阈值检测结果在3D空间中生成物体周围的RoI Frustum区域,并将雷达探测映射到图像上目标的中心。还使用了支柱展开(pillar expansion)方法,通过将雷达点转换为3D空间中固定大小的支柱来补偿雷达探测高度信息的不准确度。在具有挑战性的nuScenes 3D检测基准上评估了提出的方法,其中CenterFusion优于最先进的基于相机的对象检测方法。