转自:http://zhangliliang.com/2015/05/19/p http:// aper-note-object-proposal-review-pami15/

论文笔记 《Fully Convolutional Neural Networks for Crowd Segmentation》

最近开始准备回到detection大坑,刚好看到一篇关于object proposal的综述,而且貌似是中了PAMI的,所以就下载下来读了一下。
论文的项目地址:
https://www.mpi-inf.mpg.de/departments/computer-vision-and-multimodal-computing/research/object-recognition-and-scene-understanding/how-good-are-detection-proposals-really/

大纲

根据文章的描述顺序,以下内容大概会是:

  1. 回顾object proposal(以下简称为OP)的各种方法,将其分类。
  2. 讨论不同OP在图片被扰动之后的在复现上的鲁棒性
  3. 讨论不同OP在PASCAL和ImageNet上的Recall,这里作者提出了Average Recall(简称AR)的一种新的标准
  4. 讨论不同OP对于实际分类的性能比较(用了DPM和RCNN这两个著名detector进行比较),以及说明了AR是一个跟性能相当相关的标准。

先上一个效果的一览表格:

注意到这里只列出了可以找到源码的方法,那么,下面一点点开始整理。

各种OP方法的回顾

作者大致将OP方法分成了两类,一类叫grouping method,一类叫window scoring method。前者是指先将图片打碎,然后再聚合的一种方法,比如selective search。后者是生成大量window并打分,然后过滤掉低分的一种方法,比如objectness。另外还有一些介乎两者之间的方法,比如multibox。

Grouping proposal methods

作者将grouping的方法继续细分为三个小类。SP,对superpixel进行聚合;GC,使用种子点然后groupcut进行分割;EC,从边缘图提取proposal。下面分别调一个进行介绍

  • SelectiveSearch (SP): 无需学习,首先将图片打散为superpixel,然后根据人为定义的距离进行聚合。
  • CPMC (GC): 随机初始化种子点,然后做graphcut进行分割,反复多次,然后定义了某个很长的特征进行排序。(所以速度超级慢)
  • MCG (EC): 首先用现成方法快速得到一个层次分割的结果,然后利用边缘信息进行聚合。

Window scoring proposal methods

不同于前者需要通过聚合小块来生成候选框,这里的方法是先生成候选框,然后直接打分排序来过滤掉低分的候选框。介绍两种比较出名的方法,

  • Bing: 训练了一个简单的线性分类器来通过类似滑窗的方式来过滤候选框,速度惊人地快,在CPU上能够达到ms级别。但是被文献[40]攻击说分类性能不是来自于学习而是几何学。
  • EdgeBoxes: 跟selective search一样是一个不需要学习的方法,结合滑窗,通过计算窗口内边缘个数进行打分,最后排序。

Aliternate proposal methods

  • multibox,目前笔者所知唯一基于CNN提取proposal的方法,通过CNN回归N个候选框的位置并进行打分,目前在ImageNet的dectection track上应该是第一的。

Baseline proposal methods

这里用了Uniform,Gaussian,Sliding Window和Superpixels作为baseline,不是重点就不展开说了。

各种OP方法对于复现的鲁棒性的讨论

这里作者提出这样的假设:一个好的OP方法应该具有比较好的复现能力,也就是相似的图片中检索出来的object应该是具有一致性的。验证的方法是对PASCAL的图片做了各种扰动(如Figure 2),然后看是否还能检测出来相同的object的recall是多少,根据IoU的严格与否能够得到一条曲线,最后计算曲线下面积得到repeatability。

这里图表很多具体请看原论文,这里直接上作者的结论,Bing和Edgeboxes在repeatability上表现最好。

各种OP方法的recall

这里提出了好的OP方法应该有着较高的recall,不然就要漏掉检测的物体了。这里讨论了三种衡量recall的方式:

  1. Recall versus IoU threshold: 固定proposal数量,根据不同的IoU标准来计算recall
  2. Recall versus number of proposal windows: 跟1互补,这里先固定IoU,根据不同的proposal数目来计算recall
  3. Average recall(AR): 作者提出的,这里只是根据不同的proposal数目,计算IoU在0.5到1之间Recall。

数据集方面,作者在PASCAL VOC07和ImagNet Detection dataset上面做了测试。
这里又有不少图,这里只贴一张AP的,其他请参考原论文咯。

还是直接上结论

  • MCG, EdgeBox,SelectiveSearch, Rigor和Geodesic在不同proposal数目下表现都不错
  • 如果只限制小于1000的proposal,MCG,endres和CPMC效果最好
  • 如果一开始没有较好地定位好候选框的位置,随着IoU标准严格,recall会下降比较快的包括了Bing, Rahtu, Objectness和Edgeboxes。其中Bing下降尤为明显。
  • 在AR这个标准下,MCG表现稳定;Endres和Edgeboxes在较少proposal时候表现比较好,当允许有较多的proposal时候,Rigor和SelectiveSearch的表现会比其他要好。
  • PASCAL和ImageNet上,各个OP方法都是比较相似的,这说明了这些OP方法的泛化性能都不错。

各种OP方法在实际做detection任务时候的效果

这里作者在OP之后接上了两种在detection上很出名的detector来进行测试,一个是文献[54]的LM-LLDA(一个DPM变种),另外一个自然是R-CNN了,值得注意的是,这两个detector的作者都是rbg。。。真大神也。。。
这里用了各种OP方法提取了1k个proposal,之后作比较。
也是直接给作者结论:

  • 如果OP方法定位越准确,那么对分类器帮助会越大,因为定位越准确,分类器返回的分数会越高:
  • 在LM-LLDA和R-CNN下,使得mAP最高的前5个OP方法都是MCG,SeletiveSearch,EdgeBoxes,Rigor和Geodesic。
    分数一览如下图。
  • 通过分析,作者发现AR和mAP有着很强的相关性:
  • 作者用AR作为指导去tuning EdgeBoxes的参数,然后取得了更好的mAP(提高1.7个点)

全文的总结和讨论

总结:

  1. 对于repeatability这个标准,目前的OP方法效果都一般。可能通过对噪声和扰动更加鲁棒的特征能够提高OP方法的repeatablilty。但是repeatability低不代表最后mAP就低,比如SelectiveSearch,所以最后还是看要应用场景。
  2. 如果OP方法定位越准确,那么对分类器帮助会越大。所以对于OP方法来说,IoU为0.5的recall不是一个好的标准。高recall但是定位不准确,会伤害到最后的mAP
  3. MCG,SeletiveSearch,EdgeBoxes,Rigor和Geodesic是目前表现最好的5个方法,其中速度以EdgeBoxes和Geodesic为优。
  4. 目前的OP方法在VOC07和ImageNet的表现都差不多,说明它们都有着不错的泛化性能。

讨论:

  1. 如果计算能力上去了,OP还有用吗?作者认为如果运算性能允许的话,滑动窗口加上CNN等强分类器会有着更好的效果。
  2. 作者观察到在目前OP中使用的特征(比如object boundary和superpixel),不会在分类器中使用;然后OP方法中除了MultiBox之外就没有其他OP有使用CNN特征。作者期待会有工作能够结合下这两者的优势。
  3. 最后,作者对做了三点猜测:之后top down可能会在OP中起到更加重要的作用;以后OP和detector的联系会更加紧密;OP生成的segmentation mask会起到更加重要的作用。

object proposal的综述相关推荐

  1. Object Proposal(OP)综述

    目标检测(object detection),要求模型不仅能判断一幅输入图像中包含哪类目标,还得框出目标的具体位置(bounding box). 为了实现上述要求,传统的方法是利用滑动窗口(Slidi ...

  2. 目标检测(Object Detection)综述--R-CNN/Fast R-CNN/Faster R-CNN/YOLO/SSD

    1. 目标检测 1.1 简介 如何理解一张图片?根据后续任务的需要,有三个主要的层次. 一是分类(Classification),即是将图像结构化为某一类别的信息,用事先确定好的类别(string)或 ...

  3. 【3D目标检测】HDNET: Exploiting HD Maps for 3D Object Detection论文综述(2018)

    1. 为什么要做这个研究(理论走向和目前缺陷) ? 之前的3D目标检测都不用高精地图,而是直接基于感知设备获得的数据做感知,高精地图一般只用于规划,白白浪费了这么简单易得的提升检测效果的方法. 2. ...

  4. Deep Learning for Generic Object Detection: A Survey -- 目标检测综述总结

      最近,中国国防科技大学.芬兰奥卢大学.澳大利亚悉尼大学.中国香港中文大学和加拿大滑铁卢大学等人推出一篇最新目标检测综述,详细阐述了当前目标检测最新成就和关键技术.文章最后总结了未来8个比较有前景的 ...

  5. 深度学习论文阅读目标检测篇(三):Faster R-CNN《 Towards Real-Time Object Detection with Region Proposal Networks》

    深度学习论文阅读目标检测篇(三):Faster R-CNN< Towards Real-Time Object Detection with Region Proposal Networks&g ...

  6. 目标检测经典论文——Faster R-CNN论文翻译:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Net

    Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks Faster R-CNN:通过Region ...

  7. 读书笔记:Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks

    Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 著名的faster R-CNN 当然应该好好 ...

  8. 《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》论文翻译

    原文:https://arxiv.org/abs/1506.01497 Faster R-CNN: Towards Real-Time ObjectDetection with Region Prop ...

  9. 【论文阅读】【综述】3D Object Detection 3D目标检测综述

    目录 写在开头 3D Object Detection 相关博客: Sliding window Vote3Deep: Fast Object Detection in 3D Point Clouds ...

最新文章

  1. haproxy ssl_我们如何微调HAProxy以实现2,000,000个并发SSL连接
  2. 服务器和普通用户电脑的区别
  3. php中怎么使用table,thinkphp中的table方法怎样使用?
  4. 增加和删除用户组与用户
  5. Jenkins+Gradle+Git自动打apk包,并上传到ftp
  6. [react] 说说你对声明式编程的理解?
  7. 使用KNN时出现非数值属性和缺失值
  8. 字符串匹配之KMP算法详解
  9. 计算机专业技能水平如何提升,市计算机:提升技能水平
  10. excel 文件导入数据库(java)
  11. Linux RPM软件包管理
  12. MySQL MYISAM引擎表锁和行锁详解
  13. 画五角星中间没有填充_冷军画两个白色五角星,卖出230万,专家大呼:这不是画...
  14. 基于gensim的Deep learning with paragraph2vec 官方models.doc2vec文档解释
  15. 1714. 混合牛奶
  16. Broadcasting
  17. WordPress自动采集发布文章01-使用火车头采集目标网站
  18. 交换机下配置banner login是做什么的
  19. 智能视频分析技术与被动红外技术的整合应用
  20. NTLM-relay攻击的原理与实现

热门文章

  1. STM32 ISP串口烧录 VB源码(一)Frame中主要控件及属性说明
  2. 两个自变量和一个因变量spss_SPSS学习笔记:因变量二分类资料的logistic回归分析...
  3. Jupyter-Notebook笔记-02 基本使用
  4. r包安装路径 安装位置 设置
  5. 【SQL开发实战技巧】系列(九):一个update误把其他列数据更新成空了?Merge改写update!给你五种删除重复数据的写法!
  6. 2021第十二届蓝桥杯省赛JAVA B组 题目+答案(复现赛)
  7. JAVA自定义标签教程及实例代码
  8. EXTJS中整合tinymce的富文本编辑器,添加上传图片功能
  9. Intel Visual Fortran + Visual Studio2019 配置 Fortran 环境
  10. how to mount /system as read/write in android?