detectron2:数据集标签可视化

本文介绍了使用Detectron2库进行数据集标签和预测结果可视化的方法,通过RandomSampler随机选取样本,展示了如何使用Visualizer类对smoke类进行可视化操作,并展示了一个实际例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用于可视化的工具主要是是位于utils下的visualizer文件,文件中的Visualizer类用于可视化,里面定义了多种方法,不光可以对数据集标签可视化,也可以对与预测结果进行可视化

直接上代码

    from detectron2.data.datasets.coco import load_coco_json
    from detectron2.data.detection_utils import read_image
    #加载数据集链表字典(数据集应该先被注册过),"smoke_train"是之前注册过的数据集
    data_dict = load_coco_json(json_file,image_root,"smoke_train")

    from torch.utils.data.sampler import RandomSampler
    #在数据集中随机采样一个图片用作数据的可视化
    sampler = RandomSampler(data_dict,True,1)
    index = next(iter(sampler))
    #此图所对应的字典
    image_dict = data_dict[index]
    #读取图片
    img = read_image(image_dict["file_name"],format='BGR')
    #创建一个Visualizer对象
    from detectron2.utils.visualizer import Visualizer
    visualizer = Visualizer(img,metadata={'thing_classes':['smoke']})
    img_visual = visualizer.draw_dataset_dict(image_dict)
    #Visualizer会返回一个VisImage类
    import cv2
    cv2.imshow('sample',img_visual.get_image())
    cv2.waitKey(0)

可视化结果,0是数据类编号,我用的数据集只有一类,都是smoke

 

### Detectron2 数据集准备 为了使自定义数据集能够被Detectron2识别并用于训练,需遵循特定的数据格式和注册流程。对于非标准格式的数据集(如VOC格式),通常需要先将其转换为目标JSON格式文件[^3]。 #### 转换标注文件格式 如果原始数据集标注采用XML形式存储,则应编写脚本实现从XML到COCO JSON格式的转换。此过程涉及解析每个图像对应的XML文件,并提取其中的对象类别、边界框坐标等信息,最终按照COCO API规定的结构保存至单个JSON文档内。 ```python import xml.etree.ElementTree as ET from pycocotools.coco import COCO import json def convert_voc_to_coco(voc_dir, output_json_path): # 实现具体的转换逻辑... pass convert_voc_to_coco('path/to/voc', 'annotations.json') ``` 一旦完成了上述转换操作,就可以继续下一步骤——向Detectron2注册新创建的数据集实例。 #### 注册新的数据集 通过调用`register()`函数并向其传递必要的参数来完成这一步。这些参数包括但不限于:唯一标识符名称、路径指向已处理好的JSON文件以及图片所在目录位置等信息。此外还需指定一个回调方法负责实际读取每张照片及其关联标签记录。 ```python from detectron2.data.datasets import register_coco_instances register_coco_instances( name="my_dataset_train", metadata={}, json_file="/path/to/annotations.json", image_root="/path/to/images" ) ``` 此时已经成功地将外部资源引入到了框架内部环境中,可以像对待官方提供的预置选项那样对其进行后续配置与应用了。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值