|
import os.path as osp |
|
|
|
import mmcv |
|
import pytest |
|
from mmcv.utils import build_from_cfg |
|
|
|
from mmseg.datasets.builder import PIPELINES |
|
|
|
|
|
def test_multi_scale_flip_aug(): |
|
|
|
with pytest.raises(AssertionError): |
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=None, |
|
img_ratios=1, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
build_from_cfg(tta_transform, PIPELINES) |
|
|
|
|
|
with pytest.raises(AssertionError): |
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=None, |
|
img_ratios=None, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
build_from_cfg(tta_transform, PIPELINES) |
|
|
|
|
|
with pytest.raises(AssertionError): |
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=(512, 512), |
|
img_ratios=1, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
build_from_cfg(tta_transform, PIPELINES) |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=(512, 512), |
|
img_ratios=[0.5, 1.0, 2.0], |
|
flip=False, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
|
|
results = dict() |
|
|
|
img = mmcv.imread( |
|
osp.join(osp.dirname(__file__), '../data/color.jpg'), 'color') |
|
results['img'] = img |
|
results['img_shape'] = img.shape |
|
results['ori_shape'] = img.shape |
|
|
|
results['pad_shape'] = img.shape |
|
results['scale_factor'] = 1.0 |
|
|
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(256, 256), (512, 512), (1024, 1024)] |
|
assert tta_results['flip'] == [False, False, False] |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=(512, 512), |
|
img_ratios=[0.5, 1.0, 2.0], |
|
flip=True, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(256, 256), (256, 256), (512, 512), |
|
(512, 512), (1024, 1024), (1024, 1024)] |
|
assert tta_results['flip'] == [False, True, False, True, False, True] |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=(512, 512), |
|
img_ratios=1.0, |
|
flip=False, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(512, 512)] |
|
assert tta_results['flip'] == [False] |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=(512, 512), |
|
img_ratios=1.0, |
|
flip=True, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(512, 512), (512, 512)] |
|
assert tta_results['flip'] == [False, True] |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=None, |
|
img_ratios=[0.5, 1.0, 2.0], |
|
flip=False, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(256, 144), (512, 288), (1024, 576)] |
|
assert tta_results['flip'] == [False, False, False] |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=None, |
|
img_ratios=[0.5, 1.0, 2.0], |
|
flip=True, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(256, 144), (256, 144), (512, 288), |
|
(512, 288), (1024, 576), (1024, 576)] |
|
assert tta_results['flip'] == [False, True, False, True, False, True] |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=[(256, 256), (512, 512), (1024, 1024)], |
|
img_ratios=None, |
|
flip=False, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(256, 256), (512, 512), (1024, 1024)] |
|
assert tta_results['flip'] == [False, False, False] |
|
|
|
tta_transform = dict( |
|
type='MultiScaleFlipAug', |
|
img_scale=[(256, 256), (512, 512), (1024, 1024)], |
|
img_ratios=None, |
|
flip=True, |
|
transforms=[dict(type='Resize', keep_ratio=False)], |
|
) |
|
tta_module = build_from_cfg(tta_transform, PIPELINES) |
|
tta_results = tta_module(results.copy()) |
|
assert tta_results['scale'] == [(256, 256), (256, 256), (512, 512), |
|
(512, 512), (1024, 1024), (1024, 1024)] |
|
assert tta_results['flip'] == [False, True, False, True, False, True] |
|
|