mirror of
https://github.com/open-mmlab/mmsegmentation.git
synced 2025-06-03 22:03:48 +08:00
[Docs] Add MultiImageMixDataset tutorial (#1194)
* [Docs] Add MultiImageMixDataset tutorial * modify to randommosaic * fix markdown
This commit is contained in:
parent
bdac9acc66
commit
e2361cbce0
@ -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
|
||||||
|
)
|
||||||
|
|
||||||
|
```
|
||||||
|
@ -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
|
||||||
|
)
|
||||||
|
|
||||||
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user