2. 江南大学物联网工程学院, 无锡, 214122
2. College of IoT Engineering, Jiangnan University, Wuxi, 214122, China
图像分割在图像识别和计算机视觉中是关键的预处理过程, 在图像分析中仍然是一个具有挑战性的研究。它的目标是将相似和邻近的像素以图像分割成相应结构连贯的元素[1]。根据图像中像素的灰度值、纹理、颜色等将图像分为若干个互不相干的区域,每个区域内部均有其相似性,不同的区域又互有差异。图像分割可以认为是基于同质性或异质性准则将一幅图像划分为若干有意义的子区域的过程[2]。
由于待分割模型不尽相同,因此不同模型所适合的分割方法也各有优缺点。如今,图像分割方法主要有如下几类:基于阈值分割法[3-4],基于边缘检测分割法[5],基于聚类分割法[6],基于形态学分水岭分割法[7],基于神经网络等特定理论的分割方法等。前3种分割方法都是在像素级基础上进行图像分割处理,需要根据图像中像素的灰度、颜色、纹理等特征,因此不可避免地对噪声敏感,容易产生很多孤立的分割点,很难找到精确的区域分割边缘。近年来,超像素得到了越来越多的关注,基于超像素方法的图像分割算法,能够有效地减少图像中噪声的影响,对图像分割效率也有很大的提高。
超像素(Superpixel)的概念是在2003年由马利克等人提出[8], 用于描述一组像素相似的颜色或其他低级属性。超像素的概念出于两个重要方面:像素不代表自然实体, 它仅仅是离散化的结果; 大型图像的像素数量大,会影响许多算法计算的可行性。近年来,超像素被广泛应用, 如古典分割[9], 语义分割[10], 立体匹配[11]或跟踪[12]。但生成超像素的算法时间复杂度较高,因此提出在结合超像素的思想上使用分水岭算法快速地找到区域边界来进行预划分。
分水岭算法是一种基于拓扑理论的数学形态学的分割方法,可作为一种图像区域提取算法,许多学者将分水岭与其他方法相结合并应用到各种图像处理领域[13-14]。最先提出分水岭算法的是Beucher等人,接着在1991年,Vincent和Soille[7]在原来的基础上改进提出一种较为经典的分水岭算法,该算法计算速度快,定位准确,并且结果较为稳定,能够形成一个闭合的目标轮廓, 但仍然存在不足,容易陷入局部最优分割,过分分割, 对噪声敏感。为了解决分水岭的过分割现象,常采用梯度阈值处理,但是全局的分水岭梯度阈值容易造成图像局部信息的遗失。因此结合超像素理念使用网格化的局部分水岭方法能有效解决该问题。在使用分水岭进行快速预划分之后,进行区域融合,再采用聚类算法对像素做最后的归类。
近些年,模糊聚类被广泛的应用在人工智能、模式识别、图像处理中。例如孙权森[15]等人将其用在医学图像上。模糊C均值聚类算法(Fuzzy C-means, FCM)在1973年被Dunn[16]首次提出并发展成为一种经典的模糊聚类算法,是图像分割中最快速有效的方法之一,该方法将所选取样本到聚类中心误差平方与准则函数作为目标函数进行聚类,然而传统的基于FCM的图像分割算法是针对像素点,而本文改进后的算法将各个区域进行聚类,需要考虑不同区域的面积,即包含像素点个数,面积越大的区域应当给予更高的权重,反之亦然。
1 一种新的局部分水岭模型 1.1 超像素及分水岭相关概念超像素算法组像素到感知有意义原子区域, 可以用来代替刚性像素网格的结构。他们捕捉图像冗余, 提供了一种方便计算的原始图像特性, 大大减少后续的复杂性图像处理任务,他们已经成为关键的计算机视觉算法[17]。
超像素的概念可以定义为将具有局部相似性的像素划分成同一区域的聚类问题,该算法的核心部分包括初始化、距离函数、聚类搜索范围。传统的生成超像素(Simple linear iterative cluster,SLIC)[18-19]算法在初始化阶段,首先生成c个种子点,然后在每个种子点的周围空间里搜索距离该种子点最近的若干像素,将他们归为与该种子点一类,直到所有像素点都归类完毕。然后计算这c个超像素里所有像素点的平均向量值,重新得到c个聚类中心,然后再以这c个中心去搜索其周围与其最为相似的若干像素,所有像素都归类完后重新得到c个超像素,更新聚类中心,再次迭代,如此反复直到收敛。该算法实际是一个迭代搜寻的过程,时间复杂度较高,大大影响了图像分割算法的效率。
分水岭算法(Watershed)是一种基于拓扑理论的形态学分割方法,该算法将图像看做是具有拓扑结构的地形图,将图像中的像素灰度值视为地形的海拔。分水岭算法的浸水过程可模拟降水过程,水位从图像中的每个局部最低点上升,每个局部最低点所处在的区域构成一个集水盆。当水溢出集水盆将会和邻近的集水盆溢出的水汇合,在汇合处构建堤坝,堤坝就是所说的分水岭。当图像中所有的分水岭被找到后该算法结束,所形成的所有边界形成分水岭集合。分水岭算法能够根据图像的梯度特征进行快速区域预划分,但传统分水岭算法容易产生过分割现象,而设置全局梯度阈值又容易引起局部信息的遗失,因此结合超像素的思想,将图像先网格化,对不同的网格使用该网格的最佳分水岭阈值,就能够在生成预划分区域的同时大大提高其算法效率。
1.2 图像网格化设计一种网格化算法,首先将一幅图像分裂为大小相等的4份。设定一个合适的阈值s,计算每个区域内所有像素点灰度值的方差。若方差大于阈值s,将该区域再分裂为4份;若方差小于s,则不分裂,重复以上过程。直到图像中找不到方差大于阈值s的区域,或最小网格面积为原始图像的1/4n,即完成图像的网格化,并得到所有区域标号。根据所处理图像大小确定n的大小,本文由于处理图像较小,因此选取n=5。网格化图像如图 1所示。可以看到图 1中4幅图像在根据方差网格化的过程中,由于目标区域信息量相对较大,因此方差也比背景区域大,因此在目标区域网格化更密集。
|
图 1 图像网格化 Fig. 1 Grid images |
1.3 局部最优分水岭方法
对每个网格区域使用分水岭算法,通过寻优过程得到最优的局部分水岭梯度幅值,寻优如下:
(1) 获取最大梯度幅值T;
(2) 设置k*T为该区域的梯度阈值,初始值k=0.1;
(3) 选取步长为0.01,提升k的值,直到该区域聚水盆的数量小于c个(本文实验图片较小,取c=16)。
该方法是为了提取最有价值区域,通过此方法,将所有网格区域都使用最优局部分水岭阈值进行分水岭算法,即完成整个图像的分块。
将1.2节中得到的图像网格化边界加入到使用分水岭后得到的图像中,这些增加的边界弥补了局部网格分水岭可能造成的网格边界处区域不闭合的问题。利用每个网格中分水岭算法得到的聚水盆标号,重新对区域进行标号。通过此法完成对整幅图像内所有像素点的重新标号。图 2为局部分水岭加网格边界图。
|
图 2 局部分水岭图像 Fig. 2 Local watershed images |
在图 2的4幅图像中,由于使用了局部最优分水岭阈值,因此在目标区域分水岭分出了目标细节边界,而且背景区域很好地避免背景区域的过分割情况。
1.4 区域融合将重新标号的各个区域灰度均值化,设定区域融合阈值r,搜索各个区域与其相邻区域灰度差小于区域融合阈值r的区域,并将其融合。然后进行去噪融合,搜索所有像素个数总数小于整幅图像像素个数1/4n的区域, 对于本文中实验图片取n=6。将这些较小区域的标号置为与其灰度差最小的区域标号,根据最后得到的区域标号重新对图像中每个标号区域进行灰度均值化,即完成整幅图像区域融合。图 3为区域融合结果。
|
图 3 区域融合图像 Fig. 3 Regional integration images |
2 模糊聚类算法 2.1 传统
FCM聚类算法FCM是一种经典的模糊聚类算法,该算法根据带聚类数据的隶属度将数据划分成几类,即将相似度较高的划分到一类中。
假设X={x1, x2, …, xn}为所有待划分数据,将所有数据划分到c个区域,每个区域的聚类中心用V={v1, v2, …, vc}表示,U={uij}为隶属度矩阵,即xj属于第i类的隶属度用uij表示。其中uij的特性如下
| $ \begin{array}{l} {u_{ij}} \in \left[{0, 1} \right]\;\;\;\;\forall j = 1, \cdots, n;\;\;\forall i = 1, \; \cdots, c\\ \;\;\;\;\;\;\;\;\sum\limits_{i = 1}^c {{u_{ij}}} = 1\;\;\;\;\;0 < \sum\limits_{j = 1}^n {{u_{ij}} < n} \end{array} $ |
FCM算法通过最小化目标函数来得到最优隶属度矩阵及聚类中心,从而获得数据的最优化分方式,一般表现形式为
| $ J\left( {\mathit{\boldsymbol{U}}, \mathit{\boldsymbol{V}}} \right) = \sum\limits_{i = 1}^c {\sum\limits_{j = 1}^n {u_{ij}^m} d_{ij}^2} $ | (1) |
| $ {d_{ij}} = \left\| {{x_j}-{v_i}} \right\| $ | (2) |
式中:dij表示数据xj到聚类中心vi的距离,此处本文使用欧氏距离;m为模糊指数,用于调整隶属度在每一类中的权重,一般取m=2, 本文中同样取m=2。式(1,2)为FCM目标函数的一般化形式,该表达式反映了数据划分的紧密程度,目标函数的值越小越能获得更好的聚类效果。根据隶属度的约束条件,使用拉格朗日乘子法优化目标函数,对目标函数关于隶属度uij和聚类中心vi的偏导数,令偏导数等于零,通过迭代获得隶属度与聚类中心更新公式
| $ {u_{ij}} = {\left[{\sum\limits_{k = 1}^c {{{\left( {\frac{{{d_{ij}}}}{{{d_{kj}}}}} \right)}^{\frac{2}{{m-1}}}}} } \right]^{ -1}} $ | (3) |
| $ {v_i} = \frac{{\sum\limits_{j = 1}^n {u_{ij}^m{x_j}} }}{{\sum\limits_{j = 1}^n {u_{ij}^m} }} $ | (4) |
当迭代过程中,设置迭代条件|vi-vi-1|<ε,迭代停止,从而获得最优隶属度矩阵及聚类中心,完成数据聚类过程。
2.2 改进FCM模糊聚类应用于图像分割结合传统FCM算法的思想,由于在划分区域中数据量大的区域相比与数据量小的对聚类结果更重要,因此本文将划分好的区域数据量进行平方化,以此来扩大数据量大的区域对聚类结果的影响。
将改进的FCM算法应用于图像分割,对图像中像素的灰度值进行聚类,使用局部分水岭方法获得图像预划分区域,区域数目为s,将每个区域的灰度均值化,第j个区域的灰度均值为xj(1≤j≤s), 并计算第j个区域内像素数量Qj。改进后的目标函数可改写为
| $ J\left( {\mathit{\boldsymbol{U}}, \mathit{\boldsymbol{V}}} \right) = \sum\limits_{i = 1}^c {\sum\limits_{j = 1}^s {Q_j^2} u_{ij}^md_{ij}^2} $ | (5) |
式中:uij为第j个区域对第i个聚类中心隶属度,dij为距离。
通过迭代获得隶属度与聚类中心更新公式为
| $ {u_{ij}} = {\left[{{{\sum\limits_{k = 1}^c {\left( {\frac{{{d_{ij}}}}{{{d_{kj}}}}} \right)} }^{\frac{2}{{m-1}}}}} \right]^{ -1}} $ | (6) |
| $ {v_i} = \frac{{\sum\limits_{j = 1}^s {Q_j^2u_{ij}^m{x_j}} }}{{\sum\limits_{j = 1}^s {Q_j^2u_{ij}^m} }} $ | (7) |
(1) 算法思想
本文算法在结合超像素思想的基础上,先根据区域方差将图像进行不均匀网格化,然后对每个网格使用局部最优梯度阈值的分水岭算法,再实施区域融合,将每个标记区域的灰度均值化,最后使用考虑区域面积的FCM进行聚类。
(2)算法步骤
输入:图像I。
输出:隶属度矩阵U,聚类中心V。
Step 1 先根据图像灰度值方差将一副图像网格化,并且标号。
Step 2 对每个标号区域都寻优得到最优分水岭阈值后使用分水岭找到分水岭边界,添加上网格边界重新对各个区域标号。
Step 3 对每个区域搜索相邻区域进行区域融合,重新标号得到区域总量为S,并对每个区域灰度均值化,第j个区域灰度均值为xj,像素数量为Qj。
Step 4 确定聚类中心个数c, 隶属度模糊参数m=2,迭代停止条件ε=0. 01。
Step 5 初始化隶属度矩阵。
Step 6 更新模糊隶属度矩阵。
Step 7 更新聚类中心。
Step 8 若|vk-vk+1|<ε即两次迭代差值小于ε,算法终止。
Step 9 根据最终的隶属度矩阵,赋予相应区域对应的聚类中心灰度值,从而完成最终的图像分割。
3 实验结果与分析为了验证本文算法的有效性,本文分别对合成图像在有噪声情况和自然图像在无噪声及有噪声情况下,对比算法为传统FCM算法、融入邻域信息的核加权模型C均值(Kernel weighted fuzzy local information C-means clustering algorithm, KWFLICM)算法[20], 编译环境为matlabR2012a, 计算机CPU为i3_2310 MB, 内存6 GB。
3.1 合成图像加噪声算法对比对于添加0.03的椒盐噪声以及0.03的高斯噪声的合成图像如图 4~6所示,算法分割正确率及运行时间如表 1, 2所示。从表 1,2可以看出,噪声对FCM算法影响很大,KWFLICM与本文算法表现良好, 但本文算法明显在时间上比KWFLICM算法占优势。
|
图 4 第1组合成加噪声图像 Fig. 4 The first group of synthetic images with noise |
|
图 5 第2组合成加噪声图像 Fig. 5 The second group of synthetic images with noise |
|
图 6 第3组合成加噪声图像 Fig. 6 The third group of synthetic images with noise |
| 表 1 算法分割正确率 Tab. 1 Algorithm segmentation accuracy |
| 表 2 算法比对时间 Tab. 2 Algorithm comparison times |
3.2 自然图像无噪声算法对比
自然图像无噪声的实验结果见图 7~11。可以看出,本文算法注重提出图像中最显著目标物体,同时可以去掉其他细节的干扰,例如前3组图片中,原图在拍摄过程中由于光影效果,造成图像4个角处有虚影光晕,从结果中可以看到这对FCM算法与KWFLICM算法影响较大,分割结果图中明显留下图像4个角处的差异区域,而本文算法很好地剔除掉了这些干扰区域。第4组图像中,由于飞机后的背影中有很多云,以及第5组图像中有些很多无关紧要的区域,FCM算法与KWFLICM算法在最终结果上均不尽如人意,但本文算法相对表现出色。由于考虑了区域信息,本文算法对目标和背景的分割结果比FCM和KWFLICM的分割结果更加准确。
|
图 7 第1组自然无噪声图像 Fig. 7 The first group of natural images without noise |
|
图 8 第2组自然无噪声图像 Fig. 8 The second group of natural images without noise |
|
图 9 第3组自然无噪声图像 Fig. 9 The third group of natural images without noise |
|
图 10 第4组自然无噪声图像 Fig. 10 The fourth group of natural images without noise |
|
图 11 第5组自然无噪声图像 Fig. 11 The fifth group of natural images without noise |
3.3 自然图像加噪声算法对比
本节将讨论算法对添加噪声后的图像分割结果,使用图像与相应参数与3.2节相同,添加0.03的椒盐噪声,实验结果如图 12~16所示。从图 12~16结果可看出,在加了椒盐噪声之后,FCM算法无法剔除噪声的影响,KWFLICM算法有一定的去噪能力,但仍然无法剔除一些干扰区域,本文算法去噪能力强,细节保留较好。
3.4 算法时间对比对自然图像的处理实验中不同算法的时间对比如表 3所示。通过表 3可以看出FCM在处理图像时速度优势很强,但从实验结果图来看分割效果不甚理想,KWFLICM算法速度很慢,本文算法速度与其相比有较大提高,并且分割效果也明显改善。本文算法虽然结合了超像素思想,但在生成不均匀网格时算法复杂度比传统生成超像素低,同时使用局部分水岭预划分速度也很快;之后使用改进的模糊C均值聚类算法,因此比传统FCM速度慢,但与KWFLICM算法相比速度明显占优势。
| 表 3 算法比对时间 Tab. 3 Algorithm comparison times |
|
图 12 第1组自然加噪声图像 Fig. 12 The first group of natural images with noise |
|
图 13 第2组自然加噪声图像 Fig. 13 The second group of natural images with noise |
|
图 14 第3组自然加噪声图像 Fig. 14 The third group of natural images with noise |
|
图 15 第4组自然加噪声图像 Fig. 15 The fourth group of natural images with noise |
|
图 16 第5组自然加噪声图像 Fig. 16 The fifth group of natural images with noise |
4 结束语
本文提出了一种应用局部分水岭的模糊聚类图像分割算法,该算法的主要贡献在于通过图像网格化,能针对性地解析图像中各个区块的信息复杂度,对复杂度高的区域能给予更多的关注;而局部分水岭方法能有效解决全局分水岭的诸多缺陷;并在FCM算法上增添了区域像素个数平方项,提高了像素数量大的区域的影响力。该算法在各类图片上都取得了良好的分割效果且拥有较低的时间复杂度,具有一定的理论研究价值。但本文仍有缺陷有待改进,例如在进行网格化的过程中,由于分成了若干个矩形区域,导致某些原来存在的边界被打断,在对含噪声合成图片进行分割的时候可以看到边界会有细微锯齿状;预处理的过程中存在一些参数,包括网格化的方差阈值,以及区域融合阈值;此外由于是对区域化使用模糊聚类,因此对FCM算法本身的改进上并没有考虑到去噪的过程,而这些也将是以后工作的重点。
| [1] |
Mathieu B, Crouzil A, Puel J B. Interactive multiclass segmentation using superpixel classification[J]. Computer Science, 2015, 17(1): 389-397. |
| [2] |
Haralock R M, Shapiro L G. Computer and robot vision[M]. [S.l.]: Addison-Wesley Longman Publishing Co, Inc, 1991.
|
| [3] |
Baradez M O, McGuckin C P, Forraz N, et al. Robust and automated unimodal histogram thresholding and potential applications[J]. Pattern Recognition, 2004, 37(6): 1131-1148. DOI:10.1016/j.patcog.2003.12.008 |
| [4] |
Kohler R. A segmentation system based on thresholding[J]. Computer Graphics and Image Processing, 1981, 15(4): 319-338. DOI:10.1016/S0146-664X(81)80015-9 |
| [5] |
Zugaj D, Lattuati V. A new approach of color images segmentation based on fusing region and edge segmentations outputs[J]. Pattern Recognition, 1998, 31(2): 105-113. |
| [6] |
Cinque L, Foresti G, Lombardi L. A clustering fuzzy approach for image segmentation[J]. Pattern Recognition, 2004, 37(9): 1797-1807. DOI:10.1016/j.patcog.2003.04.001 |
| [7] |
Vincent L, Soille P. Watersheds in digital spaces:An efficient algorithm based on immersion simulations[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1991, 13(6): 583-598. |
| [8] |
Ren X, Malik J. Learning a classification model for segmentation[J]. Proc Int Conf Computer Vision, 2003, 1: 10-17. |
| [9] |
Rohkohl C, Engel K. Efficient image segmentation using pairwise pixel similarities[C]//Proceedings of the 29th DAGM Conference on Pattern Recognition. Berlin, German: Springer-Verlag, 2007: 254-263. https://link.springer.com/chapter/10.1007%2F978-3-540-74936-3_26
|
| [10] |
Gupta S, Arbelaez P, Malik J. Perceptual organization and recognition of indoor scenes from RGB-D images[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2013: 564-571. http://www.researchgate.net/publication/261227425_Perceptual_Organization_and_Recognition_of_Indoor_Scenes_from_RGB-D_Images
|
| [11] |
Zhang Y, Hartley R, Mashford J, et al. Superpixels, occlusion and stereo[C]//Digital Image Computing Techniques and Applications (DICTA), 2011 International Conference on. Piscataway, NJ: IEEE, 2011: 84-91. https://www.computer.org/csdl/proceedings/dicta/2011/4588/00/4588a084.pdf
|
| [12] |
Wang S, Lu H, Yang F, et al. Superpixel tracking[C]//Proceedings of the 2011 International Conference on Computer Vision. Piscataway, NJ: IEEE Computer Society, 2011: 1323-1330. http://www.researchgate.net/publication/221110486_Superpixel_tracking
|
| [13] |
Sharif J M, Miswan M F, Ngadi M A, et al. Red blood cell segmentation using masking and watershed algorithm: A preliminary study[C]//Biomedical Engineering (ICoBE), 2012 International Conference on. Piscataway, NJ: IEEE, 2012: 258-262. http://www.researchgate.net/publication/254024465_Red_blood_cell_segmentation_using_masking_and_watershed_algorithm_A_preliminary_study
|
| [14] |
Wong A K O, Hummel K, Moore C, et al. Improving reliability of pQCT-derived muscle area and density measures using a watershed algorithm for muscle and fat segmentation[J]. Journal of Clinical Densitometry, 2015, 18(1): 93-101. DOI:10.1016/j.jocd.2014.04.124 |
| [15] |
孙权森, 纪则轩. 基于模糊聚类的脑磁共振图像分割算法综述[J]. 数据采集与处理, 2016, 31(1): 28-42. Sun Quansen, Ji Zexuan. Brain magnetic resonance image segmentation algorithm based on fuzzy clustering is review[J]. Journal of Data Acquisition and Processing, 2016, 31(1): 28-42. |
| [16] |
Dunn J C. A fuzzy relative of the ISODATA process and its use in detecting compact well-separated clusters[J]. Journal of Cybernetics, 1973, 3(3): 32-57. DOI:10.1080/01969727308546046 |
| [17] |
Radhakrishna A, Appu S, Kevin S, et al. SLIC superpixels compared to state-of-the-art superpixel methods[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2012, 34(11): 2274-2282. |
| [18] |
Achanta R, Shaji A, Smith K, et al. SLIC superpixels[R]. EPFL-2010, 2010. https://www.researchgate.net/publication/44234783_SLIC_superpixels
|
| [19] |
Sabnis A, Liu R, Chand B, et al. SLiC technique[J]. Surgical Endoscopy, 2006, 20(2): 256-262. DOI:10.1007/s00464-005-0383-3 |
| [20] |
Maoguo G, Yan L, Jiao S, et al. Fuzzy C-means clustering with local transactions on image processing[J]. Information and Kernel Metric for Image Segmentation, 2012, 22(2): 573-584. |
2018, Vol. 33

