论文链接:https://arxiv.org/pdf/2012.15712.pdf
代码链接:GitHub – djiajunustc/Voxel-R-CNN
摘要
Voxel R-CNN 是2021年提出的基于体素的两阶段3D目标检测框架,旨在解决传统基于体素的方法精度不足与基于点的方法效率低下的矛盾。其核心观点是:原始点的精确定位对高性能检测并非必需,粗粒度的体素特征通过合理设计仍可提供足够的3D结构信息。
-
核心创新:提出 Voxel RoI Pooling,直接从体素特征中提取RoI(感兴趣区域)特征,避免传统点-体素特征融合的高计算开销,同时保留3D空间上下文信息。
-
性能优势:在KITTI数据集上,车辆检测的3D AP达92.38%(BEV AP达95.52%),推理速度达25 FPS(NVIDIA RTX 2080Ti),显著优于PV-RCNN和SECOND。
-
通用性:支持大规模自动驾驶场景(如Waymo Open Dataset),验证了体素方法在高精度与高效率上的平衡潜力。
主要贡献
1、两阶段体素检测框架
- 将单阶段体素方法(如SECOND)扩展为两阶段,通过检测头优化候选框参数,提升精度(KITTI中等难度AP提升0.6%)。
- 通过3D体素特征直接生成RoI特征,避免依赖点云关键点或BEV投影导致的信息损失。
2、Voxel RoI Pooling
- 候选框特征聚合:将候选框划分为 子体素,利用曼哈顿距离(Manhattan Distance)高效查询邻域体素,结合PointNet模块聚合局部特征,公式为:\(\eta_i=\max_{k=1,2,…,K}\{\Psi([v_i^k-g_i;\phi_i^k])\}\)。其中\(v_i^k-g_i\)为相对坐标,\(\phi_i^k\)为体素特征,\(\Psi\)为MLP。
- 多尺度融合:从3D骨干网络的最后两层提取体素特征,结合不同曼哈顿距离阈值,增强多尺度感知能力。
3、体素查询与加速策略
- 体素查询(Voxel Query):通过曼哈顿距离快速定位邻域体素,时间复杂度从球查询的 降至 (为邻域数)
- 加速局部聚合:将体素特征与相对坐标解耦处理,分别通过MLP转换,计算复杂度从\(O(M\times K\times(C+3)\times C^{\prime})\)优化至\(O(N\times C\times C^{\prime}+M\times K\times3\times C^{\prime})\),显著提升效率。
网络结构
Voxel R-CNN由三部分组成:3D骨干网络、2D RPN网络和检测头。
3D骨干网络
- 体素化与稀疏卷积:将点云划分为规则体素(如0.05m分辨率),通过稀疏卷积提取多尺度3D特征,生成稀疏体素特征图。
- 特征金字塔:融合不同步长(如2×、4×、8×)的体素特征,增强多层级语义表达能力。
2D RPN网络
- BEV投影与特征提取:将3D体素特征压缩至2D鸟瞰图(BEV),利用2D卷积生成候选框(Proposals),通过NMS筛选高质量候选框。
检测头与Voxel RoI Pooling
-
RoI特征提取:
-
子体素划分:将候选框划分为 网格点,每个网格点通过体素查询聚合邻域特征。
-
多尺度特征融合:结合3D骨干网络不同层级的特征,增强候选框的空间上下文信息。
-
-
边界框优化:
-
分类与回归:使用Smooth L1 Loss回归边界框参数(中心、尺寸、方向),结合Focal Loss解决类别不平衡问题。
-
方向预测:通过Bin-based分类与回归结合,避免角度预测的180°误差。
-
实验结果
总结
优势:
-
精度与效率平衡:相比PV-RCNN,Voxel R-CNN在KITTI数据集上速度提升30%,参数量减少40%,同时保持相近的检测精度。
-
工程友好性:纯体素设计兼容现有深度学习框架(如PyTorch),易于部署至自动驾驶系统。
-
鲁棒的3D特征表达:通过Voxel RoI Pooling保留3D结构信息,显著提升遮挡与远距离目标的检测性能。
局限性:
-
稀疏场景适应性:在极低线束LiDAR(如16线)下,体素化可能导致关键细节丢失。
-
计算资源需求:多尺度体素特征存储占用较高显存,影响大规模场景实时性。
没有回复内容