KITTI刷榜论文阅读:PVFusion && VirConv
论文传送门
PVFusion
截至目前(2024/11/14)KITTI榜上第9。但是 Runtime 0.01s。侧重于小目标检测。
论文莫名十分简约(甚至连个图都没有)
3D 检测模型
其使用以ResNet-50[9]为骨干的FPN[8]获得5个特征图,并通过3x3卷积将特征图统一为256个通道。鸟瞰图下体素化后,利用PointNet提取点的局部几何信息。具体来说,通过FC层和MaxPool层提取体素的特征,并与每个点的特征进行堆叠,然后使用FC层将堆叠的特征减少到64d作为每个点的几何特征。随后,每个点的几何特征通过 PVFusion 与其相应透视体素的语义特征融合。
PVFusion模块包含3部分:透视体素投影、语义特征提取和加权特征融合
训练阶段
在训练过程中,其设计了一种新的 GT-Paste 数据增强方法,以解决通过图像分割掩模新添加的对象引起的遮挡问题。
数据增强:采用MoCa[13]提出的所有数据增强方法,包括全局缩放、全局旋转、沿x轴随机翻转和GT-Paste。为了解决新增物体造成的点云遮挡问题,我们通过算法1过滤点云中被遮挡的点。将点投影到图像上,通过投影点是否落在图像的2D mask内来判断遮挡关系。目的。我们使用所有对象中包含的点作为前景点,其余的作为背景点。对于前景点,我们只过滤被物体遮挡的点,对于背景点,还额外过滤掉被物体遮挡的点。
一些实验的结果
透视体素的有效性:融合方法的差异是空间单元投影区域的差异。我们通过比较投影区域的大小来分析不同空间单元的投影结果。我们选择 P1 到 P6 6 个位置,其 y 坐标为 0m,z 坐标为 -1m,x 坐标分别为 10m、20m、30m、40m、50m、60m。可以看出,点投影区域太小,体素投影区域近大远小。如果区域太大,背景信息会干扰,如果区域太小,则会丢失一些信息。仅透视体素投影区域大小适中且不受距离影响,说明透视体素投影可以获得准确、完整的语义信息。
VirConv
截至目前(2024/11/14)KITTI榜一大哥。网络关注于深度补全任务,并最终用于KITTI的目标检测。其多个版本:VirConv-S,VirConv-T 分别在KITTI当中获得了第一和第二的精确度。
首先文章的标题:虚拟稀疏卷积在多模态3D目标检测的运用(Virtual Sparse Convolution for Multimodal 3D Object Detection)。首先就可以看出来本文章主要运用的两个idea:虚拟点(即图像特征匹配得到的点云深度),以及稀疏卷积SpConv。其Git上一共给了三个框架:
VirConv-L:一种轻量级的基于虚拟稀疏卷积的多模态三维检测器。
VirConv-T:一种基于虚拟稀疏卷积和转换细化方案改进的多模态三维检测器。
VirConv-S:一个半监督版本的VirConv-T,基于伪标签和微调。
虚拟点解决远端点云稀疏的问题
早期的方法[29-31]用图像特征扩展了LiDAR点的特征,例如语义掩模和2D CNN特征。他们没有增加分数;因此,远处的点仍然稀疏。相比之下,基于虚拟/伪点(为简单起见,下文均表示为虚拟点(从图像特征得到的点云))的方法通过在激光雷达点周围创建附加点来丰富稀疏点。例如,MVP [45]通过从最近的 3D 点完成 2D 实例点的深度来创建虚拟点。 SFD [36] 基于深度补全网络 [16] 创建虚拟点。虚拟点完善了远处物体的几何形状,显示出高性能 3D 检测的巨大潜力。
虚拟点面临的问题
然而,从图像生成的虚拟点通常非常密集。以 KITTI [9] 数据集为例,一张 1242×375 的图像生成 466k 个虚拟点(比 LiDAR 扫描点多约 27 倍)。这带来了巨大的计算负担并导致严重的效率问题。
另一个问题是深度补全可能不准确,并且会在虚拟点中带来大量噪声(见图2(c))。由于在3D空间中很难区分噪声和背景,因此3D检测的定位精度大大降低。此外,噪声点呈非高斯分布,无法通过常规去噪算法过滤[8,12]。尽管最近的语义分割网络[15]显示出有希望的结果,但它们通常需要额外的注释。
为了解决这些问题,本文提出了一种基于新的虚拟稀疏卷积(VirConv)算子的 VirConvNet 管道。其设计基于两个主要观察结果。 (1) 首先,激光雷达扫描中附近物体的几何形状通常相对完整。因此,附近物体的大多数虚拟点仅带来边际性能增益(见图2(e)(f)),但显着增加了计算成本。 (2) 其次,由不准确的深度完成引入的噪声点主要分布在实例边界上(见图2(d))。投影到图像平面后,可以在 2D 图像中识别它们。
基于这两个观察,其设计了StVD(随机体素丢弃)方案,通过基于箱的采样保留那些最重要的虚拟点,即丢弃大量附近的体素,同时保留远处的体素。这可以大大加快网络计算速度。我们还设计了一个 NRConv(抗噪子流形卷积)层来编码 3D 空间和 2D 图像空间中体素的几何特征,
此外还设计了一个 NRConv(抗噪子流形卷积)层来编码 3D 空间和 2D 图像空间中体素的几何特征。 2D 空间中扩展的感受野使其 NRConv 能够区分 2D 图像空间中实例边界上的噪声模式。因此,可以抑制噪声的负面影响。
相似工作介绍
最近,两种流行的融合方案已应用于 3D 物体检测:
(1)早期融合 [45],将 P 和 V 融合成单个点云 P* 并使用现有检测器执行 3D 物体检测,
(2)后期融合[36],它通过不同的骨干网络对P和V的特征进行编码,并在BEV平面或本地RoI中融合这两类特征。然而,这两种融合方法都受到虚拟点密集和噪声的影响。
密度问题:正如前一节所述,虚拟点通常非常密集。它们引入了巨大的计算负担,从而显着降低了检测速度(例如,图 2 (f) 中超过 2 倍)。现有的工作通过使用更大的体素大小 [19] 或通过对点进行随机下采样 [17] 来解决密度问题。但这些方法不可避免地会牺牲虚拟点的形状线索,尤其是对于远处的物体。基于使用带有后期融合的 Voxel-RCNN [7] 对 KITTI 数据集 [9] 进行的试点实验,我们观察到为附近物体引入的大量虚拟点是多余的。具体来说,来自附近物体的97%的虚拟点仅带来0.18%的性能提升,而来自远处物体的3%的虚拟点带来2.2%的性能提升 。原因是激光雷达点附近物体的几何形状相对完整。此类虚拟点通常会带来边际性能增益,但会增加不必要的计算。受此观察的启发,我们设计了 StVD(随机体素丢弃)方案,该方案通过丢弃附近的冗余体素来缓解计算问题。此外,远处物体的点比附近物体的点稀疏得多(见图2(e))。 StVD可以模拟稀疏的训练样本以提高检测的鲁棒性。
噪音问题:深度补全网络生成的虚拟点通常是有噪声的。一个例子如图2(c)所示。噪声主要是由不准确的深度补全引入的,并且在 3D 空间中很难区分。与仅使用 LiDAR 的检测器相比,仅使用虚拟点,检测性能下降约 9% AP(见图 2 (f))。此外,噪声点是非高斯分布的,无法通过传统的去噪算法进行过滤[8, 12]。我们观察到噪声主要分布在实例边界上(见图2(d)),并且在2D图像中更容易识别。虽然这里可以应用边缘检测[14]来粗略地去除噪声,但这会牺牲有利于物体形状和位置估计的有用边界点。我们的想法是将稀疏卷积的感受野扩展到2D图像空间,并在不丢失形状线索的情况下区分噪声。
框架结构
如图 3 所示,VirConvNet 首先将点转换为体素,然后通过一系列具有 1×、2×、4× 和 8× 下采样步长的 VirConv 块逐渐将体素编码为特征体。 VirConv 模块由三部分组成(见图 3(a)):(1)StVD 层,用于加速网络并提高密度鲁棒性; (2)多个NRConv层用于编码特征并减少噪声的影响; (3) 3D SpConv 层,用于对特征图进行下采样。基于 VirConv 算子,我们构建了三个检测器,分别用于高效、准确和半监督多模态 3D 检测。