1. 图像遮挡
1.1 Random Erase
用随机值或训练集的平均像素替换图像区域。
Paper: Random Erasing Data Augmentation
URL: https://arxiv.org/pdf/1708.04896.pdf
github: https://github.com/zhunzhong07/Random-Erasing.git
1.2 Cutout
仅对CNN第一层的输入图像使用随机剪切框Mask。
Paper:Improved Regularization of Convolutional Neural Networks with Cutout
URL: https://arxiv.org/pdf/1708.04552.pdf
github: https://github.com/uoguelph-mlrg/Cutout.git
1.3 Hide and Seek(HaS)
将图像分割成一个由S*S大小的网格,根据概率设置随机隐藏一些网格,从而让模型学习整个对象的样子。
Paper:Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization and Beyond
URL: https://arxiv.org/pdf/1811.02545.pdf
github: https://github.com/kkanshul/Hide-and-Seek.git
1.4 GridMask
将图像的区域隐藏在网格中,作用是让模型学习目标的整个组成部分。
Paper:GridMask Data Augmentation
URL: https://arxiv.org/pdf/2001.04086.pdf
github: https://github.com/dvlab-research/GridMask.git
2. 多图组合
2.1 MixUp
对图像进行混类增强的算法,不同类图像间的混合。
Paper: mixup: BEYOND EMPIRICAL RISK MINIMIZATION
URL: https://arxiv.org/pdf/1710.09412.pdf
github: https://github.com/facebookresearch/mixup-cifar10.git
2.2 CutMix
将另一个图像中的剪切部分粘贴到增强的图像中。
Paper: CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features
URL: https://arxiv.org/pdf/1905.04899.pdf
github: https://github.com/clovaai/CutMix-PyTorch.git
2.3 Mosaic
Mosaic是CutMix的扩展,CutMix为两张图像,而Mosaic数据增强是4张图像混合。好处非常明显是一张图相当于4张图,等价于batch增加了,可以显著减少训练需要的batch size大小。
Paper:YOLOv4: Optimal Speed and Accuracy of Object Detection
URL:https://arxiv.org/pdf/2004.10934.pdf
github: https://github.com/jason9075/opencv-mosaic-data-aug.git
3. 自对抗训练(SAT)
Self-Adversarial Training是在一定程度上抵抗对抗攻击的数据增强技术。CNN计算出Loss,然后通过反向传播改变图片信息,形成图片上没有目标的假象,然后对修改后的图像进行正常的目标检测。需要注意的是在SAT的反向传播的过程中,是不需要改变网络权值的。
使用对抗生成可以改善学习的决策边界中的薄弱环节,提高模型的鲁棒性。因此这种数据增强方式被越来越多的对象检测框架运用。
4. 类标签平滑
Class label smoothing是一种正则化方法。如果神经网络过度拟合和/或过度自信,我们都可以尝试平滑标签。也就是说在训练时标签可能存在错误,而我们可能“过分”相信训练样本的标签,并且在某种程度上没有审视其他预测的复杂性。因此为了避免过度相信,更合理的做法是对类标签进行编码,以便在一定程度上对不确定性进行评估。YOLOv4使用了类平滑,选择模型的正确预测概率为0.9,例如[0,0,0,0.9,0...,0]。
正如图像所显示的,标签平滑为最终的激活产生了更紧密的聚类和更大的类别间的分离。