From 2d67e51db362dfe557c1565d96abc635d85845ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=B0=B8=E9=9F=AC?= <53283758+Dominic23331@users.noreply.github.com> Date: Fri, 6 Jan 2023 16:14:54 +0800 Subject: [PATCH] CodeCamp #140 [New] [Feature] Add synapse dataset and data augmentation in dev-1.x. (#2432) ## Motivation Add Synapse dataset in MMSegmentation. Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2372. --- configs/_base_/datasets/synapse.py | 41 +++++ docs/en/user_guides/2_dataset_prepare.md | 81 +++++++++ mmseg/datasets/__init__.py | 10 +- mmseg/datasets/synapse.py | 28 ++++ mmseg/datasets/transforms/__init__.py | 8 +- mmseg/datasets/transforms/transforms.py | 78 +++++++++ mmseg/utils/__init__.py | 6 +- mmseg/utils/class_names.py | 14 ++ .../ann_dir/case0005_slice000.png | Bin 0 -> 334 bytes .../ann_dir/case0005_slice001.png | Bin 0 -> 334 bytes .../img_dir/case0005_slice000.jpg | Bin 0 -> 33367 bytes .../img_dir/case0005_slice001.jpg | Bin 0 -> 33679 bytes tests/test_datasets/test_dataset.py | 15 +- tests/test_datasets/test_transform.py | 62 +++++++ tools/dataset_converters/synapse.py | 155 ++++++++++++++++++ 15 files changed, 486 insertions(+), 12 deletions(-) create mode 100644 configs/_base_/datasets/synapse.py create mode 100644 mmseg/datasets/synapse.py create mode 100644 tests/data/pseudo_synapse_dataset/ann_dir/case0005_slice000.png create mode 100644 tests/data/pseudo_synapse_dataset/ann_dir/case0005_slice001.png create mode 100644 tests/data/pseudo_synapse_dataset/img_dir/case0005_slice000.jpg create mode 100644 tests/data/pseudo_synapse_dataset/img_dir/case0005_slice001.jpg create mode 100644 tools/dataset_converters/synapse.py diff --git a/configs/_base_/datasets/synapse.py b/configs/_base_/datasets/synapse.py new file mode 100644 index 000000000..86852918c --- /dev/null +++ b/configs/_base_/datasets/synapse.py @@ -0,0 +1,41 @@ +dataset_type = 'SynapseDataset' +data_root = 'data/synapse/' +img_scale = (224, 224) +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations'), + dict(type='Resize', scale=img_scale, keep_ratio=True), + dict(type='RandomRotFlip', rotate_prob=0.5, flip_prob=0.5, degree=20), + dict(type='PackSegInputs') +] +test_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='Resize', scale=img_scale, keep_ratio=True), + dict(type='LoadAnnotations'), + dict(type='PackSegInputs') +] +train_dataloader = dict( + batch_size=6, + num_workers=2, + 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=['mDice']) +test_evaluator = val_evaluator diff --git a/docs/en/user_guides/2_dataset_prepare.md b/docs/en/user_guides/2_dataset_prepare.md index a795e3bfc..5de5de228 100644 --- a/docs/en/user_guides/2_dataset_prepare.md +++ b/docs/en/user_guides/2_dataset_prepare.md @@ -414,3 +414,84 @@ The contents of LIP datasets include: │   │ │ ├── 100034_483681.png │   │ │ ├── ... ``` + +## Synapse dataset + +This dataset could be download from [this page](https://www.synapse.org/#!Synapse:syn3193805/wiki/) + +To follow the data preparation setting of [TransUNet](https://arxiv.org/abs/2102.04306), which splits original training set (30 scans) +into new training (18 scans) and validation set (12 scans). Please run the following command to prepare the dataset. + +```shell +unzip RawData.zip +cd ./RawData/Training +``` + +Then create `train.txt` and `val.txt` to split dataset. + +According to TransUnet, the following is the data set division. + +train.txt + +```none +img0005.nii.gz +img0006.nii.gz +img0007.nii.gz +img0009.nii.gz +img0010.nii.gz +img0021.nii.gz +img0023.nii.gz +img0024.nii.gz +img0026.nii.gz +img0027.nii.gz +img0028.nii.gz +img0030.nii.gz +img0031.nii.gz +img0033.nii.gz +img0034.nii.gz +img0037.nii.gz +img0039.nii.gz +img0040.nii.gz +``` + +val.txt + +```none +img0008.nii.gz +img0022.nii.gz +img0038.nii.gz +img0036.nii.gz +img0032.nii.gz +img0002.nii.gz +img0029.nii.gz +img0003.nii.gz +img0001.nii.gz +img0004.nii.gz +img0025.nii.gz +img0035.nii.gz +``` + +The contents of synapse datasets include: + +```none +├── Training +│ ├── img +│ │ ├── img0001.nii.gz +│ │ ├── img0002.nii.gz +│ │ ├── ... +│ ├── label +│ │ ├── label0001.nii.gz +│ │ ├── label0002.nii.gz +│ │ ├── ... +│ ├── train.txt +│ ├── val.txt +``` + +Then, use this command to convert synapse dataset. + +```shell +python tools/dataset_converters/synapse.py --dataset-path /path/to/synapse +``` + +Noted that MMSegmentation default evaluation metric (such as mean dice value) is calculated on 2D slice image, +which is not comparable to results of 3D scan in some paper such as [TransUNet](https://arxiv.org/abs/2102.04306). diff --git a/mmseg/datasets/__init__.py b/mmseg/datasets/__init__.py index d0aeeaa33..28f067983 100644 --- a/mmseg/datasets/__init__.py +++ b/mmseg/datasets/__init__.py @@ -18,6 +18,7 @@ from .night_driving import NightDrivingDataset from .pascal_context import PascalContextDataset, PascalContextDataset59 from .potsdam import PotsdamDataset from .stare import STAREDataset +from .synapse import SynapseDataset # yapf: disable from .transforms import (CLAHE, AdjustGamma, BioMedical3DPad, BioMedical3DRandomCrop, BioMedicalGaussianBlur, @@ -26,9 +27,9 @@ from .transforms import (CLAHE, AdjustGamma, BioMedical3DPad, LoadBiomedicalAnnotation, LoadBiomedicalData, LoadBiomedicalImageFromFile, LoadImageFromNDArray, PackSegInputs, PhotoMetricDistortion, RandomCrop, - RandomCutOut, RandomMosaic, RandomRotate, Rerange, - ResizeShortestEdge, ResizeToMultiple, RGB2Gray, - SegRescale) + RandomCutOut, RandomMosaic, RandomRotate, + RandomRotFlip, Rerange, ResizeShortestEdge, + ResizeToMultiple, RGB2Gray, SegRescale) from .voc import PascalVOCDataset # yapf: enable @@ -46,5 +47,6 @@ __all__ = [ 'LoadBiomedicalAnnotation', 'LoadBiomedicalData', 'GenerateEdge', 'DecathlonDataset', 'LIPDataset', 'ResizeShortestEdge', 'BioMedicalGaussianNoise', 'BioMedicalGaussianBlur', - 'BioMedicalRandomGamma', 'BioMedical3DPad' + 'BioMedicalRandomGamma', 'BioMedical3DPad', 'RandomRotFlip', + 'SynapseDataset' ] diff --git a/mmseg/datasets/synapse.py b/mmseg/datasets/synapse.py new file mode 100644 index 000000000..6f83b6415 --- /dev/null +++ b/mmseg/datasets/synapse.py @@ -0,0 +1,28 @@ +# Copyright (c) OpenMMLab. All rights reserved. +from mmseg.registry import DATASETS +from .basesegdataset import BaseSegDataset + + +@DATASETS.register_module() +class SynapseDataset(BaseSegDataset): + """Synapse dataset. + + Before dataset preprocess of Synapse, there are total 13 categories of + foreground which does not include background. After preprocessing, 8 + foreground categories are kept while the other 5 foreground categories are + handled as background. The ``img_suffix`` is fixed to '.jpg' and + ``seg_map_suffix`` is fixed to '.png'. + """ + METAINFO = dict( + classes=('background', 'aorta', 'gallbladder', 'left_kidney', + 'right_kidney', 'liver', 'pancreas', 'spleen', 'stomach'), + palette=[[0, 0, 0], [0, 0, 255], [0, 255, 0], [255, 0, 0], + [0, 255, 255], [255, 0, 255], [255, 255, 0], [60, 255, 255], + [240, 240, 240]]) + + def __init__(self, + img_suffix='.jpg', + seg_map_suffix='.png', + **kwargs) -> None: + super().__init__( + img_suffix=img_suffix, seg_map_suffix=seg_map_suffix, **kwargs) diff --git a/mmseg/datasets/transforms/__init__.py b/mmseg/datasets/transforms/__init__.py index d06660922..e39f05c92 100644 --- a/mmseg/datasets/transforms/__init__.py +++ b/mmseg/datasets/transforms/__init__.py @@ -8,9 +8,9 @@ from .transforms import (CLAHE, AdjustGamma, BioMedical3DPad, BioMedical3DRandomCrop, BioMedicalGaussianBlur, BioMedicalGaussianNoise, BioMedicalRandomGamma, GenerateEdge, PhotoMetricDistortion, RandomCrop, - RandomCutOut, RandomMosaic, RandomRotate, Rerange, - ResizeShortestEdge, ResizeToMultiple, RGB2Gray, - SegRescale) + RandomCutOut, RandomMosaic, RandomRotate, + RandomRotFlip, Rerange, ResizeShortestEdge, + ResizeToMultiple, RGB2Gray, SegRescale) # yapf: enable __all__ = [ @@ -20,5 +20,5 @@ __all__ = [ 'ResizeToMultiple', 'LoadImageFromNDArray', 'LoadBiomedicalImageFromFile', 'LoadBiomedicalAnnotation', 'LoadBiomedicalData', 'GenerateEdge', 'ResizeShortestEdge', 'BioMedicalGaussianNoise', 'BioMedicalGaussianBlur', - 'BioMedicalRandomGamma', 'BioMedical3DPad' + 'BioMedicalRandomGamma', 'BioMedical3DPad', 'RandomRotFlip' ] diff --git a/mmseg/datasets/transforms/transforms.py b/mmseg/datasets/transforms/transforms.py index 7e0bd0da6..21b8e34e3 100644 --- a/mmseg/datasets/transforms/transforms.py +++ b/mmseg/datasets/transforms/transforms.py @@ -861,6 +861,84 @@ class RandomCutOut(BaseTransform): return repr_str +@TRANSFORMS.register_module() +class RandomRotFlip(BaseTransform): + """Rotate and flip the image & seg or just rotate the image & seg. + + Required Keys: + + - img + - gt_seg_map + + Modified Keys: + + - img + - gt_seg_map + + Args: + rotate_prob (float): The probability of rotate image. + flip_prob (float): The probability of rotate&flip image. + degree (float, tuple[float]): Range of degrees to select from. If + degree is a number instead of tuple like (min, max), + the range of degree will be (``-degree``, ``+degree``) + """ + + def __init__(self, rotate_prob=0.5, flip_prob=0.5, degree=(-20, 20)): + self.rotate_prob = rotate_prob + self.flip_prob = flip_prob + assert 0 <= rotate_prob <= 1 and 0 <= flip_prob <= 1 + if isinstance(degree, (float, int)): + assert degree > 0, f'degree {degree} should be positive' + self.degree = (-degree, degree) + else: + self.degree = degree + assert len(self.degree) == 2, f'degree {self.degree} should be a ' \ + f'tuple of (min, max)' + + def random_rot_flip(self, results: dict) -> dict: + k = np.random.randint(0, 4) + results['img'] = np.rot90(results['img'], k) + for key in results.get('seg_fields', []): + results[key] = np.rot90(results[key], k) + axis = np.random.randint(0, 2) + results['img'] = np.flip(results['img'], axis=axis).copy() + for key in results.get('seg_fields', []): + results[key] = np.flip(results[key], axis=axis).copy() + return results + + def random_rotate(self, results: dict) -> dict: + angle = np.random.uniform(min(*self.degree), max(*self.degree)) + results['img'] = mmcv.imrotate(results['img'], angle=angle) + for key in results.get('seg_fields', []): + results[key] = mmcv.imrotate(results[key], angle=angle) + return results + + def transform(self, results: dict) -> dict: + """Call function to rotate or rotate & flip image, semantic + segmentation maps. + + Args: + results (dict): Result dict from loading pipeline. + + Returns: + dict: Rotated or rotated & flipped results. + """ + rotate_flag = 0 + if random.random() < self.rotate_prob: + results = self.random_rotate(results) + rotate_flag = 1 + if random.random() < self.flip_prob and rotate_flag == 0: + results = self.random_rot_flip(results) + return results + + def __repr__(self): + repr_str = self.__class__.__name__ + repr_str += f'(rotate_prob={self.rotate_prob}, ' \ + f'flip_prob={self.flip_prob}, ' \ + f'degree={self.degree})' + return repr_str + + @TRANSFORMS.register_module() class RandomMosaic(BaseTransform): """Mosaic augmentation. Given 4 images, mosaic transform combines them into diff --git a/mmseg/utils/__init__.py b/mmseg/utils/__init__.py index 0fd58218d..661796147 100644 --- a/mmseg/utils/__init__.py +++ b/mmseg/utils/__init__.py @@ -6,8 +6,8 @@ from .class_names import (ade_classes, ade_palette, cityscapes_classes, get_palette, isaid_classes, isaid_palette, loveda_classes, loveda_palette, potsdam_classes, potsdam_palette, stare_classes, stare_palette, - vaihingen_classes, vaihingen_palette, voc_classes, - voc_palette) + synapse_classes, synapse_palette, vaihingen_classes, + vaihingen_palette, voc_classes, voc_palette) # yapf: enable from .collect_env import collect_env from .io import datafrombytes @@ -27,5 +27,5 @@ __all__ = [ 'cityscapes_palette', 'ade_palette', 'voc_palette', 'cocostuff_palette', 'loveda_palette', 'potsdam_palette', 'vaihingen_palette', 'isaid_palette', 'stare_palette', 'dataset_aliases', 'get_classes', 'get_palette', - 'datafrombytes' + 'datafrombytes', 'synapse_palette', 'synapse_classes' ] diff --git a/mmseg/utils/class_names.py b/mmseg/utils/class_names.py index a62eaac97..662199f21 100644 --- a/mmseg/utils/class_names.py +++ b/mmseg/utils/class_names.py @@ -265,6 +265,20 @@ def stare_palette(): return [[120, 120, 120], [6, 230, 230]] +def synapse_palette(): + """Synapse palette for external use.""" + return [[0, 0, 0], [0, 0, 255], [0, 255, 0], [255, 0, 0], [0, 255, 255], + [255, 0, 255], [255, 255, 0], [60, 255, 255], [240, 240, 240]] + + +def synapse_classes(): + """Synapse class names for external use.""" + return [ + 'background', 'aorta', 'gallbladder', 'left_kidney', 'right_kidney', + 'liver', 'pancreas', 'spleen', 'stomach' + ] + + def lip_classes(): """LIP class names for external use.""" return [ diff --git a/tests/data/pseudo_synapse_dataset/ann_dir/case0005_slice000.png b/tests/data/pseudo_synapse_dataset/ann_dir/case0005_slice000.png new file mode 100644 index 0000000000000000000000000000000000000000..a22059b58e158571cf61c33338a04517cdf549b6 GIT binary patch literal 334 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%0A$^!If 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