本文主要是介绍【MMDetection3D实战(2)】: 利用MMDet3D预训练模型进行推理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
安装完成MMDet3D环境后,我们就可以基于MMDet3D
提供的预训练模型
在点云
和单目图像
上进行推理。
下图是利用是基于预训练模型的推理结果,可以看到无论是基于点云还是图像,它都能给出一个正确的推理结果,把对应的car和motor的3D box
正确的框出来。
推理的实现很简单,大体分一下三步:
- (1): 下载预训练权重 :
mmdection3d
的github
中下载或使用mim
工具下载 - (2):
准备数据
(点云、图像以及相关标注文件) - (3): 然后利用
mmdet3d
提供的Python API
实现推理,以及结果可视化
2. 点云推理和可视化
(1) 下载预训练权重
mim download mmdet3d --config pointpillars_hv_secfpn_8xb6-160e_kitti-3d-3class --dest checkpoint
- 下载
pointpillars
的预训练权重,可以在github上下载,也可以利用mim
工具下载 min
命令自动下载模型的预训练权重
和配置文件
。其中的download
表示下载
,mmdet3d
指定包名
(检测mmdet3d,分类mmcls,分割mmsegmentation),--config
指定下载模型的config名
,不需要后缀;--dest
:指定下载后文件的保存的路径
,会自动创建该路径。
- 可以看到在checkpoint目录下,下载了模型的config文件以及预训练权重
(2)准备点云数据
mmdet3d项目的demo
目录下就提供了用于测试的点云数据:demo/data/kitti/kitti_000008.bin
(3)推理并可视化点云
from mmdet3d.apis import init_model,inference_detector,show_result_meshlab# config_file = "configs/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-3class.py"
config_file = "checkpoint/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-3class.py"
checkpoint_file ="checkpoint/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class_20220301_150306-37dc2420.pth"model = init_model(config_file,checkpoint_file,device='cuda:0')pcd ='demo/data/kitti/kitti_000008.bin'
result,data = inference_detector(model,pcd)out_dir ='./'
show_result_meshlab(data,result,out_dir,show=True)
- 将模型的配置文件
config_file
和权重文件checkpoint_file
的路径,传入i
这篇关于【MMDetection3D实战(2)】: 利用MMDet3D预训练模型进行推理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!