PointRCNN是用于点云三维目标检测模型算法,发表在CVPR2019《PointRCNN: 3D Object Proposal Generation and Detection From Point Cloud》。论文网址为https://arxiv.org/abs/1812.04244。PointRCNN核心思想在于使用点云前景点生成候选框,充分利用了目标点与候选框的关联性。相比之下,之前的目标检测网络候选框基本上是基于二维特征图来批量生成的,前景点和背景点对候选的贡献是一样的。PointRCNN模型分为两个阶段,第一阶段使用语义分割的方法分割出前景点并初步生成候选框;第二阶段对候选框进一步筛选并结合特征融合与坐标系变换等方法对筛选后的候选框进行特征提取、正负样本分类和特征回归。作者使用PointRCNN在KITTI数据集上进行了大量实验并在当时达到了最佳效果。目前,Point RCNN以KITTI三维目标检测平均精度AP为75.42%排在第20位,排名来源于paperwithcode网站,网址为:https://paperswithcode.com/sota/3d-object-detection-on-kitti-cars-moderate,如下图所示。
1 源码与输入数据
源码采用的是mmdetection3d框架中的PointRCNN模型。mmdetection3d安装和调试验证可参考本博客之前的专栏,里面有详细介绍。
数据采用的是kitti,为了快速进行算法调试、训练、评估和验证,以及快速下载,我制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:minikitti数据集-深度学习文档类资源-CSDN下载。
下载的数据包含4个部分,即激光雷达数据velodyne、图像数据image_2、校准数据calib和标注数据label_2。如果需要对应的ImageSets,请下载:train_val_testforminikitti-深度学习文档类资源-CSDN下载,将下载的文件夹重名为ImageSets即可。
关于KITTI各个部分的介绍请分别参考以下内容:
KITTI数据集简介(一) — 激光雷达数据_Coding的叶子的博客-CSDN博客_雷达数据集
KITTI数据集简介(二) — 标注数据label_2_Coding的叶子的博客-CSDN博客_kitti数据集标注
KITTI数据集简介(三) — 图像数据image_2_Coding的叶子的博客-CSDN博客
KITTI数据集简介(四) — 图像数据calib_Coding的叶子的博客-CSDN博客
数据预处理部分可以参考Voxelnet的数据处理方式加以理解:【三维目标检测】VoxelNet(二):数据处理_Coding的叶子的博客-CSDN博客。
下载后直接将数据保存在mmdetection 3工程所在目录的data文件夹下,目录结构如下图所示,然后执行下文第2节中的kitti数据预处理命令。
2 mmdetection3d kitti数据处理与模型训练
mmdetection3d kitti (持续更新)_Coding的叶子的博客-CSDN博客
python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti
mmdetection3d kitti数据预处理完成之后,运行下述命令即可开始PointRCNN的训练。
python tools/train.py configs/point_rcnn/point_rcnn_2x8_kitti-3d-3classes.py
3 PointRCNN简介
PointRCNN属于一种两阶段目标检测网络,用于从无序的三维点云中检测出3D目标。由于三维点云空间比二维图像具有更大的搜索空间,两阶段目标检测方法需要进行特殊设计。AVOD在三维空间中放置了80-100K个候选框,并在多个视图下进行特征提取,这使得模型运算量急剧增加。PointRCNN提出了一种自下而上的三维候选框生成方法,首先基于全国场景点云分割生成第一阶段的3D proposals,将候选框与前景点直接关联,从而产生少量且高质量(高召回率)的候选框。第二阶段网络通过结合语义特征和局部空间特征来进一步筛选和细化规范坐标中的候选框,进而提取更加鲁棒的高维特征用于目标分类与回归。PointRCNN模型的总体架构如下图所示。
4 模型结构、推理过程
模型详细结构及推理过程请参考下一篇博客:【预计本周内更新】。
5 【python三维深度学习】python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_三维点云深度学习
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。