What makes for effective detection proposals?(PAMI2016)论文笔记

2024-06-03 22:38

本文主要是介绍What makes for effective detection proposals?(PAMI2016)论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是一篇关于object proposal的综述,截至本文转载日期,已中了PAMI2016,目前引用次数为74。

论文的项目地址:
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是一个跟性能相当相关的标准。

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

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

各种OP方法的回顾

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

Grouping proposal methods

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

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

Window scoring proposal methods

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

1、Bing: 训练了一个简单的线性分类器来通过类似滑窗的方式来过滤候选框,速度惊人地快,在CPU上能够达到ms级别。但是被文献[40]攻击说分类性能不是来自于学习而是几何学。
2、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。

1

这里图表很多具体请看原论文,这里直接上作者的结论,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的,其他请参考原论文咯。

2

还是直接上结论

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

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

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

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

全文的总结和讨论

总结:

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会起到更加重要的作用。

本文转载自:http://zhangliliang.com/2015/05/19/paper-note-object-proposal-review-pami15/

参考:
[1]Hosang J, Benenson R, Dollár P, et al. What makes for effective detection proposals?[J]. IEEE transactions on pattern analysis and machine intelligence, 2016, 38(4): 814-830. 引用次数:74

这篇关于What makes for effective detection proposals?(PAMI2016)论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028311

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi