数据增强有区域级数据增强方法、图像级增强方法。
区域级数据增强方法:它的mask或者修改是随机选择图像的矩形区域。
图像级增强方法:它是利用加强学习来发现选择和组合不同的标签不变性变换的最优策略。

数据增强(DA)是实现深度学习有效涨点的技巧;
在计算机视觉方向,数据增强的本质是人为地引入人视觉上的先验知识,可以很好地提升模型的性能,目前基本成为模型的标配;
数据增强的作用:(1)避免过拟合(2)模型鲁棒性,降低模型对图像的敏感度(3)增加训练数据,提高模型泛化能力(4)避免样本不均衡;
数据增强的分类:(1)离线增强是在训练前对数据集进行处理,往往能得到多倍的数据集,适用于小型数据集 ;(2)在线增强是在训练时对加载数据进行预处理,不改变训练数据的数量,适用于大型数据集;
常用的方法: (1)几何变换方法主要有:翻转,旋转,裁剪,缩放,平移,抖动(要注意标签数据的变换);(2)像素变换方法主要有:加椒盐噪声,高斯噪声,进行高斯模糊,调整HSV对比度,调节亮度,饱和度,直方图均衡化,调整白平衡等。

Cutout(2017):对一张图像随机选取一个小正方形区域,在这个区域的像素值设置为0,分类的结果不变;依据是Cutout能够让CNN更好地利用图像的全局信息,而不是依赖于一小部分特定的视觉特征。
Random Erasing(2017):类似于Cutout,这两者同一年发表的。与Cutout不同的是,Random Erasing mask区域的长宽,以及区域中像素值的替代值都是随机的,Cutout是固定使用正方形,替代值都使用同一个。
Hide-and-Seek(ICCV 2017):主要思想就是将图片划分为S x S的网格,每个网格按一定的概率(0.5)进行mask。其中不可避免地会完全mask掉一个完整的小目标。
Mixup(ICLR 2018):将在数据集中随机选择两张图片按照一定比例融合,包括标签值。
CutMix(ICCV 2019):该方法结合了Cutout、Random erasing和Mixup三者的思想,做了一些中间调和的改变,同样是选择一个小区域,进行mask,但mask的方式却是将另一张图片的该区域覆盖到这里。
GridMask( arxiv 2020):对前几种方法的改进,由于前几种对于mask区域的选择都是随机的,因此容易出现对重要部位全掩盖的情况。而GridMask则最多出现部分掩盖,且几乎一定会出现部分掩盖。使用的方式是排列的正方形区域来进行掩码(具体实现是通过设定每个小正方形的边长,两个mask之间的距离d来确定mask,从而控制mask细粒度)。
FenceMask(arxiv 2020):对前面GridMask的改进,认为使用正方形的掩码会对小目标有很大的影响。因此提出了更好的形状,FenceMask具有更好的细粒度。

AutoAugment(CVPR 2019):利用增强学习来找到用于选择和组合不同的标签不变变换(例如,旋转、颜色反转、翻转)的最佳策略,训练一个policy去选择合适的augment参数。
Fast Autoaugment(NeurIPS 2019) :借鉴AutoAugment的基础上,实现了大幅的提速。它提出了一种方法,避免了调整不同数据增强参数不停的重复训练网络这个超级消耗GPU的步骤,从而获得了100-1000倍的速度提升。
RandAugment(CVPR 2020):与AutoAugment是同一个作者。 AutoAugment 的缺点:(1)大规模采用这样的方法会增加训练复杂性、加大计算成本;(2)无法根据模型或数据集大小调整正则化强度。 RandAugment可以将数据增广所产生的增量样本空间大大缩小,从而使其可与模型训练过程捆绑在一起完成,避免将其作为独立的预处理任务来完成。

keepAugment

KeepAugment方法,旨在降低引入噪声影响,其首先通过显著图检测原始图像中的重要区域,然后在数据增强的过程中避开这个区域,并对区域之外的部分进行变换,从而避免了在数据增强过程中对这部分信息的破坏。

KeepAugment的主要思想很简单:先设定一个阈值τ\tauτ,然后通过原图的显著图,提取一个整体重要性得分大于τ\tauτ的区域,最后对原图进行数据增强的过程中保留这个区域的原图。

方法

设原图为x,类别为y,则某个像素点的重要性得分为gij,而对于某个区域S来说,其重要性得分为:
在这里插入图片描述

(1)

对于重要性得分,本文采用的是vanilla gradient进行计算:对于图像,其相应的标签逻辑值为在这里插入图片描述,则像素点的vanilla gradient为在这里插入图片描述;对于RGB图像,进行按通道取最大dvanilla gradient值的,作为该像素点的重要性得分。

用法分两种类型进行:基于区域剪切的Selective-Cut 、基于全图变换的Selective-Paste。

Selective-Cut. 对于区域级别的增强方法,如CutOut,KeepAugment的方法如算法1(a)所示。其通过确保不会将重要区域cut掉,以保证增强后的图像保真度不会丢失。具体的:随机选择一个区域,并计算其重要性得分,直到找到一个重要性得分小于指定阈值的区域,然后cut这个区域即可。

Selective-Paste. 对于图像级别的增强方法,如RandAugment,KeepAugment的方法如算法1(b)所示。其做法与Selective-Cut稍有不同,具体的:随机选择一个区域,并计算其重要性得分,直到找到一个重要性得分大于指定阈值的区域,然后对原图进行全图变换,最后把这个区域粘贴替换掉变换后图像的对应区域。

在这里插入图片描述

可以看出:对于Selective-Cut的阈值,小阈值得到的效果较好,这是因为避免了cut掉重要的区域,但随着阈值的增大,这种限制就变弱了,也就很有可能cut掉重要区域,因此性能就有所下降;对于Selective-Paste的阈值,小阈值效果提升不明显,因为找到的区域可能不是最重要的,随着阈值提高,性能逐渐提升的也明显了,但进一步提高阈值则不在提升性能,这可能是因为重要性得分最高的区域不一定对模型帮助最大,反而又可能漏掉一些更重要的区域。
ref

https://blog.csdn.net/yuansiming0920/article/details/115380822

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐