detectron2使用自定义的数据集

这篇博客介绍了如何在Detectron2中注册和使用自定义数据集,包括创建数据集字典、注册数据集、定义元数据,并提供了相关的Colab Notebook示例。内容涵盖了标准数据集字典和自定义数据集字典的格式,以及数据集元数据的创建和更新配置的步骤。
摘要由CSDN通过智能技术生成

如果你要使用自定义的数据集,同时还要重写detectron2的数据加载器, 你将需要

  1. 注册你的数据集(即告诉detectron2如何获取你的数据集)。

  2. (可选)为你的数据集注册元数据。

接下来,我们详细解释上述两个概念。

该Colab Notebook 有如何在自定义格式的数据集注册和训练工作的例子。Colab Notebook:(https://colab.research.google.com/drive/16jcaJoc6bCFAQ96jDe2HwtXj7BMD_-m5)

注册数据集

为了让detectron2知道如何获取名为"my_dataset"的数据集,你需要实现 一个函数,该函数返回数据集中的数据,然后将其告知detectron2 功能:

def get_dicts():  ...  return list[dict] in the following format
from detectron2.data import DatasetCatalogDatasetCatalog.register("my_dataset", get_dicts)

此代码段将数据集"my_dataset"与返回数据的函数相关联。在该过程存在之前,注册将一直有效。

该函数可以将数据从其原始格式处理为以下任意一种格式:

  1. Detectron2的标准数据集字典。它可以与detectron2中的许多内置功能一起使用,因此建议使用它。

  2. 你的自定义数据集字典。你还可以以自己的格式返回任意字典格式,例如为新任务添加额外的键,然后你还需要在下游正确处理它们。请参阅下面的更多细节。。

标准数据集字典

对于标准任务(实例检测,实例/语义/全景分割,关键点检测),我们将原始数据集加载到具有类似于COCO的json注释规范的list [dict]中。这是我们对数据集的标准表示。

每个字典包含有关一个图像的信息。该词典可能具有以下字段。这些字段通常是可选的,某些功能可能需要从其他字段推断某些字段,例如数据加载器将从"file_name"加载图像,并从"sem_seg_file_name"加载"sem_seg"。

  • file_name:图像文件的完整路径。如果图像具有此类exif信息,则将应用旋转和翻转。

  • sem_seg_file_name:语义分割GT的路径。

  • sem_seg:2Dtorch.Tensor中的语义分割GT。数组中的值表示类别标签从0开始。

  • height,width:整数。图像的尺寸。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值