赞
踩
安装完环境以后,就可以进行测试了,这里我使用的是KITTI数据集进行测试。关于KITTI数据集,网上有很多介绍了,这里简单说一下在mmdet3d中它需要的文件层级样式吧。主要是针对RGB和点云数据进行检测。
一般来说采用其中一侧的彩色摄像头的数据作为RGB数据输入即可。
但是这个数据集比较大,也需要挂梯子下载,所以我这边弄了一个500的小数据集,也已经按照mmdet3d的格式整理好了,后续我会将它发上来。
KITTI小数据集百度网盘链接
提取码:2pel
不过在mmdet3d中,还需要对数据进行进一步处理,将它处理为更易读取的pkl文件,这里mmdet3d也提供了处理工具
python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti
训练的话其实和mmdet2d类似,也是通过配置config文件就可以了,我是基于‘configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py’进行修改的。即新建一个py文件,命名为myconfig.py,里面编写如下:
_base_ =[configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py]
data = dict(
samples_per_gpu=4,
workers_per_gpu=1,
persistent_workers=True,
)
optimizer = dict(type='Adamw', lr=0.001, betas=(0.95,0.99),weight_decay=0.01)
lr_config = None
momentum_config = None
runner = dict(max_epochs=5)
checkpoint_config = dict(interval=5)
evaluation = dict(interval=5)
log_config = dict(interval=5)
load_from = 'checkpoints/hy_pointpillars_secfon_6x8_160e_kitti-3d-3class_20220301_150306-37dc2420.pth'
如果基于预训练模型进行训练,记得要下载对应的checkpoints文件(load_from部分)
其实这边也可以直接像我之前弄的mmdet2d或者mmcls教程里那样,直接修改对应的config下对应的模型文件参数(即类似我所写代码的第一行的文件)。然后直接运行,会在work-dir下面生成本次训练的完整版的config文件,想修改的话直接ctrl+c终止然后修改,之后再次运行的话,就用这个config文件即可。切记不要直接在原config文件下进行修改,不然以后再次用到的时候容易出问题。另外,如果使用自己的数据集,我建议是直接将其整理成kitti或者其他常用的数据集格式,这样就免得去修改datasets部分的设置了,不然还挺麻烦感觉。
比较简单,直接在terminal里面输入这个即可,workdir什么的想改可以加进去,反正除了config其他非必要
python ./tools/train.py myconfig.py
python ./tools/test.py myconfig.py ./work_dirs/myconfig/latest.pth --show --show-dir
这时候是对training下的val部分进行测试及可视化,即对training_val的可视化
也可以使用mmdet3d自带的可视化工具来实现:
可视化工具:
python ./tools/misc/browse_dataset.py myconfig.py --task det --output-dir tmp --online
如果使用mmdet3d的可视化工具,则是对training下的train部分,即training_train部分的可视化,因此需要将自己的config文件里的training部分改为和val一样的
_base_ =[configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py]
data = dict(
samples_per_gpu=4,
workers_per_gpu=1,
persistent_workers=True,
##################################################################################
# 添加该行
train=dict(dataset=dict(ann file='data/kitti/kitti_infos_val.pkl'),)
##################################################################################
)
optimizer = dict(type='Adamw', lr=0.001, betas=(0.95,0.99),weight_decay=0.01)
lr_config = None
momentum_config = None
runner = dict(max_epochs=5)
checkpoint_config = dict(interval=5)
evaluation = dict(interval=5)
log_config = dict(interval=5)
load_from = 'checkpoints/hy_pointpillars_secfon_6x8_160e_kitti-3d-3class_20220301_150306-37dc2420.pth'
具体结果的话,忘记拍照了…将就着看吧,如果有不懂的地方可以直接评论问,这样大家也都能看见。也欢迎大佬批评指正!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。