【图像数据增强】Mixup、Cutout、Random Erasing、CutMix、Mosaic等详解

       对于模型而言一般包含四个部分:输入、输出、网络结构、训练相关。如果想要改善模型,就可以从这四个部分入手。
● 输入:数据 --> Data Augmentation
● 输出:Loss相关
● 网络结构:Activation Function etc.
● 训练相关:Regularization etc.

       这篇文章主要讲解Data Augmentation部分。

Data Augmentation简介

       数据增强主要是指在计算机视觉领域中对图像进行数据增强,从而弥补训练图像数据集的不足,达到对训练数据扩充的目的。数据增强可分为同类增强(如:翻转、旋转、缩放、移位、模糊等)和混类增强(如 mixup)两种方式。

1. 同类增强

1)翻转(Flip)
       可分为水平翻转、垂直翻转。

2)旋转(Rotation)

3)缩放(Scale)
       向外缩放:最终图像尺寸将大于原始图像尺寸,大多数图像框架从新图像中剪切出一个部分,其大小等于原始图像。向内缩放:因为它会缩小图像尺寸,迫使我们对超出边界的内容作出假设。

4) 随机裁剪(Random Crop)
       与缩放不同,随机裁剪只是从原始图像中随机抽样一个部分,然后我们将此部分的大小调整为原始图像的大小。

5)移位(Translation)
       移位只涉及沿 X 或 Y 方向(或两者)移动图像。这种增强方法非常有用,因为大多数对象几乎可以位于图像的任何位置,移位时我们需要对边界作出假设。

6)模糊(Gaussian Noise)
       当神经网络试图学习可能无用的高频特征(大量出现的特征)时,通常会发生过拟合,具有零均值的高斯噪声基本上在所有频率中具有数据点,从而有效地扭曲高频特征。但是这也意味着较低频率地数据(通常是预期数据)也会失真,但神经网络可以学会超越它,添加适量的噪声可以增强网络学习能力。

2. 混类增强

2.1. Mixup

       将随机的两张样本按比例混合,分类的结果按比例分配。

特点:
a. Mixed up两张图像的效果已经足够了。
b. 在一个batch内Mixed就足够了,不需要整个数据集。
c. 不同类别的图像mix效果会更好。
d. 主要用于分类。

效果如图:

在这里插入图片描述

2.2. Cutout & Random Erasing

● Random Erasing

       在现实场景中,遮挡问题一直都是一个难以处理和解决的问题。为了更 好的实现对遮挡数据的模拟,利用 Random Erasing 的方式,将原数据集中一部分保持原样, 另外一部分随机擦除一个矩形区域。

步骤:
1) 设置五个超参数,分别表示原数据集中实施 Random Erasing 的概率 P,擦除面积比 率的下界 sl 和上界 sh,擦除矩形长宽比的下界 r1 和上界 r2。
2) 首先通过均匀分布得到一个概率 p1,如果满足条件,实施擦除。
3) 擦除的过程如下:通过均匀分布取样得到擦除矩形面积,以及长宽值。选择一个满 足所有矩形部分都在图像内的左上角坐标,将这个矩形区域都设置为统一和图像其 他区域无关的纯色值。

效果如图:

在这里插入图片描述

● Cutout

       Cutout 的出发点和 Random Erasing 一样,也是模拟遮挡,目的是提高泛化能 力,实际上比 Random Erasing 简单,随机选择一个固定大小的正方形区域,然后采用全 0 填充。为了避免填充 0 值对训练的影响,应该要对数据进行中心归一化操作;另外,Cutout 区域的大小比形状重要,所以 Cutout 只要是正方形就行。具体操作是利用固定大小的矩形 对图像进行遮挡,在矩形范围内,所有的值都被设置为 0,或者其他纯色值。而且擦除矩形 区域存在一定概率不完全在原图像中(文中设置为 50%)。

效果如图:

在这里插入图片描述

● 两者的区别

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

2.3. CutMix

       将一部分区域 cut 掉但不填充 0 像素而是随机填充数据集中其他数据的其余像素值,分类结果按一定的比例分配。

特点:
a. Cutout + Mixup
b. 结合两张图片

效果如图:

在这里插入图片描述
算法流程如下:

在这里插入图片描述

2.4. Mixup、Cutout、CutMix区别和优点

区别:
       Cutout 和 CutMax 就是填充区域像素的区别;Mixup 和 CutMix 是混合两种样本方式上的区别:Mixup 是将两张图按比例进行插值来混合样本,CutMix 是采用 Cut 部分区域再补丁的形式去混合图像,不会有图像混合后不自然的情形。

优点:
1) 在训练过程中不会出现非信息像素,从而能够提高训练效率。
2) 保留了 regional dropout 的优势,能够关注目标的 non-discriminativa parts。
3) 通过要求模型从局部视图识别对象,对 cut 区域中添加其他样本的信息,能够进一 步增强模型的定位能力。
4) 不会有图像混合后不自然的情形,能够提升模型分类的表现。
5) 训练和推理代价保持不变。

2.5. Mosaic

       YOLOv4 的 Mosaic 数据增强参考了 CutMix 数据增强方式,理论上具有一定的相似性。 CutMix 数据增强方式利用两张图片进行拼接,但是 Mosaic 利用了四张图像,论文中描述其 拥有一个巨大的优点就是丰富检测物体的背景,且在 BN 计算的时候一下子会计算四张图片的数据。

实现思路:
1) 每次读取四张图片。
2) 分别对四张图片进行翻转、缩放、色域变化等,并且按照四个方向位置摆好。
3) 进行图像的组合和框的组合。

特点:
a. 增强了背景的复杂程度。
b. 相当于变向的增大了batch size

效果如图:

在这里插入图片描述

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值