显著性检测算法学习阶段论文总结(1)

  因为本人研究方向是显著性检测,也就看了不少的显著性方面的文献。这篇博客是我对之前所看论文中一些较为经典,具有较大参考价值的论文的一个集中整理,也算是对自己学习过程的一个总结。

1.Global Contrast based Salient Region Detection,Ming-ming Cheng(CVPR2011)
  程明明的这篇基于全局颜色对比的显著性检测的论文我在上篇博客中详细介绍过,文中主要阐述了两种显著性检测算法。但其主要原理较为就简单容易理解,因此可以作为入门论文去看对以后的学习有很大帮助。  
(1)HC算法:基于全局颜色直方图的颜色对比度算法,即使用每一个像素与图像中所有其他像素的颜色对比差异来确定它的显著性值(差异越大显著值越大),从而得到全分辨率显著性图像;
(2)RC算法:基于上一算法改进的基于区域颜色对比的显著性检测算法。算法首先将利用基于图的分割方法将原图像分割成若干小区域(其基本分割思想是将每个像素点作为无向图的节点,两个像素点之间的不相似度作为边的权重,要求连接相同区域内的两个顶点的边的最大权重要小于连接不同区域的顶点的边的最小权重,在迭代过程中进行顶点归纳与区域合并,具体参见论文Efficient graph-based image segmentation)。然后,每个区域的显著值由它与其他所有区域的空间距离和区域像素数加权的颜色差异来确定。其中区域之间的颜色差异是使用其各自的稀疏颜色直方图来计算的;而空间距离为两个区域重心的欧氏距离,较远区域分配较小权值,即认为两区域相距越远它们的相互影响就越小。
(3)一些细节
a.基于直方图的加速,该部分是分别在原图的RGB三通道中将256量级量化为12级从而减少计算的复杂度,量化完成之后只保留前95%的颜色而将剩下5%的颜色用各自最邻近的颜色代替(前95%中的)。
b. 颜色空间平滑,为减小量化误差,每个颜色的显著性值被替换为相似颜色显著性的加权平均;在RGB空间进行量化,用Lab空间度量距离;
c.在RC算法中,使用基于图的图割算法在效果上并不是太好,以为其分割结果很容易将部分前景目标归类到背景区域中导致最终结果不理想。实际上大家可以尝试使用较小尺度的超像素分割算法对原图进行处理。
结论: 该算法的新颖之处就在于利用稀疏颜色直方图去计算各区域(各像素)的颜色对比度,并以颜色对比差异为显著性判别的主要标准。这就决定了这两种算法对简单背景图片有较好的效果,对于复杂背景的图像可能就不能从容应对。
下面就列举一些检测结果:
显著性检测算法学习阶段论文总结(1)_第1张图片
论文网址:Global contrast based salient region detection

2.Visual Saliency Detection Based on Bayesian Model, Yulin Xie, ICIP2011
  这篇文章是卢湖川将角点凸包和贝叶斯推断相结合从而提出的显著性检测算法。该算法很好地阐释了贝叶斯推断在显著新检测中的应用,非常具有参考价值,
(1)大致流程如下:
a.检测显著目标的角点:颜色增强Harris角点检测;论文首先对输入的彩色图像计算颜色增强矩阵Mboost,用用其对图像进行颜色转换。接着利用能量函数计算颜色增强图各Harris角点能量,并选取能量值最大的几个点,并剔除图像边界附近的点,得到较准确的显著角点以及目标凸包;
b.先验分布:在得到粗略的前景凸包后,论文算法接着对原图进行超像素分割,并以超像素为基本运算单元使用K-means算法聚类。然后以每类的平均颜色特征为依据,计算凸包内外的各类的之间的颜色距离,并选取凸包内且与凸包外的类有最大颜色距离的类作为先验分布的计算依据。接着,综合考虑每个超像素与显著类的颜色以及空间距离,取其平均去衡量该超像素的显著水平。
c.观察似然概率:该部分使用之前获取的凸包构造已知前景的条件,然后利用该条件求解每个像素的观测似然概率(就是在已知前景的情况下某像素是显著元素的概率)。其具体求解如下公式:

p(v|sal)=y{L,a,b}Nvf(y(v))Nfp(v|bk)=y{L,a,b}Nvb(y(v))Nb

该公式就是分别计算凸包内区域和凸包外区域的Lab颜色直方图,对于任意像素点 v ,分别找凸包内外直方图中与之相同的Lab值所对应的各通道bin包含像素个数占总像素个数的百分比,三个百分比相乘。即框内外元素在框内和框外直方图占的比例。
d.最终由贝叶斯推断计算最终的saliency map:
p(sal|v)=p(sal)p(v|sal)p(sal)p(v|sal)+p(bk)p(v|bk)p(bk)=1p(sal)

这里的 p(sal) 就是b中所算得的先验分布。
(2)该算法新颖之处在于将贝叶斯推断与凸包检测结合,但由于算法非常依赖凸包的准确性,而基于角点能量的凸包选取通常不够准确,也就导致了最终结构的不准确性。但对与贝叶斯推断的应用值得参考。
论文地址: Visual Saliency Detection Based on Bayesian Model
(3)使用贝叶斯推断的显著性检测论文还有:
a. Saliency detection based on integration of boundary and soft-segmentation
b. Bayesian Saliency via Low and Mid Level Cues
(4)一些结果:
显著性检测算法学习阶段论文总结(1)_第2张图片

3.Saliency Filters: Contrast Based Filtering for Salient Region Detection, Federico Perazzi, CVPR2012
  这篇文章的主要贡献在于使用滤波器对文章所提的两种算法进行加速,这也是文章的最大亮点。而且文中还具体阐述了显著目标所应该具有的全局和局部特性,即显著目标在颜色上应该是独立的,而在空间分布上是聚集的。背景则与此相反。全文就是以这两点为理论依据,并利用滤波器的方法进行加速从而实现了在线性时间内计算。
(1)算法流程:
a.论文首先利用采用略微修改的超像素分割,根据CIElab空间的测地线图像距离进行K-means聚类,产生大体上均匀尺寸,并且可以保持颜色边界的超像素分割。
b.颜色独立性计算,文中使用公式如下:
Ui=j=1Ncicj2ω(pi,pj)

上述公式中 cicj2 表示颜色对比度,而 ω(p)ij=ω(pi,pj) 表示空间位置的加权,这就类似于RC中的区域对比,是一种中心-周边对比算法。然后论文通过将公式改写,以完成滤波加速:
Ui=j=1Ncicj2ω(pi,pj) =cij=1Nω(p)ij2cij=1Ncjω(p)ij+j=1Nc2jω(p)ij

此时, Nj=1cjω(p)ij Nj=1c2jω(p)ij 就可以看做是以 ω 为核的滤波器,分别对 cj c2j 滤波。本文将这个核写成了高斯的形式,并且借助Adams提出的permutohedral lattice embedding 滤波器来实现线性时间的计算。
c.空间分布计算:
Di=j=1Npjμi2ω(ci,cj)

此时的权重改为颜色的对比,前面是空间距离。这里, μi 就表示权重的中心。根据 ω(ci,cj) 的定义,颜色越接近其权重越大,即距离远但颜色相近的像素分布值大(背景),和前一个特征刚好是相反,这个特征可以表示某种颜色在空间分布的广度。例如某种颜色分散在图像中,但是面积都很小,那么第一个特征计算出来这个颜色的独立性就比较高,但是第二个特征会告诉你这个颜色的分布很广,并不显著。然后同颜色独立一样,这个公式也可以写成高斯滤波的形式,借助Adams提出的permutohedral lattice embedding 滤波器来实现线性时间的计算,具体参考论文Fast High-Dimensional Filtering Using thePermutohedral Lattice。具体表达式见论文 Saliency Filters: Contrast Based Filtering for Salient Region Detection
d.最后是两种因素的融合,也就是两显著图的融合:
Si=Uiexp(kDi)

(2)该算法考虑到颜色自身独立性与颜色分布对显著度的贡献结合,算法均在时域进行,并采用高斯滤波加速,得到很不错的效果。实际测试结果saliency map较均匀。与之类似的论文还有: Superpixel based color contrast and color distribution driven salient object detection
(3)列举一些检测结果:
显著性检测算法学习阶段论文总结(1)_第3张图片

你可能感兴趣的:(图像处理,算法,值得参考的显著性算法)