CutMix数据增强
论文地址:https://arxiv.org/abs/1905.04899v2
代码: https://github.com/clovaai/CutMix-PyTorch
参考:https://blog.****.net/weixin_38715903/article/details/103999227
几种数据增强的区别:Mixup, cutout, cutmix
mixup:将随机的两张样本按比例混合,分类的结果按比例分配
cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变
cutmix:就是将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值,分类结果按一定的比例分配.
上述三种数据增强的区别:cutout和cutmix就是填充区域像素值的区别;mixup和cutmix是混合两种样本方式上的区别:mixup是将两张图按比例进行插值来混合样本,cutmix是采用cut部分区域再补丁的形式去混合图像,不会有图像混合后不自然的情形.
优点:
1.在训练过程中不会出现非信息像素,从而能够提高训练效率
2.保留了regional dropuot的优势,能够关注目标的non-discriminative parts;
3.通过要求模型从局部视图识别对象,对cut区域中添加其他样本的信息,能够进一步增强模型的定位能力;
4.不会有图像混合后不自然的情形,能够提升模型分类的表现
5.训练和推理代价不变.
cutmix的原理
xA和xB是两个不同的训练样本,yA和yB是对应的标签值,cutmix需要生成的是新的训练样本和对应标签和,公式如下:
是为了dropd掉部分区域和进行填充的二进制掩码,是逐像素相乘,是所有元素都为1 的二进制掩码,与Mixup一样属于Beta分布:,令则服从(0,1)的均匀分布。