阅读量:0
问题描述
应用mmsegmentation中的RandomMosaic数据增强算法:
dict(type=‘RandomMosaic’, prob=0.2, img_scale=tuple(size * factor for size, factor in zip(img_scale, (2, 2))))
Bug
mmsegmentation/mmseg/datasets/pipelines/transforms.py", line 1166, in _mosaic_transform_img
assert ‘mix_results’ in results
AssertionError
解决方案
使用 MultiImageMixDataset 作为包装(wrapper)去混合多个数据集的图片。 MultiImageMixDataset可以被类似 mosaic 和 mixup 的多图混合数据増广使用。
MultiImageMixDataset 与 Mosaic 数据増广一起使用的例子:
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='PackSegInputs') ] train_dataset = dict( type='MultiImageMixDataset', dataset=dict( 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 )