support coco stuff-10k/164k (#625)
* support coco stuff-10k/164k * update docs * fix docs * update docs * fix import lints * Update docs/dataset_prepare.md * Update docs/dataset_prepare.md * Update tools/convert_datasets/coco_stuff164k.py * Update tools/convert_datasets/coco_stuff10k.py * Update tools/convert_datasets/coco_stuff10k.py * Update tools/convert_datasets/coco_stuff10k.py * Update tools/convert_datasets/coco_stuff10k.py * Update coco_stuff.py fix the description of the dataset * Update dataset_prepare.md fix the doc tree of coco stuff 10k * Update coco_stuff10k.py fix img_dir * Update coco_stuff.py fix descriptions * Update coco_stuff164k.py fix out_dir * Update coco_stuff10k.py fix save file name * Update coco_stuff.py fix seg_map_suffix * Update dataset_prepare.md fix -p * Update dataset_prepare.md fix doc tree * modify coco stuff convertor * Remove redundant code * fix 164k convert bug * remove redundant comment * add deeplabv3 configs and more iterations * replace shutil.move with shtil.copyfile * Update deeplabv3_r50-d8_512x512_4x4_80k_coco_stuff10k.py fix wrong config * Update deeplabv3_r101-d8_512x512_4x4_80k_coco_stuff164k.py fix wrong config * fix wrong configs * fix wrong configs * fix wrong path for coco stuff 10k * fix convert bugs * fix seg_filename bug * when nproc=0, use track progress * rename configs: coco_stuff --> coco-stuff * add coco-stuff 10k and 164k to README.md * update configs * add deeplabv3 benchmark * add pspnet benchmark * remove redundant comma Co-authored-by: Junjun2016 <hejunjun@sjtu.edu.cn>
This commit is contained in:
parent
4e6f2ebced
commit
62f70ebedd
@ -102,12 +102,15 @@ Supported datasets:
|
|||||||
- [x] [PASCAL VOC](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-voc)
|
- [x] [PASCAL VOC](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-voc)
|
||||||
- [x] [ADE20K](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#ade20k)
|
- [x] [ADE20K](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#ade20k)
|
||||||
- [x] [Pascal Context](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-context)
|
- [x] [Pascal Context](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-context)
|
||||||
|
- [x] [COCO-Stuff 10k](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#coco-stuff-10k)
|
||||||
|
- [x] [COCO-Stuff 164k](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#coco-stuff-164k)
|
||||||
- [x] [CHASE_DB1](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#chase-db1)
|
- [x] [CHASE_DB1](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#chase-db1)
|
||||||
- [x] [DRIVE](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#drive)
|
- [x] [DRIVE](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#drive)
|
||||||
- [x] [HRF](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#hrf)
|
- [x] [HRF](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#hrf)
|
||||||
- [x] [STARE](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#stare)
|
- [x] [STARE](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#stare)
|
||||||
- [x] [Dark Zurich](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#dark-zurich)
|
- [x] [Dark Zurich](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#dark-zurich)
|
||||||
- [x] [Nighttime Driving](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#nighttime-driving)
|
- [x] [Nighttime Driving](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#nighttime-driving)
|
||||||
|
- [x] [Nighttime Driving](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#nighttime-driving)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|||||||
@ -101,6 +101,8 @@ MMSegmentation 是一个基于 PyTorch 的语义分割开源工具箱。它是 O
|
|||||||
- [x] [PASCAL VOC](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-voc)
|
- [x] [PASCAL VOC](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-voc)
|
||||||
- [x] [ADE20K](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#ade20k)
|
- [x] [ADE20K](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#ade20k)
|
||||||
- [x] [Pascal Context](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-context)
|
- [x] [Pascal Context](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#pascal-context)
|
||||||
|
- [x] [COCO-Stuff 10k](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#coco-stuff-10k)
|
||||||
|
- [x] [COCO-Stuff 164k](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#coco-stuff-164k)
|
||||||
- [x] [CHASE_DB1](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#chase-db1)
|
- [x] [CHASE_DB1](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#chase-db1)
|
||||||
- [x] [DRIVE](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#drive)
|
- [x] [DRIVE](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#drive)
|
||||||
- [x] [HRF](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#hrf)
|
- [x] [HRF](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/dataset_prepare.md#hrf)
|
||||||
|
|||||||
57
configs/_base_/datasets/coco-stuff10k.py
Normal file
57
configs/_base_/datasets/coco-stuff10k.py
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# dataset settings
|
||||||
|
dataset_type = 'COCOStuffDataset'
|
||||||
|
data_root = 'data/coco_stuff10k'
|
||||||
|
img_norm_cfg = dict(
|
||||||
|
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
|
||||||
|
crop_size = (512, 512)
|
||||||
|
train_pipeline = [
|
||||||
|
dict(type='LoadImageFromFile'),
|
||||||
|
dict(type='LoadAnnotations', reduce_zero_label=True),
|
||||||
|
dict(type='Resize', img_scale=(2048, 512), ratio_range=(0.5, 2.0)),
|
||||||
|
dict(type='RandomCrop', crop_size=crop_size, cat_max_ratio=0.75),
|
||||||
|
dict(type='RandomFlip', prob=0.5),
|
||||||
|
dict(type='PhotoMetricDistortion'),
|
||||||
|
dict(type='Normalize', **img_norm_cfg),
|
||||||
|
dict(type='Pad', size=crop_size, pad_val=0, seg_pad_val=255),
|
||||||
|
dict(type='DefaultFormatBundle'),
|
||||||
|
dict(type='Collect', keys=['img', 'gt_semantic_seg']),
|
||||||
|
]
|
||||||
|
test_pipeline = [
|
||||||
|
dict(type='LoadImageFromFile'),
|
||||||
|
dict(
|
||||||
|
type='MultiScaleFlipAug',
|
||||||
|
img_scale=(2048, 512),
|
||||||
|
# img_ratios=[0.5, 0.75, 1.0, 1.25, 1.5, 1.75],
|
||||||
|
flip=False,
|
||||||
|
transforms=[
|
||||||
|
dict(type='Resize', keep_ratio=True),
|
||||||
|
dict(type='RandomFlip'),
|
||||||
|
dict(type='Normalize', **img_norm_cfg),
|
||||||
|
dict(type='ImageToTensor', keys=['img']),
|
||||||
|
dict(type='Collect', keys=['img']),
|
||||||
|
])
|
||||||
|
]
|
||||||
|
data = dict(
|
||||||
|
samples_per_gpu=4,
|
||||||
|
workers_per_gpu=4,
|
||||||
|
train=dict(
|
||||||
|
type=dataset_type,
|
||||||
|
data_root=data_root,
|
||||||
|
reduce_zero_label=True,
|
||||||
|
img_dir='images/train2014',
|
||||||
|
ann_dir='annotations/train2014',
|
||||||
|
pipeline=train_pipeline),
|
||||||
|
val=dict(
|
||||||
|
type=dataset_type,
|
||||||
|
data_root=data_root,
|
||||||
|
reduce_zero_label=True,
|
||||||
|
img_dir='images/test2014',
|
||||||
|
ann_dir='annotations/test2014',
|
||||||
|
pipeline=test_pipeline),
|
||||||
|
test=dict(
|
||||||
|
type=dataset_type,
|
||||||
|
data_root=data_root,
|
||||||
|
reduce_zero_label=True,
|
||||||
|
img_dir='images/test2014',
|
||||||
|
ann_dir='annotations/test2014',
|
||||||
|
pipeline=test_pipeline))
|
||||||
54
configs/_base_/datasets/coco-stuff164k.py
Normal file
54
configs/_base_/datasets/coco-stuff164k.py
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# dataset settings
|
||||||
|
dataset_type = 'COCOStuffDataset'
|
||||||
|
data_root = 'data/coco_stuff164k'
|
||||||
|
img_norm_cfg = dict(
|
||||||
|
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
|
||||||
|
crop_size = (512, 512)
|
||||||
|
train_pipeline = [
|
||||||
|
dict(type='LoadImageFromFile'),
|
||||||
|
dict(type='LoadAnnotations'),
|
||||||
|
dict(type='Resize', img_scale=(2048, 512), ratio_range=(0.5, 2.0)),
|
||||||
|
dict(type='RandomCrop', crop_size=crop_size, cat_max_ratio=0.75),
|
||||||
|
dict(type='RandomFlip', prob=0.5),
|
||||||
|
dict(type='PhotoMetricDistortion'),
|
||||||
|
dict(type='Normalize', **img_norm_cfg),
|
||||||
|
dict(type='Pad', size=crop_size, pad_val=0, seg_pad_val=255),
|
||||||
|
dict(type='DefaultFormatBundle'),
|
||||||
|
dict(type='Collect', keys=['img', 'gt_semantic_seg']),
|
||||||
|
]
|
||||||
|
test_pipeline = [
|
||||||
|
dict(type='LoadImageFromFile'),
|
||||||
|
dict(
|
||||||
|
type='MultiScaleFlipAug',
|
||||||
|
img_scale=(2048, 512),
|
||||||
|
# img_ratios=[0.5, 0.75, 1.0, 1.25, 1.5, 1.75],
|
||||||
|
flip=False,
|
||||||
|
transforms=[
|
||||||
|
dict(type='Resize', keep_ratio=True),
|
||||||
|
dict(type='RandomFlip'),
|
||||||
|
dict(type='Normalize', **img_norm_cfg),
|
||||||
|
dict(type='ImageToTensor', keys=['img']),
|
||||||
|
dict(type='Collect', keys=['img']),
|
||||||
|
])
|
||||||
|
]
|
||||||
|
data = dict(
|
||||||
|
samples_per_gpu=4,
|
||||||
|
workers_per_gpu=4,
|
||||||
|
train=dict(
|
||||||
|
type=dataset_type,
|
||||||
|
data_root=data_root,
|
||||||
|
img_dir='images/train2017',
|
||||||
|
ann_dir='annotations/train2017',
|
||||||
|
pipeline=train_pipeline),
|
||||||
|
val=dict(
|
||||||
|
type=dataset_type,
|
||||||
|
data_root=data_root,
|
||||||
|
img_dir='images/val2017',
|
||||||
|
ann_dir='annotations/val2017',
|
||||||
|
pipeline=test_pipeline),
|
||||||
|
test=dict(
|
||||||
|
type=dataset_type,
|
||||||
|
data_root=data_root,
|
||||||
|
img_dir='images/val2017',
|
||||||
|
ann_dir='annotations/val2017',
|
||||||
|
pipeline=test_pipeline))
|
||||||
9
configs/_base_/schedules/schedule_320k.py
Normal file
9
configs/_base_/schedules/schedule_320k.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# optimizer
|
||||||
|
optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005)
|
||||||
|
optimizer_config = dict()
|
||||||
|
# learning policy
|
||||||
|
lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False)
|
||||||
|
# runtime settings
|
||||||
|
runner = dict(type='IterBasedRunner', max_iters=320000)
|
||||||
|
checkpoint_config = dict(by_epoch=False, interval=32000)
|
||||||
|
evaluation = dict(interval=32000, metric='mIoU')
|
||||||
@ -73,3 +73,23 @@
|
|||||||
| --------- | -------- | --------- | ------: | -------- | -------------- | ----: | ------------: | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| --------- | -------- | --------- | ------: | -------- | -------------- | ----: | ------------: | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| DeepLabV3 | R-101-D8 | 480x480 | 40000 | - | - | 52.61 | 54.28 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context_59.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context_59/deeplabv3_r101-d8_480x480_40k_pascal_context_59_20210416_110332-cb08ea46.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context_59/deeplabv3_r101-d8_480x480_40k_pascal_context_59-20210416_110332.log.json) |
|
| DeepLabV3 | R-101-D8 | 480x480 | 40000 | - | - | 52.61 | 54.28 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context_59.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context_59/deeplabv3_r101-d8_480x480_40k_pascal_context_59_20210416_110332-cb08ea46.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context_59/deeplabv3_r101-d8_480x480_40k_pascal_context_59-20210416_110332.log.json) |
|
||||||
| DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | 52.46 | 54.09 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59/deeplabv3_r101-d8_480x480_80k_pascal_context_59_20210416_113002-26303993.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59/deeplabv3_r101-d8_480x480_80k_pascal_context_59-20210416_113002.log.json) |
|
| DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | 52.46 | 54.09 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59/deeplabv3_r101-d8_480x480_80k_pascal_context_59_20210416_113002-26303993.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59/deeplabv3_r101-d8_480x480_80k_pascal_context_59-20210416_113002.log.json) |
|
||||||
|
|
||||||
|
### COCO-Stuff 10k
|
||||||
|
|
||||||
|
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | config | download |
|
||||||
|
| --------- | -------- | --------- | ------: | -------- | -------------- | ----: | ------------: | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| DeepLabV3 | R-50-D8 | 512x512 | 20000 | 9.6 | 10.8 | 34.66 | 36.08 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k_20210821_043025-b35f789d.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k_20210821_043025.log.json) |
|
||||||
|
| DeepLabV3 | R-101-D8 | 512x512 | 20000 | 13.2 | 8.7 | 37.30 | 38.42 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k_20210821_043025-c49752cb.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k_20210821_043025.log.json) |
|
||||||
|
| DeepLabV3 | R-50-D8 | 512x512 | 40000 | - | - | 35.73 | 37.09 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k_20210821_043305-dc76f3ff.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k_20210821_043305.log.json) |
|
||||||
|
| DeepLabV3 | R-101-D8 | 512x512 | 40000 | - | - | 37.81 | 38.80 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k_20210821_043305-636cb433.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k_20210821_043305.log.json) |
|
||||||
|
|
||||||
|
### COCO-Stuff 164k
|
||||||
|
|
||||||
|
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | config | download |
|
||||||
|
| --------- | -------- | --------- | ------: | -------- | -------------- | ----: | ------------: | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| DeepLabV3 | R-50-D8 | 512x512 | 80000 | 9.6 | 10.8 | 39.38 | 40.03 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k_20210709_163016-88675c24.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k_20210709_163016.log.json) |
|
||||||
|
| DeepLabV3 | R-101-D8 | 512x512 | 80000 | 13.2 | 8.7 | 40.87 | 41.50 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k_20210709_201252-13600dc2.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k_20210709_201252.log.json) |
|
||||||
|
| DeepLabV3 | R-50-D8 | 512x512 | 160000 | - | - | 41.09 | 41.69 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k_20210709_163016-49f2812b.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k_20210709_163016.log.json) |
|
||||||
|
| DeepLabV3 | R-101-D8 | 512x512 | 160000 | - | - | 41.82 | 42.49 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k_20210709_155402-f035acfd.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k_20210709_155402.log.json) |
|
||||||
|
| DeepLabV3 | R-50-D8 | 512x512 | 320000 | - | - | 41.37 | 42.22 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k_20210709_155403-51b21115.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k_20210709_155403.log.json) |
|
||||||
|
| DeepLabV3 | R-101-D8 | 512x512 | 320000 | - | - | 42.61 | 43.42 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k_20210709_155402-3cbca14d.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k_20210709_155402.log.json) |
|
||||||
|
|||||||
@ -6,6 +6,8 @@ Collections:
|
|||||||
- Pascal VOC 2012 + Aug
|
- Pascal VOC 2012 + Aug
|
||||||
- Pascal Context
|
- Pascal Context
|
||||||
- Pascal Context 59
|
- Pascal Context 59
|
||||||
|
- COCO-Stuff 10k
|
||||||
|
- COCO-Stuff 164k
|
||||||
Name: deeplabv3
|
Name: deeplabv3
|
||||||
Models:
|
Models:
|
||||||
- Config: configs/deeplabv3/deeplabv3_r50-d8_512x1024_40k_cityscapes.py
|
- Config: configs/deeplabv3/deeplabv3_r50-d8_512x1024_40k_cityscapes.py
|
||||||
@ -550,3 +552,175 @@ Models:
|
|||||||
mIoU(ms+flip): 54.09
|
mIoU(ms+flip): 54.09
|
||||||
Task: Semantic Segmentation
|
Task: Semantic Segmentation
|
||||||
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59/deeplabv3_r101-d8_480x480_80k_pascal_context_59_20210416_113002-26303993.pth
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context_59/deeplabv3_r101-d8_480x480_80k_pascal_context_59_20210416_113002-26303993.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 92.59
|
||||||
|
lr schd: 20000
|
||||||
|
memory (GB): 9.6
|
||||||
|
Name: deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 34.66
|
||||||
|
mIoU(ms+flip): 36.08
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k/deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k_20210821_043025-b35f789d.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 114.94
|
||||||
|
lr schd: 20000
|
||||||
|
memory (GB): 13.2
|
||||||
|
Name: deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 37.3
|
||||||
|
mIoU(ms+flip): 38.42
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k/deeplabv3_r101-d8_512x512_4x4_20k_coco-stuff10k_20210821_043025-c49752cb.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 40000
|
||||||
|
Name: deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 35.73
|
||||||
|
mIoU(ms+flip): 37.09
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k/deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k_20210821_043305-dc76f3ff.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 40000
|
||||||
|
Name: deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 37.81
|
||||||
|
mIoU(ms+flip): 38.8
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k/deeplabv3_r101-d8_512x512_4x4_40k_coco-stuff10k_20210821_043305-636cb433.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 92.59
|
||||||
|
lr schd: 80000
|
||||||
|
memory (GB): 9.6
|
||||||
|
Name: deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 39.38
|
||||||
|
mIoU(ms+flip): 40.03
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k_20210709_163016-88675c24.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 114.94
|
||||||
|
lr schd: 80000
|
||||||
|
memory (GB): 13.2
|
||||||
|
Name: deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 40.87
|
||||||
|
mIoU(ms+flip): 41.5
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_80k_coco-stuff164k_20210709_201252-13600dc2.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 160000
|
||||||
|
Name: deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 41.09
|
||||||
|
mIoU(ms+flip): 41.69
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k_20210709_163016-49f2812b.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 160000
|
||||||
|
Name: deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 41.82
|
||||||
|
mIoU(ms+flip): 42.49
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_160k_coco-stuff164k_20210709_155402-f035acfd.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 320000
|
||||||
|
Name: deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 41.37
|
||||||
|
mIoU(ms+flip): 42.22
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k/deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k_20210709_155403-51b21115.pth
|
||||||
|
- Config: configs/deeplabv3/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k.py
|
||||||
|
In Collection: deeplabv3
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 320000
|
||||||
|
Name: deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 42.61
|
||||||
|
mIoU(ms+flip): 43.42
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k/deeplabv3_r101-d8_512x512_4x4_320k_coco-stuff164k_20210709_155402-3cbca14d.pth
|
||||||
|
|||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './deeplabv3_r50-d8_512x512_4x4_160k_coco-stuff164k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './deeplabv3_r50-d8_512x512_4x4_20k_coco-stuff10k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './deeplabv3_r50-d8_512x512_4x4_320k_coco-stuff164k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './deeplabv3_r50-d8_512x512_4x4_40k_coco-stuff10k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './deeplabv3_r50-d8_512x512_4x4_80k_coco-stuff164k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/deeplabv3_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_160k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/deeplabv3_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff10k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_20k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/deeplabv3_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_320k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/deeplabv3_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff10k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_40k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/deeplabv3_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_80k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -83,3 +83,23 @@ We support evaluation results on these two datasets using models above trained o
|
|||||||
|PSPNet|R-101b-D8|Cityscapes Training set |Dark Zurich |15.54|[config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet/pspnet_r101b-d8_512x1024_80k_dark.py)| [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes_20201226_170012-3a4d38ab.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes-20201226_170012.log.json) |
|
|PSPNet|R-101b-D8|Cityscapes Training set |Dark Zurich |15.54|[config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet/pspnet_r101b-d8_512x1024_80k_dark.py)| [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes_20201226_170012-3a4d38ab.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes-20201226_170012.log.json) |
|
||||||
|PSPNet|R-101b-D8|Cityscapes Training set |Nighttime Driving|22.25|[config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet/pspnet_r101b-d8_512x1024_80k_night_driving.py)| [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes_20201226_170012-3a4d38ab.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes-20201226_170012.log.json) |
|
|PSPNet|R-101b-D8|Cityscapes Training set |Nighttime Driving|22.25|[config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet/pspnet_r101b-d8_512x1024_80k_night_driving.py)| [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes_20201226_170012-3a4d38ab.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes-20201226_170012.log.json) |
|
||||||
|PSPNet|R-101b-D8|Cityscapes Training set |Cityscapes Validation set|79.69|[config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes_20201226_170012-3a4d38ab.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes-20201226_170012.log.json) |
|
|PSPNet|R-101b-D8|Cityscapes Training set |Cityscapes Validation set|79.69|[config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes_20201226_170012-3a4d38ab.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101b-d8_512x1024_80k_cityscapes/pspnet_r101b-d8_512x1024_80k_cityscapes-20201226_170012.log.json) |
|
||||||
|
|
||||||
|
### COCO-Stuff 10k
|
||||||
|
|
||||||
|
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | config | download |
|
||||||
|
| --------- | -------- | --------- | ------: | -------- | -------------- | ----: | ------------: | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| PSPNet | R-50-D8 | 512x512 | 20000 | 9.6 | 20.5 | 35.69 | 36.62 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k_20210820_203258-b88df27f.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k_20210820_203258.log.json) |
|
||||||
|
| PSPNet | R-101-D8 | 512x512 | 20000 | 13.2 | 11.1 | 37.26 | 38.52 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k_20210820_232135-76aae482.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k_20210820_232135.log.json) |
|
||||||
|
| PSPNet | R-50-D8 | 512x512 | 40000 | - | - | 36.33 | 37.24 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k_20210821_030857-92e2902b.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k_20210821_030857.log.json) |
|
||||||
|
| PSPNet | R-101-D8 | 512x512 | 40000 | - | - | 37.76 | 38.86 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k_20210821_014022-831aec95.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k_20210821_014022.log.json) |
|
||||||
|
|
||||||
|
### COCO-Stuff 164k
|
||||||
|
|
||||||
|
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | config | download |
|
||||||
|
| --------- | -------- | --------- | ------: | -------- | -------------- | ----: | ------------: | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| PSPNet | R-50-D8 | 512x512 | 80000 | 9.6 | 20.5 | 38.80 | 39.19 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k_20210707_152034-0e41b2db.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k_20210707_152034.log.json) |
|
||||||
|
| PSPNet | R-101-D8 | 512x512 | 80000 | 13.2 | 11.1 | 40.34 | 40.79 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k_20210707_152034-7eb41789.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k_20210707_152034.log.json) |
|
||||||
|
| PSPNet | R-50-D8 | 512x512 | 160000 | - | - | 39.64 | 39.97 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k_20210707_152004-51276a57.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k_20210707_152004.log.json) |
|
||||||
|
| PSPNet | R-101-D8 | 512x512 | 160000 | - | - | 41.28 | 41.66 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k_20210707_152004-4af9621b.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k_20210707_152004.log.json) |
|
||||||
|
| PSPNet | R-50-D8 | 512x512 | 320000 | - | - | 40.53 | 40.75 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k_20210707_152004-be9610cc.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k_20210707_152004.log.json) |
|
||||||
|
| PSPNet | R-101-D8 | 512x512 | 320000 | - | - | 41.95 | 42.42 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k_20210707_152004-72220c60.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k_20210707_152004.log.json) |
|
||||||
|
|||||||
@ -7,6 +7,8 @@ Collections:
|
|||||||
- Pascal Context
|
- Pascal Context
|
||||||
- Pascal Context 59
|
- Pascal Context 59
|
||||||
- Dark Zurich and Nighttime Driving
|
- Dark Zurich and Nighttime Driving
|
||||||
|
- COCO-Stuff 10k
|
||||||
|
- COCO-Stuff 164k
|
||||||
Name: pspnet
|
Name: pspnet
|
||||||
Models:
|
Models:
|
||||||
- Config: configs/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes.py
|
- Config: configs/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes.py
|
||||||
@ -537,3 +539,175 @@ Models:
|
|||||||
mIoU(ms+flip): 53.99
|
mIoU(ms+flip): 53.99
|
||||||
Task: Semantic Segmentation
|
Task: Semantic Segmentation
|
||||||
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context_59/pspnet_r101-d8_480x480_80k_pascal_context_59_20210416_114418-fa6caaa2.pth
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context_59/pspnet_r101-d8_480x480_80k_pascal_context_59_20210416_114418-fa6caaa2.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 48.78
|
||||||
|
lr schd: 20000
|
||||||
|
memory (GB): 9.6
|
||||||
|
Name: pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 35.69
|
||||||
|
mIoU(ms+flip): 36.62
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k/pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k_20210820_203258-b88df27f.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 90.09
|
||||||
|
lr schd: 20000
|
||||||
|
memory (GB): 13.2
|
||||||
|
Name: pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 37.26
|
||||||
|
mIoU(ms+flip): 38.52
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k/pspnet_r101-d8_512x512_4x4_20k_coco-stuff10k_20210820_232135-76aae482.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 40000
|
||||||
|
Name: pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 36.33
|
||||||
|
mIoU(ms+flip): 37.24
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k/pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k_20210821_030857-92e2902b.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 40000
|
||||||
|
Name: pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 10k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 37.76
|
||||||
|
mIoU(ms+flip): 38.86
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k/pspnet_r101-d8_512x512_4x4_40k_coco-stuff10k_20210821_014022-831aec95.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 48.78
|
||||||
|
lr schd: 80000
|
||||||
|
memory (GB): 9.6
|
||||||
|
Name: pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 38.8
|
||||||
|
mIoU(ms+flip): 39.19
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k_20210707_152034-0e41b2db.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
inference time (ms/im):
|
||||||
|
- backend: PyTorch
|
||||||
|
batch size: 1
|
||||||
|
hardware: V100
|
||||||
|
mode: FP32
|
||||||
|
resolution: (512,512)
|
||||||
|
value: 90.09
|
||||||
|
lr schd: 80000
|
||||||
|
memory (GB): 13.2
|
||||||
|
Name: pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 40.34
|
||||||
|
mIoU(ms+flip): 40.79
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_80k_coco-stuff164k_20210707_152034-7eb41789.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 160000
|
||||||
|
Name: pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 39.64
|
||||||
|
mIoU(ms+flip): 39.97
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k_20210707_152004-51276a57.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 160000
|
||||||
|
Name: pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 41.28
|
||||||
|
mIoU(ms+flip): 41.66
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_160k_coco-stuff164k_20210707_152004-4af9621b.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-50-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 320000
|
||||||
|
Name: pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 40.53
|
||||||
|
mIoU(ms+flip): 40.75
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k/pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k_20210707_152004-be9610cc.pth
|
||||||
|
- Config: configs/pspnet/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k.py
|
||||||
|
In Collection: pspnet
|
||||||
|
Metadata:
|
||||||
|
backbone: R-101-D8
|
||||||
|
crop size: (512,512)
|
||||||
|
lr schd: 320000
|
||||||
|
Name: pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k
|
||||||
|
Results:
|
||||||
|
Dataset: COCO-Stuff 164k
|
||||||
|
Metrics:
|
||||||
|
mIoU: 41.95
|
||||||
|
mIoU(ms+flip): 42.42
|
||||||
|
Task: Semantic Segmentation
|
||||||
|
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k/pspnet_r101-d8_512x512_4x4_320k_coco-stuff164k_20210707_152004-72220c60.pth
|
||||||
|
|||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './pspnet_r50-d8_512x512_4x4_160k_coco-stuff164k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './pspnet_r50-d8_512x512_4x4_20k_coco-stuff10k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './pspnet_r50-d8_512x512_4x4_320k_coco-stuff164k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './pspnet_r50-d8_512x512_4x4_40k_coco-stuff10k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
_base_ = './pspnet_r50-d8_512x512_4x4_80k_coco-stuff164k.py'
|
||||||
|
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/pspnet_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_160k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/coco-stuff10k.py',
|
||||||
|
'../_base_/default_runtime.py', '../_base_/schedules/schedule_20k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/pspnet_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_320k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/coco-stuff10k.py',
|
||||||
|
'../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
_base_ = [
|
||||||
|
'../_base_/models/pspnet_r50-d8.py',
|
||||||
|
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||||
|
'../_base_/schedules/schedule_80k.py'
|
||||||
|
]
|
||||||
|
model = dict(
|
||||||
|
decode_head=dict(num_classes=171), auxiliary_head=dict(num_classes=171))
|
||||||
@ -41,6 +41,24 @@ mmsegmentation
|
|||||||
│ │ │ ├── images
|
│ │ │ ├── images
|
||||||
│ │ │ │ ├── training
|
│ │ │ │ ├── training
|
||||||
│ │ │ │ ├── validation
|
│ │ │ │ ├── validation
|
||||||
|
│ ├── coco_stuff10k
|
||||||
|
│ │ ├── images
|
||||||
|
│ │ │ ├── train2014
|
||||||
|
│ │ │ ├── test2014
|
||||||
|
│ │ ├── annotations
|
||||||
|
│ │ │ ├── train2014
|
||||||
|
│ │ │ ├── test2014
|
||||||
|
│ │ ├── imagesLists
|
||||||
|
│ │ │ ├── train.txt
|
||||||
|
│ │ │ ├── test.txt
|
||||||
|
│ │ │ ├── all.txt
|
||||||
|
│ ├── coco_stuff164k
|
||||||
|
│ │ ├── images
|
||||||
|
│ │ │ ├── train2017
|
||||||
|
│ │ │ ├── val2017
|
||||||
|
│ │ ├── annotations
|
||||||
|
│ │ │ ├── train2017
|
||||||
|
│ │ │ ├── val2017
|
||||||
│ ├── CHASE_DB1
|
│ ├── CHASE_DB1
|
||||||
│ │ ├── images
|
│ │ ├── images
|
||||||
│ │ │ ├── training
|
│ │ │ ├── training
|
||||||
@ -136,6 +154,50 @@ If you would like to use Pascal Context dataset, please install [Detail](https:/
|
|||||||
python tools/convert_datasets/pascal_context.py data/VOCdevkit data/VOCdevkit/VOC2010/trainval_merged.json
|
python tools/convert_datasets/pascal_context.py data/VOCdevkit data/VOCdevkit/VOC2010/trainval_merged.json
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### COCO Stuff 10k
|
||||||
|
|
||||||
|
The data could be downloaded [here](http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.zip) by wget.
|
||||||
|
|
||||||
|
For COCO Stuff 10k dataset, please run the following commands to download and convert the dataset.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# download
|
||||||
|
mkdir coco_stuff10k && cd coco_stuff10k
|
||||||
|
wget http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.zip
|
||||||
|
|
||||||
|
# unzip
|
||||||
|
unzip cocostuff-10k-v1.1.zip
|
||||||
|
|
||||||
|
# --nproc means 8 process for conversion, which could be omitted as well.
|
||||||
|
python tools/convert_datasets/coco_stuff10k.py /path/to/coco_stuff10k --nproc 8
|
||||||
|
```
|
||||||
|
|
||||||
|
By convention, mask labels in `/path/to/coco_stuff164k/annotations/*2014/*_labelTrainIds.png` are used for COCO Stuff 10k training and testing.
|
||||||
|
|
||||||
|
### COCO Stuff 164k
|
||||||
|
|
||||||
|
For COCO Stuff 164k dataset, please run the following commands to download and convert the augmented dataset.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# download
|
||||||
|
mkdir coco_stuff164k && cd coco_stuff164k
|
||||||
|
wget http://images.cocodataset.org/zips/train2017.zip
|
||||||
|
wget http://images.cocodataset.org/zips/val2017.zip
|
||||||
|
wget http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/stuffthingmaps_trainval2017.zip
|
||||||
|
|
||||||
|
# unzip
|
||||||
|
unzip train2017.zip -d images/
|
||||||
|
unzip val2017.zip -d images/
|
||||||
|
unzip stuffthingmaps_trainval2017.zip -d annotations/
|
||||||
|
|
||||||
|
# --nproc means 8 process for conversion, which could be omitted as well.
|
||||||
|
python tools/convert_datasets/coco_stuff164k.py /path/to/coco_stuff164k --nproc 8
|
||||||
|
```
|
||||||
|
|
||||||
|
By convention, mask labels in `/path/to/coco_stuff164k/annotations/*2017/*_labelTrainIds.png` are used for COCO Stuff 164k training and testing.
|
||||||
|
|
||||||
|
The details of this dataset could be found at [here](https://github.com/nightrome/cocostuff#downloads).
|
||||||
|
|
||||||
### CHASE DB1
|
### CHASE DB1
|
||||||
|
|
||||||
The training and validation set of CHASE DB1 could be download from [here](https://staffnet.kingston.ac.uk/~ku15565/CHASE_DB1/assets/CHASEDB1.zip).
|
The training and validation set of CHASE DB1 could be download from [here](https://staffnet.kingston.ac.uk/~ku15565/CHASE_DB1/assets/CHASEDB1.zip).
|
||||||
|
|||||||
@ -3,6 +3,7 @@ from .ade import ADE20KDataset
|
|||||||
from .builder import DATASETS, PIPELINES, build_dataloader, build_dataset
|
from .builder import DATASETS, PIPELINES, build_dataloader, build_dataset
|
||||||
from .chase_db1 import ChaseDB1Dataset
|
from .chase_db1 import ChaseDB1Dataset
|
||||||
from .cityscapes import CityscapesDataset
|
from .cityscapes import CityscapesDataset
|
||||||
|
from .coco_stuff import COCOStuffDataset
|
||||||
from .custom import CustomDataset
|
from .custom import CustomDataset
|
||||||
from .dark_zurich import DarkZurichDataset
|
from .dark_zurich import DarkZurichDataset
|
||||||
from .dataset_wrappers import ConcatDataset, RepeatDataset
|
from .dataset_wrappers import ConcatDataset, RepeatDataset
|
||||||
@ -18,5 +19,6 @@ __all__ = [
|
|||||||
'DATASETS', 'build_dataset', 'PIPELINES', 'CityscapesDataset',
|
'DATASETS', 'build_dataset', 'PIPELINES', 'CityscapesDataset',
|
||||||
'PascalVOCDataset', 'ADE20KDataset', 'PascalContextDataset',
|
'PascalVOCDataset', 'ADE20KDataset', 'PascalContextDataset',
|
||||||
'PascalContextDataset59', 'ChaseDB1Dataset', 'DRIVEDataset', 'HRFDataset',
|
'PascalContextDataset59', 'ChaseDB1Dataset', 'DRIVEDataset', 'HRFDataset',
|
||||||
'STAREDataset', 'DarkZurichDataset', 'NightDrivingDataset'
|
'STAREDataset', 'DarkZurichDataset', 'NightDrivingDataset',
|
||||||
|
'COCOStuffDataset'
|
||||||
]
|
]
|
||||||
|
|||||||
93
mmseg/datasets/coco_stuff.py
Normal file
93
mmseg/datasets/coco_stuff.py
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
from .builder import DATASETS
|
||||||
|
from .custom import CustomDataset
|
||||||
|
|
||||||
|
|
||||||
|
@DATASETS.register_module()
|
||||||
|
class COCOStuffDataset(CustomDataset):
|
||||||
|
"""COCO-Stuff dataset.
|
||||||
|
|
||||||
|
In segmentation map annotation for COCO-Stuff, Train-IDs of the 10k version
|
||||||
|
are from 1 to 171, where 0 is the ignore index, and Train-ID of COCO Stuff
|
||||||
|
164k is from 0 to 170, where 255 is the ignore index. So, they are all 171
|
||||||
|
semantic categories. ``reduce_zero_label`` is set to True and False for the
|
||||||
|
10k and 164k versions, respectively. The ``img_suffix`` is fixed to '.jpg',
|
||||||
|
and ``seg_map_suffix`` is fixed to '.png'.
|
||||||
|
"""
|
||||||
|
CLASSES = (
|
||||||
|
'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train',
|
||||||
|
'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign',
|
||||||
|
'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep',
|
||||||
|
'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella',
|
||||||
|
'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard',
|
||||||
|
'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard',
|
||||||
|
'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork',
|
||||||
|
'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange',
|
||||||
|
'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair',
|
||||||
|
'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv',
|
||||||
|
'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave',
|
||||||
|
'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase',
|
||||||
|
'scissors', 'teddy bear', 'hair drier', 'toothbrush', 'banner',
|
||||||
|
'blanket', 'branch', 'bridge', 'building-other', 'bush', 'cabinet',
|
||||||
|
'cage', 'cardboard', 'carpet', 'ceiling-other', 'ceiling-tile',
|
||||||
|
'cloth', 'clothes', 'clouds', 'counter', 'cupboard', 'curtain',
|
||||||
|
'desk-stuff', 'dirt', 'door-stuff', 'fence', 'floor-marble',
|
||||||
|
'floor-other', 'floor-stone', 'floor-tile', 'floor-wood',
|
||||||
|
'flower', 'fog', 'food-other', 'fruit', 'furniture-other', 'grass',
|
||||||
|
'gravel', 'ground-other', 'hill', 'house', 'leaves', 'light', 'mat',
|
||||||
|
'metal', 'mirror-stuff', 'moss', 'mountain', 'mud', 'napkin', 'net',
|
||||||
|
'paper', 'pavement', 'pillow', 'plant-other', 'plastic', 'platform',
|
||||||
|
'playingfield', 'railing', 'railroad', 'river', 'road', 'rock', 'roof',
|
||||||
|
'rug', 'salad', 'sand', 'sea', 'shelf', 'sky-other', 'skyscraper',
|
||||||
|
'snow', 'solid-other', 'stairs', 'stone', 'straw', 'structural-other',
|
||||||
|
'table', 'tent', 'textile-other', 'towel', 'tree', 'vegetable',
|
||||||
|
'wall-brick', 'wall-concrete', 'wall-other', 'wall-panel',
|
||||||
|
'wall-stone', 'wall-tile', 'wall-wood', 'water-other', 'waterdrops',
|
||||||
|
'window-blind', 'window-other', 'wood')
|
||||||
|
|
||||||
|
PALETTE = [[0, 192, 64], [0, 192, 64], [0, 64, 96], [128, 192, 192],
|
||||||
|
[0, 64, 64], [0, 192, 224], [0, 192, 192], [128, 192, 64],
|
||||||
|
[0, 192, 96], [128, 192, 64], [128, 32, 192], [0, 0, 224],
|
||||||
|
[0, 0, 64], [0, 160, 192], [128, 0, 96], [128, 0, 192],
|
||||||
|
[0, 32, 192], [128, 128, 224], [0, 0, 192], [128, 160, 192],
|
||||||
|
[128, 128, 0], [128, 0, 32], [128, 32, 0], [128, 0, 128],
|
||||||
|
[64, 128, 32], [0, 160, 0], [0, 0, 0], [192, 128, 160],
|
||||||
|
[0, 32, 0], [0, 128, 128], [64, 128, 160], [128, 160, 0],
|
||||||
|
[0, 128, 0], [192, 128, 32], [128, 96, 128], [0, 0, 128],
|
||||||
|
[64, 0, 32], [0, 224, 128], [128, 0, 0], [192, 0, 160],
|
||||||
|
[0, 96, 128], [128, 128, 128], [64, 0, 160], [128, 224, 128],
|
||||||
|
[128, 128, 64], [192, 0, 32], [128, 96, 0], [128, 0, 192],
|
||||||
|
[0, 128, 32], [64, 224, 0], [0, 0, 64], [128, 128, 160],
|
||||||
|
[64, 96, 0], [0, 128, 192], [0, 128, 160], [192, 224, 0],
|
||||||
|
[0, 128, 64], [128, 128, 32], [192, 32, 128], [0, 64, 192],
|
||||||
|
[0, 0, 32], [64, 160, 128], [128, 64, 64], [128, 0, 160],
|
||||||
|
[64, 32, 128], [128, 192, 192], [0, 0, 160], [192, 160, 128],
|
||||||
|
[128, 192, 0], [128, 0, 96], [192, 32, 0], [128, 64, 128],
|
||||||
|
[64, 128, 96], [64, 160, 0], [0, 64, 0], [192, 128, 224],
|
||||||
|
[64, 32, 0], [0, 192, 128], [64, 128, 224], [192, 160, 0],
|
||||||
|
[0, 192, 0], [192, 128, 96], [192, 96, 128], [0, 64, 128],
|
||||||
|
[64, 0, 96], [64, 224, 128], [128, 64, 0], [192, 0, 224],
|
||||||
|
[64, 96, 128], [128, 192, 128], [64, 0, 224], [192, 224, 128],
|
||||||
|
[128, 192, 64], [192, 0, 96], [192, 96, 0], [128, 64, 192],
|
||||||
|
[0, 128, 96], [0, 224, 0], [64, 64, 64], [128, 128, 224],
|
||||||
|
[0, 96, 0], [64, 192, 192], [0, 128, 224], [128, 224, 0],
|
||||||
|
[64, 192, 64], [128, 128, 96], [128, 32, 128], [64, 0, 192],
|
||||||
|
[0, 64, 96], [0, 160, 128], [192, 0, 64], [128, 64, 224],
|
||||||
|
[0, 32, 128], [192, 128, 192], [0, 64, 224], [128, 160, 128],
|
||||||
|
[192, 128, 0], [128, 64, 32], [128, 32, 64], [192, 0, 128],
|
||||||
|
[64, 192, 32], [0, 160, 64], [64, 0, 0], [192, 192, 160],
|
||||||
|
[0, 32, 64], [64, 128, 128], [64, 192, 160], [128, 160, 64],
|
||||||
|
[64, 128, 0], [192, 192, 32], [128, 96, 192], [64, 0, 128],
|
||||||
|
[64, 64, 32], [0, 224, 192], [192, 0, 0], [192, 64, 160],
|
||||||
|
[0, 96, 192], [192, 128, 128], [64, 64, 160], [128, 224, 192],
|
||||||
|
[192, 128, 64], [192, 64, 32], [128, 96, 64], [192, 0, 192],
|
||||||
|
[0, 192, 32], [64, 224, 64], [64, 0, 64], [128, 192, 160],
|
||||||
|
[64, 96, 64], [64, 128, 192], [0, 192, 160], [192, 224, 64],
|
||||||
|
[64, 128, 64], [128, 192, 32], [192, 32, 192], [64, 64, 192],
|
||||||
|
[0, 64, 32], [64, 160, 192], [192, 64, 64], [128, 64, 160],
|
||||||
|
[64, 32, 192], [192, 192, 192], [0, 64, 160], [192, 160, 192],
|
||||||
|
[192, 192, 0], [128, 64, 96], [192, 32, 64], [192, 64, 128],
|
||||||
|
[64, 192, 96], [64, 160, 64], [64, 64, 0]]
|
||||||
|
|
||||||
|
def __init__(self, **kwargs):
|
||||||
|
super(COCOStuffDataset, self).__init__(
|
||||||
|
img_suffix='.jpg', seg_map_suffix='_labelTrainIds.png', **kwargs)
|
||||||
306
tools/convert_datasets/coco_stuff10k.py
Normal file
306
tools/convert_datasets/coco_stuff10k.py
Normal file
@ -0,0 +1,306 @@
|
|||||||
|
import argparse
|
||||||
|
import os.path as osp
|
||||||
|
import shutil
|
||||||
|
from functools import partial
|
||||||
|
|
||||||
|
import mmcv
|
||||||
|
import numpy as np
|
||||||
|
from PIL import Image
|
||||||
|
from scipy.io import loadmat
|
||||||
|
|
||||||
|
COCO_LEN = 10000
|
||||||
|
|
||||||
|
clsID_to_trID = {
|
||||||
|
0: 0,
|
||||||
|
1: 1,
|
||||||
|
2: 2,
|
||||||
|
3: 3,
|
||||||
|
4: 4,
|
||||||
|
5: 5,
|
||||||
|
6: 6,
|
||||||
|
7: 7,
|
||||||
|
8: 8,
|
||||||
|
9: 9,
|
||||||
|
10: 10,
|
||||||
|
11: 11,
|
||||||
|
13: 12,
|
||||||
|
14: 13,
|
||||||
|
15: 14,
|
||||||
|
16: 15,
|
||||||
|
17: 16,
|
||||||
|
18: 17,
|
||||||
|
19: 18,
|
||||||
|
20: 19,
|
||||||
|
21: 20,
|
||||||
|
22: 21,
|
||||||
|
23: 22,
|
||||||
|
24: 23,
|
||||||
|
25: 24,
|
||||||
|
27: 25,
|
||||||
|
28: 26,
|
||||||
|
31: 27,
|
||||||
|
32: 28,
|
||||||
|
33: 29,
|
||||||
|
34: 30,
|
||||||
|
35: 31,
|
||||||
|
36: 32,
|
||||||
|
37: 33,
|
||||||
|
38: 34,
|
||||||
|
39: 35,
|
||||||
|
40: 36,
|
||||||
|
41: 37,
|
||||||
|
42: 38,
|
||||||
|
43: 39,
|
||||||
|
44: 40,
|
||||||
|
46: 41,
|
||||||
|
47: 42,
|
||||||
|
48: 43,
|
||||||
|
49: 44,
|
||||||
|
50: 45,
|
||||||
|
51: 46,
|
||||||
|
52: 47,
|
||||||
|
53: 48,
|
||||||
|
54: 49,
|
||||||
|
55: 50,
|
||||||
|
56: 51,
|
||||||
|
57: 52,
|
||||||
|
58: 53,
|
||||||
|
59: 54,
|
||||||
|
60: 55,
|
||||||
|
61: 56,
|
||||||
|
62: 57,
|
||||||
|
63: 58,
|
||||||
|
64: 59,
|
||||||
|
65: 60,
|
||||||
|
67: 61,
|
||||||
|
70: 62,
|
||||||
|
72: 63,
|
||||||
|
73: 64,
|
||||||
|
74: 65,
|
||||||
|
75: 66,
|
||||||
|
76: 67,
|
||||||
|
77: 68,
|
||||||
|
78: 69,
|
||||||
|
79: 70,
|
||||||
|
80: 71,
|
||||||
|
81: 72,
|
||||||
|
82: 73,
|
||||||
|
84: 74,
|
||||||
|
85: 75,
|
||||||
|
86: 76,
|
||||||
|
87: 77,
|
||||||
|
88: 78,
|
||||||
|
89: 79,
|
||||||
|
90: 80,
|
||||||
|
92: 81,
|
||||||
|
93: 82,
|
||||||
|
94: 83,
|
||||||
|
95: 84,
|
||||||
|
96: 85,
|
||||||
|
97: 86,
|
||||||
|
98: 87,
|
||||||
|
99: 88,
|
||||||
|
100: 89,
|
||||||
|
101: 90,
|
||||||
|
102: 91,
|
||||||
|
103: 92,
|
||||||
|
104: 93,
|
||||||
|
105: 94,
|
||||||
|
106: 95,
|
||||||
|
107: 96,
|
||||||
|
108: 97,
|
||||||
|
109: 98,
|
||||||
|
110: 99,
|
||||||
|
111: 100,
|
||||||
|
112: 101,
|
||||||
|
113: 102,
|
||||||
|
114: 103,
|
||||||
|
115: 104,
|
||||||
|
116: 105,
|
||||||
|
117: 106,
|
||||||
|
118: 107,
|
||||||
|
119: 108,
|
||||||
|
120: 109,
|
||||||
|
121: 110,
|
||||||
|
122: 111,
|
||||||
|
123: 112,
|
||||||
|
124: 113,
|
||||||
|
125: 114,
|
||||||
|
126: 115,
|
||||||
|
127: 116,
|
||||||
|
128: 117,
|
||||||
|
129: 118,
|
||||||
|
130: 119,
|
||||||
|
131: 120,
|
||||||
|
132: 121,
|
||||||
|
133: 122,
|
||||||
|
134: 123,
|
||||||
|
135: 124,
|
||||||
|
136: 125,
|
||||||
|
137: 126,
|
||||||
|
138: 127,
|
||||||
|
139: 128,
|
||||||
|
140: 129,
|
||||||
|
141: 130,
|
||||||
|
142: 131,
|
||||||
|
143: 132,
|
||||||
|
144: 133,
|
||||||
|
145: 134,
|
||||||
|
146: 135,
|
||||||
|
147: 136,
|
||||||
|
148: 137,
|
||||||
|
149: 138,
|
||||||
|
150: 139,
|
||||||
|
151: 140,
|
||||||
|
152: 141,
|
||||||
|
153: 142,
|
||||||
|
154: 143,
|
||||||
|
155: 144,
|
||||||
|
156: 145,
|
||||||
|
157: 146,
|
||||||
|
158: 147,
|
||||||
|
159: 148,
|
||||||
|
160: 149,
|
||||||
|
161: 150,
|
||||||
|
162: 151,
|
||||||
|
163: 152,
|
||||||
|
164: 153,
|
||||||
|
165: 154,
|
||||||
|
166: 155,
|
||||||
|
167: 156,
|
||||||
|
168: 157,
|
||||||
|
169: 158,
|
||||||
|
170: 159,
|
||||||
|
171: 160,
|
||||||
|
172: 161,
|
||||||
|
173: 162,
|
||||||
|
174: 163,
|
||||||
|
175: 164,
|
||||||
|
176: 165,
|
||||||
|
177: 166,
|
||||||
|
178: 167,
|
||||||
|
179: 168,
|
||||||
|
180: 169,
|
||||||
|
181: 170,
|
||||||
|
182: 171
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def convert_to_trainID(tuple_path, in_img_dir, in_ann_dir, out_img_dir,
|
||||||
|
out_mask_dir, is_train):
|
||||||
|
imgpath, maskpath = tuple_path
|
||||||
|
shutil.copyfile(
|
||||||
|
osp.join(in_img_dir, imgpath),
|
||||||
|
osp.join(out_img_dir, 'train2014', imgpath) if is_train else osp.join(
|
||||||
|
out_img_dir, 'test2014', imgpath))
|
||||||
|
annotate = loadmat(osp.join(in_ann_dir, maskpath))
|
||||||
|
mask = annotate['S'].astype(np.uint8)
|
||||||
|
mask_copy = mask.copy()
|
||||||
|
for clsID, trID in clsID_to_trID.items():
|
||||||
|
mask_copy[mask == clsID] = trID
|
||||||
|
seg_filename = osp.join(out_mask_dir, 'train2014',
|
||||||
|
maskpath.split('.')[0] +
|
||||||
|
'_labelTrainIds.png') if is_train else osp.join(
|
||||||
|
out_mask_dir, 'test2014',
|
||||||
|
maskpath.split('.')[0] + '_labelTrainIds.png')
|
||||||
|
Image.fromarray(mask_copy).save(seg_filename, 'PNG')
|
||||||
|
|
||||||
|
|
||||||
|
def generate_coco_list(folder):
|
||||||
|
train_list = osp.join(folder, 'imageLists', 'train.txt')
|
||||||
|
test_list = osp.join(folder, 'imageLists', 'test.txt')
|
||||||
|
train_paths = []
|
||||||
|
test_paths = []
|
||||||
|
|
||||||
|
with open(train_list) as f:
|
||||||
|
for filename in f:
|
||||||
|
basename = filename.strip()
|
||||||
|
imgpath = basename + '.jpg'
|
||||||
|
maskpath = basename + '.mat'
|
||||||
|
train_paths.append((imgpath, maskpath))
|
||||||
|
|
||||||
|
with open(test_list) as f:
|
||||||
|
for filename in f:
|
||||||
|
basename = filename.strip()
|
||||||
|
imgpath = basename + '.jpg'
|
||||||
|
maskpath = basename + '.mat'
|
||||||
|
test_paths.append((imgpath, maskpath))
|
||||||
|
|
||||||
|
return train_paths, test_paths
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args():
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description=\
|
||||||
|
'Convert COCO Stuff 10k annotations to mmsegmentation format') # noqa
|
||||||
|
parser.add_argument('coco_path', help='coco stuff path')
|
||||||
|
parser.add_argument('-o', '--out_dir', help='output path')
|
||||||
|
parser.add_argument(
|
||||||
|
'--nproc', default=16, type=int, help='number of process')
|
||||||
|
args = parser.parse_args()
|
||||||
|
return args
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = parse_args()
|
||||||
|
coco_path = args.coco_path
|
||||||
|
nproc = args.nproc
|
||||||
|
|
||||||
|
out_dir = args.out_dir or coco_path
|
||||||
|
out_img_dir = osp.join(out_dir, 'images')
|
||||||
|
out_mask_dir = osp.join(out_dir, 'annotations')
|
||||||
|
|
||||||
|
mmcv.mkdir_or_exist(osp.join(out_img_dir, 'train2014'))
|
||||||
|
mmcv.mkdir_or_exist(osp.join(out_img_dir, 'test2014'))
|
||||||
|
mmcv.mkdir_or_exist(osp.join(out_mask_dir, 'train2014'))
|
||||||
|
mmcv.mkdir_or_exist(osp.join(out_mask_dir, 'test2014'))
|
||||||
|
|
||||||
|
train_list, test_list = generate_coco_list(coco_path)
|
||||||
|
assert (len(train_list) +
|
||||||
|
len(test_list)) == COCO_LEN, 'Wrong length of list {} & {}'.format(
|
||||||
|
len(train_list), len(test_list))
|
||||||
|
|
||||||
|
if args.nproc > 1:
|
||||||
|
mmcv.track_parallel_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID,
|
||||||
|
in_img_dir=osp.join(coco_path, 'images'),
|
||||||
|
in_ann_dir=osp.join(coco_path, 'annotations'),
|
||||||
|
out_img_dir=out_img_dir,
|
||||||
|
out_mask_dir=out_mask_dir,
|
||||||
|
is_train=True),
|
||||||
|
train_list,
|
||||||
|
nproc=nproc)
|
||||||
|
mmcv.track_parallel_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID,
|
||||||
|
in_img_dir=osp.join(coco_path, 'images'),
|
||||||
|
in_ann_dir=osp.join(coco_path, 'annotations'),
|
||||||
|
out_img_dir=out_img_dir,
|
||||||
|
out_mask_dir=out_mask_dir,
|
||||||
|
is_train=False),
|
||||||
|
test_list,
|
||||||
|
nproc=nproc)
|
||||||
|
else:
|
||||||
|
mmcv.track_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID,
|
||||||
|
in_img_dir=osp.join(coco_path, 'images'),
|
||||||
|
in_ann_dir=osp.join(coco_path, 'annotations'),
|
||||||
|
out_img_dir=out_img_dir,
|
||||||
|
out_mask_dir=out_mask_dir,
|
||||||
|
is_train=True), train_list)
|
||||||
|
mmcv.track_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID,
|
||||||
|
in_img_dir=osp.join(coco_path, 'images'),
|
||||||
|
in_ann_dir=osp.join(coco_path, 'annotations'),
|
||||||
|
out_img_dir=out_img_dir,
|
||||||
|
out_mask_dir=out_mask_dir,
|
||||||
|
is_train=False), test_list)
|
||||||
|
|
||||||
|
print('Done!')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
263
tools/convert_datasets/coco_stuff164k.py
Normal file
263
tools/convert_datasets/coco_stuff164k.py
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
import argparse
|
||||||
|
import os.path as osp
|
||||||
|
import shutil
|
||||||
|
from functools import partial
|
||||||
|
from glob import glob
|
||||||
|
|
||||||
|
import mmcv
|
||||||
|
import numpy as np
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
COCO_LEN = 123287
|
||||||
|
|
||||||
|
clsID_to_trID = {
|
||||||
|
0: 0,
|
||||||
|
1: 1,
|
||||||
|
2: 2,
|
||||||
|
3: 3,
|
||||||
|
4: 4,
|
||||||
|
5: 5,
|
||||||
|
6: 6,
|
||||||
|
7: 7,
|
||||||
|
8: 8,
|
||||||
|
9: 9,
|
||||||
|
10: 10,
|
||||||
|
12: 11,
|
||||||
|
13: 12,
|
||||||
|
14: 13,
|
||||||
|
15: 14,
|
||||||
|
16: 15,
|
||||||
|
17: 16,
|
||||||
|
18: 17,
|
||||||
|
19: 18,
|
||||||
|
20: 19,
|
||||||
|
21: 20,
|
||||||
|
22: 21,
|
||||||
|
23: 22,
|
||||||
|
24: 23,
|
||||||
|
26: 24,
|
||||||
|
27: 25,
|
||||||
|
30: 26,
|
||||||
|
31: 27,
|
||||||
|
32: 28,
|
||||||
|
33: 29,
|
||||||
|
34: 30,
|
||||||
|
35: 31,
|
||||||
|
36: 32,
|
||||||
|
37: 33,
|
||||||
|
38: 34,
|
||||||
|
39: 35,
|
||||||
|
40: 36,
|
||||||
|
41: 37,
|
||||||
|
42: 38,
|
||||||
|
43: 39,
|
||||||
|
45: 40,
|
||||||
|
46: 41,
|
||||||
|
47: 42,
|
||||||
|
48: 43,
|
||||||
|
49: 44,
|
||||||
|
50: 45,
|
||||||
|
51: 46,
|
||||||
|
52: 47,
|
||||||
|
53: 48,
|
||||||
|
54: 49,
|
||||||
|
55: 50,
|
||||||
|
56: 51,
|
||||||
|
57: 52,
|
||||||
|
58: 53,
|
||||||
|
59: 54,
|
||||||
|
60: 55,
|
||||||
|
61: 56,
|
||||||
|
62: 57,
|
||||||
|
63: 58,
|
||||||
|
64: 59,
|
||||||
|
66: 60,
|
||||||
|
69: 61,
|
||||||
|
71: 62,
|
||||||
|
72: 63,
|
||||||
|
73: 64,
|
||||||
|
74: 65,
|
||||||
|
75: 66,
|
||||||
|
76: 67,
|
||||||
|
77: 68,
|
||||||
|
78: 69,
|
||||||
|
79: 70,
|
||||||
|
80: 71,
|
||||||
|
81: 72,
|
||||||
|
83: 73,
|
||||||
|
84: 74,
|
||||||
|
85: 75,
|
||||||
|
86: 76,
|
||||||
|
87: 77,
|
||||||
|
88: 78,
|
||||||
|
89: 79,
|
||||||
|
91: 80,
|
||||||
|
92: 81,
|
||||||
|
93: 82,
|
||||||
|
94: 83,
|
||||||
|
95: 84,
|
||||||
|
96: 85,
|
||||||
|
97: 86,
|
||||||
|
98: 87,
|
||||||
|
99: 88,
|
||||||
|
100: 89,
|
||||||
|
101: 90,
|
||||||
|
102: 91,
|
||||||
|
103: 92,
|
||||||
|
104: 93,
|
||||||
|
105: 94,
|
||||||
|
106: 95,
|
||||||
|
107: 96,
|
||||||
|
108: 97,
|
||||||
|
109: 98,
|
||||||
|
110: 99,
|
||||||
|
111: 100,
|
||||||
|
112: 101,
|
||||||
|
113: 102,
|
||||||
|
114: 103,
|
||||||
|
115: 104,
|
||||||
|
116: 105,
|
||||||
|
117: 106,
|
||||||
|
118: 107,
|
||||||
|
119: 108,
|
||||||
|
120: 109,
|
||||||
|
121: 110,
|
||||||
|
122: 111,
|
||||||
|
123: 112,
|
||||||
|
124: 113,
|
||||||
|
125: 114,
|
||||||
|
126: 115,
|
||||||
|
127: 116,
|
||||||
|
128: 117,
|
||||||
|
129: 118,
|
||||||
|
130: 119,
|
||||||
|
131: 120,
|
||||||
|
132: 121,
|
||||||
|
133: 122,
|
||||||
|
134: 123,
|
||||||
|
135: 124,
|
||||||
|
136: 125,
|
||||||
|
137: 126,
|
||||||
|
138: 127,
|
||||||
|
139: 128,
|
||||||
|
140: 129,
|
||||||
|
141: 130,
|
||||||
|
142: 131,
|
||||||
|
143: 132,
|
||||||
|
144: 133,
|
||||||
|
145: 134,
|
||||||
|
146: 135,
|
||||||
|
147: 136,
|
||||||
|
148: 137,
|
||||||
|
149: 138,
|
||||||
|
150: 139,
|
||||||
|
151: 140,
|
||||||
|
152: 141,
|
||||||
|
153: 142,
|
||||||
|
154: 143,
|
||||||
|
155: 144,
|
||||||
|
156: 145,
|
||||||
|
157: 146,
|
||||||
|
158: 147,
|
||||||
|
159: 148,
|
||||||
|
160: 149,
|
||||||
|
161: 150,
|
||||||
|
162: 151,
|
||||||
|
163: 152,
|
||||||
|
164: 153,
|
||||||
|
165: 154,
|
||||||
|
166: 155,
|
||||||
|
167: 156,
|
||||||
|
168: 157,
|
||||||
|
169: 158,
|
||||||
|
170: 159,
|
||||||
|
171: 160,
|
||||||
|
172: 161,
|
||||||
|
173: 162,
|
||||||
|
174: 163,
|
||||||
|
175: 164,
|
||||||
|
176: 165,
|
||||||
|
177: 166,
|
||||||
|
178: 167,
|
||||||
|
179: 168,
|
||||||
|
180: 169,
|
||||||
|
181: 170,
|
||||||
|
255: 255
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def convert_to_trainID(maskpath, out_mask_dir, is_train):
|
||||||
|
mask = np.array(Image.open(maskpath))
|
||||||
|
mask_copy = mask.copy()
|
||||||
|
for clsID, trID in clsID_to_trID.items():
|
||||||
|
mask_copy[mask == clsID] = trID
|
||||||
|
seg_filename = osp.join(
|
||||||
|
out_mask_dir, 'train2017',
|
||||||
|
osp.basename(maskpath).split('.')[0] +
|
||||||
|
'_labelTrainIds.png') if is_train else osp.join(
|
||||||
|
out_mask_dir, 'val2017',
|
||||||
|
osp.basename(maskpath).split('.')[0] + '_labelTrainIds.png')
|
||||||
|
Image.fromarray(mask_copy).save(seg_filename, 'PNG')
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args():
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description=\
|
||||||
|
'Convert COCO Stuff 164k annotations to mmsegmentation format') # noqa
|
||||||
|
parser.add_argument('coco_path', help='coco stuff path')
|
||||||
|
parser.add_argument('-o', '--out_dir', help='output path')
|
||||||
|
parser.add_argument(
|
||||||
|
'--nproc', default=16, type=int, help='number of process')
|
||||||
|
args = parser.parse_args()
|
||||||
|
return args
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = parse_args()
|
||||||
|
coco_path = args.coco_path
|
||||||
|
nproc = args.nproc
|
||||||
|
|
||||||
|
out_dir = args.out_dir or coco_path
|
||||||
|
out_img_dir = osp.join(out_dir, 'images')
|
||||||
|
out_mask_dir = osp.join(out_dir, 'annotations')
|
||||||
|
|
||||||
|
mmcv.mkdir_or_exist(osp.join(out_mask_dir, 'train2017'))
|
||||||
|
mmcv.mkdir_or_exist(osp.join(out_mask_dir, 'val2017'))
|
||||||
|
|
||||||
|
if out_dir != coco_path:
|
||||||
|
shutil.copytree(osp.join(coco_path, 'images'), out_img_dir)
|
||||||
|
|
||||||
|
train_list = glob(osp.join(coco_path, 'annotations', 'train2017', '*.png'))
|
||||||
|
train_list = [file for file in train_list if '_labelTrainIds' not in file]
|
||||||
|
test_list = glob(osp.join(coco_path, 'annotations', 'val2017', '*.png'))
|
||||||
|
test_list = [file for file in test_list if '_labelTrainIds' not in file]
|
||||||
|
assert (len(train_list) +
|
||||||
|
len(test_list)) == COCO_LEN, 'Wrong length of list {} & {}'.format(
|
||||||
|
len(train_list), len(test_list))
|
||||||
|
|
||||||
|
if args.nproc > 1:
|
||||||
|
mmcv.track_parallel_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID, out_mask_dir=out_mask_dir, is_train=True),
|
||||||
|
train_list,
|
||||||
|
nproc=nproc)
|
||||||
|
mmcv.track_parallel_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID, out_mask_dir=out_mask_dir, is_train=False),
|
||||||
|
test_list,
|
||||||
|
nproc=nproc)
|
||||||
|
else:
|
||||||
|
mmcv.track_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID, out_mask_dir=out_mask_dir, is_train=True),
|
||||||
|
train_list)
|
||||||
|
mmcv.track_progress(
|
||||||
|
partial(
|
||||||
|
convert_to_trainID, out_mask_dir=out_mask_dir, is_train=False),
|
||||||
|
test_list)
|
||||||
|
|
||||||
|
print('Done!')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
Loading…
x
Reference in New Issue
Block a user