极市导读
本文从CV领域入手,介绍了9篇CV领域的Mixup相关论文,一览Mixup数据增强技术的发展过程。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
Mixup是发源于CV领域的一种数据增强技术,发展到现在不仅在CV领域,在NLP、时间序列预测等领域都有其踪影,是一种提分神器。今天我们从CV领域入手,介绍了9篇CV领域的Mixup相关论文,一览Mixup数据增强技术的发展过程。
1 Mixup
-
论文标题:mixup: Beyond empirical risk minimization(ICLR 2018)
Mixup的实现方法很简单,随机选择两个训练样本的向量,以及其对应的label,使用线性插值的方法生成一个新的向量和对应的labell,作为增强的数据。这种方式给模型引入了先验知识:特征线性插值对应label的线性插值。通过引入这个先验知识,提升深度学习模型的泛化性。这篇文章也给出了mixup有效性的证明。
2 Cutmix
-
论文标题:Cutmix: Regularization strategy to train strong classifiers with localizable features(ICCV 2019)
Cutmix方法直接在图像的像素级别对两个样本进行混合。Cutmix首先会选择两个图像,对于一个图像随机选择一个要mask的区域,使用另一个图像对应的区域进行填充,得到一个新的输入图片。在Cutmix之前还有一个方法叫Cutout,直接把mask的区域用0填充。本文也对比了3种方法的可视化CAM结果(对可视化原理感兴趣的可以看之前的文章),Cutmix在判断这两个图像两个类别的的任务上能够实现对对应区域的关注,而mixup由于把向量插值导致难以确定对分类有用的区域,Cutout则丢失了部分信息导致在另一个类别的预测上无法关注到对应区域。
3 Saliencymix
-
论文标题:Saliencymix: A saliency guided data augmentation strategy for better regularization(ICLR 2021)
上面的mix方法都是随选择区域进行mix,同时将label也进行对应的mix。然而,一个问题在于不同区域包含的信息量是不同的,有些patch是图像的背景,对图像实体类别无关,这导致mix后的图像和label可能并不匹配。例如下面的例子,在猫图像上随机选的20%区域不包含猫,但是label被20%的猫和80%的狗混合,这显然是不合理的。换句话说,mixup这类方法的问题在于,图像和label使用相同的系数做差值,且图像mix区域是随机选的,而不同区域的重要性本来就不同,对应对的label也按照相同系数插值会带来一定问题。
针对这个问题,本文提出的解决方法是先利用显著性检测识别图像中的重要区域,然后将patch的选择限制在这个区域内,这样就避免了选择的patch是背景的情况发生。
4 Co-mixup
-
论文标题:Co-mixup: Saliency guided joint mixup with supermodular diversity(ICLR 2021)
Co-mixup将随机选择的数据pair之间的mixup扩展到一个batch内的mixup,并且通过多个mix目标将寻找最优的mixup方法转换成一个优化问题,以此来指导mixup过程。优化目标包括:最大化mixup后的图像显著性(类似Saliencymix的目的,让mix后的结果尽量多保留实体信息)、mixup后图像尽可能满足局部平滑。同时,为了提升产生图像的多样性,引入了一个正则化损失对生成过于相似的图像进行惩罚,使得mixup得到的增强图像更具多样性。
5 Supermix
-
论文标题:Supermix: Supervising the mixing data augmentation(CVPR 2021)
这篇文章的核心思路也是将不同图像中显著性区域做mixup,以避免传统mixup中把背景融合进来的问题。这篇文章提出了一种有监督的方法,首先将mixup公式化成多个图像mask后融合的函数:
然后根据mix候选图像的label生成一个期望mix后图像的label分布,希望mix后图像在候选图像上的类别上打分更高。让一个teacher模型在mix后图像上的label分布和目标分布更接近,以此来优化mask方法。同时,需要考虑额外两个特性,第一个是生成的图像要符合训练数据的分布,第二个是生成图像需要具有在图像集合上的稀疏性,尽可能让mix后图像上的某一个局部区域的像素都来自一张图像。综合上述3个约束,可以得到如下优化函数:
6 Mainfold Mixup
-
论文标题:Manifold mixup: Better representations by interpolating hidden states(ICMLL 2019)
Mainfold mixup采取的是网络中隐状态进行mixup,而不是直接对图像mixup。具体的方法为,在一个batch的数据输入到模型中后,在某一层对隐状态向量和label做插值,然后再把mix后的向量和label输入到后续网络中进行预测,相当于在网络中间某层做mixup。通过这种方式可以让分类边界更加平滑,也会让模型产生的表示分布更加合理(如下图,左列是baseline,右侧是加了mainfold mixup的):
7 Alignmix
-
论文标题:Alignmix: Improving representation by interpolating aligned features(CVPR 2022)
Alignmix进一步考虑了融合后图像的质量问题,提出现在特征空间上将两个图像各个位置进行对齐,然后再在对应位置做差值,以此实现更高质量的图像融合。两个图像的对齐方法,主要是在图像的表征向量上使用optimal transport实现,得到两个图像的对齐矩阵,再结合对齐矩阵进行插值。
8 Stylemix
-
论文标题:Stylemix: Separating content and style for enhanced data augmentation(CVPR 2021)
一个图像可以分为风格和内容两个部分,之前的mixup方法直接将图像融合,并没有考虑两者的拆解。Stylemix重点考虑了将图像的风格和内容拆解开,分别进行mix,以实现更高质量的mix图像生成。利用图像风格迁移经典模型AdaIN实现style和content的分离,再分别进行差值融合。
9 TokenMixup
-
论文标题:TokenMixup: Efficient Attention-guided Token-level Data Augmentation for Transformers(NIPS 2022)
随着Transformer在CV中的应用,Vision Transformer逐渐成为主流模型。然而之前的基于saliency的mixup方法是比较耗时的,尤其是在Transformer结构上。本文提出了一种基于attention的mixup方法,实现了15倍的加速比。TokenMixup主要是基于Transformer中自有额attention机制计算每个图像token的显著性的,attention打分越高,显著性越强。再基于这个显著性结果,最大化整个batch数据mixup后的整体显著性。同时,会将已经比较难的样本过滤掉不进行mixup。
10 总结
本文介绍了CV领域9篇Mixup相关工作,从这些文章中可以看出Mixup数据增强方法的发展过程:从最开始的简单插值,到后来的基于显著性的最优化mixup、风格和内容分离的mixup,再到最近随着Vision Transformer兴起提出的TokenMixup。虽然mixup最开始只是很简单的插值,但是学术界发现了mixup的巨大潜力,从多个角度提出了mixup的优化方法,带来了越来越显著的效果提升。
公众号后台回复“知识蒸馏”获取知识蒸馏研究综述PDF
技术干货:损失函数技术总结及Pytorch使用示例|深度学习有哪些trick?|目标检测正负样本区分策略和平衡策略总结
实操教程:GPU多卡并行训练总结(以pytorch为例)|CUDA WarpReduce 学习笔记|卷积神经网络压缩方法总结
# 极市原创作者激励计划 #
极市平台深耕CV开发者领域近5年,拥有一大批优质CV开发者受众,覆盖微信、知乎、B站、微博等多个渠道。通过极市平台,您的文章的观点和看法能分享至更多CV开发者,既能体现文章的价值,又能让文章在视觉圈内得到更大程度上的推广,并且极市还将给予优质的作者可观的稿酬!
我们欢迎领域内的各位来进行投稿或者是宣传自己/团队的工作,让知识成为最为流通的干货!
对于优质内容开发者,极市可推荐至国内优秀出版社合作出书,同时为开发者引荐行业大牛,组织个人分享交流会,推荐名企就业机会等。
“
点击阅读原文进入CV社区
收获更多技术干货

