24 Star 226 Fork 90

PaddlePaddle / PaddleSeg

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
data_prepare.md 5.39 KB
一键复制 编辑 原始数据 按行查看 历史
wuzewu 提交于 2021-04-14 16:17 . Fix code format problem.

数据集准备

PaddleSeg目前支持CityScapes、ADE20K、Pascal VOC等数据集的加载,在加载数据集时,如若本地不存在对应数据,则会自动触发下载(除Cityscapes数据集).

关于CityScapes数据集

Cityscapes是关于城市街道场景的语义理解图片数据集。它主要包含来自50个不同城市的街道场景, 拥有5000张(2048 x 1024)城市驾驶场景的高质量像素级注释图像,包含19个类别。其中训练集2975张, 验证集500张和测试集1525张。

由于协议限制,请自行前往CityScapes官网下载数据集, 我们建议您将数据集存放于PaddleSeg/data中,以便与我们配置文件完全兼容。数据集下载后请组织成如下结构:

cityscapes
|
|--leftImg8bit
|  |--train
|  |--val
|  |--test
|
|--gtFine
|  |--train
|  |--val
|  |--test

运行下列命令进行标签转换:

pip install cityscapesscripts
python tools/convert_cityscapes.py --cityscapes_path data/cityscapes --num_workers 8

其中cityscapes_path应根据实际数据集路径进行调整。 num_workers决定启动的进程数,可根据实际情况进行调整大小。

关于Pascal VOC 2012数据集

Pascal VOC 2012数据集以对象分割为主,包含20个类别和背景类,其中训练集1464张,验证集1449张。 通常情况下会利用SBD(Semantic Boundaries Dataset)进行扩充,扩充后训练集10582张。 运行下列命令进行SBD数据集下载并进行扩充:

python tools/voc_augment.py --voc_path data/VOCdevkit --num_workers 8

其中voc_path应根据实际数据集路径进行调整。

注意 运行前请确保在PaddleSeg目录下执行过下列命令:

export PYTHONPATH=`pwd`
# windows下请执行相面的命令
# set PYTHONPATH=%cd%

关于ADE20K数据集

ADE20K由MIT发布的可用于场景感知、分割和多物体识别等多种任务的数据集。 其涵盖了150个语义类别,包括训练集20210张,验证集2000张。

关于Coco Stuff数据集

Coco Stuff是基于Coco数据集的像素级别语义分割数据集。它主要覆盖172个类别,包含80个'thing',91个'stuff'和1个'unlabeled', 其中训练集118k, 验证集5k.

在使用Coco Stuff数据集前, 请自行前往COCO-Stuff主页下载数据集,或者下载coco2017训练集原图, coco2017验证集原图标注图 我们建议您将数据集存放于PaddleSeg/data中,以便与我们配置文件完全兼容。数据集下载后请组织成如下结构:

cocostuff
|
|--images
|  |--train2017
|  |--val2017
|
|--annotations
|  |--train2017
|  |--val2017

其中,标注图像的标签从0,1依次取值,不可间隔。若有需要忽略的像素,则按255进行标注。

关于Pascal Context数据集

Pascal Context是基于PASCAL VOC 2010数据集额外标注的像素级别的语义分割数据集。我们提供的转换脚本支持59个类别,其中训练集4996, 验证集5104张.

在使用Pascal Context数据集前, 请先下载VOC2010,随后自行前往Pascal-Context主页下载数据集及标注 我们建议您将数据集存放于PaddleSeg/data中,以便与我们配置文件完全兼容。数据集下载后请组织成如下结构:

VOC2010
|
|--Annotations
|
|--ImageSets
|
|--SegmentationClass
|  
|--JPEGImages
|
|--SegmentationObject
|
|--trainval_merged.json

其中,标注图像的标签从1,2依次取值,不可间隔。若有需要忽略的像素,则按0进行标注。在使用Pascal Context数据集时,需要安装Detail.

自定义数据集

如果您需要使用自定义数据集进行训练,请按照以下步骤准备数据.

1.推荐整理成如下结构

custom_dataset
    |
    |--images
    |  |--image1.jpg
    |  |--image2.jpg
    |  |--...
    |
    |--labels
    |  |--label1.jpg
    |  |--label2.png
    |  |--...
    |
    |--train.txt
    |
    |--val.txt
    |
    |--test.txt

其中train.txt和val.txt的内容如下所示:

images/image1.jpg labels/label1.png
images/image2.jpg labels/label2.png
...

2.标注图像的标签从0,1依次取值,不可间隔。若有需要忽略的像素,则按255进行标注。

可按如下方式对自定义数据集进行配置:

train_dataset:
  type: Dataset
  dataset_root: custom_dataset
  train_path: custom_dataset/train.txt
  num_classes: 2
  transforms:
    - type: ResizeStepScaling
      min_scale_factor: 0.5
      max_scale_factor: 2.0
      scale_step_size: 0.25
    - type: RandomPaddingCrop
      crop_size: [512, 512]
    - type: RandomHorizontalFlip
    - type: Normalize
  mode: train
Python
1
https://gitee.com/paddlepaddle/PaddleSeg.git
git@gitee.com:paddlepaddle/PaddleSeg.git
paddlepaddle
PaddleSeg
PaddleSeg
release/v2.0

搜索帮助