Daily Paper 08 - KeepAugment
Tilden Ji 菜鸟Lv3

今天分享的是一篇图像增广的论文,来自 CVPR 2021。

论文标题:KeepAugment: A Simple Information-Preserving Data Augmentation Approach

Facebook AI lab 做的数据增强库:facebookresearch/AugLy

一些增广方式的代码:AWS-OHL-AutoAug

数据增广方式总结:Data augmentation

Keras Cut Mix 官方示例:Keras: CutMix data augmentation for image classification

「」

编写记录

  1. 2021 年 6 月 19 日,初稿。
  2. 2021 年 6 月 20 日,完善。

数据增广

数据增广可以简单理解为一种让数据集「变多」的方式。例如,为了获得更多的训练图像,我们可以随机调整大小、改变图像的亮度或旋转;为了获得更大的声音数据集,我们可以尝试提高或降低音频样本的音调,或者进行加速和减速。数据增强技术可以总结为下图

对于计算机视觉,图像增广可以分为两类:

  1. 区域级别的。就是改动的范围现定于某一个 patch,比如 Cutout、Cutmix。
  2. 整体级别的。对于整张图像进行改动。比如 AutoAugument、RandAugument。

对于这两种级别的增广,作者做了个实验,结果如下图所示:

从图上可以看出来,当增加 Cutout 的切割面积和增大 RandAugment 的某个参数时,训练精度(蓝线)和测试精度(红线)之间的差距会逐渐减小,这表明模型泛化能力在一直增加。然后问题是,在某个阈值之后,训练和预测的数值都开始下降,这表明此时的增广图像并不能很好的替代未增广(Clean)图像。

方法

为了解决上文提到的问题,本文提出了一个叫做 Keep Augment的方法,通过 Saliency Map 测量图像中矩形区域的 重要性,并确保在数据增强后保留重要的矩形区域。

其实很简单啦。对于上图 (a4) 和 (b4) 就是所谓的 Saliency Map(应该是越白表示重要性得分越高) ,红框区域的重要性得分就比绿色框要高。然后针对不同增广方式,想办法保留红框部分:

  1. 对于区域级别的增广比如 Cutout,多次尝试 Cut,直到 Cut 的框框部分的重要性得分少于阈值。
  2. 对于整体级别的增广比如 RandAugment,多次采样区域,直到采到的区域重要性得分大于阈值,就把这个区域的原始图像粘贴到增广后的图像上。

上述方法写成伪代码就是下面的样子:

一些实现细节

本方法中的 Saliency Map 需要在每个训练步骤的反向传播的时候计算得到,这就可能带来两倍的计算开销。因此本文在实现时提出了两个方法来减少增加的计算开销:

  1. 低分辨率近似

    如图 (a) 用低分辨率的图像计算 Saliency Map 然后再映射回原分辨率,这样能够显着加快 Saliency Map 的计算速度。例如在 ImageNet 上,通过将分辨率从 224 降低到 112,实现了 3 倍计算成本的降低。

  2. Easy Loss 近似

    如图(b),使用网络前面的层计算 Loss 进而计算 Saliency Map。例如本文作者实现时在第一个 Inception 块之后额外添加了一个平均池化层和一个线性头。这样在计算 Saliency Map 时,又实现了 3 倍计算成本的降低。

另外作者说这两个措施没有让精度有(可见的)降低。

实验

以 CIFAR-10 为例:

可以看到 KeepAugument + low resolution 的方法有比较一致的提升,不过提升确实不大… …

总结

  1. 思路还是挺有意思的,根据图像重要性进行魔改,这个思路可以学习一下;

  2. 之前看过一个也是用到图像重要性的小样本文章,好像是把重要性部分扣掉然后重建… 之后找来对比看看。

  3. 值得注意的相关工作:

    Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps,Saliency Maps 的出处。

    AutoAugment: Learning Augmentation Policies from Data(CVPR 2019),说是把强化学习用到 Augment 上?


Reference

[1]C. Gong, D. Wang, M. Li, V. Chandra, and Q. Liu, “KeepAugment: A Simple Information-Preserving Data Augmentation Approach,” arXiv:2011.11778 [cs], Nov. 2020, Accessed: Jun. 16, 2021. [Online]. Available
[5]J. Li, Z. Wang, and X. Hu, “Learning Intact Features by Erasing-Inpainting for Few-shot Classification,” 2021.
[6]K. Simonyan, A. Vedaldi, and A. Zisserman, “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps,” arXiv:1312.6034 [cs], Apr. 2014, Accessed: Jun. 18, 2021. [Online]. Available
[7]E. D. Cubuk, B. Zoph, D. Mane, V. Vasudevan, and Q. V. Le, “AutoAugment: Learning Augmentation Policies from Data,” arXiv:1805.09501 [cs, stat], Apr. 2019, Accessed: Mar. 31, 2021. [Online]. Available
  • 本文标题:Daily Paper 08 - KeepAugment
  • 本文作者:Tilden Ji
  • 创建时间:2021-06-19 21:09:00
  • 本文链接:https://itiandong.com/2021/daily-paper-08/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论