Skip to content

Commit

Permalink
[Docs] Add MultiImageMixDataset tutorial (open-mmlab#1194)
Browse files Browse the repository at this point in the history
* [Docs] Add MultiImageMixDataset tutorial

* modify to randommosaic

* fix markdown
  • Loading branch information
RockeyCoss authored Jan 24, 2022
1 parent 3629ffd commit da1fcf5
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 2 deletions.
39 changes: 38 additions & 1 deletion docs/en/tutorials/customize_datasets.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
)

```
38 changes: 37 additions & 1 deletion docs/zh_cn/tutorials/customize_datasets.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ zzz
## 通过混合数据去定制数据集

MMSegmentation 同样支持混合数据集去训练。
当前它支持拼接 (concat)重复 (repeat) 数据集。
当前它支持拼接 (concat), 重复 (repeat) 和多图混合 (multi-image mix)数据集。

### 重复数据集

Expand Down Expand Up @@ -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
)

```

0 comments on commit da1fcf5

Please sign in to comment.