本文介绍简单数据增强、好处以及常见的增强方式,也介绍几篇关于数据增强的工作:
CutMix(ICCV2019),ContrastMask(CVPR2022),BCP(CVPR2023)。
数据增强简介&好处
什么是数据增强?
数据增强是深度学习中的一种技术,它通过从现有数据生成新的训练数据来扩展原数据集。数据增强工具通过操作现有数据的参数,将数据转换为新的、独特的样本。可以对图像、文本、音频和视频输入执行数据增强。有两种类型的数据增强:离线(增强图像存储在驱动器上,然后在训练模型之前与真实数据相结合)和在线(数据增强应用于随机选择的图像并用于训练原始数据)。
数据增强有什么好处?
正确使用数据增强能够带来如下好处:
- 降低数据采集和数据标记的成本。
- 通过赋予模型更多的多样性和灵活性来改进模型泛化。
- 提高模型在预测中的准确性,因为它使用更多数据来训练模型。
- 减少数据的过拟合。
- 通过增加少数类中的样本来处理数据集中的不平衡。
常见的数据增强方式:
想了解更多关于数据增强的方式,可参考博客:
深度学习中的各种数据增强_m0_61899108的博客-CSDN博客
自动数据增强方法(附代码)_数据增强代码_m0_61899108的博客-CSDN博客
数据增强方式很多,算法不难,困难在于,如何理解,方法提出的原因与目的(动机),方式是否简单有效,如何与任务关联,如何讲好故事。
CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features, ICCV 2019
论文:https://arxiv.org/abs/1905.04899
代码:https://github.com/clovaai/CutMix-PyTorch
几种常见的数据增强的比较:
- Mixup:将随机的两张样本按比例混合,分类的结果按比例分配;
- Cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变;
- CutMix:就是将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值,分类结果按一定的比例分配。
上述三种数据增强的区别:
- cutout和cutmix就是填充区域像素值的区别;
- mixup和cutmix是混合两种样本方式上的区别:
- mixup是将两张图按比例进行插值来混合样本,cutmix是采用cut部分区域再补丁的形式去混合图像,不会有图像混合后不自然的情形。
CutMix优点:
- 在训练过程中不会出现非信息像素,从而能够提高训练效率;
- 保留了regional dropout的优势,能够关注目标的non-discriminative parts;
- 通过要求模型从局部视图识别对象,对cut区域中添加其他样本的信息,能够进一步增强模型的定位能力;
- 不会有图像混合后不自然的情形,能够提升模型分类的表现;
- 训练和推理代价保持不变。
算法:
伪代码:
实验:
ContrastMask: Contrastive Learning to Segment Every Thing, CVPR2022
论文:https://arxiv.org/abs/2203.09775
代码:https://github.com/huiserwang/ContrastMask
部分监督实例分割是一项任务,要求通过在带有注释掩码的有限基本类别上学习,从新类别中分割对象,从而消除繁重的注释负担。解决这一任务的关键是建立一个有效的类不可知掩码分割模型。与以前只在基本类别上学习此类模型的方法不同,本文提出了一种新的方法,称为ContrastMask,该方法在统一的像素级对比学习框架下,在基本类别和新类别上学习掩码分割模型。在该框架中,基本类别的注释掩码和新类别的伪掩码用作对比学习的先验,其中来自掩码区域(前景)的特征被拉到一起,并与来自背景的特征进行对比,反之亦然。(在实例前景与背景的像素之间采样query与keys,进而拉远前景-背景之间的距离,拉近前景-前景或者背景-背景的距离)通过该框架,大大提高了前景和背景之间的特征区分,促进了类不可知掩码分割模型的学习。在COCO数据集上取得好结果。
本文提出了ContrastMask,一种新的部分监督实例分割方法,它在统一的像素级对比学习框架下,在基本类别和新类别上学习类不可知的掩码分割模型。在这个框架中,设计了一种新的查询共享像素级对比损失,以充分利用所有类别的数据。为此,通过类激活映射(CAM)计算的基本类别的注释掩码或新类别的伪掩码用作区域先验,这不仅指示前景和背景分离,还指示共享查询、正密钥和负密钥。相反,给定一个包含基本类别和新类别的训练图像批,建立了两个共享查询:前台查询和后台查询,这两个查询是通过对掩码区域内外的特征进行平均来获得的,分别包括注释掩码和伪掩码。然后,执行一种特殊的采样策略来选择合适的密钥。通过引入所提出的损失,我们期望将掩码区域内/外的键拉向前台/后台共享查询,并将其与掩码区域外/内的键进行对比。最后,通过我们的像素级对比学习框架学习的特征被融合到类不可知的掩码头中,以执行掩码分割。
与以前的方法相比,ContrastMask有几个好处:
- 它充分利用了训练数据,使来自新类别的训练数据也有助于分割模型的优化过程;
- 更重要的是,它通过统一的像素级对比学习框架,特别是对基本类别和新类别的共享查询,搭建了一座桥梁,将基本类别的分割能力转移到新类别,从而不断提高基本类别和新颖类别的前地和背景之间的特征区分。
框架:ContrastMask建立在经典的两阶段Mask R-CNN架构上,具有一个额外的“对比学习”头,称为CL Head,它在基本类别和新类别上执行统一的像素级对比学习。CL Head采用RoI特征图和Box Head生成的CAM作为输入。它由像素级对比损失监督,并输出Mask Head的增强特征图。最后,Mask Head预测了一个类别通过将融合的特征图作为输入的不可知分割图。
Contrastive Learning Head (CL Head):CL Head的目标是增加前景和背景之间的特征区分,并减少基本类别和新类别的每个区域(背景或前景)内的特征差异,从而有助于Mask Head学习。通过学习新的像素级对比损失来实现这一点。
Query-sharing Pixel-level Contrastive Loss:新的像素级损失,它能够在统一的对比学习框架下学习基本类别和新类别的掩码分割模型。这种损失函数的核心设计理念是基本类别和新类别共享两个与类别无关的查询,一个用于前台q+,另一个用于后台q−,这样就形成了一个桥梁,将基本类别的细分能力转移到新类别。
Class-agnostic mask head:掩码头的架构和对应的损失函数与mask R-CNN中的架构和相应的损失函数相同,除了三个修改:1)将最后一个卷积层的输出通道从80更改为1,从而产生类不可知的掩码头。2) 将CL头的输出特征图与掩模头的输入特征图连接起来,这使得掩模头输入特征更加独特,并有助于其学习。3) 使用CAM来告诉掩模头应该关注哪个区域。这可以通过将CAM添加到输入特征图中来轻松实现.
实验:
Bidirectional Copy-Paste for Semi-Supervised Medical Image Segmentation, CVPR2023
论文:https://arxiv.org/abs/2305.00673
代码:https://github.com/DeepMed-Lab-ECNU/BCP
在半监督医学图像分割中,标记和未标记的数据分布之间存在经验不匹配问题。如果单独或以不一致的方式处理标记数据和未标记数据,则从标记数据中学到的知识可能会被大量丢弃。
本文提出了一种简单的方法来缓解这个问题——在一个简单的Mean Teacher架构中双向复制粘贴标记和未标记的数据。该方法鼓励未标记的数据从标记的数据中学习向内和向外的全面通用语义。更重要的是,标记和未标记数据的一致学习过程可以在很大程度上缩小经验分布差距。
详细地说,分别将随机裁剪从标记图像(前景)复制粘贴到未标记图像(背景)和未标记图像上。这两个混合图像被馈送到学生网络中,并由伪标签和真实标签的混合监督信号进行监督。论文发现,在标记和未标记数据之间双向复制粘贴的简单机制足够好,并且与各种半监督医学图像分割数据集上的其他现有技术相比,实验收益明显)。
在半监督医学图像分割中,标记和未标记的数据来自相同的分布(图第1(a)段)。但在现实世界中,很难从标记数据中估计精确的分布,因为它们的数量很少。因此,在大量未标记数据和极少量标记数据之间总是存在经验分布不匹配(图第1(b)和(c)段)。半监督分割方法总是试图以一致的方式对称地训练标记和未标记的数据。但大多数现有的半监督方法在不同的学习范式下使用标记和未标记的数据。因此,它经常导致丢弃从标记数据中学习的大量知识,以及标记数据和未标记数据之间的经验分布不匹配(图第1(e)段)。
为了缓解标记数据和未标记数据之间的经验不匹配问题,一个成功的设计是鼓励未标记数据从标记数据中学习全面的共性,同时通过标记数据和非标记数据的一致学习策略来进一步实现分布对齐。本文通过提出一种简单但非常有效的双向复制粘贴(BCP)方法来实现这一点,该方法在Mean Teacher框架中实例化。具体来说,为了训练学生网络,通过将随机裁剪从标记图像(前景)复制粘贴到未标记图像(背景)上来增加输入,反之,将随机裁剪从不标记图像(前台)复制粘贴在标记图像上(背景)。学生网络由生成的监督信号通过来自教师网络的未标记图像的伪标签和标记图像的标签图之间的双向复制粘贴来监督。这两个混合图像有助于网络双向对称地学习标记数据和未标记数据之间的公共语义。
框架:
流程描述:
算法:
实验: