李世镇,钱 俊,余 映,杨 鉴
(云南大学 信息学院,云南 昆明 650500)
视觉显著性一直是神经科学、心理学和计算机科学的研究热点. 它最初是预测人眼在场景中的注视位置,而研究人员发现人能够快速、准确地从海量视觉信息中定位出最感兴趣的部分区域,并可以自适应地将注意力集中在感兴趣区域,这样极大地减少脑神经资源占用. 随着图像信息的爆炸性增长,自动从图像中提取显著区域变得更加重要,目前已发展到自动识别出图像中的显著目标. 在计算机视觉中,将视觉选择注意机制这一原理运用于图像显著性检测模型中,通过相关分析计算提取与人视觉观察结果相符合的图像显著目标,有效地提高了对图像处理的效率,从而被广泛运用于其他领域,如目标识别、对象分割、图像分类、图像压缩等.显著性检测模型按人类视觉注意力机制划分为以任务驱动的自顶向下(Top-down)和以数据驱动的自底向上(Bottom-up)两大类.
目前已有许多视觉显著性检测算法,例如Itti等[1]最早提出了受生物启发并模拟人眼视觉系统的IT显著性检测算法,其提取颜色、强度和方向3个特征,结合局部对比度和使用中心-周边差异的多尺度图像特征得到图像显著图,但由于对每一个特征采用中心-周边模型,能检测显著目标的边界,但忽略了目标的内部信息,IT算法容易在复杂的背景中受到干扰且准确率低. Ma等[2]提出了一种生成显著图的局部对比分析算法,并模拟人类的直观视觉感,计算在LUV颜色空间中所有区域与局部区域范围内像素之间的空间距离,结合引入模糊增长方法对该算法进行优化处理,但假设了显著区域与周围背景有较大差异,同时只考虑了LUV颜色空间的颜色信息,对图像中颜色差异度比较小的不太适用. Cheng等[3-4]提出了一种基于全局和区域的显著性检测算法,考虑了整个图像的全局区域对比度和区域之间的空间关系,其中两种显著性模型HC (Histogram based contrast)和RC (Region based contrast)为底层信息的典型应用,RC算法采用图的分割方法,区域紧凑度很低且分割区域个数无法自由设定,而且对比范围包含了图像背景和前景的节点,在计算图像块之间的颜色对比度时弱化了对比度的关系,难以统一突出某个整体显著对象. Achanta等[5]在IT算法的基础上进行改进并提出了AC法,对图像使用高斯带通滤波处理,通过计算整个图像的平均颜色差异得到显著图,但由于无监督的特性,只考虑了图像的一阶平均颜色,AC算法在图像显著性检测很容易对背景作出响应,精确度不高.Perazzi等[6]提出了一种显著滤波器算法,首先对图像进行超像素分割,使用颜色唯一性和分布特性计算显著值并在后处理采用上采样,得到一个精确的显著性目标. 但认为颜色分布在整个图片中,则是背景;颜色分布相对集中,则是显著区域;导致它对于小目标显著区域和存在复杂背景的区域则提取失败. Jiang等[7]提出一种基于上下文分析和形状先验的显著对象分割算法,能提取全分辨率的显著图,但若显著目标位于图像边界而不是中心位置,容易降低目标的显著性. Xie等[8]提出了一种利用图像低级和中级线索的显著性算法,对局部特征的超像素进行聚类,并对聚类结果进行粗糙显著区域分析,利用兴趣点形成凸包来估计前景位置,在贝叶斯框架下计算得到显著图,但凸包具有不灵活性,可能包含较多背景,对存在出现多个目标时检测效果差;利用贝叶斯推理问题估计图像中每个像素的后验概率,计算耗时长.
另一类算法是在频率域上计算,其核心思想将图像在空间域转换到频率域中计算显著性,频率域算法计算复杂度低、运行时间快,但对显著目标具有较低的准确率和分辨率,仅能突出目标的边界区域,不能整体高亮显著目标[9-10]. 近年来,随着深度学习相关研究的不断发展,基于深度神经网络的显著性检测模型为图像处理开拓了新的研究领域,该类算法准确率高,但是基于深度网络的模型需要良好的计算设备,训练过程比较复杂,训练样本数据大,计算时间长[11-12]. 由于图像显著性检测是后续图像处理任务的一个预处理阶段,目前的显著性检测算法的研究趋势在于主要解决以下3个方面的问题:
(1)显著性检测算法是否能有效抑制并消除图像中的背景干扰,从复杂的背景中突出显著区域,减少后续图像任务的计算复杂度;
(2)显著性检测算法是否能生成准确率较高的全分辨率显著目标,显著目标是否具有明确的边界;
(3)显著性检测算法是否能具有较快的计算速度,它决定了算法是否能应用于实时处理系统.
本文从人类的视觉特性出发,提出了一种空间域的算法,即基于凸包计算和颜色特征的显著性检测算法. 不同于RC算法使用图的分割算法,本文使用超像素分割进行图像预处理,可以得到区域紧凑并感知均匀的超像素块;然后从图像的全局考虑,分别在多种颜色空间中得到区域对比图;在CIELAB颜色空间中得到平滑通道差值图;考虑提取图像中显著区域时,会存在复杂的背景提供干扰,选择使用颜色增强的Harris算子形成凸包得到结构图和中心先验图;最后特征融合4种先验信息,使用形态学后处理优化得到最终显著图,能够快速得到准确率较高、接近于人工标注图的结果并抑制背景干扰的全分辨率显著图.
为了更好地捕获输入图像的结构信息,使用简单线性迭代聚类(Simple Linear Iterative Clustering,SLIC)算法[13]将原图像分割成N个超像素作为最小处理单元,进行超像素分割可以极大的减少像素点,提高计算效率,可以有效保留边界信息和保证显著物体的完整性,算法流程如图1所示.
图1 本文算法流程图Fig. 1 The flow chart of the proposed algorithm
1.1 区域对比图由于对原图像使用了超像素分割,超像素分割算法可以将一些像素点集合到有意义的区域中. 颜色是包含信息量最大的一种底层特征,可能会传达原图像中更多有用的显著性信息,而颜色在人的视觉系统中也占有很重要的角色. 例如,在一堆红苹果中放进一个黄色的橘子,人们观察时黄色的橘子会引起人眼注意,这说明黄色和红色之间的对比差异度比较大,更能引起人们的注意.
Ma等[2]提出了一种生成显著图的局部对比分析算法,只考虑了LUV颜色空间的颜色信息,导致对图像中颜色差异度比较小时不太适用,而且局部对比度的方法倾向于在边缘轮廓部分产生高显著性值,容易造成忽略显著目标中央区域信息. 另外Tang等[14]在计算相邻域颜色特征时融合了CIELAB和RGB两种颜色空间的多个通道差异信息,认为使用两种颜色空间获得的差异信息比单独使用一种颜色空间好. 由于单一颜色空间的分量不能完全反映图像颜色信息的问题,而且图像在不同通道间的颜色取值范围又不同,从图像的全局考虑可以为图像中相似区域分配一个相近的显著性值,充分有效地利用图像中的颜色信息并均匀突出显著目标,同时对提取图像的区域对比图时使用3种颜色空间,即对图像中任何一个超像素i,分别定义超像素为区域Rli(i=1,2,···,N)、Rri(i=1,2,···,N)、Rhi(i=1,2,···,N),其中l、r、h分别代表CIELAB、RGB和HSV 3种颜色空间,在区域的颜色特征定义为Ci,它是分别通过计算属于这3个区域内超像素的平均颜色特征所得,最后超像素i的显著值定义为在所有区域的欧式距离与每一个区域与其他区域颜色的欧式距离,该过程可表示为
其中,SR(i)为超像素i在区域R中的显著值,U为3个区域的像素信息集合,即U={Rli,Rri,Rhi},‖‖为欧几里得区域距离,dn为在n所代表颜色空间中区域的平均颜色Ci欧氏距离,即d1是n1所代表LAB颜色空间中Rli区域的平均颜色Ci欧氏距离,d2是n2所代表RGB颜色空间的Rri区域中平均颜色Ci欧氏距离,∂ 是控制对比度的常数. 之后将区域中所得的显著值归一化到[0,1]之间.
两个图像区域对比图的实例如图2所示,从第1行的图中可以看出,在单一目标中能很好地检测出显著目标,但是含有少量的背景噪声,认为是成功的;从第2行的图中可以看出,在多个目标中能凸出显著区域,但是背景也被错误地凸显出来,认为是失败的,所以使用凸包的计算.
图2 检测成功(第1行)和检测失败(第2行)示例Fig. 2 Examples of successful detection (first line) and failed detection (second line)
1.2 凸包的计算凸包的计算是使用图像中的特征兴趣点获得一个具有最小面积的凸变多边形. 利用颜色增强的Harris算子[15]对原图像进行颜色增强,并检测图像中显著区域的角点或轮廓点. 图3给出了几张颜色增强的Harris凸包示例. 在第1行的图中看出,凸包能很好地包围并凸出显著目标;在第2行的图中看出,凸包不是很好地包围显著目标,并将图像中的部分背景包含进来. 凸包能够将人眼注视到感兴趣的目标区域包围起来,为后续的工作提供方便.
图3 颜色增强的Harris凸包示例Fig. 3 Examples of the color-boosted Harris convex hull
1.2.1 中心先验 在1.1节的对比图中可以看出,有的图像存在错误凸显背景区域,为了解决这个问题,引入中心先验,它能够在一定程度上抑制背景中的稀缺区域. 不同于CA (Context-Aware) 算法[16]围绕图像中心位置的高斯模型对显著目标进行滤波,抑制图像背景噪声,CA算法认为人眼对图像中心位置的视觉刺激反应更强烈,又根据摄影者的规则认为显著目标区域位于图像的中心,在图像中心的附近区域有较高显著值,距离图像中心较远的区域有较低显著值. 若当图像中的显著目标区域不在中心而发生偏置时,如图像边界区域,传统的中心先验达不到理想的效果,很可能会抑制显著目标的显著性. 因此对其进行改进,对图像使用颜色增强的Harris算子检测兴趣点形成凸包,通过计算凸包的质心作为新的中心得到中心先验. 如图4所示为中心先验和传统中心先验的结果对比图,图4(b)蓝色线形成的凸包能找到图像中显著目标的位置,从而减少了背景的干扰;中心先验对目标位置比较敏感,将图4(c)和图(d)进行相比,发现本文算法能得到精确的中心先验图. 具体计算流程如下:
步骤 1使用颜色增强Harris算子来检测图像中的兴趣点;
步骤 2消除图像边界附近的兴趣点,并连接所有剩余的兴趣点形成凸包;
步骤 3使用快速拉普拉斯滤波器[17]对原图像进行平滑或图像增强处理,重复步骤1、2,形成第2个凸包;
步骤 4在第1个凸包和第2个凸包寻求公共集,形成第3个凸包.
图4 中心先验计算各阶段和传统的中心先验Fig. 4 Central priors calculation and traditional central priors
将第3个凸包的质心位置设为 (x0,y0),超像素i的中心先验显著值为
其中,xi和yi分别为超像素i在LAB颜色空间的平均坐标值,∂x=w/2∂y=h/2,w、h分别为图像的宽和高. 最后将得到的显著值归一化到 [0,1].
1.2.2 凸包结构图 由于凸包内的超像素可能比凸包外部分的超像素会传递更多有用信息. 选取对原图像使用颜色增强Harris算子形成的凸包,虽然此凸包包含了图像中的部分背景,但它可能极大程度包围了显著目标. 本文对超像素是否在凸包内进行二值化处理,得到的图定义为凸包结构图. 对于凸包内超像素i的位置记为
其中,Ss(i)为超像素i根据位置得到的结构图,convexhull为凸包,pi为在超像素点在图像中的位置.
1.3 通道差值图在CIELAB颜色空间中,亮度维度L的取值范围为0~100,表示从最暗渐变到最亮的过程;颜色维度a取值范围为-128~127,表示从绿色渐变到红色的过程;颜色维度b取值范围为-128~127,表示从蓝色渐变到黄色的过程. Achanta等[5]在计算图像显著性时,利用在LAB三通道的均值与经过DoG算子模糊后图像的像素值计算欧式距离,模糊后的图像很容易丢失原图像的高频信息. 在LAB颜色空间经过SLIC超像素分割后,能记录超像素在L、A、B3个通道的信息以及横坐标x、纵坐标y的位置信息. 根据图像颜色在3个通道的分布特点不同,认为如果在某一通道内的超像素点之间颜色差异值较大,则该通道内包含颜色信息就越多,反之越少. 因此,将L、A、B3个通道内所有超像素点的信息值求和并取平均,再将某个通道内所有超像素点的信息值与此得到的均值计算差值,然后取绝对值得到单个通道的通道差异值,该计算过程可表示为
其中,L(i)、A(i)、B(i) 分别为通道信息值,ML、MA、MB分为L、A、B 3个通道的平均值,最后将通道差异值归一化到[0,1]之间.
CIELAB颜色空间是一种基于生理特性的颜色系统,弥补了颜色分布的不均匀. 通道差值图是由计算3个通道差异值的欧氏距离得到的,为了能更好地凸出显著区域、减少背景噪声,使图像中显著目标均匀. 采用一个颜色相似权重策略,得到一个相对准确、均匀的平滑差值图,计算公式为
1.4 显著性特征融合及优化在得到区域对比图的显著值SR(i)、中心先验图的显著值Sc(i)、结构图的显著值Ss(i) 和平滑的通道差值图的显著值Sb(i)后,本文将4种显著图进行特征融合得到初始显著图Sin(i),该计算过程可表示为
其中,α1和 α2为控制融合的参数.
为了保持重要边界细节以及抑制背景噪声,本文对初始显著图Sin(i) 使用一个形态学平滑策略,得到平滑显著图Sins(i),该步骤由一个膨胀重建和一个侵蚀重建方法组成[18],定义核的半径R为
其中,α 是一个预定义常数,MS是初始显著图Sin(i)的均值. 为了进一步凸出显著区域,减少背景噪声的干扰,本文使用Sigmoid函数进行优化处理,计算公式为
其中,Sins(i) 为通过形态学处理之后得到的平滑显著图,Sf(i) 为最终的显著图,b、c为调节参数,分别控制前景和背景区域之间的对比度.
所有实验均在Windows10环境下的Matlab 2017(a)上进行,处理器为Intel(R) Core(TM)i5-5200U,主频为2.20 GHz. 实验参数设置: 考虑CIELab颜色空间通道范围的差异,即 ω1=1 ,ω2=ω3=(127+128)/100=2.55;由于该显著性算法是无监督的,而且多次进行参数调节实验,∂ 取0.2;δ 取0.001;α 取50;α1取0.8;α2取0.2;b和c分别取10、0.5. 为了证明本文算法的检测性能,在显著目标检测中广泛使用的公开图像数据集MSRA 1000上进行对比实验,此数据集中目标与背景差异比较明显,并且人工标记了具有精确目标边界的真值图以供测试. 与现有其他8种显著性检测算法进行定性分析和客观评价指标比较. 8种算法为:HC[3]、RC[4]、SF[6]、WTHD[10]、CA[16]、MSS[19]、SEG[20]和LC[21].
图5 本文算法与其他8种显著性检测算法的显著图对比Fig. 5 Comparison of the saliency map between the proposed algorithm and other 8 saliency detection algorithms
2.1 定性分析图5为本文算法与其他8种显著性检测算法的显著图结果对比. 为了评价图像提取质量好坏,在主观上选取了显著目标在图像的中心区域和偏置区域,从图5中可以看出,SEG、LC、RC和MSS算法能够提取到显著目标,但是目标区域亮度不够;CA算法能够抑制背景的干扰,但是目标的中心区域比较暗淡;WTHD能凸出显著目标,但轮廓及边缘比较模糊;HC算法能得到高亮度的显著区域,但是存在较多的背景干扰;SF算法在颜色差异度较小能够提取显著目标. 对于背景颜色比较丰富时,可见第2行(从上而下)只有本文算法、WTHD和CA提取显著区域,但是本文算法能够抑制背景噪声,达到人工标注图的效果,不管对显著目标在中心区域还是偏置区域都能够从背景中分离出显著目标,不仅抑制了背景干扰、凸出显著区域,而且获得全分辨率的显著图.
2.2 客观评价指标采用准确率-召回率(P-R)曲线、自动阈值分割(F-Measure)、平均绝对误差(Mean Absolute Error,MAE)、结构度量(Structure-Measure)和计算速度5种评价指标来证明算法的有效性.
(1)准确率-召回率(P-R)曲线. 为了比较不同图像显著图的质量,设置显著图的阈值t从0到255,生成二进制值图,再与人工标注的真值图进行比较,其中显著性值低于固定阈值的像素被标记出来,在图像数据集中所有图像上计算出256对平均准确率-召回率,计算公式记为
其中,M为二进制图,G为人工标注图.
图6为准确率-召回率(P-R)曲线对比图,可以看出本文算法优于其他算法,检测性能更好. 准确率较高意味着检测出图像的显著目标更接近于人最感兴趣的显著目标. 但是在召回率为[0.8,1],本文算法存在上升陡峭,这是由于P-R曲线是逐轮划分二值图来进行对比,而该算法是经过超像素分割SLIC(N=200)之后,像素点变少,颜色丰富度相对缺失,会出现这种情况.
图6 9种显著性检测算法的P-R曲线对比图Fig. 6 P-R curve comparison of 9 saliency detection algorithms
(2)自动阈值分割 (F-Measure). 通常,当数据集比较大时,P和R两者是相互对立的.F-Measure是准确率和召回率的调和平均数,并给出了它的非负权重 γ,计算公式记为
其中,γ2通常设置为0.3,用以调节准确率和召回率的比重.
根据公式(10)计算出本文算法的P为0.863 5,R为0.744 2,F为0.814 9. 根据这9种算法计算出的数据绘制成柱状图,图7为准确率(P)-召回率(R)-自动阈值分割值(F)对比图,可以看出本文算法高于其他算法,说明该算法能得到较高质量的显著图.
图7 9种显著性检测算法的P-R-F对比图Fig. 7 P-R- F comparison of 9 saliency detection algorithms
(3)平均绝对误差(Mean Absolute Error,MAE).由于计算准确率P和召回率R需要将显著图进行二值分割,对一副显著图的均匀度不敏感,并不反映背景噪声的情况,因此本文需要评估图像显著图和人工标注图之间的平均绝对误差,两者需要归一化到[0,1],计算公式为
其中,w、h分别为图像的宽和高,S和G分别为归一化显著图和标注图的像素点值.
根据公式(11)计算出本文算法的M值为0.087 1.根据这9种算法计算出的数据绘制柱状图,见图8为MAE对比图,可以看出本文算法M值明显远低于其他算法,说明本文算法得到的显著图更接近于人工标注图,更有效地抑制了背景干扰.
图8 9种显著性检测算法的MAE对比图Fig. 8 MAE comparison of 9 saliency detection algorithms
(4)结构度量(Structure-Measure). 上述指标是基于逐像素的计算方式,而忽略了显著图与标注图之间的结构相似性,不能捕捉两者的结构信息. 为此,使用Fan等[22]提出的结构度量评估算法,计算公式为
其中,α 取0.5,μ 为前景与图像区域的比值,OFG为显著图与标注图的相似性,OBG为背景相似性,K为分割显著图与标注图块数,M(k) 为每个块的区域相似度,ωk为每个图像块分配的权重. 其Structure-Measure值越大,表明显著图与标注图的结构越相似. 图9为结构度量S-M对比图,可以看出本文算法的S-M值高于其他算法,说明本文算法检测性能更好.
图9 9种显著性检测算法的S-M对比图Fig. 9 S-M comparison of 9 saliency detection algorithms
(5)计算速度. 计算速度是评价显著性检测算法的重要指标,计算速度快,可为后续其他图像任务降低计算复杂度,同时也表明该算法的整体性越优秀. 本文选取数据集MSRA 1000中的100张图片计算平均时间. 9种算法的平均时间对比如表1所示,可以看出,本文算法与RC、SF两种算法都使用了分割算法,3种算法计算时间基本处于同一数量内,但是本文算法检测的结果不仅准确地突出了显著目标的位置并整体高亮,而且还有效地抑制了背景噪声的干扰,获得了高质量的显著图,即本文算法能应用于实时系统处理.
表1 9种算法的平均时间对比Tab. 1 Average time comparison of 9 algorithms
提出了一种基于凸包计算和颜色特征的显著性检测算法. 该算法融合了区域对比图、中心先验、结构图和平滑通道差值图4种先验信息,之后经过形态学处理得到最终的显著图. 本文算法更加接近人工标注图的结果,能够从背景中分离出显著物体,不仅抑制了背景干扰、凸出显著区域,而且获得了全分辨率的显著图. 在公开的图像数据集MSRA1000上与其他8种显著性检测算法进行了实验对比. 实验结果表明,不管从主观显著图评价方面还是客观评价指标方面,本文算法的有效性均优于其他算法. 未来的工作包括开发一些增强的图分割方法来辅助显著性计算,以及将频域方法或深度学习方法与当前的工作相结合.