关于数据增强

数据增强

线下:事先执行所有转换,实质上会增加的数据集的大小,适用于较小的数据集。
线上:在送入机器学习之前,在小批量(mini-batch)上执行这些转换,适用于较大的数据集,一些机器学习框架支持在线增强,可以在GPU上加速。

主要有以下几类:

  • 几何变换:例如平移旋转翻转缩放等。(有小目标,必须裁剪
  • 颜色变换:①噪声:为了让模型更加鲁棒,可以考虑在训练集内加入高斯噪声椒盐噪声等对模型进行干扰。② 颜色扰动:改变亮度、灰度、饱和度、对比度等,色调归一化
  • 类别不平衡(待补充):重采样;实例平衡增强
  • 去模糊:中值/高斯/动态模糊、去雾算法(GCANet、FFA-Net、AOD-Net等等)、MSRCR等
  • 目标遮挡或重叠:CutoutRandom ErasingMixupCutmix
  • 其他:使用copy-paste 、泊松融合等增加数据量,使用标签平滑等防止过拟合,……

细节补充

  1. 实例平衡增强

    实例平衡增强(Instance-Balanced Augmentation)技术,即对图像按照特定的尺度(如 1.5 倍和 2 倍大小)进行缩放操作,即定义了一批大小不同的「滑窗」。同时也会定义滑窗的步长。定义后,使用滑动窗口在样本图像中滑动,产生滑动区域。在这些滑窗中,选择包含少量目标的最优数据加入到训练集中。

    选择滑窗注意:①参考数据集已有样本的类别分类情况选择滑窗目标;②可根据分辨率和尺度等对选出的滑窗目标加入一些随机扰动,达到增强原有数据集的目的
    实例平衡增强示例

  2. 遮挡重叠方法比较

Cutout:利用固定大小的矩形对图像进行遮挡,在矩形范围内,所有的值都被设置为0,或者其他纯色值。而且擦除矩形区域存在一定概率不完全在原图像中的(文中设置为50%)。motivation是“遮挡”,即删除的矩形区域可以看成是被遮挡的位置

Random Erasing:通过均匀分布取样得到擦除矩形面积,以及长宽值。选择一个满足所有矩形部分都在图像内的左上角坐标,将这个矩形区域都设置为统一的和图像其他区域无关的纯色值。

(最主要的区别在于在cutout中,擦除矩形区域存在一定概率不完全在原图像中的。而在Random Erasing中,擦除矩形区域一定在原图像内。Cutout变相的实现了任意大小的擦除,以及保留更多重要区域。)

Mixup:两张图像每个位置的像素根据一定比例进行叠加,label根据像素叠加比例进行分配。/从训练样本中随机抽取两个样本进行简单的随机加权求和,同时样本的标签也对应加权求和,然后预测结果与加权求和之后的标签求损失,在反向求导更新参数。

Cutmix:随机删除一个矩形区域,并通过另一张图像的同一位置像素值填充,label根据像素所占比例进行分配

在这里插入图片描述

  1. github数据增强
    Image augmentation for machine learning experiments.
    Fast image augmentation library and an easy-to-use wrapper around other libraries.
    Image augmentation library in Python for machine learning.

参考:

  1. 刷新PascalVOC纪录,阿里图灵实验室怎样目标检测
  2. Cutout、Random Erasing、Mixup、Cutmix
  3. 目标检测比赛思路、tricks集锦、资料汇总
  4. 目标检测类算法比赛的经验总结
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值