这篇文章目前发表在arxiv,日期:20180309。
这是一篇针对多种综合性信息的视觉显著性检测的综述文章。
注:有些名词直接贴原文,是因为不翻译更容易理解。也不会逐字逐句都翻译,重要的肯定不会错过^_^。我们的目的是理解文章思想,而不是为了翻译而纯粹翻译。翻译得不好,敬请包涵~ 欢迎同道中人QQ交流:1505543113
abstract:
随着采集技术( acquisition technology)的发展,许多综合性信息(comprehensive information)诸如depth cue, inter-image correspondence, or temporal relationship都能够被我们获取,来实现后续的RGBD saliency detection,co-saliency detection或者 video saliency detection。
RGBD saliency detection模型主要通过组合深度图的有关深度信息来实现对显著性区域的抽取。
co-saliency detection模型引入图像间对应约束(inter-image correspondence)来找到一个图像组*同的显著性目标。
video saliency detection模型的目的是定位一个视频序列中具有动作相关性的显著性目标,这个模型同时考虑了运动线索和时空约束( which considers the motion cue and spatiotemporal constraint jointly)。
在这篇文章中,作者阐述了不同类型的显著性检测算法,总结了现存算法所提出的重要观点,并且讨论了它们尚存的一些问题以及未来工作的发展。另外对数据集和算法质量评估做了简要介绍。还开展了有关实验分析和讨论,对不同显着性检测方法进行了整体概述。
1 introduction
这篇文章主要集中讨论最近几年的显著性目标检测方法。(本人研究显著性检测暂时是为自己后续的弱监督图像语义分割课题服务,所以,当下先只关注图像方面的显著性检测。)
人类的视觉系统不但能感知目标的外在信息,实际上,也能被场景的深层信息(depth information)所影响。深度图( depth map)为RGBD显着性检测奠定了数据基础,它也能为复杂背景中的前景目标提取提供更好的形状表示信息和其它有用的属性。
如图1,使用深度线索信息( depth cue),RGBD显著性模型能够达到更好的检测效果。然而,如何有效的发掘深层信息以加强对显著性目标的识别,迄今为止,尚未达成一个共识,还需进一步探索。深度信息一般有两种使用方式:直接合并作为附加特征,和设计为深度计算(depth measure)方式。
四种检测方法的联系,见图4,很直观。
其中,图像显著性检测模型( image saliency detection model)是其它三种模型的基础。
这篇文章阐述了上图中四种视觉显著性检测模型。
文章主体脉络:
section two: image saliency detection(我的重点~)
section three:RGBD saliency detection
section four:co-saliency detection
section five:video saliency detection
下面进入正题,我会根据这一部分提及的一些论文,进行扩展。
II. IMAGE SALIENCY DETECTION
图像显著性检测旨在通过视觉先验等技术,检测一张单独的图片中的显著性目标。经过十几年的发展,该项技术的算法层出不穷,检测性能屡屡刷新。这一部分,简要阐述一些经典的图像显著性检测方法,基于两种主要的模型:自底向上的模型( bottom-up model [21]–[34])和自顶向下的模型( top-down model [35]–[44])。下面分别来看:
A. Bottom-up Model
Bottom-up Model以下简称BU模型,BU模型是刺激驱动的(stimulus-driven),它主要发掘低级( low-level)视觉特征。一些视觉先验被用于描述显著性目标的属性,这些显著性目标源自基于人类视觉系统的视觉灵感(visual inspirations),诸如对比度先验(contrast prior[21]),背景先验( background prior[25][,27],[32]),紧凑性先验(compactness prior[29])。
人类的皮质细胞,对于高对比度的刺激能够产生完美的响应,这说明对比度高的区域更能吸引观察者的注意。程明明[21]等提出了一种简单高效的显著性目标检测方法,该方法正是基于全局对比度,其中显著性被定义为(当前区域)和图片中剩余其它所有区域的颜色对比度。一般情况下,摄影师会将显著性目标放在镜头*,而不是边界处。所以四个边界处的区域被判定为背景,用于进行显著性计算。称之为背景先验。然而,在某些情况下,这样的定义是启发式的,且不稳定( heuristic and fragile)。
Zhu[25]等人提出了一种鲁棒的边界连通性方法( boundary connectivity measure),用于估计某区域是背景的可能性。然后提出一个整合了多个低级线索的标准优化框架( principled optimization framework)来实现显著性检测。显著区域倾向于在图像空间中拥有小的空间方差,而背景具有高空间方差,因为它分布在整个图像上。这种分布特征称为紧凑性先验。
Zhou[29]等人把紧凑性先验和局部对比( local contrast)结合起来用于显著性目标检测。此外,显著性信息通过扩散框架( diffusion framework)在一张图上进行传播说明。---最后这句话翻译得有点怪
此外,还有一些传统的方法用于进行显著性目标检测,比如频域分析(frequency domain analysis[20])、稀疏表示(sparse representation[23])、细胞自动机(cellular automata[26])、随机游走( random walks [27])、低等级恢复(low-rank recovery [30])以及贝叶斯理论(Bayesian theory [31])。
一个区域可以通过稀疏表示框架下的背景字典进行重建。所以,Li[23]等人利用重建误差( reconstruction error)来衡量某一区域的显著性。显著区域对应于较大的重建误差。
随机游走是随机序列路径的数学形式化,已用于显著性检测。考虑到图像细节和基于区域的估计,提出了正则化随机游走排名以制定像素级显著图。 对于低秩恢复模型,可以将特征矩阵分解为对应于图像背景的低秩矩阵和表示显著对象的稀疏矩阵。
Peng等人[30]提出了一种新的结构化矩阵分解方法,该方法由两个结构正则化的高层先验( high-level priors)指导,以实现显著性检测并获得好的性能。
Lei等人[31]提出了一种用于显着对象检测的通用框架,该框架基于贝叶斯决策和迭代优化。
B. Top-down Model
Top-down Model以下简称TD模型,TD模型是任务驱动的(task-driven) ,这意味着它需要带有标签的监督学习,并且要达到高性能。尤其是近几年发展起来的深度学习,使得显著性检测技术达到了不错的实验效果。举些例子:
He等人[36]研究了通过超像素卷积神经网络进行显著性检测的分层对比度特征(hierarchical contrast features),其中不同尺度的颜色唯一性序列和颜色分布序列被嵌入到网络中。
Li和 Yu [38]等人提出了一个端到端的深度对比网络,其中多尺度全卷积流(multi-scale fully convolutional stream)捕获视觉对比度显著性,同时,分段空间合并流(segment-wise spatial pooling stream)模拟沿对象边界的显著不连续性(saliency discontinuities)。
Liu 和Han [39]等人提出了一个深层显著性网络,该网络通过在全局视图(GV-CNN,CNN over the Global View)上集成CNN和分层循环CNN(HRCNN,Hierarchical Recurrent CNN )。其中,GV-CNN生成一个,粗糙的,全局性的显著图; 然后HRCNN通过将本地上下文信息考虑进去,一恢复图像细节。
Hou[41]等人在Holisitcally嵌套边缘检测器(HED, Holisitcally-nested Edge Detector architecture)架构的跳跃层引入了短连接结构,以实现图像显着性检测。其网络结合了多种尺度的低级和高级特征。该方法已成功移植到手机产品中。
Zhang等人[42]利用编码器全卷积网络(FCN)和相应的解码器FCN来检测显著对象,其中引入重构丢失(R-dropout,Reformulated dropout)以构建内部特征单元的不确定集合,并且提出了混合上采样方法,用于减少反卷积运算时产生的棋盘效应(可直译为:棋盘格形状的伪影。checkerboard artifacts,这里翻译得很别扭,知道意思,有兴趣可以了解一下“反卷积与棋盘效应”的相关知识)。
附:当我们非常仔细地观察神经网络生成的图像时,经常会看到一些奇怪的棋盘格子状的伪影(artifact)。这可以被称为棋盘格效应。
So,下面大致按照文章中文献出现的顺序,依次介绍bottom-up model和top-down model!
bottom-up model
一、[21]M.-M. Cheng, G.-X. Zhang, N. J. Mitra, X. Huang, and S.-M. Hu,“Global contrast based salient region detection,” in CVPR, 2011, pp.409–416.
文章标题:基于全局对比度的显著性区域检测
这篇CVPR2011的文章,程明明老师在其主页发布了中文版,链接:https://mmcheng.net/mftp/SalObj/SaliencyCVPR2011Chinese.pdf
我已经习惯看英文了,可以的话,也建议朋友们还是看英文,中文辅助理解。选择合适自己的就好!
这篇文章是对比度先验的。
Abstract
该文中,作者提出了一种基于区域对比度的显著性区域检测算法,该算法简单,高效,并且可以产生全分辨率的显著性图,检测结果在当时具有更高的精度和更好的召回率。而且作者进一步提出了基于该显著性图的视觉显著性区域自动分割方法。
引言
Treisman和Gelade的“A feature-integration theory of attention,1980”,以及Koch和Ullman的“
Shifts in selective visual attention:towards the underlying neural circuitry,1985”。这些早期工作,以及Itti,Wolfe等人的视觉注意理论提议将视觉注意机制分为两个阶段:
快速的、下意识的、自底向上的数据驱动的显著性提取;以及
慢速的、任务依赖的、自顶向下的、目标驱动的显著性提取。
本文依据图像的对比度来进行自底向上、数据驱动的显著性检测。
文章提出的提取高分辨率的全局显著性图像的分析方法如下:
(1)基于全局对比度的方法倾向于将大范围的目标和周围环境分离开。这种方法要优于那些通常只在轮廓附近产生较高显著性的局部对比度的方法。
(2)全局的考虑可以为图像中相似区域分配一个相近的显著性值,并且可以均匀地突出目标(何为均匀的突出目标,我们也需要考虑一下)。
(3)一个区域的显著性,主要是由它和周围区域的对比度决定,相距很远的区域起的作用较小。
(4)为了能够适应大规模图像级处理和高效的图像检索与分类的应用需求,显著图检测算法应该具有简单快速的特点。
作者提出了基于直方图对比度的方法(HC)来检测显著性。HC-maps依据与其它像素的色彩差异来分配像素的显著性值,并用以产生具有全分辨率的显著性图像。用色彩空间的平滑操作来控制量化的缺陷。作者也说了,该算法致力于处理普通的自然景象,对处理具有较高纹理的图像场景不一定能达到最佳效果。
作为HC-maps的改进,作者提出了基于局域对比度的方法(RC)来检测显著性。结合空间关系获取RC-maps。首先,将图像分割成区域,再为每个区域分配显著性值,从而形成基于局域对比度的(RC)显著性图。区域的显著性值由全局对比度值计算得到,该全局对比度值由当前区域相对于周围其它区域的对比度以空间距离来度量。
基于直方图统计的对比度
作者基于输入图像的颜色统计特征提出了基于直方图对比度(Histogram Contrast,HC)的图像显著性值检测方法。提出该方法的依据是,视觉系统对视觉信号的对比度很敏感。
具体来说,一个像素的显著性值由它和图像中其它像素颜色的对比度来定义。
例如,图像I中像素Ik的显著性值定义为:
其中N为图像I的像素数。我们可以看到,由于忽略了空间关系,在这种定义下具有相同颜色值的像素具有相同的显著性值。因此我们可以对式2进行重排,使得具有相同颜色值的像素归到一起,得到每个颜色的显著性值:
对于HC方法的加速,作者用全色彩空间来代替仅用亮度的方法(仅用亮度的方法的缺陷在于忽略了颜色信息的可区别性)。为了减少需要考虑的颜色数,先将每个通道的颜色量化到12个不同的值(关注量化方式),这会将颜色数量减少到123=1728。考虑到自然图像中的颜色只占整个色彩空间很小的一部分,可将出现频率小的颜色丢掉以减少色彩数目。
颜色空间平滑
虽然可以用颜色量化后的颜色直方图来高效计算颜色的对比度,但量化本身可能会产生瑕疵。因为一些相似的颜色可能被量化为不同的值。为了减少这种随机性给显著性值计算所带来的噪声,作者用平滑操作来改善每个颜色的显著性值。每个颜色的显著性值被替换为相似颜色(用L*a*b距离测量)显著性值的加权平均。这个过程实质上是颜色空间的一种平滑过程。文章选择m=n/4个最近邻颜色来改善颜色c的显著性值,见公式:
基于区域的对比度
空间关系在人类注意力方面起到了非常大的作用。相邻区域的高对比度比很远区域的高对比度更容易导致一个区域引起视觉注意。但是,在计算像素级对比度时,引进空间关系计算,代价会非常大。
文章引入一种对比度分析方法:区域对比度(Region Contrast,RC),以此来将空间关系和区域级对比度计算结合到一起。在RC方法中,首先将图像分割成若干区域,然后计算区域及颜色对比度,再用每个区域和其它区域对比度加权和来为此区域定义显著性值。权值由区域空间距离决定,较远的区域分配较小的权值。
用稀疏直方图比较来计算区域对比度
首先,用基于图的图像分割方法将输入图像分割成若干区域。然后,为每个区域建立颜色直方图。对每个区域rk,通过测量它与图像其他区域的颜色对比度来计算它的显著性值:
空间加权区域对比度
更进一步,通过在式5中引进空间权值,将空间信息加入进来,来增加区域的空间影响效果。近邻的区域增大影响,较远的区域减小影响。特别的,对于任意区域rk,基于空间加权区域对比度的显著性定义为:
总结与展望
文章提出了基于全局对比度的显著性计算方法,即基于直方图对比度(HC)和基于空间信息增强的区域对比度(RC)方法。HC方法速度快,并且可以产生细节精确的结果,RC方法可以产生空间增强的高质量显著图像,但与此同时具有相对较低的计算效率。
【实验部分】
这篇文章的C++代码(详见南开大学程明明老师主页)调通了,我的win7配置环境:
VS2013+OpenCV3.3+QT5.5
接下来是在数据集上进行实验。实验结果后面补充。
请看readme,C++源码里面的几个project就是对应的文章的相应改进代码。
二、W. Zhu, S. Liang, Y. Wei, and J. Sun, “Saliency optimization from robust background detection,” in CVPR, 2014, pp. 2814–2821.
这篇2014年的CVPR文章属于背景先验。
1 摘要
本文中,作者提出了一种背景检测方法,称之为边界连续性方法(boundary connectivity)。该方法表征了图像区域对于图像边界的空间布局。它拥有直观的几何解释,并且拥有以往方法所不具有的优势。同时,作者也提出了一个标准的优化框架,包含背景检测方法在内,该框架用来整合多种低级线索信息,来获得干净且格式统一的显著图。说白了,就是利用连续性来提高背景先验的鲁棒性。
2 介绍
本文提出的边界连续性观点就是:只有当某一区域和图像边缘具有十分紧密的连接(heavily connected)时,才说这一图相块属于背景信息。该方法表征了图像区域相对于图像边缘的空间布局,所以有不错的鲁棒性。由于它有一个直观的几何解释,所以当图像内容发生变化时,它的性能也是稳定的。
损失函数是这么定义的:它以直接实现显著性目标的检测为目的。对于目标区域,使用前景线索作为约束,来获得高的显著性;对于背景区域,则使用背景线索作为约束,以降低背景区域的显著性。
3 边界连通性/边界连续性(理解意思就好):一个鲁棒的背景检测方法
3.1 概念定义
作者发现,目标和背景在一张自然图像中的空间布局是很不同的。比如:目标区域与图像的边缘部分的联系远没有背景区域多或者紧密。看下面这张图:
显然,绿色部分为目标区域,它只有下面一条较短的边和图像边缘连接在一起。其他部分并无相连,而蓝色和白色的背景区域,其边界有很大一部分都和图像边缘重合在一起。另外,虽然粉色部分从数量上来看,与图像边界相连的部分不多,但是由于粉色区域整体就很小,所以就目前状况,粉色区域边界还是大半都和图像边界相联系的,因此我们依然可以判断,粉色区域属于背景区域,而不是目标区域,将其归结为非显著。
我们提出一个可以定量描述某区域R和图像边界连通性的函数:
Bnd是图像边界块的集合,p是图像块。它拥有一个直观的几何上的解释:
它=某区域与图像边缘关联的长度/该区域的周长(或者该区域面积的平方根)
注意:使用开根号的目的是为了保证尺度不变性。
还有一点,实际的图像中,目标区域的边界并不是很清晰,这就导致长度和面积的计算会比较困难。为了克服这一困难,作者利用最短路径方法构造了一个相似度,公式如下:
geo计算p到q之间的最短路径,衡量的是超像素块p和q的相似度,这种相似度是无间隔的。如果两个颜色相近的超像素块被颜色截然不同的超像素块阻隔,那么,其最短路径值会对应增长。有了相似度之后,接下来就可以计算面积了:
将得到的相似度代入,同时使用高斯权重函数将相似度映射到(0,1]之间—— 若两个超像素区域更相似,则其映射的值更加倾向于1,然后使用映射到的值来计算长度。
经过这样的处理,长度和面积的单位就是一样的。这主要是由图像的特殊性所决定的。在显示屏上,一个单位的像素可被简单视为一个单位长度的正方形,所以抛开概念不谈,长度和面积的计数是一致的。对于δ的取值,分两种情况:如果超像素在图像边界上,则取1,否则取0。
最后,就可以计算边界连通性了,它使用下面公式定量描述:
【实验部分】
这篇文章的MATLAB代码,暂时只贴一下实验结果,有时间很有必要完善一下代码解析:
运行demo.m
看一下效果:
原图
原图
三、C. Li, Y. Yuan, W. Cai, Y. Xia, and D. Feng, “Robust saliency detection via regularized random walks ranking,” in CVPR, 2015, pp. 2710–2717.
这篇CVPR2015属于背景先验。
摘要
这篇文章提出了一种可以同时利用局域特征和图片细节信息的显著性检测方法。该方法首先通过作者所提出的“错误边界去除”技术来优化图像边界的选择;然后,把基于局域的估计和图像信息同时考虑在内,提出了正则随机游走排序算法以生成像素级显著图,而该像素级的显著图来自基于超像素的背景以及前景的显著性估计。
背景知识
这一部分主要是对流形排序模型和随机游走模型做一个简要减少,作为我们理解下文的预备知识。主要是一些公式原理,有兴趣可看原文。
本文算法
主要分三步:
(1)删除属于背景的概率最小的那些边界,并且通过背景查询生成显著性估计;
(2)基于背景估计的互补值来生成前景显著性估计;
(3)提取步骤2中的seed references,并且利用所提出的正则随机游走排序算法来计算像素级的显著性图。
背景显著性估计
输入图像中的边界可能被前景图像占用,那么,这个边界就是存在不确定性的,用这样一个存在问题的边界去做显著性估计,会产生一些无法预料的结果。这是由于这个问题的出现,作者提出了在进行背景显著性检测之情,通过定位和消除错误边界的手段来优化边界所产生的影响。
作者将超像素边界视为连通区域,且计算出它的归一化的像素级的RGB直方图。公式:
b属于上、下、左、右四个方向的边界定位标记。只列公式,其他写起来有点耗时,请看paper。
接着,计算四个直方图中任意两个的欧式距离。公式:
这个A是4维矩阵,之后会将其内元素按列相加。哪一列值最大,就移除那一列,意即移除了那一列所对应的边界。举个例子:比如相加之后,发现第二列值最大,那么我们就相应的移除下方边界;第四列值最大,则移除右方边界。
接下来,我们就需要计算前面结果的互补值,来获得前景显著性。公式:
通过逐像素相乘,得到背景显著性:
错误边界移除这一步的主要优点是,在至少一个方向的边界和前景目标发生毗连时,通过错误边界移除步骤,我们可以减少使用全部边界所带来的不准确性。见图1
前景显著性估计
单纯的背景查询有时候对于完全描述前景信息是不准确的,特别是当显著性目标结构复杂且与背景布局方面相似时。鉴于此,提出了接下来的基于前景查询的显著性估计。
前景显著性估计:
它将被用于产生下一步的seed references。
生成基于正则化随机游走排序的显著图
作者提出了一种拟合约束,它约束dirichlet积分尽可能多的接近先前的显著性分布:
定义两个阈值:
将上述矩阵16分解:
优化方案:
【实验部分】
附上源码链接:https://github.com/yuanyc06/rr
还用MSRA10K数据集,看一下检测效果:
原图:
显著图:
四、Z. Wang, D. Xiang, S. Hou, and F. Wu, “Background-driven salient object detection,” IEEE Trans. Multimedia, vol. 19, no. 4, pp. 750–762, 2017.
这篇文章同样基于背景先验,时间关系,由于事先未找到代码,先不做研究,但是思想可以借鉴。
五、L. Zhou, Z. Yang, Q. Yuan, Z. Zhou, and D. Hu, “Salient region detection via integrating diffusion-based compactness and local contrast,” IEEE Trans. Image Process., vol. 24, no. 11, pp. 3308–3320, 2015.
这篇文章属于紧凑型先验,时间关系,由于事先未找到代码,先不做研究,但是思想可以借鉴。
还有review中提到的一些传统方法,有时间可以结合一下。
top-down model
top-down模型是任务驱动的,它需要有标签的监督学习,并且性能极佳。尤其是深度学习技术的发展,使其展现出更加强大的威力。
一、S. He, R. W. Lau, W. Liu, Z. Huang, and Q. Yang, “SuperCNN: A superpixelwise convolutional neural network for salient object detection,”Int. J. Comput. Vis., vol. 115, no. 3, pp. 330–344, 2015.
基于超像素卷积神经网络的显著性目标检测
CNN在目标检測领域的应用,先对图像进行超像素切割,得到三个序列(超像素序列,一个空间核矩阵,一个范围核矩阵)。然后将三个序列送入三个卷积网络中进行训练,实现CNN的多通道输入。显著性主要通过超像素来体现。
二、G. Li and Y. Yu, “Deep contrast learning for salient object detection,”in CVPR, 2016, pp. 478–487
三、N. Liu and J. Han, “DHSNet: Deep hierarchical saliency network for salient object detection,” in CVPR, 2016, pp. 678–686.
摘要
DHSNet首先通过自动学习多种基于全局架构的显著性线索信息,比如全局对比度、目标、紧凑性及其优化组合,来得到一个粗略的全局预测结果;然后通过一个分层卷积递归神经网络(HRCNN)对本地上下文信息进行融合来进行更深层次地逐步地细化显著图的细节。整个网络架构都呈现一种全局到全局、粗略到精细的模式。
介绍
具体来说,作者先是提出了一个全局视角的卷积神经网络(GV-CNN),它用来生成一个粗略的全局的显著图,称之为 SmG ,以大致探测和定位显著性目标;借助全局结构性损失,GV-CNN可以随后获得一个优化的全局性的显著性目标的检测结果。
由于得到的SmG 和原始输入图像相比,粗略了很多。鉴于此,作者接着提出了分层卷积递归神经网络(HRCNN),它通过结合本地的上下文信息来在细节上细化显著图。如下面图2所示,HRCNN由若干递归卷积层(RCL)和上采样层组成。RCL会层层递进得提升所得显著图的质量,并且为下一步训练提供了一个好的初始化值。
总的来说,DHSNet由GV-CNN和HRCNN组成。其中GV-CNN首先基于全局粗略地探测显著性对象;接着HRCNN层层递进地一步一步地细化所生成的显著图的细节。DHSNet是端到端的训练模式。
用GV-CNN进行粗略的全局预测
如图2,GV-CNN由13个VGG net构成的卷积层组成。接下来是全连接层和重构层(reshape layer)。
用HRCNN对显著图进行逐层精细化
递归卷积层(RCL)是HRCNN的核心部件。
四、Q. Hou, M.-M. Cheng, X. Hu, A. Borji, Z. Tu, and P. Torr, “Deeply supervised salient object detection with short connections,” in CVPR, 2017, pp. 5300–5309.
五、P. Zhang, D. Wang, H. Lu, H. Wang, and B. Yin, “Learning uncertain convolutional features for accurate saliency detection,” in ICCV, 2017, pp. 212–221.
以下是自己增加的几篇paper:
六、Shallow and Deep Convolutional Networks for Saliency Prediction
这是一篇CVPR2016。作者说这也是第一篇用CNN训练的端到端的显著性检测方法。本文提出了两种设计:首先是一个用于从头训练的浅层网络,其次是一个比较深层的网络,它的前三层改编自一个其他的用于分类的网络。