[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
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
)
```

View File

@ -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
)
```