Selective Search 笔记

Selective Search 简介

Selective Search 算法来时论文Selective Search for Object Recognition。Selective Search 通过颜色、纹理、大小等特征的相似度把图像分成许多个不同的区域。目标检测算法可以从这些区域中检测对象,加快检测速度。经典的R-CNN算法就使用了 Selective Search 算法来选取候选区域。

下图是 Selective Search 提取图像区域的例子:
selective search 效果

可以看到, Selective Search 能够把图像中特征相似的区域提取出来,而这些区域通常就是对象的所在位置。

算法流程

Selective Search 算法伪代码如下:
selective search 算法伪代码

Selective Search 算法输入彩色图片,输出的是对象可能的位置。

第一步,使用 Efficient graph-based image segmentation 算法生成初始区域集R,同时设置区域相似S为空集。
第二步,对于相邻的区域 (ri,rj) ( r i , r j ) ,计算它们的相似度 s(ri,rj) s ( r i , r j ) ,并添加到相似集S中。
第三步,获取S中相似度最高的两个区域 s(ri,rj) s ( r i , r j )
第四步,合并区域 ri r i rj r j rt r t
第五步,删除与 ri r i rj r j 有关的相似度,
第六步,计算新区域 rt r t 与相邻区域的相似度 St S t ,并把 St S t 添加到S中, rt r t 添加到区域集R中。
第七步,如果S不为空,返回第三步。

总的来说,Selective Search 算法不断合并相似的区域。

计算区域相似度

作者从颜色、纹理、大小和空间重叠度四个方面计算区域的相似度。

颜色相似度

作者尝试许多颜色空间,比如RGB,HSV等。作者使用 L1 L 1 norm 的每个颜色通道使用25个bin的颜色直方图 Ci={c1i,,cni} C i = { c i 1 , ⋯ , c i n } 计算两个区域的颜色相似度 scolour(ri,rj) s colour ( r i , r j ) 。其中颜色通道3个, n=75 n = 75

scolour(ri,rj)=k=1nmin(cki,ckj) s colour ( r i , r j ) = ∑ k = 1 n min ( c i k , c j k )

合并 ri r i rj r j rt r t 的直方图是
Ct=size(ri)×Ci+size(rj)×Cjsize(ri)+size(rj) C t = size ( r i ) × C i + size ( r j ) × C j size ( r i ) + size ( r j )

就是 Ci C i Cj C j 的加权平均,这样可以避免重新计算 rt r t 的直方图,提升算法效率。

纹理相似度

作者使用SIFT-Like特征作为纹理。在每个颜色通道的8个方向计算方差 σ=1 σ = 1 的高斯导数,每个颜色通道取10个bins的直方图,进行 L1 L 1 norm,这样得到 n=8×3×10 n = 8 × 3 × 10 的向量 Ti={t1i,,tni} T i = { t i 1 , ⋯ , t i n } 。纹理相似度 stexture(ri,rj) s texture ( r i , r j ) 为:

stexture(ri,rj)=k=1nmin(tki,tkj) s texture ( r i , r j ) = ∑ k = 1 n min ( t i k , t j k )

新区域的纹理特征向量 tt t t 同样使用 ti t i tj t j 加权平均。

大小相似度

大小相似度 ssize(ri,rj) s size ( r i , r j ) 为:

ssize(ri,rj)=1size(ri)+size(rj)size(im) s size ( r i , r j ) = 1 − size ( r i ) + size ( r j ) size ( i m )

其中 size(im) size ( i m ) 表示图片的大小。这个公式可以确保小的区域先合并。

空间重叠度

空间重叠度指区域 ri r i rj r j 之间的交叠程度,重叠部分越多,这两个区域就越应该合并。空间重叠度 s(fill)(ri,rj) s ( f i l l ) ( r i , r j )

s(fill)(ri,rj)=1size(BBij)size(ri)size(rj)size(im) s ( f i l l ) ( r i , r j ) = 1 − size ( B B i j ) − size ( r i ) − size ( r j ) size ( i m )

其中 BBij B B i j ri r i rj r j 合并后的 bounding box。

区域相似度

最后结合上述4中相似度,得到区域相似度公式:

s(ri,rj)=a1scolour(ri,rj)+a2stexture(ri,rj)+a3ssize(ri,rj)+a4s(fill)(ri,rj) s ( r i , r j ) = a 1 s colour ( r i , r j ) + a 2 s texture ( r i , r j ) + a 3 s size ( r i , r j ) + a 4 s ( f i l l ) ( r i , r j )

其中, ai{0,1} a i ∈ { 0 , 1 } ,决定是否使用对应的相似度。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值