点击我爱计算机视觉标星,更快获取CVML新技术


本文为52CV粉丝CrazyVertigo投稿,原文链接:

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

给大家介绍一篇非常简单又提点效果明显的2020年最新论文,通过GridMask数据增强方法提升模型鲁棒性,在图像分类、检测、分割三个问题上都做了实验,提升效果明显,好于当前SOTA 的autoaugment。

论文地址:

https://arxiv.org/abs/2001.04086

github地址:

https://github.com/akuxcw/GridMask

GridMask方法在分类、检测、分割三个问题都做了实验,效果提升明显。分类在ImageNet和CIFAR10数据集,评估指标是TOP1 accuracy;检测在COCO数据集,评估指标是map;分割问题在Cityscapes数据集,评估指标是mIOU.

1.Gridmask方法介绍

1.1 超参数的定义

GridMask是通过生成1个和原图相同分辨率的mask,然后将该mask和原图相乘得到一个GridMask增强后的图像。上图中灰色区域的值为1,黑色区域的值为0。通过将Mask和原图相乘,实现了特定区域的information dropping,本质可以理解成是一种实现正则化的方法。

一个GridMask对应4个参数,分别是x,y,r和d,通过这4个参数确定一组特定的mask.实际应用的过程中,还对该Mask进行了旋转。

首先定义k,即图像信息的保留比例,其中H和W分别是原图的高和宽,M是保留下来的像素数,保留比例k如上,该参数k和上述的4个参数无直接关系,该参数间接定义了r。

r的定义通过k可以转换得到

另外2个参数x和y也是定义为一定区域的随机

1.Gridmask方法介绍

1.2 超参数的影响

  • 超参数中的r该如何选择?

GridMask的4个超参数中的r在ImageNet上设置为0.6效果最佳,cifar10中设置为0.4效果最佳。文章中给的建议是分类任务越复杂,r适当越大效果越好。
  • 超参数中的d该如何选择?

GridMask的4个超参数中的d的选择实验结果表示不可以太小(ImageNet输入网络的分辨率为224*224),设置为[96,224]时效果最好,为77.89%
  • 使用过程中该以多大的概率p对训练图像进行GridMask增强?

这里或许大家会有思考,我在图上的不同unit区域中,进行随机的information drop是否可以,会有效果吗? 文章中实验给出结论:不行。
  • GridMask方法如何使用?

1.文章中设计了2中方法,第一种方法是设置一定的概率p,从开始训练就对训练图片以概率p进行数据增强;第二种方法是一开始概率为0,随着训练次数增加对训练图片进行gridmask增强的方法逐渐增大,最后变为p。实验结果结论是第二种方法好于第一种方法。

2.我做实验的时候,是简单的将COCO训练集进行一次离线的数据增强,训练数据量double了一倍,保持相同的epoch,会提升1+点。

1.3 数据增强方法回顾

常用的数据增强方法主要分为3类:

1.空间变换,random scale, crop, flip,rotation

2.颜色扭曲,改变透明度,亮度等

3.信息删除,random erasing, cutour, hide-and-seek

本文提出的GridMask方法属于信息删除的方法,这种方法的实现方式是随机在图像上丢弃一块区域,作用相当于是在网络上增加一个正则项,避免网络过拟合,相比较改变网络结构来说,这种方法只需要在数据输入的时候进行增广,简单便捷。

本文提出的GridMask方法属于信息删除的方法,这种方法的实现方式是随机在图像上丢弃一块区域,作用相当于是在网络上增加一个正则项,避免网络过拟合,相比较改变网络结构来说,这种方法只需要在数据输入的时候进行增广,简单便捷。

2.Gridmask效果提升

2.1 分类实验提升

  • 在ImageNet上效果怎么样?

ImageNet数据集也有1点+较明显的提升,效果好于当前的SOTA方法autoAugment,关键的关键是autoAugment是通过好多好多卡通过搜索的方法实验得出结果,对于工程人员用于实际提升项目用处不大,而GridMask则简单高效又好用,十分推荐。
  • 在Cifar10上效果怎么样?

Cifar10数据集用补充了其他几种information droping的实验,例如Randomearsing,Cuout,Has,Autoaugment等。

2.2 检测实验提升

  • 在COCO上效果怎么样?

检测的实验gridmask的参数r根据经验设置成0.5,训练的时候一张图做不做gridmask增强也是一个超参数,上图做对比实验发现设置成0.7效果最好,有0.9的提升。训练更长的时间可以进一步提升,如上图Faster-RCNN-50-FPN(4x)所示,最终提升1.9个点。

自己使用mmdetection框架在faster-rcnn-resnet50网络上也有1+点的明显提升,后续会在业务相关的数据集上做实验。

2.3分割实验提升

  • 在Cityscapes上效果怎么样?

分割实验在PSPNet50和PSPNet101也有不同程度的效果提升。

参考文章:

1.GridMask Data Augmentation (GridMask)

2.Improved regularization of convolutional neural networks with cutout (Cutout)

3.Hide-and-seek: A data augmentation technique for weakly-supervised localization and beyond (HAS)

4. Cutmix: Regularization strategy to train strong classifiers with localizable features (CutMix)

5. Cutmix: Regularization strategy to train strong classifiers with localizable features (Mixup)

6. Dropblock: A regularization method for convolutional networks (Label Smoothing)

7. Autoaugment: Learning augmentation strategies from data (AutoAugment)


数据标注与增广交流群

关注最新最前沿的数据标注方法及工具、数据增广技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

(请务必注明:增广)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

GridMask:SOTA 数据增广方法,显著改进分类、检测、分割效果相关推荐

  1. PaddleClas-图像分类中的8种数据增广方法(cutmix, autoaugment,..)

    本文主要来源于PaddleClas这个代码仓库中的数据增广文档:https://github.com/PaddlePaddle/PaddleClas/blob/master/docs/zh_CN/ad ...

  2. 【工大SCIR笔记】自然语言处理领域的数据增广方法

    点击上方,选择星标或置顶,每天给你送干货! 作者:李博涵 来自:哈工大SCIR 1.摘要 本文介绍自然语言处理领域的数据增广方法.数据增广(Data Augmentation,也有人将Data Aug ...

  3. 自然语言处理领域的数据增广方法

    1.摘要 本文介绍自然语言处理领域的数据增广方法.数据增广(Data Augmentation,也有人将Data Augmentation翻译为"数据增强",然而"数据增 ...

  4. YOLOv5添加自定义数据增广方法

    YOLOv5添加自定义数据增广方法 虽然YOLOv5内置数据增广方法非常丰富,包括随机旋转.翻转.HSV-Saturation等.但仍然有添加自定义的数据增广方法的情况.例如使用N+L策略训练网络.N ...

  5. 深度学习图像数据增广方法总结

    参考:Data Augmentation | How to use Deep Learning when you have Limited Data-Part 2 文章目录 1. 数据增广(Data ...

  6. 谷歌简单粗暴“复制-粘贴”数据增广,刷新COCO目标检测与实例分割新高度

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 近日,谷歌.UC伯克利与康奈尔大学的研究人员公布了一篇论文 Sim ...

  7. 论文笔记 | 深度学习图像数据增广方法研究

    1 背景 在许多领域,受限于数据获取难度大,标注成本高等原因,往往难以获得充足的训练数据,这样训练得到的深度学习模型往往存在过拟合的问题,进而导致模型泛化能力差,测试精度不高等. 数据扩充的作用:扩大 ...

  8. 常用数据增广方法,解决数据单一问题

    Datawhale干货 作者:陈信达,Datawhale优秀学习者 寄语:本文将对传统图像算法的数据增广方式进行学习,以最常用的平移和旋转为例,帮助大家梳理几何变换的概念和应用,并对其在OpenCV的 ...

  9. 计算机视觉的数据增广技术大盘点!附涨点神器,已开源!

    如果要把深度学习开发过程中几个环节按重要程度排个序的话,相信准备训练数据肯定能排在前几位.要知道一个模型网络被编写出来后,也只是一坨代码而已,和智能基本不沾边,它只有通过学习大量的数据,才能学会如何作 ...

最新文章

  1. Linux编程题:信号量同步三进程依次打印若干次ABC
  2. Linux下通过v4l2获取视频设备名、支持的编解码及视频size列表实现
  3. 【最新合集】IDEA 快捷键整理
  4. 【IT笔试面试题整理】数组中出现次数超过一半的数字
  5. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server - QxQstar - 博客园
  6. MYSQL技术连环斩-MYSQL简述
  7. SOTIF预期功能安全工作流程
  8. 京东11.11晚8开启四小时累计售出商品超1.9亿件
  9. 中文信息处理(四)—— 神经网络基础
  10. ioc中最基本的JAVA技术_Spring IOC 知识点总结
  11. 使用rsync完成内网数据备份
  12. 文本比较/文本对比在线工具
  13. 微信小程序:人生重开模拟器
  14. [ 八爪鱼使用经验] 爬取简单列表数据
  15. C语言二进制与十进制之间的转换
  16. 计算机在饲养管理方面的应用,高新技术对奶牛业的应用
  17. 开源分布式任务工作流调度系统Easy Scheduler Release 1.0.2
  18. 工作积累10——推荐一本看过最好的数据分析的书
  19. Python学习第一天
  20. Cannot load C:\Users\12778\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\c0cf5d96-4221-48ee-b343

热门文章

  1. 方法重载与重写,返回类型
  2. VC2008下使用OpenSSL 1 0 0g 免编译
  3. GOF之结构型模式Ⅱ(重点)
  4. Linux学习笔记5
  5. oracle 创建clob类型字段的索引,LOB字段相关概念(自动创建LOB索引段和重建索引方法)...
  6. python 股票数据_从互联网获取股票数据(历史数据,Python + MySQL)
  7. sklearn 神经网络_机器学习100天-Day2404 循环神经网络RNN(预测时间序列)
  8. php如何按日期统计,关于按日获取统计信息:按日期获取统计信息 – 日期时间列 – mysql / php...
  9. 【script】python 解析 Windows日志(python-evtx)
  10. C# 实现 rtc_通过Xlua实现unity热更新的一个小例子