Reference:
[1] Uijlings, J.R.R., van de Sande, K.E.A., Gevers, T. et al. Int J Comput Vis (2013) 104: 154. https://doi.org/10.1007/s11263-013-0620-5
Selective Search[1] 是2013年提出的标定框生成算法,应用于初代RCNN网络中。其应用了Graph Based Image Segmentation的图像初步分割,并提出了一系列标准来囊括更多的标定框。虽然很古老,计算效率也很低下,近年已几乎被RPN网络层完全取代,但其原理简单易懂,思想也十分有趣。
关于Graph-Based Image Segmentation,可参考此文:
https://blog.csdn.net/m0_38002423/article/details/94593560
基于Graph-Based Image Segmentation的分割之后,可以得到一系列较小的标定框,这显然对于实际物体检测是不够的。我们需要将分割的各部分以一定条件进行合并,从而生成新的标定框。总而言之,所产生的标定框能够满足多尺度性(All Scales),以及多样性(Diversification)。
(1)应用Image Segmentation初始化一系列分割区域,表示为: R = { r 1 , . . . , r n } R=\{r_1,...,r_n\} R={ r1,...,rn}。
(2)对每一对相邻区域 ( r i , r j ) (r_i,r_j) (ri,rj):计算其相似度,并存放到集合 S S S中。
(3)迭代过程,当 S S S不为空时:
首先考虑相似度最高的一对区域 s ( r i , r j ) = max ( S ) s(r_i,r_j)=\max(S) s(ri,rj)=max(S),将其进行合并,可得 r t = r i ∪ r j r_t=r_i \cup r_j rt=ri∪rj。由于新的区域 r t r_t rt诞生,将所有分别与 r i , r j r_i,r_j ri,rj有关的相似度从集合 S S S中移除,同时计算 r t r_t rt与其相邻区域的相似度得到 S t S_t St。
S = S ∪ S t , R = R ∪ r t S=S \cup S_t,R=R \cup r_t S=S∪St,R=R∪rt
(4)根据 R R R,提取标定框 L L L。
决定多样化策略的标准在于如何定义Step 1中的相似度。文献中,相似度由以下四部分构成:
(1)颜色特征 S c o l o r ( r i , r j ) S_{color}(r_i,r_j) Scolor(ri,rj)
颜色相似度可以通过RGB各通道的直方图来表示。文中对RGB每个通道设置25个区间,则每个区域可以获得一个长度为75的直方图。对直方图进行 l 1 l_1 l1标准化,相似度公式如下:
S c o l o r ( r i , r j ) = ∑ k = 1 75 min ( c i k , c j k ) S_{color}(r_i,r_j)=\sum_{k=1}^{75}\min(c_i^k,c_j^k) Scolor(ri,rj)=k=1∑75min(cik,cjk)
(2)纹理特征 S t e x t u r e ( r i , r j ) S_{texture}(r_i,r_j) Stexture(ri,rj)
对每一个通道,计算其8向高斯梯度,每一向的值构造10个bins,统计其直方图。于是对每个区域可以获得长度为240的特征向量。此时纹理特征与上式类似,可以表示为:
S t e x t u r e ( r i , r j ) = ∑ k = 1 240 min ( t i k , t j k ) S_{texture}(r_i,r_j)=\sum_{k=1}^{240}\min(t_i^k,t_j^k) Stexture(ri,rj)=k=1∑240min(tik,tjk)
(3)大小特征 S s i z e ( r i , r j ) S_{size}(r_i,r_j) Ssize(ri,rj)
引入该项的目的在于尽可能将小块区域融合,定义如下:
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 a g e ) S_{size}(r_i,r_j)=1-\frac{size(r_i)+size(r_j)}{size(image)} Ssize(ri,rj)=1−size(image)size(ri)+size(rj)
(4)填补特征 S f i l l ( r i , r j ) S_{fill}(r_i,r_j) Sfill(ri,rj)
该特征意在保证标定框的有效性。如果标定框内的有效区域很小,则该特征会对其作出惩罚。令包住两块区域的矩形为 B B i j BB_{ij} BBij,则填补特征为:
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 a g e ) S_{fill}(r_i,r_j)=1-\frac{size(BB_{ij})-size(r_i)-size(r_j)}{size(image)} Sfill(ri,rj)=1−size(image)size(BBij)−size(ri)−size(rj)
(5)总相似度 Final Similarity Metric
最终所得的相似度为以上四项的加权,因此需要控制其系数来达到最优效果。
另外,为了达到最终的多样性,可以有选择地剔除以上的某些特征,或者调整颜色空间(HSV,Lab)等,然后将以上策略结合,将可以获得更多的候选框。