Selective Search 论文学习笔记

原论文:《Selective Search for Object Recognition》
关键字:分层分组算法、初始化区域集、相似度计算
keywords: Hierarchical Grouping Algorithm, Obtaining Initial Regions, Calculating Similarity

一、分层分组算法(Hierarchical Grouping Algorithm)

这是 selective search 算法的主要内容

论文中的算法:

Input: (colour) image
Output: Set of object location hypotheses L
Obtain initial regions R = { r 1 , . . . , r n } R = \{r_1, ..., r_n\} R={r1,...,rn} using《Efficient Graph-Based Image Segmentation》
Initialise similarity set S = Φ S = \Phi S=Φ
foreach Neighbouring region pair ( r i , r j ) (r_i, r_j) (ri,rj) do
       Calculate similarity s ( r i , r j ) s(r_i, r_j) s(ri,rj)
        S = S ∪ s ( r i , r j ) S = S \cup s(r_i, r_j) S=Ss(ri,rj)
while S ≠ Φ S\ne \Phi S̸=Φ do
       Get highest similarity s ( r i , r j ) = m a x ( S ) s(r_i, r_j) = max(S) s(ri,rj)=max(S)
       Merge corresponding regions r t = r i ∪ r j r_t = r_i \cup r_j rt=rirj
       Remove similarities regarding r i : S = S \ s ( r i , r ∗ ) r_i : S = S \backslash s(r_i, r_∗) ri:S=S\s(ri,r)
       Remove similarities regarding r j : S = S \ s ( r ∗ , r j ) r_j : S = S \backslash s(r_∗, r_j) rj:S=S\s(r,rj)
       Calculate similarity set S t S_t St between r t r_t rt and its neighbours
        S = S ∪ S t S = S \cup S_t S=SSt
        R = R ∪ r t R = R \cup r_t R=Rrt
Extract object location boxes L L L from all regions in R R R

具体过程解释:

  1. 使用《Efficient Graph-Based Image Segmentation》中的方法初始化区域集 R R R
  2. 计算 R R R 中相邻区域的相似度,并以此构建相似度集 S S S
  3. 如果 S S S 不为空,则执行以下7个子步骤,否则,跳至步骤4:
    • 获取 S S S 中的最大值 s ( r i , r j ) s(r_i, r_j) s(ri,rj)
    • r i r_i ri r j r_j rj 合并成一个新的区域 r t r_t rt
    • S S S 中与 r i r_i ri 有关的值 s ( r i , r ∗ ) s(r_i, r_∗) s(ri,r) 剔除掉;
    • S S S 中与 r j r_j rj 有关的值 s ( r ∗ , r j ) s(r_*, r_j) s(r,rj) 剔除掉;
    • 使用步骤2中的方法,构建 S t S_t St,它是 S S S 的元素与 r t r_t rt 之间的相似度构成的集合;
    • S t S_t St 中的元素全部添加到 S S S 中;
    • r t r_t rt 放入 R R R 中。
  4. R R R 中的区域作为目标的位置框 L L L,这就是算法的执行结果。

二、相似度计算

原论文里考虑了四个方面的相似度:颜色 s c o l o u r s_{colour} scolour、纹理 s t e x t u r e s_{texture} stexture、尺度 s s i z e s_{size} ssize、空间交叠 s f i l l s_{fill} sfill,并将这四个相似度以线性组合的方式综合在一起,作为最终被使用的相似度 s ( r i , r j ) s(r_i,r_j) s(ri,rj)
s ( r i , r j ) = α 1 s c o l o u r ( r i , r j ) + α 2 s t e x t u r e ( r i , r j ) + α 3 s s i z e ( r i , r j ) + α 4 s f i l l ( r i , r j ) s(r_i,r_j)=\alpha_1 s_{colour}(r_i,r_j) + \alpha_2 s_{texture}(r_i,r_j) + \alpha_3 s_{size}(r_i,r_j) + \alpha_4 s_{fill}(r_i,r_j) s(ri,rj)=α1scolour(ri,rj)+α2stexture(ri,rj)+α3ssize(ri,rj)+α4sfill(ri,rj)
下面是这四种相似度的介绍。

  1. 颜色相似度
    将区域的颜色空间转换为直方图,三个颜色通道的bins取25。于是我们可以得到某个区域 r i r_i ri 的颜色直方图向量: C i = { c i 1 , . . . , c i n } C_i=\{c^1_i,...,c^n_i\} Ci={ci1,...,cin},其中 n = 75 n=75 n=75(计算方式: b i n s × n _ c h a n n e l s = 25 × 3 bins\times n\_channels=25\times3 bins×n_channels=25×3),并且 C i C_i Ci 是用区域的 L 1 L_1 L1 范数归一化后的向量。关于 r t = r i ∪ r j r_t = r_i \cup r_j rt=rirj C t C_t Ct,计算方式是这样的:
    C t = s i z e ( r i ) × C i + s i z e ( r j ) × C j s i z e ( r i ) + s i z e ( r j ) C_t=\frac{size(r_i)\times C_i + size(r_j)\times C_j}{size(r_i)+size(r_j)} Ct=size(ri)+size(rj)size(ri)×Ci+size(rj)×Cj
    r t r_t rt 尺寸的计算方式为: s i z e ( r t ) = s i z e ( r i ) + s i z e ( r j ) size(r_t)=size(r_i)+size(r_j) size(rt)=size(ri)+size(rj)
    颜色相似度的计算公式:
    s c o l o u r ( r i , r j ) = ∑ k = 1 n m i n ( c i k , c j k ) s_{colour}(r_i,r_j)=\sum^{n}_{k=1}min(c^k_i,c^k_j) scolour(ri,rj)=k=1nmin(cik,cjk)
  2. 纹理相似度
    对每一个颜色通道,在8个方向上提取高斯导数( σ = 1 \sigma=1 σ=1)。在每个颜色通道的每个方向上,提取一个bins为10的直方图,从而得到每个区域 r i r_i ri 的纹理直方图向量 T i = { t i 1 , . . . , t i n } T_i=\{t^1_i,...,t^n_i\} Ti={ti1,...,tin},其中 n = 240 n=240 n=240(计算方式: n _ o r i e n t a t i o n s × b i n s × n _ c h a n n e l s = 8 × 10 × 3 n\_orientations\times bins\times n\_channels=8\times10\times3 n_orientations×bins×n_channels=8×10×3), T i T_i Ti 也是用区域的 L 1 L_1 L1 范数归一化后的向量。
    纹理相似度的计算公式:
    s t e x t u r e ( r i , r j ) = ∑ k = 1 n m i n ( t i k , t j k ) s_{texture}(r_i,r_j)=\sum^{n}_{k=1}min(t^k_i,t^k_j) stexture(ri,rj)=k=1nmin(tik,tjk)
  3. 尺度相似度
    尺度相似度的计算公式:
    用于优先合并小区域。
    s s i z e ( r i , r j ) = 1 − s i z e ( r i ) + s i z e ( r j ) s i z e ( i m ) s_{size}(r_i,r_j)=1-\frac{size(r_i)+size(r_j)}{size(im)} ssize(ri,rj)=1size(im)size(ri)+size(rj)
    其中, s i z e ( i m ) size(im) size(im)是整张图片的像素级的尺寸。
  4. 空间交叠相似度
    用于优先合并被包含进其他区域的区域。
    空间交叠相似度的计算公式:
    s f i l l ( r i , r j ) = 1 − s i z e ( B B i j ) − s i z e ( r i ) − s i z e ( r j ) s i z e ( i m ) s_{fill}(r_i,r_j)=1-\frac{size(BB_{ij})-size(r_i)-size(r_j)}{size(im)} sfill(ri,rj)=1size(im)size(BBij)size(ri)size(rj)
    其中, B B i j BB_{ij} BBij 是能够框住 r i r_i ri r j r_j rj 的最小矩形框。

参考资料:

  • 第三十三节,目标检测之选择性搜索-Selective Search
  • 选择性搜索(selective search)
  • 图像处理之高斯一阶及二阶导数计算
  • Histogram-灰度直方图
  • 基于图的图像分割(Graph-Based Image Segmentation)

你可能感兴趣的:(CV,深度学习,计算机视觉,图像,选择性搜索,selective,search)