diff --git a/docs/en/tutorials/customize_datasets.md b/docs/en/tutorials/customize_datasets.md index 8ed524c2c..2fc169304 100644 --- a/docs/en/tutorials/customize_datasets.md +++ b/docs/en/tutorials/customize_datasets.md @@ -50,7 +50,7 @@ You may use `'P'` mode of [pillow](https://pillow.readthedocs.io/en/stable/handb ## Customize datasets by mixing dataset MMSegmentation also supports to mix dataset for training. -Currently it supports to concat and repeat datasets. +Currently it supports to concat, repeat and multi-image mix datasets. ### Repeat dataset @@ -172,3 +172,40 @@ data = dict( ) ``` + +### Multi-image Mix Dataset + +We use `MultiImageMixDataset` as a wrapper to mix images from multiple datasets. +`MultiImageMixDataset` can be used by multiple images mixed data augmentation +like mosaic and mixup. + +An example of using `MultiImageMixDataset` with `Mosaic` data augmentation: + +```python +train_pipeline = [ + dict(type='RandomMosaic', prob=1), + dict(type='Resize', img_scale=(1024, 512), keep_ratio=True), + dict(type='RandomFlip', prob=0.5), + dict(type='Normalize', **img_norm_cfg), + dict(type='DefaultFormatBundle'), + dict(type='Collect', keys=['img', 'gt_semantic_seg']), +] + +train_dataset = dict( + type='MultiImageMixDataset', + dataset=dict( + classes=classes, + palette=palette, + type=dataset_type, + reduce_zero_label=False, + img_dir=data_root + "images/train", + ann_dir=data_root + "annotations/train", + pipeline=[ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations'), + ] + ), + pipeline=train_pipeline +) + +``` diff --git a/docs/zh_cn/tutorials/customize_datasets.md b/docs/zh_cn/tutorials/customize_datasets.md index fb62a9167..c579a8f39 100644 --- a/docs/zh_cn/tutorials/customize_datasets.md +++ b/docs/zh_cn/tutorials/customize_datasets.md @@ -49,7 +49,7 @@ zzz ## 通过混合数据去定制数据集 MMSegmentation 同样支持混合数据集去训练。 -当前它支持拼接 (concat) 和 重复 (repeat) 数据集。 +当前它支持拼接 (concat), 重复 (repeat) 和多图混合 (multi-image mix)数据集。 ### 重复数据集 @@ -171,3 +171,39 @@ data = dict( ) ``` + +### 多图混合集 + +我们使用 `MultiImageMixDataset` 作为包装(wrapper)去混合多个数据集的图片。 +`MultiImageMixDataset`可以被类似mosaic和mixup的多图混合数据増广使用。 + +`MultiImageMixDataset`与`Mosaic`数据増广一起使用的例子: + +```python +train_pipeline = [ + dict(type='RandomMosaic', prob=1), + dict(type='Resize', img_scale=(1024, 512), keep_ratio=True), + dict(type='RandomFlip', prob=0.5), + dict(type='Normalize', **img_norm_cfg), + dict(type='DefaultFormatBundle'), + dict(type='Collect', keys=['img', 'gt_semantic_seg']), +] + +train_dataset = dict( + type='MultiImageMixDataset', + dataset=dict( + classes=classes, + palette=palette, + type=dataset_type, + reduce_zero_label=False, + img_dir=data_root + "images/train", + ann_dir=data_root + "annotations/train", + pipeline=[ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations'), + ] + ), + pipeline=train_pipeline +) + +```