mmdetection3d 训练

        本节以SECOND算法为例,简要介绍mmdetection3d second算法训练过程,含数据和python源码详细介绍。

1 mmdetection3d环境安装

        mmdetection3d环境详细安装和调试请参考:【mmdetection3d】mmdetection3d安装详细步骤_Coding的叶子的博客-CSDN博客

2 KITTI数据集准备

        mmdetection3d的kitti原始数据集主要由三部份组成,即ImageSets、training、testing。ImageSets主要是定义训练、验证和测试的样本名称。training文件夹下包含校准数据(calib)、图像数据(image_2)、标签数据(label_2)、激光雷达数据(velodyne)。testing文件夹下包含校准数据(calib)、图像数据(image_2)、激光雷达数据(velodyne)。kitti文件夹在mmdetection3d/data/目录下,其自身构成如下图所示:

         KITTI数据集是三维点云算法常用的数据集之一,网络上有大量介绍资料,这里再不进行赘述。 为了快速进行算法调试、训练、评估和验证,以及快速下载,我制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:minikitti数据集_kittimini数据包-深度学习文档类资源-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博客

3 KITTI数据预处理

        mmdetection3d针对各个数据集由专门的处理脚本。针对KITTI数据集,mmdetection3d 通过运行下述脚本完成数据集基本的预处理。

python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti

        运行上述脚本之后,会在data/kitti/目录下生成4个pkl文件和4个json文件,即: kitti_infos_train.pkl、 kitti_infos_val.pkl、 kitti_infos_trainval.pkl、 kitti_infos_test.pkl、kitti_infos_train_mono3d.coco.json、kitti_infos_val_mono3d.coco.json、kitti_infos_trainval_mono3d.coco.json、kitti_infos_test_mono3d.coco.json。

4 SECOND训练

        mmdetection3d second的训练脚本如下:

 python tools/train.py  configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py

        直接运行上述命令,可能会报GPU显存不够的错误。为了尽量避免这个问题,需要调小batch size。mmdetection3d设置batch size的方式是通过samples_per_gpu来设置的。数据集加载参数位于configs/_base_/datasets/目录下。上述例子中对应的数据加载脚本为configs/_base_/datasets/kitti-3d-car.py。samples_per_gpu位于第97行,默认取值为6,为了减小显存占用将其改为1。另外,将98行的workers_per_gpu也改为1。

        执行上述mmdetection3d second训练脚本,可得到如下图所示结果:

【python三维深度学习】python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_python 三维点云

更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。

猜你喜欢

转载自blog.csdn.net/suiyingy/article/details/125220300