范群贞 吴浩 林真
摘 要: 分水岭算法是一种常用的图像分割方法,由于分水岭算法是基于的图像灰度梯度,对噪声很敏感,直接运用分水岭算法分割图像,很容易产生过分割。为了去除过度分割,为此本文提出了一种改进的分水岭分割方法,首先利用中值滤波消除噪声,再用形态学基本运算得到梯度图像,然后利用形态学开、闭操作重建梯度图像,最后通过实验证明,基于数学形态学的分水岭算法分割医学图像效果优于传统的分水岭算法。
关键词: 分水岭算法;形态学;医学图像;图像分割
中图分类号: TP391.41 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.04.016
本文著录格式:范群贞,吴浩,林真. 改进的分水岭算法在医学图像分割中的应用[J]. 软件,2019,40(4):8183
【Abstract】: Watershed algorithm is a commonly used image segmentation. Watershed algorithm is based on image gray gradient and sensitive to noise.It is easy to generate over-segmentation by directly using watershed algorithm to segment images. In order to remove the over-segmentation, an improved watershed segmentation method is proposed in this paper. Firstly, the median filter is used to eliminate noise, and the gradient image is obtained by morphological basic operations, then the gradient image is reconstructed by morphological open and close operations. Finally, experiments show that the watershed algorithm based on mathematical morphology is better than the traditional watershed algorithm in medical image segmentation.
【Key words】: Watershed algorithm; Morphology; Medical image; Image segmentation
0 引言
图像分割[1]技术是把图像分成若干个有意义的区域,再把感兴趣的目标提出来的过程,是图像分析和理解的关键步骤。图像分割的方法很多,每种方法都有各自的特点,目前广泛采用的图像分割方法大致可以分为以下几类:基于区域的方法,基于阈值的方法,基于边缘检测的方法,基于某种特定理论的方法[2]。其中基于区域的分水岭算法是图像分割中比较经典的一种分割方法,具有计算速度快、算法简单、定位精确、有效分割的特点,而受到人们的关注。但由于分水岭算法容易受到微弱边缘的影响,图像中存在噪声,很容易带来过分割问
题。为了克服过度分割现象,有两种方法,一是结合其他的分割算法对图像进行预处理去除噪声,二是对分水岭分割后的图像进行区域融合。由于医学图像具有复杂性、特殊性、易受噪声污染等特点,对医学图像的有效分割是一个值得研究的课题[3-4]。本文正是基于此思想,提出了一种基于数学形态学的分水岭分割算法,通过仿真证明,该算法可以得到很好的分割效果。
1 传统分水岭算法
1.1 分水岭算法的基本思想
分水岭算法(watershed),也叫模拟浸水法,是以拓扑理论的数学形态学图像处理为基础的图像分割方法[5-6]。其基本思想是把图像看成是一个测地学的拓扑地形图,该地形图有“山峰”和“山谷”,通过模拟自底往上浸水过程来实现的。地势低的地方可以看成是盆地,地势高的地方是山峰,分水岭是指山脊。对于灰度图像而言,图像中每一点的灰度值表示该点的海拔高度。图像中的低灰度值区对应的是“谷底”,图像中的高灰度值区对应的是“山峰”[7],每一个局部极小值及其所影响的区域叫集水盆,图像的边缘表示集水盆地的边界,灰度值变化比较大,对应于分水岭。假设在每一个区域极小值点的位置,穿刺一个小洞,然后把地形图渐渐浸入水中,区域极小值点的盆地先进水,随着浸入的加深,水位慢慢的漫过盆地,每一个区域极小值逐渐向外扩展,当相邻两个集水盆的水汇合时,在合并处建筑大坝拦截,即形成分水岭[8]。如图1所示。应用到图像分割中,这个过程将图像分割成不同的区域,积水盆地相当于灰度一致的区域,分水岭相当于分离这些区域的分割线。
1.2 分水岭算法的实现
分水岭比较经典的计算方法是L.Vincent提出的[9]。分水岭算法以图像的梯度作为输入,即
其中,f(x,y)表示原始图像,grad{.}表示梯度算子。分水岭是输入图像的极大值点,以边缘线作为输出,即可以实现对图像的分割。由于图像噪声或纹理细节的影响,在平缓区域内部存在很多局部的“山谷”和“山峰”,造成局部极值过多,传统的分水岭算法会将这些边缘过分割。因此,往往应用分水岭算法的时候,需要将结合其他分割技术共同使用,来消除过分割的影响。
2 改進的分水岭算法的实现
为了避免过度分割,文中提出一种改进的分水岭算法,首先,对要进行分割的图像采用中值滤波进行预处理,可以消除图像噪声,加强图像的边缘,然后通过形态学算子对灰度图像进行修正,最后做基于标记的分水岭变换,得到分割结果。
2.1 中值滤波
中值滤波是一种非线性的平滑技术,经常用于去除图像中的椒盐噪声和斑点噪声。其思想是取某个奇数点邻域内的像素点为观察窗口,把窗口内的每个像素点的灰度值按照升序或者降序排序,处于中间位置的像素点灰度值作为输出。二维中值滤波输出图像为
其中,f(x,y)表示原始图像,g(x,y)表示去噪后图像。C表示二维模板,常用的模板有3*3,5*5,7*7。可以是不同的的窗型,有线状,方阵,菱形,十字形,圆形等。中值滤波是图像增强的一种重要的方法,利用中間值不受分布序列中极大值和极小值的影响,在去除噪声的同时,很好的保持了保存边缘的特性。文中采用3*3中值滤波器处理带噪声的图像。
2.2 形态学梯度
中值滤波处理后的图像,虽然抑制了噪声,但是如果直接通过传统的梯度方法得到图像的边缘,容易丢失信息,影响后续分水岭分割效果[10]。因此,本文采用数学形态学算子对梯度图像进行修正。腐蚀和膨胀是最基本的形态学运算。
2.3 基于标记的分水岭分割
虽然利用形态学算子得到梯度图像,但是仍然存在很多与目标无关的极小值,过分分割的现象还是无法解决。过分割现象的主要原因的是因为出现了很多无意义区域。如果要解决这一现象,可以采用图像标记的方法,包括内部标记和外部标记。内部标记对应的是待提取的目标,外部标记对应的是背景。对梯度图像中特殊的极小值点进行标记,可以抑制不感兴趣的极小值点,选取内部标记后,把分割区域对应的分水岭作为外部标记,从而实现对每个区域目标和背景的分离的目的。
标记可以利用形态学的开闭运算来提取。实现步骤:
1. 标记图像的局部极大值处像素值设为255;
2. 利用闭运算的定义 ,使用结构元素对局部极大值进行关操作;
3. 利用式(3)腐蚀的定义对图像进行腐蚀操作;
4. 利用开运算的定义 对图像进行开操作;
5. 前景处设置为255。
3 结果分析
为了验证改进分水岭算法的有效性,在MATLAB仿真环境下进行,并对大量的医学图像进行实验,实验结果如图2所示。(a)为原始图像,在有噪声的情况下,对图像(a)进行中值滤波处理,得到图像(b),按照式(1)得到梯度图像(c),可以看出,如果直接采梯度图像进行分水岭变换得到图像(d),由于局部极值点过多存在过分割的现象。采用形态学算子实现对图像进行区域填充,可以消除图像内部的空洞,得到梯度图像(e),再利用式(5)形态学原理,提取二值图像的边界得到(f),最后采用文中改进的分水岭算法进行分割,得到(g),可以看出分割效果也有了一定程度的改善。
4 结论
图像分割一直备受关注,分水岭算法已经应用在医学图像分割中。本文阐述了传统分水岭算法的思想及其实现过程,针对其过分分割现象,提出了一种基于数学形态学和分水岭相结合图像分割算法,通过大量的仿真实验结果证明,改进分水岭算法可以得到比较理想的分割效果。但是本结果都是在实验室仿真环境下进行,还需要提供更多的临床图像样本,通过进一步改进和完善算法,以便更适用于临床诊断和治疗,这也是下一步的研究方向。
参考文献
[1] 杨玚, 谢华成. 基于马尔科夫随机场与模拟退火算法的图像分割[J]. 软件, 2015, 36(4): 40-43.
[2] 郑金志, 郑金敏, 汪玉琳. 基于优化初始聚类中心的改进WFCM图像分割算法[J]. 软件, 2015, 36(4): 136-142.
[3] 郭璇, 郑菲, 赵若晗, 等. 基于阈值的医学图像分割技术的计算机模拟及应用[J]. 软件, 2018, 39(3): 12-15.
[4] 董默, 赵若晗, 周志尊, 等. 医学图像三维重建系统设计与应用[J]. 软件, 2018, 39(1): 87-90.
[5] 戴青云, 余英林. 数学形态学在图像处理中的应用进展[J]. 控制理论与应用, 2001, 18(4): 478-482.
[6] 李玲玲, 余文勇. 基于数学形态学的灰度线形态识别研究与开发[J]. 计算机工程与应用, 2002, 11: 104-106.
[7] 盛仲飙. 基于对比度增强的分水岭分割算法[J]. 计算机技术与发展. 2012(12): 90-92.
[8] 陈洁, 胡永, 刘泽国. 基于标记的分水岭图像分割算法研究[J]. 软件, 2012, 33(9): 115-117
[9] Vincent L. Soille P. Watersheds in digital spaces: an efficient algorithm based on immersion simulations. IEEE Trans. Patt. Anal. Mach. Intell. 1991, 13(6): 583-598.
[10] 蔡迪, 段汕. 形态分水岭变换在图像分割中的应用[J]. 中南民族大学学报, 2005, 24(4): 100-103.