对于模型而言一般包含四个部分:输入、输出、网络结构、训练相关。如果想要改善模型,就可以从这四个部分入手。
● 输入:数据 --> 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
效果如图: