计算机系统应用  2018, Vol. 27 Issue (6): 95-102   PDF    
基于聚类分割和特征点的显著区域检测算法
占善华1,2, 陈晓明1     
1. 广东司法警官职业学院 信息管理系, 广州 510520;
2. 广东工业大学 计算机学院, 广州 510006
摘要:针对彩色图像中的显著区域检测, 对基于聚类分割的特征点检测算法及基于亮度、颜色和梯度多特征的显著区域检测算法进行了研究, 提出一种基于特征点和聚类分割的显著区域检测算法, 该算法的处理思路是先对目标彩色图像利用高斯低通滤波和局部熵纹理分割去除纹理区, 得到R、G、B分量的滤波灰度图, 聚类分割自动划分出每个分量的最亮区域、最暗区域和剩余区域这三个区域, 每个颜色分量选择最亮或最暗这两个区域与剩余区域亮度差值最大的一个区域, 对此选择区域边界进行角点、边缘点检测, 将其角点和边缘点作为显著点, 然后通过数学形态学将显著点扩展到显著区域. 利用公共数据库中的多幅自然图像进行实验对比, 实验结果显示本文所提算法不仅提高了检测准确性, 同时简化了计算过程, 验证了该算法在提取尤其是纹理复杂的图像的显著区域上的有效性.
关键词: 高斯低通滤波    特征点    边缘检测    角点检测    数学形态学    
New Regions of Interest Detector Algorithm Based on Clustering Segmentation and Feature Points
ZHAN Shan-Hua1,2, CHEN Xiao-Ming1     
1. Department of Information and Management, Guangdong Justice Police Vocational College, Guangzhou 510520, China;
2. School of Computing Science and Technology, Guangdong University of Technology, Guangzhou 510006, China
Abstract: This study proposes a saliency detection algorithm based on the fuzzy enhancement and feature points, using fuzzy enhancement and clustering segmentation to highlights the image object and internal classification. First, extract significant edge points and corner points, calculate the multiple features’ means of those points, such as the brightness, color, and gradient features. Then, find all points which are belong to salient regions are closer to the means in the original image. By mathematical morphology to make sure the largest connected region, get salient regions finally. The experimental results show that the algorithm presented in this paper for saliency detection, can improve the accuracy and simplify the computation, the algorithm has an important role in the saliency detection, especially complex texture image.
Key words: Gaussian low-pass filtering     characteristic points     edge detection     corner detection     mathematical morphology    

在一幅纹理复杂的图像中, 人们往往能够清晰注意到重要的目标轮廓, 而忽略掉不容易引起注意的次要部分. 这是图像视觉特征所决定的. 显著性区域是图像中最能引起用户兴趣、最能表现图像内容的重要区域. 常用的显著性区域是基于人的注意力机制和对图像的认知过程规律, 这样提取的显著性区域符合人的主观评价.

当前经典的显著性检测的方法有很多: 空间域上, 最早期经典的是Itti等人[1]在基于视觉注意机制上提出的显著图模型(简称IT方法), 综合了颜色、亮度、方向等多种特征的显著性, 包括3步: 先特征抽取得到不同形式的特征图, 再利用特征显著性计算得到各自相应的显著图, 最后特征显著性融合成一张合成的显著图. 其缺点是IT方法复杂, 实现效率不高, 检测效果不明确, 有时无法很好检测出图像的主要物体. MZ方法[2]基于显著点、显著区域、显著视图3种不同层次实现了基于局部对比度的显著性测量方法. 该方法缺点是强调了区域的边缘部分, 检测不出物体内部区域. Yun Zhai等人[3]在利用视频序列时空线索的视觉注意力检测中, 基于视频的显著度检测, 考虑帧间运动的显著性信息. Goferman等提出CA方法[4], 基于上下文认知的方法把区域比较的方法扩展到多尺度上, 由于全局对比, 出现了过分强调边缘的情况. 随后Goferman等对此进行改进[5], 突出了目标的边缘轮廓等特征, 使其效果略有提升. Murray等提出的IM方法[6]依据颜色建立中心与周围的对比能量模型得到显著区域. Cheng等人[7]的RC方法是当前比较优秀的空间域的显著性检测算法, 采用基于图像分块和局部对比度计算显著性, 每个区域的显著性值由它与其他所有区域的空间距离和区域像素数加权的颜色差异来确定. He等人[8]在Cheng的研究基础上, 提出了结合全局对比和颜色空间分布的显著区域检测方法. Bharath等人[9]提出的可扩展的场景理解的使用显着性的引导下的目标定位, 得到可扩展的, 更容易适应多物体和场景类型的显著区域, 本文中简称它为SSU方法.

频率域上, SR方法[10]能计算出图像上的关键部分和不重要区域, 从而使得随意改变一个图像的高宽而不引起图像内容的扭曲. Achanta等人[11]提出的基于频率调谐的高精度显著区域检测方法(简称AC方法), 对彩色图像的全分辨率显著性计算显著度. FT方法[12]是频率域比较优秀的显著性检测算法, FT实现将高频部分舍去, 使用CIELAB颜色特征, 计算原图像的平均特征与舍去高频后的图像的颜色特征的欧式距离作为显著性. 缺点: 对纹理复杂或本身对比度不强的图像的提取的效果较差, 不能分析纹理区复杂的图像, 检测区域与背景的对比度不强, 难以分出目标与背景的明显边界, 不利于后面的图像分割处理.

针对图像的显著区域提取方法存在区域边界模糊、显著目标不准确、显著图对比度不明显的问题. 图像目标应该处于非纹理背景区, 并且图像的显著目标存在于最暗的, 最亮的这种对比度较大的区域, 因为这些是最显著的, 一般最能引起人们兴趣的. 因此提出一种基于特征点和聚类分割的显著区域检测算法, 该算法的处理思路是先对目标彩色图像利用高斯低通滤波和局部熵纹理分割去除纹理区, 得到R、G、B分量的滤波灰度图, 聚类分割自动划分出每个分量的最亮区域、最暗区域和剩余区域这三个区域, 每个颜色分量选择最亮或最暗这两个区域与剩余区域亮度差值最大的一个区域, 对此选择区域边界进行角点、边缘点检测, 将其角点和边缘点作为显著点, 然后通过数学形态学将显著点扩展到显著区域.

1 基于聚类分割的彩色图像显著区域检测算法

先对彩色图像进行高斯低通滤波和局部熵纹理分割去除纹理区, 得到R、G、B分量的滤波灰度图, 聚类分割自动划分出每个分量的最亮区域、最暗区域和剩余区域这三个区域, 每个颜色分量选择最亮或最暗这两个区域与剩余区域亮度差值最大的一个区域, 对此选择区域边界进行角点和边缘点检测, 将这些特征点作为显著点, 再通过填充及膨胀使区域闭合, 提取面积最大的连通区域, 最终得到显著区域, 如图1.

图 1 显著区域检测 Fig. 1 Detecting Salient Regions

1.1 确定显著特征点局部熵纹理分割和聚类分割

为了检测出图像中显著区域, 需要图像分成若干个特定的、具有独特性质的区域并提出显著目标. 考虑到图像中某些纹理背景区域会检测出很多冗余的角点和边缘点, 这些影响显著目标区域的检测, 因此先采用纹理分割提取彩色图像颜色分量, 这一特性在R、G、B三个通道的灰度图像上更加明显. 对彩色图像采用高斯低通滤波模糊和局部熵纹理分割掉高频纹理区背景信息后, 提取R、G、B颜色分量, 得到R、G、B分量的滤波灰度图像, 再采用K-means对图像聚类分割自动划分为多个亮度分类, 然后将这多个分类概括划分为最亮区域、最暗区域和剩余区域, 分别设为R1、R2、R3, G1、G2、G3, B1、B2、B3.

1.2 确定显著特征点

由于初期的研究对象为灰度图像, 因此当时大部分的显著性特征检测器都是基于亮度的, 将图像亮度变化剧烈的区域定义为显著区域, 将图像的低阶视觉特性比如边缘、轮廓、角点等作为图像的显著点[1318].

将图像的区域细分后检测每类区域之间边界上的角点和边缘点, 称为显著特征点. 本文采用Harris角点检测[15]思想, 创建一个新角点响应函数, 在原有检测角点的基础上考虑到边缘点, 满足我们对显著特征点的需求.

原始Harris角点响应公式为:

$R = \det (M) - $ ktrace2(M), k = 0.04

2011年刘莹[19]等人优化后公式为:

$R = {\displaystyle{{4\lambda_1\lambda_2} \over {e + {{(\lambda_1 + \lambda_2)}^2}}}}$

屈喜文[20]优化后公式为:

$R(x,y) = {\displaystyle{{{{(\lambda_1 \times \lambda_2)}^2}} \over {{{(\lambda_1 + \lambda_2)}^2} - 4 \times \lambda_1 \times \lambda_2 + \varepsilon }}}$

设图像像素点在水平和垂直方向上的梯度为IxIy, 得到自相关矩阵 ${{M}} = \left[ {\begin{array}{*{20}{c}} {I_x^2} & {{I_x}{I_y}}\\ {{I_x}{I_y}} & {I_y^2} \end{array}} \right]$ . λ1λ2分别是自相关矩阵M的2个特征值, 可以通过λ1, λ2的值判断平滑区、角点和边缘. 当λ1, λ2都很大时, R1趋近于1, 说明位于角点; 当λ1, λ2一大一小时, R2趋近于0, 此处为边缘; 当λ1, λ2都很小时, R3也趋近于0, 此处为平滑区. R1>R2>R3, R角点量越接近1越是角点和边缘点的可能性越大. 为避免2个特征值相等和不相等的时候, R值不同, 通常在分母添加一个很小的参数.

$\begin{aligned}R \! & = \! {\displaystyle{{2{\lambda _1}^2{\lambda _2}^2} \over {e \!+\! {\lambda _1}^4 \!+\! {\lambda _2}^4}}} \!\\ & = \! {\displaystyle{{2{{(\det (M))}^2}} \over {e \!+\! {{({{(trace(M))}^2} \!-\! 2\det (M))}^2} - 2{{(\det (M))}^2}}}}\end{aligned}$ (1)

由于角点数量很多, 提取出很多的伪角点, 需要对这些角点进行筛选. 本文先采用原始Harris算法中非极值抑制[15]进行初步筛选, 设图像中某一像素点的坐标为(i, j), 其角点响应函数为 $R(i,j)$ 接近1并属于局部极值, 同时满足条件: $abs(R(i,j) - 1) < T$ $R(i,j) > \sum\limits_{k = - 1,l = - 1}^{k = 1.l = 1} $ $ {R(i + k,j + l)}$ , 则标记为角点. 假设经过以上步骤, 计算得到的角点为Corner={corner1, corner2, …, cornern}, 其中corneri坐标对应为(xi, yi), 其中1<xi<M, 1<yi<N, n为角点数目, MN为原图像的宽度和高度. 考虑到图像中检测的角点包含很多紧密拥挤的点, 再采用自适应距离阈值来筛选角点.

(1) 计算角点的距离. 假设cornerpcornerqCorner中两个角点, 其坐标为(xp,yp)和(xq, yq), Di为这两个角点的距离.

${D_{{i}}}{{ = |}}{{{x}}_{{q}}}{{ - }}{{{x}}_{{p}}}{{| + |}}{{{y}}_{{q}}}{{ - }}{{{y}}_{{p}}}{{|}},\left( {1 < i < C_n^2} \right)$ (2)

(2) 计算距离Di出现在所有距离中的的频率. 将距离Di与其出现频率的乘积设为s, Num(Di)表示距离Di出现的频率, 将s按由大到小排序后为 $S' = \{ {s_1}, {s_2},\cdots,{s_m}\} $ , 其中s1>s2> $ \cdots$ > sm, ${{m = }}C_{{n}}^2$ . 将排序后的中间位置 $t = \left\lfloor {(C_n^2 + 1)/2} \right\rfloor $ 的值St作为参考值value, 即

${s_i} = {D_i} * {\textstyle{{Num(Di)} \over {C_n^2}}},\;\;1 < i < C_n^2$ (3)
${{value}} = {s_t} = mid\{ S'\} ,\;t = \left\lfloor {(C_n^2 + 1)/2} \right\rfloor $ (4)

(3) 计算距离阈值. 设任意两个角点的距离Di与参考值value之间的差值为di, 将差值di与其出现频率的乘积的最小值作为距离阈值thresh. 如果 ${d_i} < thresh$ , 则认为是紧密的拥挤的角点, 删除这些角点, 最终筛选出了均匀分布的角点, 个数为N.

${{thresh = }}\min \left( {|{d_i} - s{{|*}}\frac{{Num\left( {|{d_i} - s{{|}}} \right)}}{{C_{{n}}^2}}} \right)$ (5)

删除条件: ${d_l} < thresh$

(4) 检测边缘点. 本文采用Canny边缘检测算子进行角点检测.

1.3 确定显著点

这些显著特征点涵盖了显著目标的轮廓、目标内部点以及少量非显著区域的点, 提取出了感兴趣区域的定位. 提取出了显著区域的定位. 为了缩小目标搜索范围, 精确定位到整个显著区域, 一幅图像的显著目标可以存在于最暗的或最亮的区域, 彩色图像分为R、G、B不同的颜色分量, 因此彩色图像的显著区域应该存在于不同分量的这两个区域中其中一个, 将与剩余区域对比较大的最亮或最暗区域作为选择区域.

对每个颜色分量的选择区域之间的边界上进行角点和边缘点检测, 将这些特征点作为显著点. 将R分量选择区域检测到的特征点二值图像记为RIsign, 将G分量选择区域检测到的特征点二值图像记为GIsign, 将B分量选择区域检测到的特征点二值图像记为BIsign, 将这3个区域的特征点合并作为显著点二值图像记为RGBIsign.

${{ RGBIsign}} = {{RIsign1}} \cup {{GIsign}} \cup {{BIsign}}$ (6)
1.4 提取显著区域

找到显著点二值图像RGBIsign后, 膨胀、填充使各个区域闭合后, 再标记连通区域,L(i, j)=1, 得到连通区域二值图像L, 连通区域的个数为n, 计算每个连通区域的面积, 提取面积较大的连通区域, 最终获得显著区域二值图像P. 面积阈值是由不同的图像中连通区域的面积和个数决定.

图 2 显著特征检测 Fig. 2 Salient feature detection

2 实验结果与讨论

为了验证本文算法的正确性和意义性, 利用Matlab对采用Achanta等人所提供的公共数据库中的多幅自然图像做测试, 这些图像的背景复杂或简单, 目标是不同的人或动物等. 本文算法中的显著特征点检测和显著区域检测算法实验结果如图2所示.

2.1 显著特征点检测实验图

本文所采用的这两个改进方面后的算法与原Harris和文献[19]及文献[20]相比, 效果提升明显. 检测到的角点数目增多, 花瓣边缘和内部阴影轮廓及细小的但同样是亮度急剧变化的角点都能正确明确地被检测出, 而且如花瓣右上方减少一些冗余点. 如果仔细看原始灰度图像, 可看的有很多是亮度变化的边缘, 而这不被原始Harris角点所检测到, 比如花中间的菱角、花瓣阴影部分及细小两步变化不大的边缘, 这些边缘点同样是我们论文研究中所需要的显著点. 本文中把角点和边缘点都认为是显著点, 需要提取出既是边缘点又是角点的显著特征点, 在改进的角点检测中, 不仅检测到了角点, 也检测到了角点附近的边缘点. 本文是在聚类分割后二值图像上做Harris角点检测并增加聚类分割后图像区域边界点的重合检测, 满足显著区域提取中的显著点检测.

2.3 本文算法的每一步对应实验图 2.4 几种显著图方法对比

从数字图像处理标准测试图中选择了5幅图像来做各种算法显著图, 如图4所示.

图 3 每一步对应实验图 Fig. 3 Every step of the corresponding experiment

IT算法复杂, 实现效率不高, 检测效果不明确, 有时无法很好检测出图像的主要物体. IM的显著图范围较大, 模糊不精确, 亮度及对比度不强, 不利于后面的图像分割处理. CA算法中边缘部分被过度强调, 对于背景复杂或大目标的图像检测不完全和不准确. SR算法效果介于IT和CA算法之间. 这些局部方法的结果通常在物体边缘附近产生更高的显著性值, 而不是均匀地突出整个视觉显著性物体. FT对纹理复杂或本身对比度不强的图像的提取的效果较差, 不能分析纹理区复杂的图像, 检测区域与背景的对比度不强, 难以分出目标与背景的明显边界.

2.5 显著区域对比

本文5幅图像为例, 经过多次反复实验, 从中选择最佳的阈值二值化显著图. 把各种经典算法中提取到的显著区域与本文算法做对比, 实验结果如图5所示.

图 4 各种方法显著图结果(从左到右为原图像、IT、IM、SR、CA、FT) Fig. 4 The test results of salient map (original image、IT、IM、SR、CA、FT)

图5的显著对比结果可知, IT: 虽然符合人的视觉关注模型, 但是其计算复杂, 并且除了显著区域外还有冗余的非显著背景区域. SR: 检测到的区域中的物体形状过于简单模糊, 边界不够分明, 可以检测特征点, 但是检测区域准确度不够, 不能检测到连续的显著区域, 从显著区域看不出原图像的大致内容. IM: 其显著图范围较大不精确, 模糊, 亮度及对比度不强. CA: 可检测出物体的部分轮廓, 边缘部分被过度强调, 不是均匀地突出整个视觉显著性物体. FT: 虽对于有些图像的提取效果较好, 但是检测的区域中还有不少背景中的纹理. 而且对纹理复杂或本身对比度不强的图像的提取的效果较差, 不能分析纹理区复杂的图像, 检测区域与背景的对比度不强, 难以分出目标与背景的明显边界, 不利于后面的图像分割处理.

按照本文的步骤, 由最终检测的显著区域和其它显著图快速二值化后得到的显著区域对比可知, 本文计算简单, 能够较精确地检测出图像中目标显著区域, 而且在检测出图像的目标物体的整体轮廓的同时又能检测出一些显著的内部结构.

2.6 精确度和召回率对比

本文算法的结果和人工标注的显著目标比较基于3中评估度量, 分别是正确率(Precision)、召回率(Recall)、F-measure.

分别定义为: $Precision = {\displaystyle{{\sum\limits_x {{g_x}{a_x}} } \over {\sum\limits_x {{a_x}} }}}$ , ${\mathop{Re}\nolimits} call = {\displaystyle{{\sum\limits_x {{g_x}{a_x}} } \over {\sum\limits_x {{g_x}} }}}$ , $F - measure = {\displaystyle{{(1 + \delta ) \bullet Prescision \bullet {\mathop{Re}\nolimits} call} \over {(\delta \bullet Prescision + {\mathop{Re}\nolimits}call)}}}\;\;(\delta = 0.3)$ .

图 5 各种方法显著区域检测结果 Fig. 5 The test results of salient Regions detection

将基准数据集中的二值图记为G, 二值图像的对象面积 $\sum\limits_x {gx} $ , 将算法提取的显著图记为A, 提取的显著区域面积为 $\sum\limits_x {ax} $ , 我们用准确率和召回率来检测算法的有效性. 进一步, 为了更准确地计算算法的平均正确率和召回率的性能, 我们引入Fb测量. 其中 $\sum\limits_x {gxax} $ 表示二值图和提取的显著图的公共部分. 该文取δ=0.3来使准确率的权重高于召回率. 从MIT视觉显著性图片库中随机抽取的5幅图像和图3数字图像处理标准测试图中的5幅, 总共10幅图像做各种算法的数据对比, 表1为这几种方法与本文的查准率、查全率和F-measure的对比结果, 可以看出综合情况好于其他几种, 验证了本文算法的合理性和正确有效性.

表 1 对比各种算法的准确性 Table 1 Compare the accuracy of the various algorithms

3 结束语

本文研究彩色图像中的显著区域检测, 从全局考虑, 显著区域一定是对比度较大的最亮区域或最暗区域. 在采用高斯低通滤波和局部熵去掉纹理区域后, 找到聚类分割中对比度最大的最亮或最暗区域的角点和边缘点, 通过数学形态学将这些显著点扩展到显著区域. 实验结果表明, 利用本文算法进行显著区域检测, 既能够抑制复杂的背景影响, 又能全面均匀检测显著区域. 本文通过实验对比, 不仅提高了准确性, 还简化了计算, 使得该算法在提取尤其是纹理复杂的图像的显著区域上有重要的作用.

参考文献
[1]
Itti L, Koch C, Niebur E. A model of saliency-based visual attention for rapid scene analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(11): 1254-1259. DOI:10.1109/34.730558
[2]
Ma YF, Zhang HJ. Contrast-based image attention analysis by using fuzzy growing. Proceedings of the Eleventh ACM International Conference on Multimedia. Berkeley, CA, USA. 2003. 374–381.
[3]
Zhai Y, Shah M. Visual attention detection in video sequences using spatiotemporal cues. Proceedings of the 14th ACM International Conference on Multimedia. Santa Barbara, CA, USA. 2006. 815–824.
[4]
Goferman S, Zelnik-Manor L, Tal A. Context-aware saliency detection. IEEE Computer Society, 2012, 34(10): 1915-1926.
[5]
Goferman S, Zelnik-Manor L, Tal A. Context-aware saliency detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(10): 1915-1926. DOI:10.1109/TPAMI.2011.272
[6]
Murray N, Vanrell M, Otazu X, et al. Saliency estimation using a non-parametric low-level vision model. Proceedings of 2011 IEEE Conference on Computer Vision and Pattern Recognition. Colorado Springs, CO, USA. 2011. 433–440.
[7]
Cheng MM, Zhang GX, Mitra NJ, et al. Global contrast based salient region detection. Proceedings of 2011 IEEE Conference on Computer Vision and Pattern Recognition. Colorado Springs, CO, USA. 2011. 409–416.
[8]
He X, Jing HY, Han Q, et al. Salient region detection combining spatial distribution and global contrast. Optical Engineering, 2012, 51(4): 047007. DOI:10.1117/1.OE.51.4.047007
[9]
Bharath R, Nicholas LZJ, Cheng X. Scalable scene understanding using saliency-guided object localization. Proceedings of the 10th IEEE International Conference on Control and Automation. Hangzhou, China. 2013. 1503–1508.
[10]
Deng H, Sun XP, Liu ML, et al. Image enhancement based on intuitionistic fuzzy sets theory. IET Image Processing, 2016, 10(10): 701-709. DOI:10.1049/iet-ipr.2016.0035
[11]
Achanta R, Hemami S, Estrada F, et al. Frequency-tuned salient region detection. IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2009). IEEE. 2009. 1597–1604.
[12]
Deng H, Deng WK, Sun XP, et al. Mammogram enhancement using intuitionistic fuzzy sets. IEEE Transactions on Biomedical Engineering, 2017, 64(8): 1803-1814. DOI:10.1109/TBME.2016.2624306
[13]
Deng H, Duan CH, Zhou X. A novel fuzzy enhancement of mammograms. Proceedings of 2015 IET International Conference on Biomedical Image and Signal Processing. Beijing, China. 2015. 1–5.
[14]
Avidan S, Shamir A. Seam carving for content-aware image resizing. ACM Transactions on Graphics, 2008, 26(3): 10. DOI:10.1145/1276377
[15]
Harris C, Stephens M. A combined corner and edge detector. Proceedings of the Fourth Alvey Vision Conference. Manchester, UK. 1988. 147–151.
[16]
Lee MS, Medioni G. Grouping into regions, curves, and junctions. Computer Vision and Image Understanding, 1999, 76(1): 54-69. DOI:10.1006/cviu.1999.0787
[17]
Reisfeld D, Wolfson H, Yeshurun Y. Context-free attentional operators: The generalized symmetry transform. International Journal of Computer Vision, 1995, 14(2): 119-130. DOI:10.1007/BF01418978
[18]
Kadir T. Scale, Saliency and Scene Description[Master’s Thesis]. Oxford: University of Oxford, 2002.
[19]
刘莹, 张久东, 周卫红. Harris角点检测算法的优化研究. 云南民族大学学报(自然科学版), 2011, 20(2): 136-138.
Liu Y, Zhang JD, Zhou WH. Optimization of Harris corner detection algorithm. Journal of Yunnan University of Nationalities (Natural Sciences Edition), 2011, 20(2): 136-138.
[20]
屈喜文. 一种改进的Harris角点检测方法. 机电技术, 2011, 20(2): 136-138.
Qu XW. An improved Harris corner detection method. Mechanical & Electrical Technology, 2011, 20(2): 136-138.