[CVPR 17 oral]A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection

Xiaolong Wang, Abhinav Shrivastava and Abhinav Gupta

from CMU

paper link

Motivation

这篇文章提出了一种新的对手生成策略,通过训练提升检测网络对遮挡、形变物体的识别精度。

遮挡和形变是检测任务中影响模型性能的两个显著因素。增加网络对遮挡和形变的鲁棒性的一个方式是增加数据库的体量。但是由于遮挡的图片一般都处在图像分布的长尾部分,即便增加数据,遮挡和形变的图片仍是占比较少的部分。另一个思路就是使用生成网络产生遮挡和形变图片。然而遮挡和形变的情况太多,直接生成这些图片还是比较困难的事情。

在这篇文章中,作者的思路是训练一个对手网络,让这个网络动态产生困难的遮挡和形变样本。以遮挡为例,作者希望被训练的检测网络会认为哪里的遮挡更难以处理。之后去遮挡这些区域的特征,从而让检测网络努力学习这些困难的遮挡情况。对于形变的情况同理。

与其它提升检测网络性能的方法,如换用更强大的主干网络、使用自上而下的网络设计等相比,本文提出的方法则是考虑如何更加充分地利用训练数据。

Method

针对遮挡和形变两种情况,作者在Fast RCNN[1]的RoI pooling之后分别设计了ASDN (Adversarial Spatial Dropout Network)和ASTN (Adversarial Spatial Transformer Network)两个网络。其结构如下图所示:

ASDN

ASDN的目标是根据物体建议框中的内容,动态生成一个遮挡掩模。将掩模对应的特征置0后,能给后续的分类器制造尽可能大的麻烦,从而让分类器学习更难的遮挡样本。

为了得到ASDN,作者分以下几步进行训练:

  1. 训练迭代Fast RCNN约10K次,首先得到一个基本上可以进行检测的模型;
  2. 之后单独训练ASDN用来预测具体遮挡的部位。首先proposal被分割为9个格子。为了产生ASDN的训练信息,依次对这9个格子进行遮挡。遮挡后使分类损失最大的格子便是最值得去遮挡的格子。ASDN的训练损失函数便是去分类判断这9个格子,每个格子是不是最值得遮挡的那个;
  3. ASDN的输出是一个分类概率组成的图。在使用输出结果的时候作者取分类为“最值得遮挡”的概率最高的1/2像素,随机选取这些像素中的1/3进行遮挡,剩下的2/3不遮挡,增加一定的随机因素;
  4. 之后作者将ASDN和Fast RCNN组合在一起进行端到端训练。

ASTN

ASTN使用和STN(Spatial Transformer Network[2])一样的网络结构。其优化目标和STN不同,即训练一种仿射变换,使得分类器无法正确分类。实际使用中,需要对输出的旋转角度大小加以约束,否则容易出现将物体上下颠倒的极端但是并不常见的情况。

在最终的使用时,ASDN和ASTN被级联组合在网络中。

Experiments

作者进行了一些列实验来证明提出方法的有效性。首先证明ASDN和ASTN对网络性能的提升作用,在VOC 2007上的结果如下图所示,其中FRCN指Fast RCNN:

针对ASDN,作者与随机对特征进行遮挡、每次迭代动态寻找最难部位遮挡、使用没有联合端到端训练的ASDN等三种方法进行了对比,结果如下:

同作为加强数据利用的方法,作者同OHEM[3]进行了对比。在VOC 2007数据集上,本文方法(71.4%)好于OHEM(69.0%)。但在VOC 2012上,本文方法(69.0%)逊于OHEM(69.8%)。作者解释该现象为两种方法分别强调不同层面的数据利用,是可以互补而不冲突的两种手段。将两者结合一起训练时,其结果(71.7%)达到了最好。

Reference

[1] R. Girshick. Fast r-cnn. In ICCV, 2015.
[2] M. Jaderberg, K. Simonyan, A. Zisserman, and K. Kavukcuoglu. Spatial transformer networks. In NIPS, 2015.
[3] A. Shrivastava, A. Gupta, and R. Girshick. Training regionbased object detectors with online hard example mining. In CVPR, 2016.

[深度学习论文笔记][CVPR 17 oral]A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection相关推荐

  1. CVPR17论文有感:A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection

    A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection 还是那个老故事,即如何解决Deep检测跟踪器训练时正样 ...

  2. 论文翻译与理解:Hard Positive Generation via Adversary for Object Detection

    Hard Positive Generation via Adversary for Object Detection 最近做项目,在看一些数据增强的论文,欢迎感兴趣的同学多多留言交流. 摘要 我们如 ...

  3. 对抗学习用于目标检测--A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection

    A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection CVPR 2017 Caffe code : http ...

  4. [论文笔记]A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection

    paper 一.论文思想 训练一个目标检测器,对遮挡和形变鲁棒,目前的主要方法是增加不同场景下的图像数据,但这些数据有时又特别少.作者提出使用对抗生成有遮挡或形变的样本,这些样本对检测器来说识别比较困 ...

  5. A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection 笔记

    这篇paper主要是针对训练数据时,遮蔽和形变物体的数据集不一定很全面提出的,于是,想到可以用生成网络生成这种数据来进行训练.但是这种数据生成又是很困难的,作者就想到跳过生成数据,直接在Feature ...

  6. [深度学习论文笔记]医学图像分割U型网络大合集

    [深度学习论文笔记]医学图像分割U型网络大合集 2015 U-Net: Convolutional Networks for Biomedical Image Segmentation (MICCAI ...

  7. [深度学习论文笔记]Multi-phase Liver Tumor Segmentation with Spatial Aggregation

    Multi-phase Liver Tumor Segmentation with Spatial Aggregation and Uncertain Region Inpainting [深度学习论 ...

  8. [深度学习论文笔记]Pairwise Learning for Medical Image Segmentation

    [深度学习论文笔记]Pairwise Learning for Medical Image Segmentation 医学图像分割的成对学习 Published: October 2020 Publi ...

  9. [深度学习论文笔记DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datasets

    DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datasets DoDNet:学 ...

最新文章

  1. Flutter开发之ListView添加HeaderView和FooterView-2(39)
  2. 浏览器直接连接mysql_在IE中直接连接SQL数据库_MySQL
  3. 红黑树的删除_Python实现红黑树的删除操作
  4. 使用NoSQLUnit测试Spring Data MongoDB应用程序
  5. C++(STL):25 ---序列式容器stack源码剖析
  6. 解决 ssh 登录到ubuntu server 慢的问题
  7. 电脑操作精典密笈60式
  8. HTTP Header 详解【转】
  9. 29.Linux/Unix 系统编程手册(上) -- 线程:介绍
  10. go实现简单的chan
  11. WIN10如果将电脑网络分享给iphone
  12. 网站域名被微信/QQ红了(被封锁、被屏蔽、被和谐)后最好的解决方法
  13. Unity3D|Animation:动画位置与对象位置不一致如何改正
  14. 波卡Polkadot
  15. 【数据预处理】Pandas缺失的数据处理
  16. 谷歌身份验证器验证码不对怎么回事_暴雪战网游戏手机安全令,身份验证器的使用方法...
  17. Windows系统的基础上装Ubuntu双系统系统分区问题
  18. Vue中el-dialog的用法
  19. 支付宝沙箱支付可能遇见的问题
  20. ElementUI富文本框组件wangEditor实现

热门文章

  1. 【python量化】当前市场上股票的自动化下单通过API接口实现途径有哪些
  2. RocketMQ助力编程猫构建稳定的业务系统
  3. 虚拟机使用主机显卡(hyper-v和WSL2)
  4. Android 开发者福利Google Developers中国网站发布
  5. 黑龙江省网吧计算机经营管理系统,黑龙江省网吧计算机经营管理系统.doc
  6. Python打包Wheel包的傻瓜式一站教程
  7. cad 中的块与块参照
  8. bandicom录屏音画不同步_bendicam新人求助!音画不同步!
  9. 如何利用论坛做推广 | 一个每天可以吸引50粉丝的推广思路
  10. Vue-pdf预览插件-vue-pdf