《CVPR 2024 | SAFDNet》阅读笔记
前言:
本文提出了SAFDNet,一种为完全稀疏三维目标检测量身定做的简单而高效的架构。在SAFDNet中,设计了一种自适应特征扩散策略(adaptive feature diffusion strategy)来解决中心特征缺失问题。
开篇几问:
Dense detectors、Hybrid detectors、Sparse detectors这几个检测头分别代表什么意思?有什么区别?
简单分析介绍:
1. Dense Detectors
Dense detectors 使用密集卷积,最早由 VoxelNet 引入,该方法通过对 3D 体素(Voxel)进行密集卷积来提取点云特征,从而实现了竞争性的性能。然而,密集卷积在 3D 空间的计算复杂度非常高,尤其是当点云数据稀疏时,大量计算资源浪费在空白区域。为了解决这个效率问题,Pillar-based methods 提出了在鸟瞰视角(BEV,Bird’s Eye View)上的2D密集卷积来替代3D密集卷积,这种方法大大提高了计算效率。然而,这种基于2D特征图的处理方式在准确性上有所下降。
- VoxelNet 是典型的3D密集卷积方法,但其计算开销较大。
2. Hybrid Detectors
Hybrid detectors 结合了稀疏特征和密集特征的处理方式。它们通常通过稀疏卷积网络(Sparse CNN)在稀疏的 3D 体素上进行初步特征提取,然后将这些特征投影为规则的 BEV 特征图,再通过密集卷积进行检测预测。这种方法既保持了稀疏卷积的效率,又在 BEV 特征图上实现了更精确的目标检测。
- SECOND 是一个早期的混合检测器,采用稀疏卷积网络提取 3D 稀疏特征,然后将其转换为密集 BEV 特征图进行预测。
- CenterPoint 引入了基于中心的检测头(center-based detection head),通过预测物体中心的特征点,提升了检测精度。
- FocalsConv 则通过自适应扩展稀疏卷积特征,提高了稀疏卷积网络的效率。
- 此外,一些方法(如 transformer-based detectors)引入了 transformer,用于捕捉特征图中长距离依赖关系,但这些方法在处理远距离目标时,仍然依赖于密集特征图,因此存在效率瓶颈。
总体来看,混合检测器通过结合稀疏和密集特征,既解决了稀疏卷积的局部性问题,又避免了完全依赖密集卷积带来的计算复杂度,是一种平衡效率和精度的折中方案。
3. Sparse Detectors
Sparse detectors 完全依赖于稀疏特征进行检测,直接从稀疏点云中提取特征,不依赖于 BEV 或其他密集特征图。这类方法完全抛弃了稠密卷积,针对稀疏的点云设计了高效的检测算法。早期的方法包括 PointNet 系列,它们从原始点云中提取稀疏特征,Point R-CNN 则是首个完全基于点的检测器,而 VoteNet 引入了中心投票机制来生成目标候选框。
然而,这类方法在处理大规模点云时仍然面临效率问题,尤其是在邻域搜索阶段非常耗时。为了提高稀疏检测器的效率,FSDv1 和 FSDv2 对稀疏点云进行了进一步优化,例如通过聚类前景点来代表各个目标,或者引入虚拟体素化模块以消除手工设计的实例级表示带来的偏差。
- FSDv1 聚类前景点,并使用 PointNet 风格的网络提取特征,经过初步粗预测后再通过纠正头进行精细调整。
- FSDv2 用虚拟体素化模块替代了实例聚类,虽然避免了手工设计的表示,但仍然需要点云分割和预测修正,导致该方法的复杂度较高。
- SWFormer 和 VoxelNeXt 则采用了完全稀疏的架构,进一步优化了稀疏卷积网络的设计,VoxelNeXt 使用完全基于体素的设计来定位物体。然而,虽然这些方法在效率上表现出色,但在检测精度上仍然不如混合检测器。
总结分析
- Dense detectors 通过密集卷积对3D体素进行处理,但计算成本极高,尤其是在稀疏点云的情况下。
- Hybrid detectors 通过结合稀疏卷积和密集卷积,既提高了计算效率,又保证了较高的检测精度,是目前最常用的方法之一,SECOND 和 CenterPoint 是其中的代表。
- Sparse detectors 则完全依赖于稀疏特征处理,进一步优化了计算效率,但在精度上还有待提升。
总体来看,混合检测器在当前的3D目标检测中表现最好,它们结合了稀疏和密集的优势,能够在计算资源和检测性能之间找到最佳平衡。而稀疏检测器则展示了未来的发展方向,随着算法和硬件的进步,可能会在保持高效的同时进一步提高检测精度。
结合上述分析,既然混合检测器在当前表现最好,为什么本文采用稀疏检测器的方法?
文章中采用 Sparse detectors 而非 Hybrid detectors,可以从以下几个方面进行解释:
个人感觉第二点比较重要。
1. 效率问题
虽然 Hybrid detectors 结合了稀疏卷积和密集卷积,在精度和效率之间找到了平衡,但其在处理大规模点云数据时仍然面临效率瓶颈。因为即便稀疏卷积用于初步特征提取,后续的密集卷积(特别是在 BEV 特征图上)依然会带来计算开销,尤其是在场景规模较大、点云稀疏度较高的情况下。
Sparse detectors 通过全程使用稀疏卷积避免了密集计算,能够有效减少计算资源的消耗,提高推理速度。因此,如果该文章目标是进一步提升处理大规模点云时的效率,特别是在实际应用场景中需要实时检测时,Sparse detectors 能够提供更高的计算效率和更低的延迟。
2. 稀疏数据的适应性
在实际应用中,尤其是长距离场景或稀疏点云数据(如激光雷达获取的场景),大量的空白区域会导致 Hybrid detectors 的密集特征图存在大量无效计算。而 Sparse detectors 专门针对稀疏数据进行了优化,在点云较稀疏、物体距离较远的情况下,也能够高效提取特征并进行检测。文章可能是在针对这种稀疏场景中,采用全稀疏方法来减少无用的计算,并专注于真正包含物体的区域,从而提高处理稀疏点云的效率。
3. 精度需求与稀疏卷积的发展
随着 Sparse detectors 的技术进步,特别是像 VoxelNeXt 和 SWFormer 这样的新型全稀疏架构出现,稀疏卷积技术已经能够实现较高的检测精度,甚至在某些场景中接近或超越了混合检测器的表现。通过高效的特征提取和扩展机制,这些稀疏架构在精度和效率方面的综合表现非常优秀。因此,文章可能认为在其所处理的数据集上,稀疏卷积架构已经能够满足或超过其精度需求,而不需要再引入密集卷积。
4. 减少模型复杂度
Hybrid detectors 虽然在精度上具有优势,但由于结合了两种不