Skip to content

Commit 9801522

Browse files
MengzhangLIMeowZheng
authored andcommitted
[Fix] Fix ResizeToMultiple transform in MMSeg 1.x (open-mmlab#2185)
1 parent ae62565 commit 9801522

File tree

3 files changed

+10
-17
lines changed

3 files changed

+10
-17
lines changed

configs/segformer/README.md

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,13 @@ using `AlignedResize`, you can change the dataset pipeline like this:
7777
```python
7878
test_pipeline = [
7979
dict(type='LoadImageFromFile'),
80-
dict(
81-
type='MultiScaleFlipAug',
82-
img_scale=(2048, 512),
83-
# img_ratios=[0.5, 0.75, 1.0, 1.25, 1.5, 1.75],
84-
flip=False,
85-
transforms=[
86-
dict(type='Resize', keep_ratio=True),
87-
# resize image to multiple of 32, improve SegFormer by 0.5-1.0 mIoU.
88-
dict(type='ResizeToMultiple', size_divisor=32),
89-
dict(type='RandomFlip'),
90-
dict(type='Normalize', **img_norm_cfg),
91-
dict(type='ImageToTensor', keys=['img']),
92-
dict(type='Collect', keys=['img']),
93-
])
80+
dict(type='Resize', scale=(2048, 512), keep_ratio=True),
81+
# resize image to multiple of 32, improve SegFormer by 0.5-1.0 mIoU.
82+
dict(type='ResizeToMultiple', size_divisor=32),
83+
# add loading annotation after ``Resize`` because ground truth
84+
# does not need to do resize data transform
85+
dict(type='LoadAnnotations', reduce_zero_label=True),
86+
dict(type='PackSegInputs')
9487
]
9588
```
9689

mmseg/datasets/transforms/transforms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ def transform(self, results: dict) -> dict:
5959
if self.interpolation else 'bilinear')
6060

6161
results['img'] = img
62-
results['img_shape'] = img.shape
63-
results['pad_shape'] = img.shape
62+
results['img_shape'] = img.shape[:2]
63+
results['pad_shape'] = img.shape[:2]
6464

6565
# Align segmentation map to multiple of size divisor.
6666
for key in results.get('seg_fields', []):

tests/test_datasets/test_transform.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -678,4 +678,4 @@ def test_resize_to_multiple():
678678
results = transform(results)
679679
assert results['img'].shape == (224, 256, 3)
680680
assert results['gt_semantic_seg'].shape == (224, 256)
681-
assert results['img_shape'] == (224, 256, 3)
681+
assert results['img_shape'] == (224, 256)

0 commit comments

Comments
 (0)