显著性检测——GR模型
本人最近在做视觉显著性检测相关的工作,决定把自己的学习经历形成文字,希望对读者有所帮助。
笔者才疏学浅,文章中如有不当之处,还请读者指正,在此表示感谢。
本文主要参考 Graph-Regularized Saliency Detection With Convex-Hull-Based Center Prior,Chuan Yang, Lihe Zhang, and Huchuan Lu。
本文中所有图片和公式均来源于该论文。
附上原文下载地址。
1. Introduction
这篇论文主要研究自下而上(bottom-up)的显著性检测方法。自下而上的方法主要为数据驱动型,因此需要依靠提前定义的假设(priors)。比如:
contrast prior: 假定显著目标与背景之前存在很大的差异。可能带来的问题是,整个目标区域没有被统一的标记出来,或者背景区域没有被有效的抑制。
center prior:假设显著目标通常在图像中心附近。这可能会导致远离中心的显著区域被抑制,或靠近中心的背景区域被加强。
此外,一般的方法通常会单独地计算每个图像元素(image element),忽略邻近元素之间的关联。
为了克服以上这些可能存在的缺点,这篇论文提出了convex-hull-based center prior和smoothness prior。前者用来确定显著区域的中心位置,后者将邻近的图像元素建立联系。
2. Saliency Model
这篇论文提出的方法主要依靠超像素(superpixel)作为显著性估计的元素,因此先使用SLIC方法1获取给定图像的超像素。
2.1 Initial Saliency Map
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)=