数据增强(DataAugmentation)常⽤⽅法汇总
1、数据增强的作⽤
1) 避免过拟合。当数据集具有某种明显的特征,例如数据集中图⽚基本在同⼀个场景中拍摄,使⽤Cutout⽅法和风格迁移变化等相关⽅法可避免模型学到跟⽬标⽆关的信息。
2)提升模型鲁棒性,降低模型对图像的敏感度。当训练数据都属于⽐较理想的状态,碰到⼀些特殊情况,如遮挡,亮度,模糊等情况容易识别错误,对训练数据加上噪声,掩码等⽅法可提升模型鲁棒性。
叶问4豆瓣3)增加训练数据,提⾼模型泛化能⼒。
4)避免样本不均衡。在⼯业缺陷检测⽅⾯,医疗疾病识别⽅⾯,容易出现正负样本极度不平衡的情况,通过对少样本进⾏⼀些数据增强⽅法,降低样本不均衡⽐例。
2、常⽤⽅法
⽐较常⽤的⼏何变换⽅法主要有:翻转,旋转,裁剪,缩放,平移,抖动。值得注意的是,在某些具体的任务中,当使⽤这些⽅法时需要主要标签数据的变化,如⽬标检测中若使⽤翻转,则需要将gt框进⾏相应的调整。
⽐较常⽤的像素变换⽅法有:加椒盐噪声,⾼斯噪声,进⾏⾼斯模糊,调整HSV对⽐度,调节亮度,饱和度,直⽅图均衡化,调整⽩平衡等。
3、适合分类任务的⼏个数据增强⽅式
Mixup, Cutmix只⽤于分类任务,分类分数按⽐例分配, Cutout适合分类、检测、识别任务,分类结果不变 。
mixup:将随机的两张样本按⽐例混合,分类的结果按⽐例分配。只适合分类任务。
cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变。王子伊
cutmix:就是将⼀部分区域cut掉但不填充0像素⽽是随机填充训练集中的其他数据的区域像素值,分类结果按⼀定的⽐例分配。
上述三种数据增强的区别:
cutout和cutmix就是填充区域像素值的区别;
mixup和cutmix是混合两种样本⽅式上的区别;
搀怎么组词mixup是将两张图按⽐例进⾏插值来混合样本,cutmix是采⽤cut部分区域再补丁的形式去混合图像,不会有图像混合后不⾃然的情形。
优点:
1)在训练过程中不会出现⾮信息像素,从⽽能够提⾼训练效率;
2)保留了regional dropout的优势,能够关注⽬标的non-discriminative parts;
3)通过要求模型从局部视图识别对象,对cut区域中添加其他样本的信息,能够进⼀步增强模型的定位能⼒;
4)不会有图像混合后不⾃然的情形,能够提升模型分类的表现;
5)训练和推理代价保持不变。
4、适合检测任务的⼏个增强⽅式
cutout、 Random Erasing、GridMask。知识树
4.1、GridMask
GridMask主要思想是对Mixup, Cutmix、Cutout等类似⽅法的改进,由于掩码区域的选择都是随机的,因此容易出现对重要部位全掩盖的情况。⽽GridMask则最多出现部分掩盖,且⼏乎⼀定会出现部分掩盖。使⽤的⽅式是排列的正⽅形区域来进⾏掩码。
飞鸣镝打一成语
具体实现是通过设定每个⼩正⽅形的边长,两个掩码之间的距离d来确定掩码,从⽽控制掩码细粒度。GridMask对应4个参数,为(x,y,r,d) ,四个参数的设置如下图所⽰:
从图中可以看出,r 代表了保留原图像信息的⽐例,有⼀个计算⽅法,具体可以阅读论⽂。d 决定了⼀个dropped square的⼤⼩,参数 x和y的取值有⼀定随机性。
5、多样本数据增强⽅法
mosaic数据增强利⽤了四张图⽚,对四张图⽚进⾏拼接,每⼀张图⽚都有其对应的框框,将四张图⽚拼接之后就获得⼀张新的图⽚,同时也获得这张图⽚对应的框框,然后我们将这样⼀张新的图⽚传⼊到神经⽹络当中去学习,相当于⼀下⼦传⼊四张图⽚进⾏学习了。论⽂中说这极⼤丰富了检测物体的背景。且在标准化BN计算的时候⼀下⼦会计算四张图⽚的数据,如下图所⽰:
实现过程主要分为3步:
受托人1)从数据集中每次随机取出四张图⽚
2)分别对四张图⽚进⾏翻转(对原始图⽚进⾏左右的翻转)、缩放(对原始图⽚进⾏⼤⼩的缩放)、⾊域变化(对原始图⽚的明亮度、饱和度、⾊调进⾏改变)等操作。
操作完成之后然后再将原始图⽚按照 第⼀张图⽚摆放在左上,第⼆张图⽚摆放在左下,第三张图⽚摆放在右下,第四张图⽚摆放在右上四个⽅向位置摆好。
3)进⾏图⽚的组合和框的组合。猫的分类
丁香六月视频完成四张图⽚的摆放之后,我们利⽤矩阵的⽅式将四张图⽚它固定的区域截取下来,然后将它们拼接起来,拼接成⼀张新的图⽚,新的图⽚上含有框框等⼀系列的内容。
6、在⽹络中增强
在⽹络中使⽤DropOut、DropConnect和DropBlock。
参考:
1、数据增强:Mixup,Cutout,CutMix | Mosaic
2、DataWhale街景字符编码识别项⽬-数据增强