mirror of
https://github.com/open-mmlab/mmsegmentation.git
synced 2025-06-03 22:03:48 +08:00
* Add support for Pascal Context 59 classes (#459) * Create PascalContextDataset59 class in mmseg/datasets/pascal_context.py; * Set reduce_zero_label=True for train_pipeline and PascalContextDataset59; * Add some configs for Pascal-Context 59 classes training and testing; * Try to solve the problem about "fence(IoU)=nan grass(IoU)=0"; * Continue(1): Try to solve the problem about "fence(IoU)=nan grass(IoU)=0"; * ignore files and folders named tempxxx; * Continue(2): Try to solve the problem about "fence(IoU)=nan grass(IoU)=0"; * Modify the calculation of IoU; * Modify the CLASSES order of PascalContextDataset; * Add "fcn", "deeplabv3", "deeplabv3+", "pspnet" config file for model training based on PascalContextDataset59; Add some ignore items in ".gitignore"; * fix the bug "test_cfg specified in both outer field and model field " of pspnet config file; * * Clean unnecessary codes; * Add weighs link, config link, log link and evaluation results about PascalContextDataset59 in README.md * Add command line argument: "-p | --port", this arg can change the transmit port when you transmit data to distributed machine. * * Remove rebundant config files; * Remove "-p|--port" command argument; Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
61 lines
2.0 KiB
Python
61 lines
2.0 KiB
Python
# dataset settings
|
|
dataset_type = 'PascalContextDataset59'
|
|
data_root = 'data/VOCdevkit/VOC2010/'
|
|
img_norm_cfg = dict(
|
|
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
|
|
|
|
img_scale = (520, 520)
|
|
crop_size = (480, 480)
|
|
|
|
train_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='LoadAnnotations', reduce_zero_label=True),
|
|
dict(type='Resize', img_scale=img_scale, 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=img_scale,
|
|
# 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='JPEGImages',
|
|
ann_dir='SegmentationClassContext',
|
|
split='ImageSets/SegmentationContext/train.txt',
|
|
pipeline=train_pipeline),
|
|
val=dict(
|
|
type=dataset_type,
|
|
data_root=data_root,
|
|
img_dir='JPEGImages',
|
|
ann_dir='SegmentationClassContext',
|
|
split='ImageSets/SegmentationContext/val.txt',
|
|
pipeline=test_pipeline),
|
|
test=dict(
|
|
type=dataset_type,
|
|
data_root=data_root,
|
|
img_dir='JPEGImages',
|
|
ann_dir='SegmentationClassContext',
|
|
split='ImageSets/SegmentationContext/val.txt',
|
|
pipeline=test_pipeline))
|