Papers
- What makes for effective detection proposals? arXiv:1502.05082, 2015.
arXiv
@ARTICLE{Hosang2015arXiv, author = {J. Hosang and R. Benenson and P. Doll\'ar and B. Schiele}, title = {What makes for effective detection proposals?}, journal = {arXiv:1502.05082}, year = {2015} }
大纲
根据文章的描述顺序,以下内容大概会是:
- 回顾object proposal(以下简称为OP)的各种方法,将其分类。
- 讨论不同OP在图片被扰动之后的在复现上的鲁棒性
- 讨论不同OP在PASCAL和ImageNet上的Recall,这里作者提出了Average Recall(简称AR)的一种新的标准
- 讨论不同OP对于实际分类的性能比较(用了DPM和RCNN这两个著名detector进行比较),以及说明了AR是一个跟性能相当相关的标准。
先上一个效果的一览表格:
注意到这里只列出了可以找到源码的方法,那么,下面一点点开始整理。
各种OP方法的回顾
作者大致将OP方法分成了两类,一类叫grouping method,一类叫window scoring method。前者是指先将图片打碎,然后再聚合的一种方法,比如selective search。
后者是生成大量window并打分,然后过滤掉低分的一种方法,比如objectness。另外还有一些介乎两者之间的方法,比如multibox。
Grouping proposal methods
superpixels ),对superpixel进行聚合;GC(graph cut),使用种子点然后group cut进行分割;EC(edge contours),从边缘图提取proposal。下面分别调一个进行介绍
• SelectiveSearch (SP) [15], [29]:通过贪婪地合并超像素来产生 proposals。这个方法没有学习的参数,合并超像素的特征和相似函数是手动设定的。它被 R-CNN 和 Fast R-CNN detectors [8], [16] 等最新的目标检测方法选用。无需学习,首先将图片打散为superpixel,然后根据人为定义的距离进行聚合
• RandomizedPrim’s (SP)
• Rantalankila (SP)
• Chang (SP)
• CPMC (GC) [13],[19]:避免初始的分割,使用几个不同的种子点(seeds )和位元(unaries )对像素直接进行图切割。生成的区域使用一个大的特征池来排序。随机初始化种子点,然后做graphcut进行分割,反复多次,然后定义了某个很长的特征进行排序。(所以速度超级慢)
• Endres (GC) [14], [21]:从遮挡的边界建立一个分层(hierarchical )的分割,并且使用不同的种子点和参数来切割图产生区域。产生的 使用大量的线索和鼓励多样性的角度排序。
• Rigor (GC) [28]:是 CPMC 的一个改进,使用多个图切割和快速的边缘检测子来加快计算速度。
• Geodesic (EC)
• MCG (EC) [23]:基于 [36], 提出一个快速的用于计算多尺度(multi-scale)层次分割进程。使用边缘强度来合并区域,生成的目标假设(object hypotheses )使用类似于尺度,位置,形状和边缘强度的线索来排序。首先用现成方法快速得到一个层次分割的结果,然后利用边缘信息进行聚合。
Window scoring proposal methods
不同于前者需要通过聚合小块来生成候选框,这里的方法是先生成候选框,然后直接打分排序来过滤掉低分的候选框。介绍两种比较出名的方法,与 grouping approaches 比,这些方法值返回边界框(bounding boxes),因此速度更快。但是,除非它们的窗口采样密度很高,否则这些方法位置精度很低。
• Objectness
• Rahtu
• Bing† [18]:通过边缘训练一个简单的线性分类器,并且以一个滑动窗口的方式运行。使用充足的近似,获得一个非常快的类未知的检测子 (CUP中每帧 1ms)。CrackingBing [41]表明一个有很小影响和类似性能的分类器可以通过不用查看图片的方式来获得 (分类性能不是来自于学习而是几何学)。在CPU上能够达到ms级别。但是被文献[40]攻击说分类性能不是来自于学习而是几何学。
• EdgeBoxes† EC [20] :基于目标边界估计(通过 structured decision forests [36], [42]获得)形成一个粗糙的滑动窗口模式作为开始,使用一个后续的 refinement 步骤来提高位置精度。不学习参数。作者提出通过调节滑动窗口模式的密度和和非最大抑制的阈值来调优方法用于不同的重叠阈值。跟selective search一样是一个不需要学习的方法,结合滑窗,通过计算窗口内边缘个数进行打分,最后排序。
• Feng
• Zhang
• RandomizedSeeds
Aliternate proposal methods
- ShapeSharing [47] :是一个无参的数据驱动的方法,通过匹配边转换目标形状从范例(exemplars)到测试图片。生成的区域使用图切割合并和提纯。
- Multibox [9], [48] :目前笔者所知唯一基于CNN提取proposal的方法,通过CNN回归N个候选框的位置并进行打分,目前在ImageNet的dectection track上应该是第一的,训练一个神经网络来直接回归一定数量的 proposals (不需要在图片上滑动网络)。每个 proposals 都有它自己的位置误差 。该方法在 ImageNet 表现出最好的结果。
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的方式:
- Recall versus IoU threshold: 固定proposal数量,根据不同的IoU标准来计算recall
- Recall versus number of proposal windows: 跟1互补,这里先固定IoU,根据不同的proposal数目来计算recall
- 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个点)
全文的总结和讨论
总结:
- 对于repeatability这个标准,目前的OP方法效果都一般。可能通过对噪声和扰动更加鲁棒的特征能够提高OP方法的repeatablilty。但是repeatability低不代表最后mAP就低,比如SelectiveSearch,所以最后还是看要应用场景。
- 如果OP方法定位越准确,那么对分类器帮助会越大。所以对于OP方法来说,IoU为0.5的recall不是一个好的标准。高recall但是定位不准确,会伤害到最后的mAP
- MCG,SeletiveSearch,EdgeBoxes,Rigor和Geodesic是目前表现最好的5个方法,其中速度以EdgeBoxes和Geodesic为优。
- 目前的OP方法在VOC07和ImageNet的表现都差不多,说明它们都有着不错的泛化性能。
讨论:
- 如果计算能力上去了,OP还有用吗?作者认为如果运算性能允许的话,滑动窗口加上CNN等强分类器会有着更好的效果。
- 作者观察到在目前OP中使用的特征(比如object boundary和superpixel),不会在分类器中使用;然后OP方法中除了MultiBox之外就没有其他OP有使用CNN特征。作者期待会有工作能够结合下这两者的优势。
- 最后,作者对做了三点猜测:之后top down可能会在OP中起到更加重要的作用;以后OP和detector的联系会更加紧密;OP生成的segmentation mask会起到更加重要的作用
结果是:
1. Scale:影响较大,bing 更好点
2. JPEG artefacts:bing 最好
3. Rotation :都差不多
4. illumination:趋势相似,bing更好
5. Blur:相似
6. salt and pepper noise:该因素影响比较大
结论:Bing在repeatability中表现最好,EdgeBoxes也不错。