本文介绍 全网最全:盘点那些图像数据增广方式Mosiac,MixUp,CutMix等.

全网最全:盘点那些图像数据增广方式Mosiac,MixUp,CutMix等.

本文由林大佬原创,转载请注明出处,来自腾讯、阿里等一线AI算法工程师组成的QQ交流群欢迎你的加入: 1037662480

相信很多朋友在面对各种各样的数据增广方式时, 一定和小林一样, 不知道具体是个什么东西, 也不知道这些增广方式到底适用于什么场景, 什么数据集有效, 什么数据集无效. 今天我们就来对目前学术界用的比较多的增广方法来做一个总结, 希望给大家抛砖引玉.

我们先从比较简单, 逐渐复杂的方式来和大家讲解. 我们会在文章最后总结这些不同数据增广方式对最终结果的可能影响, 以及他们的优缺点, 对于这些方法比较熟悉的同学可以直接跳转到文末, 同时非常欢迎大家对于不对的见解提出宝贵的修改意见.

MixUp

MixUp来自于论文: *mixup**:BEYOND EMPIRICAL RISK MINIMIZATION*. 传送门: https://arxiv.org/pdf/1710.09412.pdf 论文来自于CVPR2018:

image-20200731143529586

大家也可以看看关于这个方法更加具体的知乎讨论: https://www.zhihu.com/question/67472285/answer/256651581 , 这篇论文的原作者也现身为大家答疑.

这里我们主要说一下我们的看法. MixUp在分类任务中, 解决的问题主要是让模型更加鲁棒性的区分很相近的类别, 比如我们一个batch一个batch去训练的时候, 猫对应的label就是猫, 狗就是狗, 完全只靠看猫和狗来区分他们. 那么在实际情况中, 如果出现一个样本, 它长得既像猫又像狗, 但实际上这是一条狗, 网络可能就懵逼了.

MixUp采用配对的方式进行训练, 通过混合两个甚至是多个样本的分布, 同时加上对应的标签来训练, 用论文原文的话来说就是:

In essence, mixup trains a neural network on convex combinations of pairs of examples and their labels.

这其实就是MixUp最本生的思想.

image-20200731144739580

至于怎么混合也很简单, 就是把这个Pair重新组合成为一个样本.

那么这个简单的方式效果咋样呢? 以及它用在目标检测里面是否可行呢?

image-20200731145805746

从效果上来看, 没有任何花里胡哨的东西, 就可以将top1的错误率降低0.2-0.3个百分点. 还是很有用的!

后台有一些小伙伴问小林, 这个MixUp看起来是什么样的? 借用知乎大佬的一些资料, 它大概看起来像这样:

image-20200731150048909

就像是我们经常在电影里面看到的那种淡入淡出的效果差不多. 那么自然而然的, 对于目标检测它大概就像是这样:

image-20200731150131748

图源自Aws官方PPT.

所以当你的数据集类别比较多的时候, 用这种方式也许可以有效的区分一些难例, 但是并非所有的情况都能用MixUp, 至少在只有一个类别的情况下, 我认为效果不会是很有效.

Mosiac

这个数据增广方式, 出名于Yolov4, 也是来自于战斗民族的一种增广方法. 它通过排列四张图片, 以及对应的box来实现数据的增广方式.

image-20200731150613287

比如我们在一个安检数据集上增加这个 Mosiac方式,这种方式可以增加单张图片的丰富度, 同时也能更好的让网络去定位每一个类别的位置. 它背后的数学基础并没有太复杂, 只是这个东西它好像确实work, 至少在coco上是如此.

但小林最近在将这个技术应用于一些其他数据集的时候发现, 并不是所有的数据集都能用这个方式. 带来的主要问题是, 如果你的数据集列别比较少, 依赖于空间信息, 以及大小比较小的时候, 可能要考虑random的去enable Mosiac, 而不是将所有的数据都应用这个增广方式.

CutMix

cutMix用一张图来直观的对比:

image-20200820180301237

可以看到, CutMix就是把一个物体抠出来, 粘贴到另一张图上去.

这个增强的效果怎么样呢?从分别的角度来说, 貌似对于分类有一些增长, 但是, 问题在于, 你CutMix的方式似乎有讲究, 图片中只是看到了猫头和狗尾巴, 万一反过来了呢? 还应该分类为什么?

对于CutMix的数学推导和更多的实验, 大家可以查看原论文:https://arxiv.org/pdf/1905.04899v2.pdf

FMix

FMIX是2020年才出来的, 最新的数据增强方法. 说道FMIX, 我们有必要理解一下为什么CutMix它work. 理论上来说, 因为CutMix引入了一个蒙版的效果, 每个神经元在编码的时候会产生派生的意义, 这就好比人眼去看一个似是而非的东西, 这就会迫使模型去学习局部一致性, 比如说, 前面马路有一滩水, 水里面有一个人, 那么这个分类是分类为水还是人呢? 通过这么一个数据的增强, 模型学会了在大环境下判断这个物体, 它是一滩水, 而不是一个people.

那么FMix更强的地方在哪里呢?

我可以这么说吧, CutMix是一个PS技术很差的人把猫狗合在一起, 直接就是矩形框粘贴, 而Fmix是一个技术高超的PSer. 它可以通过融合通道颜色来完美的把图片剪切过去.

image-20200820180914737

这期的技术分享就到这里, 关于计算机视觉与深度学习技术的更多干货, 欢迎关注我们的公众号和专栏!

更多

image-20200820181257044

如果你想学习人工智能,对前沿的AI技术比较感兴趣,可以加入我们的知识星球,获取第一时间资讯,前沿学术动态,业界新闻等等!你的支持将会鼓励我们更频繁的创作,我们也会帮助你开启更深入的深度学习之旅!

image-20200515153654923

往期文章

https://zhuanlan.zhihu.com/p/165009477

https://zhuanlan.zhihu.com/p/149398749

https://zhuanlan.zhihu.com/p/147622974

https://zhuanlan.zhihu.com/p/144727162