使用内置数据集¶
可以通过访问 DatasetCatalog 获取其数据,或访问 MetadataCatalog 获取其元数据(类名等)来使用数据集。本文档介绍了如何设置内置数据集,以便它们可以被上述 API 使用。 使用自定义数据集 详细介绍了如何使用 DatasetCatalog
和 MetadataCatalog
,以及如何在其中添加新的数据集。
Detectron2 内置支持一些数据集。假设这些数据集存在于环境变量 DETECTRON2_DATASETS
指定的目录中。在此目录下,detectron2 将在需要的情况下,根据下面描述的结构查找数据集。
$DETECTRON2_DATASETS/
coco/
lvis/
cityscapes/
VOC20{07,12}/
你可以通过 export DETECTRON2_DATASETS=/path/to/datasets
设置内置数据集的位置。如果未设置,默认情况下为相对于当前工作目录的 ./datasets
。
模型库包含使用这些内置数据集的配置和模型。模型库 中包含使用这些内置数据集的配置和模型。
预期用于 COCO 实例/关键点检测 的数据集结构:¶
coco/
annotations/
instances_{train,val}2017.json
person_keypoints_{train,val}2017.json
{train,val}2017/
# image files that are mentioned in the corresponding json
你也可以使用数据集的 2014 版本。
一些内置测试 (dev/run_*_tests.sh
) 使用 COCO 数据集的缩小版,你可以使用 ./datasets/prepare_for_tests.sh
下载。
预期用于 PanopticFPN 的数据集结构:¶
将全景注释从 COCO 网站 提取到以下结构中
coco/
annotations/
panoptic_{train,val}2017.json
panoptic_{train,val}2017/ # png annotations
panoptic_stuff_{train,val}2017/ # generated by the script mentioned below
通过以下方式安装 panopticapi
pip install git+https://github.com/cocodataset/panopticapi.git
然后,运行 python datasets/prepare_panoptic_fpn.py
,从全景注释中提取语义注释。
预期用于 LVIS 实例分割 的数据集结构:¶
coco/
{train,val,test}2017/
lvis/
lvis_v0.5_{train,val}.json
lvis_v0.5_image_info_test.json
lvis_v1_{train,val}.json
lvis_v1_image_info_test{,_challenge}.json
通过以下方式安装 lvis-api
pip install git+https://github.com/lvis-dataset/lvis-api.git
要使用 LVIS 注释评估在 COCO 数据集上训练的模型,请运行 python datasets/prepare_cocofied_lvis.py
来准备“cocofied” LVIS 注释。
预期用于 cityscapes 的数据集结构:¶
cityscapes/
gtFine/
train/
aachen/
color.png, instanceIds.png, labelIds.png, polygons.json,
labelTrainIds.png
...
val/
test/
# below are generated Cityscapes panoptic annotation
cityscapes_panoptic_train.json
cityscapes_panoptic_train/
cityscapes_panoptic_val.json
cityscapes_panoptic_val/
cityscapes_panoptic_test.json
cityscapes_panoptic_test/
leftImg8bit/
train/
val/
test/
通过以下方式安装 cityscapes 脚本
pip install git+https://github.com/mcordts/cityscapesScripts.git
注意:要创建 labelTrainIds.png,请首先准备上述结构,然后使用以下方式运行 cityscapesescript:
CITYSCAPES_DATASET=/path/to/abovementioned/cityscapes python cityscapesscripts/preparation/createTrainIdLabelImgs.py
这些文件对于实例分割来说是不必要的。
注意:要生成 Cityscapes 全景数据集,请使用以下方式运行 cityscapesescript:
CITYSCAPES_DATASET=/path/to/abovementioned/cityscapes python cityscapesscripts/preparation/createPanopticImgs.py
这些文件对于语义分割和实例分割来说是不必要的。
预期用于 Pascal VOC 的数据集结构:¶
VOC20{07,12}/
Annotations/
ImageSets/
Main/
trainval.txt
test.txt
# train.txt or val.txt, if you use these splits
JPEGImages/
预期用于 ADE20k 场景解析 的数据集结构:¶
ADEChallengeData2016/
annotations/
annotations_detectron2/
images/
objectInfo150.txt
目录 annotations_detectron2
是通过运行 python datasets/prepare_ade20k_sem_seg.py
生成的。