如何在mmdetection3d下批量的预测单目3d检测结果并保存

这是为了能通过pycharm功能在服务器下可以看见图片并成批量保存做的笔记,本人不是太会说明,所以代码解释如下

from mmdet3d.apis import init_model, inference_mono_3d_detector, show_result_meshlab
import glob
import mmcv
from os import path as osp

# 这里是最好用绝对路劲,相对路劲有时候行不通,我也不知道是为什么
# config_file代表的是mmdetection3d的文件夹下ocnfigs的模型配置json文件。这可以根据自己的需求修改
config_file = '/data/home/jwu/mmdetection3d/configs/smoke/smoke_dla34_pytorch_dlaneck_gn-all_8x4_6x_kitti-mono3d.py' 
# ann_file是关于create_data.py后生成的data里面的mono3d.json文件,也是同上可以自行修改。
ann_file = '/data/home/jwu/mmdetection3d/data/kitti/kitti_infos_test_mono3d.coco.json'
# image_path是关于自己下载数据集的图片所在文件夹的路径,这个要根据个人的需求进行该别:注意:必行要跟上面的ann_file相匹配。
image_path = r'/data/home/jwu/mmdetection3d/data/kitti/testing/image_2/'
# checkpoints_file是关于自己训练模型的绝对路径,修改同上。
checkpoint_file = '/data/home/jwu/mmdetection3d/work_dirs/own_smoke_train/latest.pth'
# images_name是为了获得文件夹下的所在的所有图片的绝对路径。
images_name = glob.glob(image_path + "*.png")
for image_name in images_name:
	# 这一步是为了有些数据集如kitti下有很多有不同相机在同一时间和统一位置照的图片,
	#有下角标_,这下面的几步就是为了将其剔除,只留下真正的不含_的图片。
    if osp.basename(image_name).partition('_')[0] == osp.basename(image_name):
        continue
    image_name = osp.basename(image_name).partition('_')[0]
    image = image_path + image_name + '.png'

    # data_infos = mmcv.load(ann_file)
    # # find the info corresponding to this image
    # for x in data_infos['images']:
    #     # print('x:',x)
    #     # print('image_name:', osp.basename(image))
    #     # print("x['file_name']:", osp.basename(x['file_name']))
    #     if osp.basename(x['file_name']) != osp.basename(image):
    #         continue
    #     img_info = x
    #     # print('img_info:', img_info)
    #     break
	# 这步是为了读取网络模型。
    model = init_model(config_file, checkpoint_file, device='cuda:0')
	# 这一步是为了的到结果和数据
    result, data = inference_mono_3d_detector(model, image, ann_file)
	
	# 这一步是为了将最终的结果以单目3d检测的方式储存并保存到你想要的路径下
    out_dir = './outputs/result'
    show_result_meshlab(data, result, out_dir, task='mono-det')

最后,将其保存为.py文件到demo文件夹下并运行,例如:

python demo/my_kitti_code.py
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值