74 lines
2.3 KiB
Python
74 lines
2.3 KiB
Python
# dataset settings
|
|
dataset_type = 'iSAIDDataset'
|
|
data_root = 'data/iSAID'
|
|
"""
|
|
This crop_size setting is followed by the implementation of
|
|
`PointFlow: Flowing Semantics Through Points for Aerial Image
|
|
Segmentation <https://arxiv.org/pdf/2103.06564.pdf>`_.
|
|
"""
|
|
|
|
crop_size = (896, 896)
|
|
|
|
train_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='LoadAnnotations'),
|
|
dict(
|
|
type='RandomResize',
|
|
scale=(896, 896),
|
|
ratio_range=(0.5, 2.0),
|
|
keep_ratio=True),
|
|
dict(type='RandomCrop', crop_size=crop_size, cat_max_ratio=0.75),
|
|
dict(type='RandomFlip', prob=0.5),
|
|
dict(type='PhotoMetricDistortion'),
|
|
dict(type='PackSegInputs')
|
|
]
|
|
test_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='Resize', scale=(896, 896), keep_ratio=True),
|
|
# add loading annotation after ``Resize`` because ground truth
|
|
# does not need to do resize data transform
|
|
dict(type='LoadAnnotations'),
|
|
dict(type='PackSegInputs')
|
|
]
|
|
img_ratios = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]
|
|
tta_pipeline = [
|
|
dict(type='LoadImageFromFile', backend_args=None),
|
|
dict(
|
|
type='TestTimeAug',
|
|
transforms=[
|
|
[
|
|
dict(type='Resize', scale_factor=r, keep_ratio=True)
|
|
for r in img_ratios
|
|
],
|
|
[
|
|
dict(type='RandomFlip', prob=0., direction='horizontal'),
|
|
dict(type='RandomFlip', prob=1., direction='horizontal')
|
|
], [dict(type='LoadAnnotations')], [dict(type='PackSegInputs')]
|
|
])
|
|
]
|
|
train_dataloader = dict(
|
|
batch_size=4,
|
|
num_workers=4,
|
|
persistent_workers=True,
|
|
sampler=dict(type='InfiniteSampler', shuffle=True),
|
|
dataset=dict(
|
|
type=dataset_type,
|
|
data_root=data_root,
|
|
data_prefix=dict(
|
|
img_path='img_dir/train', seg_map_path='ann_dir/train'),
|
|
pipeline=train_pipeline))
|
|
val_dataloader = dict(
|
|
batch_size=1,
|
|
num_workers=4,
|
|
persistent_workers=True,
|
|
sampler=dict(type='DefaultSampler', shuffle=False),
|
|
dataset=dict(
|
|
type=dataset_type,
|
|
data_root=data_root,
|
|
data_prefix=dict(img_path='img_dir/val', seg_map_path='ann_dir/val'),
|
|
pipeline=test_pipeline))
|
|
test_dataloader = val_dataloader
|
|
|
|
val_evaluator = dict(type='IoUMetric', iou_metrics=['mIoU'])
|
|
test_evaluator = val_evaluator
|