Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection


目录

  • 作者和相关链接
  • 方法概括
  • 创新点和贡献
  • 方法细节
  • 实验结果
  • 总结与收获点
  • 参考文献

作者和相关链接

  • 方法概括

    • 这篇文章主要讨论针对小目标的目标检测
    • 文章为了证明:对传统的R-CNN style的方法进行改进,可以用于小目标检测,并且性能比DPM方法好
      • 整个检测流程:
      1. 用改进版的RPN(修改了anchor的尺度,称为modified RPN)提取候选区域;
      2. 用改进版的CNN(结合了上下文信息的CNN模型,base的CNN可以用AlexNet或者VGG,称为ContextNet)对候选区域进行分类。(不做box regression)
  • 创新点和贡献

    • 文章从三个角度对比了小目标检测的方法:
      1. 候选区域生成:传统RPN vs.modified RPN(更好!)
      2. 上采样策略:上采样比例小+去掉全连接 vs.上采样比例大+保留全连接(更好!)
      3. 是否使用上下文信息: 不适用上下文 vs. 使用上下文(更好!)
    • 文章的贡献在于
      1. 提出了一个专门针对小目标的目标检测benchmark库;
      2. 提出了一个把传统R-CNN方法进行改进用于小目标检测的思路和流程
    • 小目标的难点:
      1. 一张图中小目标比大目标往往更多
      2. 小目标的像素少(信息少)
      3. 目前针对小目标的研究非常有限,大部分文献都是针对VOC库中的大目标
  • 方法细节

    • 小目标benchmark库的建立

      • 小目标的定义?

        • 现实生活中的目标的物理大小相对较小,比如,鼠标,插孔,盘子等等,即实际大小也比较小
        • 在图像中所占整张图像的比例小

      • 大库(包含大,小目标)如何做成小库(仅包含小库)?

        • 使用Microsoft COCO和SVN库的子集
        • 只挑选了10类
        • 去掉10类中目标比较大的(即使是鼠标类,在有的图像中鼠标也很大,把这些样本去掉)
      • 数据库大小

        • 4925张图像,8393个目标(train:test = 2:1)
        • relative area即相对面积 = Area(bounding box of the object) / Area(image)【见Table1和Table2的对比】

          • 小目标的相对面积的中位数(media realative area)分布在0.08%~0.58%(约16*16~42*42像素)
          • 一般的大目标的media realative area分布在1.38%~46.4%
        • 具体的类别,图像数,相对面积分布如下表:

      • 评估标准(mAP,和普通的多类目标检测一样)

        • 单类的PR曲线(调整IOU的阈值)
        • 单类的average precision:(PR曲线求积分,面积)
        • 多类的mAP:每类的average precision直接取平均
    • 针对R-CNN style方法进行修改得小目标检测方法和流程

      • 候选区域生成

        • 本文方法(modified RPN):普通的RPN修改了anchor大小修改 + feature map选择
        • anchor 大小修改:128^2, 256^2,512^2 → 16^2, 40^2, 100^2
        • feature map选择:conv5 → conv4_3
        • 初始RPN的anchor 和 流程如下:

        • 拿来对比的两种方法:DPM(据说在R-CNN出现之前最好的方法,HOG+SVM),原始的RPN(用来检测大目标的)
        • 实验对比结果

实验结论:修改anchor尺度(modefied RPN) 比DPM好,比原始RPN好!

      • 上采样策略

        • 本文方法(full AlexNet):直接把modefied RPN得到的候选区域resize成分类要用的CNN的原始输入图像(AlexNet是227,VGG是224)
        • 对比的方法(Partial AlexNet):把候选区域resize成67*67,输入到分类要用的CNN(因为AlexNet和VGG有全连接层,所以只能处理固定成规定大小的图像,但是如果把全连接层去掉,只取卷积层,就能用于处理大小和规定的固定大小不一样的输入图像),最后接个分类层
        • 实验对比结果:
          • 因为候选区域的大小很小,如果用full AlexNet(全连接层),则必须resize成227或者224,都是放大了好几倍,所以作者考虑到这样的放大可能引入了artificats,这个部分的实验就是在证明即使这样放大的效果也比不用整个网络只用全卷积层得到的效果更好。作者认为,第一,因为输入图像大小变小了,所以相同的感受野大小(网络结构相同)对小图而言,可能就是对应了原图的很大部分,属于coarse的scale,而对于大图,因为只对应原图的一小部分,所以更加fine,细节更多,信息更丰富;第二,从得到的特征来看,小图的feature更短,大图的feature更长(只考虑卷积层)。

实验结论:取整个(包括fc层)分类网络(Full AlexNet)比只取卷积部分的网络(Partial AlexNet)好

      • 上下文信息的结合

        • 本文方法(Context-AlexNet)网络结果如下图:

          • 网络结构分为两部分,front-end和back-end。
          • front-end由两个并行的CNN组成,一个以proposal region直接作为输入,经过6个conv层(Alex或者VGG)+1个fc层,得到4096维的特征;另一个以proposal region为中心,在原图上取4倍的proposal region的一个context region作为输入,经过6个conv层+1个fc层,得到4096维的特征
          • back-end以front-end的两个4096的特征串起来作为输入,经过2个fc层+1个softmax层得到每个proposal region的分类信息。

      • 对比的方法(Baseline AlexNet):普通的AlexNet,没有context信息。另外,作者对比了上下文的尺度大小(放大3倍还是7倍)

      • 实验对比结果

实验结论:用了上下文(ContextNet)比不用上下文(Baseline AlexNet)好!7倍和3倍差别不大!

  • 实验结果

    • 最终的mAP上和其他方法的对比(比DPM,AlexNet R-CNN,和VGG R-CNN都好)

    • 最终的mAP上AlexNet和VGG的对比(VGG好,层数更深),不同proposal个数对比(取300好,false positive少)

  • 总结与收获点

    1. 做小目标的几个思路:专门建立小目标库,对小目标大小进行统计分析,对网络进行修改(卷积核大小,anchor大小),利用目标周围的上下文信息

论文阅读(Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection)的更多相关文章

  1. 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)

    Xiang Bai--[arXiv2016]Scene Text Detection via Holistic, Multi-Channel Prediction 目录 作者和相关链接 方法概括 创新 ...

  2. 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)

    Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...

  3. 论文阅读(Zhuoyao Zhong——【aixiv2016】DeepText A Unified Framework for Text Proposal Generation and Text Detection in Natural Images)

    Zhuoyao Zhong--[aixiv2016]DeepText A Unified Framework for Text Proposal Generation and Text Detecti ...

  4. 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)

    白翔的CRNN论文阅读 1.  论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...

  5. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  6. BITED数学建模七日谈之三:怎样进行论文阅读

    前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...

  7. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  8. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  9. 论文阅读之 DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation

    DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation Xia ...

随机推荐

  1. AngularJS Moudle 函数讲解

    AngularJS中的Module类负责定义应用如何启动,它还可以通过声明的方式定义应用中的各个片段.我们来看看它是如何实现这些功能的. 一.Main方法在哪里 如果你是从Java或者Python编程 ...

  2. Hibernate 基础配置及常用功能(一)

    本来是想等全部框架测试完以后再统一发布的,但是随着测试的一点点增加感觉把需要叙述的东西放在一起终将会是一场灾难.所以还是打算分成几章来描述,其中还包括一些有待解决的问题.短期很难腾出时间来仔细阅读Hi ...

  3. 【转】Spring 获取web根目录 (Spring线程获取web目录/路径/根目录,普通类获取web目录)

    不使用Spring,怎样能在Listener启动的Thread中获取web目录,还真不完全确定.其实我觉得实际代码也很简单.就是基于普通的listener,然后在listener中获取web目录并放到 ...

  4. SQLAlchemy一对多总结

    1.SQLAlchemy之一对多关系 1.1 创建单表 class Test(Base): __tablename__ = 'user' nid = Colume(Integer,primary_ke ...

  5. linux内核宏container_of

    首先来个简单版本 /* given a pointer @ptr to the field @member embedded into type (usually * struct) @type, r ...

  6. [转]Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划

    转自:Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划 前面我们从Android应用程序与SurfaceFlinger服务的关系出发,从侧面简单学习了Surfa ...

  7. golang的的模板引擎之pongo2

    https://github.com/flosch/pongo2 beego的扩展包 https://github.com/yansuan/beego-pongo2 gin的扩展包 https://g ...

  8. 【DP】permu

    permu [Description] 给定两个1~N的全排列A,B.有两个指针q和p,一开始q.p都为0,可执行以下三种操作: 1.q+1:2.p+1:3.q+1且p+1(Aq+1≠Bp+1时才可以 ...

  9. Git server安装和配置

    yum install git yum install git-dameon toiseGit

  10. 处理Oracle中杀不掉的锁

    一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不 ...