[Docs] Add MultiImageMixDataset tutorial (#1194)

* [Docs] Add MultiImageMixDataset tutorial

* modify to randommosaic

* fix markdown
This commit is contained in:
Rockey 2022-01-24 15:48:54 +08:00 committed by GitHub
parent bdac9acc66
commit e2361cbce0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 75 additions and 2 deletions

View File

@ -50,7 +50,7 @@ You may use `'P'` mode of [pillow](https://pillow.readthedocs.io/en/stable/handb
## Customize datasets by mixing dataset ## Customize datasets by mixing dataset
MMSegmentation also supports to mix dataset for training. 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 ### 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
)
```

View File

@ -49,7 +49,7 @@ zzz
## 通过混合数据去定制数据集 ## 通过混合数据去定制数据集
MMSegmentation 同样支持混合数据集去训练。 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
)
```