OMG_Seg / seg /configs /_base_ /datasets /cityscapes_panoptic.py
HarborYuan's picture
add omg code
b34d1d6
raw
history blame
3.04 kB
# dataset settings
from mmcv.transforms import LoadImageFromFile, RandomResize
from mmengine.dataset import DefaultSampler
from mmdet.datasets import AspectRatioBatchSampler
from mmdet.datasets.transforms import RandomFlip, RandomCrop, PackDetInputs, Resize
from seg.datasets.pipeliens.loading import LoadPanopticAnnotationsHB
from seg.datasets.cityscapes import CityscapesPanopticDataset
from seg.evaluation.metrics.cityscapes_panoptic_metric import CityscapesPanopticMetric
data_root = 'data/cityscapes/'
backend_args = None
image_size = (1024, 1024)
train_pipeline = [
dict(
type=LoadImageFromFile,
to_float32=True,
backend_args=backend_args),
dict(
type=LoadPanopticAnnotationsHB,
with_bbox=True,
with_mask=True,
with_seg=True,
backend_args=backend_args),
dict(type=RandomFlip, prob=0.5),
dict(
type=RandomResize,
resize_type=Resize,
scale=image_size,
ratio_range=(.8, 1.5),
keep_ratio=True,
),
dict(
type=RandomCrop,
crop_size=image_size,
crop_type='absolute',
recompute_bbox=True,
allow_negative_crop=True),
dict(type=PackDetInputs)
]
train_dataloader = dict(
batch_size=2,
num_workers=2,
persistent_workers=True,
sampler=dict(type=DefaultSampler, shuffle=True),
batch_sampler=dict(type=AspectRatioBatchSampler),
dataset=dict(
type=CityscapesPanopticDataset,
data_root=data_root,
ann_file='annotations/cityscapes_panoptic_train_trainId.json',
data_prefix=dict(img='leftImg8bit/train/',
seg='annotations/cityscapes_panoptic_train_trainId/'),
filter_cfg=dict(filter_empty_gt=True, min_size=32),
pipeline=train_pipeline,
backend_args=backend_args
)
)
test_pipeline = [
dict(type=LoadImageFromFile, backend_args=backend_args),
dict(type=Resize, scale=(2048, 1024), keep_ratio=True),
dict(type=LoadPanopticAnnotationsHB, backend_args=backend_args),
dict(
type=PackDetInputs,
meta_keys=('img_id', 'img_path', 'ori_shape', 'img_shape', 'scale_factor', 'instances')
)
]
val_dataloader = dict(
batch_size=2,
num_workers=2,
persistent_workers=True,
drop_last=False,
sampler=dict(type=DefaultSampler, shuffle=False),
dataset=dict(
type=CityscapesPanopticDataset,
data_root=data_root,
ann_file='annotations/cityscapes_panoptic_val_trainId.json',
data_prefix=dict(img='leftImg8bit/val/',
seg='annotations/cityscapes_panoptic_val_trainId/'),
test_mode=True,
pipeline=test_pipeline,
backend_args=backend_args
)
)
test_dataloader = val_dataloader
val_evaluator = dict(
type=CityscapesPanopticMetric,
ann_file=data_root + 'annotations/cityscapes_panoptic_val_trainId.json',
seg_prefix=data_root + 'annotations/cityscapes_panoptic_val_trainId/',
backend_args=backend_args
)
test_evaluator = val_evaluator