Selective Search 学习笔记

Selective Search

潜水CSDN好多年,第一次写东西,在北大这边做毕业设计,做的是关于对象部件检测的课题,也就是从粗到细的检测,前段时间开始学习RCNN相关的东西,读了paper,这几天又把selective search的paper拿出来读了读,写点笔记,谈谈自己的理解。
“Selective Search for Object Recognition”是发表在2012 IJCV上的一篇关于推荐区域生成(proposal)的paper,作者是J.R.R.Uijings, 全文主要提出了一种称为选择性搜索(Selective Search)的方法用于物体识别和检测。第一次涉及检测相关的课题,在看了几篇paper后,发现之前很多算法都是基于蛮力搜索(Exhaustive Search),对整张图片进行扫描,或者是采用动态窗口的方法,这种方法耗时严重,操作麻烦。J.R.R提出的选择性搜索的方法,在识别前期在整张图片中生成1~3K个proposal的方法,再对每个proposal进行处理。

(一) 介绍

图片包含了各种不同层次的语义,信息非常丰富,包括纹理(Texture),形状(shape),颜色(color)等等。检测问题,不仅需要对图像中的object进行recognition,还有进行localization。根据author的意思,在对物体进行识别的时候,需要充分考虑物体的多样性(diversity),另外,图像中objects的层次关系(hierarchical)非常重要。以论文中给出的图作为例子说明。
Selective Search 学习笔记_第1张图片
图(a)展示了一张桌子,桌子上有各种碗,碗里面有勺子,如果对桌子进行识别,还需要对桌上的物体进行识别,图中不同物体间的层次十分明显。图(b)中两只猫,可以使用颜色把他们分开,但这个时候使用纹理的话就不是很有效果的;图(c)恰恰相反,变色龙和背景的环境颜色非常相似,但如果使用纹理的话,很容易能够将两者分开;在图(d)中,车身和轮胎,颜色和纹理方面都有很大的区别。
总体来说,大概可以理解下作者的思路:
1) 图像间的层次信息很重要,举搜索(Exhaustive Selective)通过改变窗口大小来适应物体的不同尺度,选择搜索(Selective Search)同样无法避免这个问题。算法采用了图像分割(Image Segmentation)以及使用一种层次算法(Hierarchical Algorithm)有效地解决了这个问题。
2) 单一的策略无法适用于所有的图像,作者提出使用不同的策略对分割好的图像进行合并,例如:颜色、纹理、大小等等;

(二) 区域合并算法

作者使用了Hierarchical Grouping算法去生成初始化的区域,具体参考论文【1】;相比较于像素,区域包含的信息更加丰富,具有的特征更有表征性。区域合并算法如下:
Selective Search 学习笔记_第2张图片
1) 使用Felzenszwalb(2004)(参考论文【1】)产生初始分割区域;
2) 初始化相似度集合S = ∅;
3) 计算相邻区域间的相似度,将计算结果计入S;
4) 将相似度最大的两个区域Ri和Rj合并成Rt,用以替代Ri和Rj,并再次重新计算相似度;
5) 获取每个区域的bounding box

(三) 多样化策略(Diversification Strategies)

作者在selective search方法中提出了三种策略:
1) 通过使用具有不同不变性质的各种颜色空间;
2) 通过使用不同的相似性度量;
3) 通过使用不同的初始化区域;
在本文中,针对于实际问题,作者只是采用了单独一种颜色空间,但在相似性度量方面,使用了不同策略的结合方式:
1) 颜色相似度:S(color)
2) 纹理相似度:S(texture)
3) 大小相似度:S(size);
4) 吻合相似度:S(fit)
具体的计算方法参照paper,最后将四种度量方法合并成一种策略:S = aS(color) + b S(texture) + cS(size) + dS(fit);
课题的具体任务是对汽车实施一个从粗到细的检测,精确到各个部件:后视镜,大灯、前挡风玻璃。考虑到selective search对于小部件object的检测性能,做了很多组实验,用以比较不同的相似度度量方法以及进行策略合并后的性能。
Selective Search 学习笔记_第3张图片

Selective Search 学习笔记_第4张图片
上面大概讲了一下selective search生成proposal的一些原理和不同策略,具体的使用策略还需要根据实际问题进行fine tuning,从上表看出,对于挡风玻璃和大灯的proposal性能非常好,但对于后视镜的性能就显得有些差强人意,还需根据实际问题继续改进。
入门不深,上述理解难免有不正确的地方,希望大家指正,一起进步,后续还会继续更新关于RCNN,fast rcnn,faster rcnn等相关博文,希望能和大家一起交流!

论文【1】Felzenszwalb P F, Huttenlocher D P. Efficient Graph-Based Image Segmentation[J]. International Journal of Computer Vision, 2004, 59(2):167-181.

你可能感兴趣的:(物体检测,深度学习)