本人最近在做视觉显著性检测相关的工作,决定把自己的学习经历形成文字,希望对读者有所帮助。
笔者才疏学浅,文章中如有不当之处,还请读者指正,在此表示感谢。
本文主要参考 Graph-Regularized Saliency Detection With Convex-Hull-Based Center Prior,Chuan Yang, Lihe Zhang, and Huchuan Lu。
本文中所有图片和公式均来源于该论文。
附上原文下载地址。
这篇论文主要研究自下而上(bottom-up)的显著性检测方法。自下而上的方法主要为数据驱动型,因此需要依靠提前定义的假设(priors)。比如:
contrast prior: 假定显著目标与背景之前存在很大的差异。可能带来的问题是,整个目标区域没有被统一的标记出来,或者背景区域没有被有效的抑制。
center prior:假设显著目标通常在图像中心附近。这可能会导致远离中心的显著区域被抑制,或靠近中心的背景区域被加强。
此外,一般的方法通常会单独地计算每个图像元素(image element),忽略邻近元素之间的关联。
为了克服以上这些可能存在的缺点,这篇论文提出了convex-hull-based center prior和smoothness prior。前者用来确定显著区域的中心位置,后者将邻近的图像元素建立联系。
这篇论文提出的方法主要依靠超像素(superpixel)作为显著性估计的元素,因此先使用SLIC方法1获取给定图像的超像素。
A) Contrast Prior Map :对于任意超像素 i i i,计算其在CIE LAB空间下的颜色均值(color mean) c i c_i ci 和已经归一化到[0,1]的平均坐标(average position) p i p_i pi 。则每个超像素的显著值可以由以下公式得到:
S c o ( i ) = ∑ j ≠ i ∥ c i − c j ∥ ⋅ e x p ( − ∥ p i − p j ∥ 2 2 σ p 2 ) S_{co}(i)=\sum_{j \neq i}^{ }\left \|c_i-c_j\right \|\cdot exp(-\frac{\left \| p_i-p_j \right \|^2}{2\sigma _p^2} ) Sco(i)=j̸=i∑∥ci−cj∥⋅exp(−2σp2∥pi−pj∥2)
其中 σ p \sigma_p σp为权重。可以将上式中乘号前后看作两部分,乘号前面判断颜色是否相似,颜色差异越大,对应值越大,最终显著值越大;乘号后面判断两超像素间的距离,距离越远则对应值越小,同时减弱前面颜色差异的权重。
B) Convex-Hull-Based Center Prior Map:为了解决显著区域有可能远离图像中心的问题,这篇论文首先计算出一个包含感兴趣区域的convex hull2来估计显著区域,并用convex hull的中心坐标( x 0 , y 0 x_0,y_0 x0,y0)代替传统算法中的图像中心坐标。此时每个超像素的显著值计算公式如下:
S c e ( i ) = e x p ( − ∥ x i − x 0 ∥ 2 2 σ x 2 − ∥ y i − y 0 ∥ 2 2 σ y 2 ) S_{ce}(i)=exp(-\frac{\left \| x_i-x_0 \right \|^2}{2\sigma_x^2}-\frac{\left \| y_i-y_0 \right \|^2}{2\sigma_y^2} ) Sce(i)=exp(−2σx2∥xi−x0∥2−2σy2∥yi−y0∥2)
其中 x i , y i x_i,y_i xi,yi分别为超像素 i i i归一化到[0,1]后的水平坐标均值和垂直坐标均值,并且令 σ x = σ y \sigma_x=\sigma_y σx=σy。上式可简单理解为距离显著区域中心越远,其显著值越低;相反,越靠近显著区域中心,显著值越高。
C) Integration:最终,通过整合上述两种显著图,得到初始显著图(initial saliency map):
S i n ( i ) = S c o ( i ) × S c e ( i ) S_{in}(i)=S_{co}(i)\times S_{ce}(i) Sin(i)=Sco(i)×Sce(i)
通过图一可以看出,使用convex hull所估计的显著区域在向日葵处(红色边缘标出),如果只使用contrast prior,右下角显著值也很高。在使用convex-hull-based center prior后,向日葵部分被增强了,同时右下角部分被有效抑制。
算法到此处有一些小问题,在计算 S c e ( i ) S_{ce}(i) Sce(i)的公式中,我们令 σ x = σ y \sigma_x=\sigma_y σx=σy。如果显著目标的形状或者尺度发生变化,可能会使初始显著图 S i n ( i ) S_{in}(i) Sin(i)计算不准确。(例如,显著目标为长方形,那么在水平方向和垂直方向设定相同的权重显得不合理。)为此,这篇论文引入了smoothness prior来考虑图像元素之间的关联,从而得到改进显著图(refined saliency map)。
我们根据原图设计一个连通图 G = ( V , E ) G=(V,E) G=(V,E),其中节点(nodes) V V V为超像素,边(edges) E E E 为两相邻超像素的连接。两个节点之间的权重为 w i j ∈ W w_{ij}\in W wij∈W,计算公式如下:
w i j = e x p ( − ∥ c i − c j ∥ 2 σ w 2 ) w_{ij}=exp(-\frac{\left \| c_i-c_j \right \|}{2\sigma_w^2}) wij=exp(−2σw2∥ci−cj∥)
c i 和 c j c_i和c_j ci和cj为对应超像素在CIE LAB颜色空间中的颜色均值, σ w \sigma_w σw为权重。
在此,我们定义显著性损失函数(saliency cost function)为:
E ( S ) = ∑ i ( S ( i ) − S i n ( i ) ) 2 + λ ∑ i , j w i j ( S ( i ) − S ( j ) ) 2 E(S)=\sum_{i}^{ }(S(i)-S_{in}(i))^2+\lambda\sum_{i,j}^{ }w_{ij}(S(i)-S(j))^2 E(S)=i∑(S(i)−Sin(i))2+λi,j∑wij(S(i)−S(j))2
其中 S ( i ) 和 S ( j ) S(i)和S(j) S(i)和S(j)为最终显著图中对应节点 i , j i,j i,j的显著值, λ \lambda λ为正则化参数(regularization parameter)。等式右边的第一项为fitting constraint,意味着一个好的显著图不能和初始显著图 S i n ( i ) S_{in}(i) Sin(i)差太多。第二项为smoothness constraint,意味着一个好的显著图中相邻的超像素之间差距不能太大。则最优显著图可以通过最小化损失函数得到。可以令 E ( S ) E(S) E(S)导数为0得到解为:
S ∗ = μ ( D − W + μ I ) − 1 S i n S^{*}=\mu (D-W+\mu I)^{-1}S_{in} S∗=μ(D−W+μI)−1Sin
其中 D D D为对角矩阵, d i i = ∑ j ( w i j ) d_{ii}=\sum_{j}(w_{ij}) dii=∑j(wij), μ = 1 / ( 2 λ ) \mu=1/(2\lambda) μ=1/(2λ)。
图二给出了不同 λ \lambda λ下最终显著图的结果。 λ \lambda λ越小,表明初始显著图越重要, λ \lambda λ越大,表明相邻节点之间的关系更重要。
这篇论文在MSRA-1000数据集上进行测试,该数据集包含有1000张图片及对应的真值(ground truth)。并且使用PR曲线(precision-recall curve)来评估算法。
A) Experimental Setup:这篇论文在计算超像素部分,设置超像素节点数(number of superpixel nodes)为N=200。这篇论文提出的模型共有五个参数: σ p , σ x , σ y , σ w , λ \sigma_p,\sigma_x,\sigma_y,\sigma_w,\lambda σp,σx,σy,σw,λ。根据经验选取 σ p 2 = 0.2 , σ x 2 = σ y 2 = 0.15 , σ w 2 = 0.05 , λ = 25 \sigma_p^2=0.2,\sigma_x^2=\sigma_y^2=0.15,\sigma_w^2=0.05,\lambda=25 σp2=0.2,σx2=σy2=0.15,σw2=0.05,λ=25。图三展示了参数设置对于模型的影响。
B) Compared With Other Methods:这篇论文和其他五种图像显著性检测的模型(FT,CA,RC,CB,SF)进行对比。图四展示了不同模型的PR曲线对比(其中PBS为本文提出的模型)。
C) Validation of Center and Smoothness Priors:为了展示convex-hull-based center prior的有效性,图五( a )展示了三种情况下的初始显著图的PR曲线。图五( b )和( c )表明对其他模型添加smoothness prior同样能够提高其模型表现。
D) Run Time:表一对比了PBS(本文提出的模型)和其他模型的运行时间,可以发现PBS相比于其他用matlab执行的模型运行时间要短很多。
这篇论文提出了一种利用contrast,center和smoothness prior的自下而上的显著性检测模型。通过实验表明该模型能够有效的增强目标区域同时抑制背景区域。
以下给出该模型的大致流程图。
R. Achanta, K. Smith, A. Lucchi, P. Fua, and S. Susstrunk, “SLIC Superpixels,” Tech. Rep. EPFL, 2010, Tech.Rep. 149300. ↩︎
Y. L. Xie and H. C. Lu, “Visual saliency detection based on Bayesian model,” in ICIP, 2011. ↩︎