Top1的3D目标检测方法(已开源)
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
一、SA-SSD
在bird's eye view任务中,效率与精度并存的SA-SSD
论文:http://www4.comp.polyu.edu.hk/~cslzhang/paper/SA-SSD.pdf
代码:https://github.com/skyhehe123/SA-SSD
这篇文章的贡献主要有两个:
1)auxiliary network
这一部分的网络类似知识蒸馏,仅在训练的时候需要。在训练时,增强网络对3D点云的特征表达,增强点的上下文信息,通过point segmentation和center estimation两个task实现网络的训练。在测试时并不需要这一部分网络,大大提高了model inference的效率。
2)PS Warping
对于目标检测问题,一直存在检测框回归的特征与目标类别预测特征不一致的问题,针对该问题,作者提出了Part-sensitive warping的解决方案,道理同R-FCN中的part-sensitive score map,对于每个目标检测框的类别置信度通过part-sensitive的几个位置投票获得,而不是直接通过softmax获得。
最终,该方法在kitti的bird's eye view的检测任务中,以25FPS的效率拔得头筹。
二、PV-RCNN
在kitti 3D检测任务中,效果最好的PV-RCNN
论文:https://arxiv.org/pdf/1912.13192.pdf
代码:https://github.com/open-mmlab/OpenPCDet
这篇文章的主要贡献有3个:
1)Voxel Set Abstraction module
这个模块简单描述一下即:特征点增强。目的是增强网络对3D点云的特征表达,增加点的上下文信息。最后特征表达时,通过将关键点特征与conv3D特征concatenate,增强了特征对目标的表达能力。
2)Predicted Keypoint Weighting
这个模块对最终结果的影响可以达到将近2个点,应该说还是很重要的。这个模块其实是做了一个attention的表达,从而达到对真正目标上的点云特征增强的目的,具体流程如下图所示。
3)RoI-Grid Pooling
因为该方法的任务是获得目标的3D包围框,因此,通过RoI Pooling提取proposal的feature得到的是3D voxel,在每个voxel中提取特征时,沿用VSA模块的方法,很好的保留了目标的3D信息。
最终,综合了各个模块的特征,使得该方法在kitti 3D目标检测任务中,得到第一名。
三、总结
我们今天重温一下两个方法,通过对比可以发现:
1)两个作者都强调了点特征表达的重要性,sa-ssd中,通过auxiliary network隐式的将点特征引入到网络结构中;pv-rcnn在第二阶段直接将点特征作为proposal的特征表达。从而可以看出点云点的重要性,因此,目前仅通过bev对点云做特征表达的方法,不能真正表达点云的特征。
2)特征对齐的重要性:在sa-ssd中,使用了ps-warping将目标框回归任务与分类任务特征对齐;在pv-rcnn中,使用Predicted Keypoint Weighting增强proposal中真正目标点的特征,目标检测更准确
3)one-stage vs two-stage?sa-ssd给我们提供了一个思路,可以通过知识蒸馏的方式增强one-stage的特征表达能力,在一些不强调目标检测框稳定性的场景,可以尝试使用one-stage的方法,效率与精度双赢。
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉优质源码,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。