mmdetection中的数据增强方法(慢慢写, 会很长)

mmdet文件目录下,   pipelines/init  里面声明了各种增强方法:

1.为什么要做数据增强?

没有很多数据,利用数据增强获得更多数据

2.在学习管道(pipeline)的哪里进行数据增强呢?

一种是事先执行所有转换,实质上会增强你的数据集的大小。另一种选项是在送入机器学习之前,在小批量(mini-batch)上执行这些转换

3.有哪些数据增强的方法?

对于单样本:

1)几何变换类 翻转,旋转,裁剪,变形,缩放。 翻转和旋转不改变图像的大小,而裁剪会改变图像的大小。  几何变换类操作,没有改变图像本身的内容,它可能是选择了图像的一部分或者对像素进行了重分布

2)颜色变换类  噪声、模糊、颜色变换、擦除、填充

对于多样本: 多样本数据增强方法利用多个样本来产生新的样本

ClassBalancedDataset, ConcatDataset, RepeatDataset方法

3.如果需要写新的数据增强方法,可以自己新建   augment.py ,写自己的数据增强类,放进init的声明中去,接下来就可以再dict(type= augment) 了  

train_pipeline = [dict(type='LoadImageFromFile')]
    'Compose', 'to_tensor', 'ToTensor', 'ImageToTensor', 'ToDataContainer',
    'Transpose', 'Collect', 'DefaultFormatBundle', 'LoadAnnotations',
    'LoadImageFromFile', 'LoadImageFromWebcam',
    'LoadMultiChannelImageFromFiles', 'LoadProposals', 'MultiScaleFlipAug',
    'Resize', 'RandomFlip', 'Pad', 'RandomCrop', 'Normalize', 'SegRescale',
    'MinIoURandomCrop', 'Expand', 'PhotoMetricDistortion', 'Albu',
    'InstaBoost', 'RandomCenterCropPad', 'AutoAugment', 'CutOut', 'Shear',
    'Rotate', 'ColorTransform', 'EqualizeTransform', 'BrightnessTransform',
    'ContrastTransform', 'Translate', 'RandomShift','AutoAugmentation',
    #'MixupVOC','GridMask', 'AutoAugmentation','RandomHVFlip',
    'MixupCOCO','MosaicCOCO'

你可能感兴趣的:(mmdetection中的数据增强方法(慢慢写, 会很长))