Paper : Selective Search for Object Recognition
Code :
摘要
Selective Search 结合了穷尽搜索(exhaustive search)和语义分割(Segmentation)两者的优势,使用语义分割的方法来指导图片候选区域的产生,使用穷尽搜索来尽可能多的召回所有的区域。使用多种指标来评估两区域之间的相似度,来适应不同的图片情况。Selective Search 作为一种数据驱动,高质量定位的候选框生成算法为RCNN的成功奠定基础。
引言
很长一段时间,人们通过寻找物体的轮廓来识别物体,因此语义分割可以作为认识图片的第一步。而图片的本质是分层的,这就禁止了除特殊目的外对图像进行唯一划分。而图片又具有多样性,这使得我们不能使用单一视觉特征来解决分割的模糊性。而不同物体之间的组合可能形成一种新的物体标签,因此如果想提高召回率,那么穷尽搜索的设计思路是必不可少的。
Selective Search具有以下几个优点
- 在语义分割的基础上进行再合并,减小计算力
- 使用层次化聚类技术,可以生成不同尺度的候选区域
- 提出了多种区域相似度的衡量指标,应对不同的环境
- 使用穷尽搜索的思路组合不同区域形成候选框,提高召回率
总的来说,相比穷尽搜索,Selective Search不仅候选框的尺寸和长宽比更加多样化,而且在保证召回率的同时减少了候选框的个数,可以使用代价更高的算法对候选框进行推断判定。
算法
Selective Search 满足以下三个设计原则:
- 可以生成不同尺度的候选框,这点通过层次化合并来保证
- 区域合并指标多样性
- 计算速度快
算法的流程如下所示
其中,获得初始区域的方法为 Efficient Graph-based Image Segmentation 。为了加快计算的速度,要求评价两个区域相似性的指标在层次化合并的过程中具有传递性。区域相似性评价多样性体现在以下几个方面
- 色彩空间:RGB模式,光强I,Lab模式,HSV模式,rgI(正则化rgb后rg通道加上光强I),等等
- 相似度指标:
- 颜色相似度:HSV模式下,每个维度划分为25bins,直方图归一化后使用直方图交集衡量距离
- 纹理相似度:采用 σ = 1 \sigma = 1 σ=1 的高斯分布在8个方向做梯度统计,然后将统计结果(尺寸与区域大小一致)以bins=10计算直方图。直方图区间数为8310=240(使用RGB色彩空间),使用直方图交集进行衡量距离
- 尺寸相似度:
s ( r i , r j ) = 1 − ∣ r i ∣ + ∣ r j ∣ size(img) s(r_i,r_j) = 1-\frac{|r_i|+|r_j|}{\textrm{size(img)}} s(ri,rj)=1−size(img)∣ri∣+∣rj∣
使得合并过程中区域大小相似,避免大区域吃掉小区域 - 交叠相似度:
s ( r i , r j ) = 1 − ∣ B B i j ∣ − ∣ r i ∣ − ∣ r j ∣ s i z e ( i m g ) s(r_i,r_j) = 1-\frac{|BB_{ij}|-|r_i|-|r_j|}{size(img)} s(ri,rj)=1−size(img)∣BBij∣−∣ri∣−∣rj∣
其中 B B i j BB_{ij} BBij 表示围绕两个区域的紧的bounding box - 总相似度:
s ( r i , r j ) = a c o l o r s c o l o r ( r i , r j ) + a t e x t u r e s t e x t u r e ( r i , r j ) + a s i z e s s i z e ( r i , r j ) + a f i l l s f i l l ( r i , r j ) s(r_i,r_j) = a_{color}s_{color}(r_i,r_j)+a_{texture}s_{texture}(r_i,r_j)+a_{size}s_{size}(r_i,r_j)+a_{fill}s_{fill}(r_i,r_j) s(ri,rj)=acolorscolor(ri,rj)+atexturestexture(ri,rj)+asizessize(ri,rj)+afillsfill(ri,rj)
- 可以使用其他的segmentation算法来生成初始区域
最后,通过上述的步骤能够得到很多很多的区域,给予最先合并的图片块较大的权重,表示最先合并的图片块具有更大的可能性,比如最后一块完整图像权重为1,倒数第二次合并的区域权重为2以此类推。但是当我们策略很多,多样性很多的时候呢,这个权重就会有太多的重合了,文章做法是给他们乘以一个随机数,然后对于相同的区域多次出现的也叠加下权重,这样就得到了所有区域的目标分数,也就可以根据自己的需要选择需要多少个区域了。
总结
Selective Search和Efficient Graph-based 整体思路是相似的,都是层次化合并的形式,后者从像素到区域,而前者在区域的基础上可以进行更加细粒度和多维度的分析,穷尽搜索的思路保证了算法的召回率。