• 在mmdet 3.0系列中使用visualizer进行目标检测真实框和检测框的可视化和绘制 并保存为图像


    MMDetection 3.0 中,使用 visualizer 进行目标检测的真实框和检测框的可视化和绘制,并将结果保存为图像,是一个比较简便且高效的方法。以下是具体的实现步骤和代码示例。

    步骤

    加载必要的库和初始化模型。
    加载测试图像和数据集。
    进行推理。
    使用 visualizer 绘制真实框和检测框
    保存绘制结果。

    示例代码

    首先,确保你的环境中安装了最新版本的 MMDetection。

    pip install mmdet==3.0.0
    pip install -U openmim
    mim install mmdet
    

    以下是一个完整的代码示例:

    import mmcv
    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    from mmdet.apis import init_detector, inference_detector
    from mmdet.utils import register_all_modules
    from mmdet.visualization import DetLocalVisualizer
    from mmdet.datasets import build_dataset
    from mmdet.datasets.pipelines import Compose
    
    # 注册所有模块
    register_all_modules()
    
    # 配置文件和模型检查点的路径
    config_file = 'path/to/your/config/file.py'
    checkpoint_file = 'path/to/your/checkpoint/file.pth'
    
    # 初始化模型
    model = init_detector(config_file, checkpoint_file, device='cuda:0')
    
    # 测试图像路径
    img = 'path/to/your/test/image.jpg'
    
    # 构建数据集
    cfg = mmcv.Config.fromfile(config_file)
    dataset = build_dataset(cfg.data.test)
    
    # 获取样本数据
    data = dataset[0]
    
    # 提取图像和 ground truth boxes
    img_path = data['img_metas'][0].data['filename']
    gt_bboxes = data['gt_bboxes'][0].data.numpy()
    gt_labels = data['gt_labels'][0].data.numpy()
    
    # 加载图像
    img = mmcv.imread(img_path)
    
    # 绘制 ground truth boxes
    visualizer = DetLocalVisualizer()
    visualizer.dataset_meta = dataset.metainfo
    
    # 创建 ground truth 数据
    gt_data = {
        'bboxes': gt_bboxes,
        'labels': gt_labels
    }
    
    # 绘制 ground truth boxes
    visualizer.add_datasample('ground_truth', img, gt_data, draw_gt=True)
    
    # 推理检测
    result = inference_detector(model, img)
    
    # 绘制检测框
    visualizer.add_datasample('detection', img, result, draw_pred=True, show=True)
    
    # 保存结果图像
    out_file = 'path/to/save/result_image.jpg'
    visualizer.add_datasample('detection', img, result, draw_pred=True, show=False, out_file=out_file)
    
    
  • 相关阅读:
    Command
    生存分析原理简明教程 单因素生存分析 Kaplan-Meier、LogRank 只能针对单一的变量进行 多因素cox回归分析
    安全协议缺陷
    操作系统,计算机网络,数据库刷题笔记2
    pytorch中的各种计算
    VMware虚拟化---ESXI6.7和VSCA6.7的部署安装与使用
    计算机毕业设计之java+javaweb的面向学生成绩分析系统
    安装单机版redis
    基于java+springboot的人事招聘信息网站
    【Python】一文详细介绍 plt.rc_context() 在 Matplotlib 中的原理、作用、注意事项
  • 原文地址:https://blog.csdn.net/qq_41553157/article/details/139471600