mmdetection3d基于kitti数据集训练pointpillars模型

当mmdetection3d环境安装成功后,可看上一篇如何安装mmdetection3d

mmdetection3d官网:Log Analysis — MMDetection3D 1.0.0rc1 documentation

1 准备工作

kitti数据集下载,下面是我的百度网盘里的kitti数据集,有需要的自取

链接: https://pan.baidu.com/s/1QlgVfl3vBbGEfF0QCo8N6A 提取码: milu

1.1 创建数据目录:

mkdir -p data/kitti/ImageSets data/kitti/testing data/kitti/training

也可以不通过终端输入命令,直接在mmdetection3d/data/kitti目录下新建ImageSets、testing、training这三个文件夹。

创建好之后,将下载的kitti数据集中的压缩包全部解压,将数据集对应按照如下方式摆放。 mmdetection3d基于kitti数据集训练pointpillars模型_第1张图片 

其中,ImageSets的内容,是将数据集划分为训练和测试及验证。mmdetection3d基于kitti数据集训练pointpillars模型_第2张图片

不会自己划分也没关系,官网文档   ,已经给出具体方式了。

wget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/test.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/test.txt

wget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/train.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/train.txt

wget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/val.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/val.txt

wget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/trainval.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/trainval.txt

在终端依次输入以上四条命令,执行完后就可以看到上图ImagSets文件夹下的内容了。 其中内容如下。

mmdetection3d基于kitti数据集训练pointpillars模型_第3张图片

test.txt : 7518行                  train.txt :3712行

val.txt : 3769行                     trainval.txt : 7481行

1.2 数据预处理

以上准备工作做好后,就可以进行预处理了。

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

mmdetection3d基于kitti数据集训练pointpillars模型_第4张图片

数据预处理完后,可以看到data/kitti目录下生成了一些.pkl和.json文件。 

 1.3 开始训练数据

选择相应的模型配置文件,开始训练。

python tools/train.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py

mmdetection3d基于kitti数据集训练pointpillars模型_第5张图片

训练过程时间有点久,不用一直在边上等着。我大概训练了十几个小时。 

mmdetection3d基于kitti数据集训练pointpillars模型_第6张图片

1.4 开始测试

数据训练完,可以进行测试了。

python tools/test.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py checkpoints/epoch_80.pth --eval mAP --options 'show=True' 'out_dir=./data/pointpillars/show_results'

注意:这条语句 checkpoints/epoch_80.pth 可能会报错,你要找到你训练后生成的./epoch_80.pth放在了什么位置。例如我的测试代码如下:

python tools/test.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py work_dirs/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class/epoch_80.pth --eval mAP --eval-options 'show=True' 'out_dir=./data/pointpillars/show_results'

当出现如下所示结果,就OK了。

mmdetection3d基于kitti数据集训练pointpillars模型_第7张图片

使用show=True,进行可视化的时候,需要安装open3d包,注意:版本问题,我最开始安装的是open-python==0.7.0在可视化的时候,出现闪屏。 后来重新安装了open3d==0.13.0成功可视化。

pip install open3d==0.13.0

 1.5 可视化结果

mmdetection3d基于kitti数据集训练pointpillars模型_第8张图片

1、鼠标可视化控制

  • 鼠标左键拖拽:可以旋转3D图形
  • Ctrl+鼠标左键+拖拽:可以移动3D图形
  • 按下鼠标滚动键 + 拖拽:也是可以移动3D图形
  • Shift + 鼠标左键 + 拖拽:可以翻转3D图形
  • 滚动鼠标滚轮放大和缩小3D图形
  • 按Q会显示下一张测试图片
  • 按D会进行深度捕捉(捕捉的深度图会保存到mmdetection3d目录下)
  • H:打印帮助信息
  • PPrtScn:截图当前的视图
  • O:捕获当前的渲染设置
  • Alt+Enter:在全屏和窗口模式之间切换

2 、点云颜色控制

  • 0:默认的点云颜色渲染,默认点云被渲染成灰色
  • 1:渲染点云颜色,和0的时候效果一样
  • 2:把x的坐标值作为颜色渲染
  • 3:把y的坐标值作为颜色渲染
  • 4:把z的坐标值作为颜色渲染
  • 9:正常颜色,也是灰色

以上这些大家可以自己是尝试一下

如:按D,捕捉的深度图

mmdetection3d基于kitti数据集训练pointpillars模型_第9张图片

按2, 把x的坐标值作为颜色渲染。

mmdetection3d基于kitti数据集训练pointpillars模型_第10张图片

以上就是pointpillars模型训练及可视化的全过程了。 

你可能感兴趣的:(3d,深度学习,人工智能,python,pytorch)