基于梯度边缘增强和极小值填充的分水岭分割算法

2016-12-15 19:23王祥陈莉
电脑知识与技术 2016年27期

王祥+陈莉

摘要:由于一些孤立噪声点的存在,使得经典分割算法存在过分割和漏分割现象,本文使用线性梯度方法对图像进行梯度构建,再采用canny二阶边缘检测算法对梯度边缘进行增强,最后使用极小值填充的方法,将各个区域中的最小值排序后的中值作为阈值填充图像,提升分水岭分割算法的分割效果。

关键词:梯度边缘增强;极小值填充;分水岭算法;过分割;漏分割

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)27-0131-03

经典分水岭分割算法受噪声影响易出现过分割和漏分割现象,文献[1]-[6]介绍了经典分水岭算法及算法的应用,其中也提到了分水岭算法的过分割和漏分割现象及其改进方法。本文采用了基于梯度边缘增强和极小值填充的方法进行算法改进,来减小过分割和漏分割现象。

1经典分水岭算法

分水岭算法是一种基于数学形态学数的图像分割方法,它的基本思路是将形态学中的梯度图像看成是地理中的拓扑地貌,在梯度图像中每个像素的灰度值或者是其他特征值都对应着地形中相应点的高度,这样图像中的极小值就变成了地形中的盆地,而极小值周围的点就构成了对应的分水岭。一般意义上的经典的分水岭分割算法主要是通过模拟底部逐渐浸水过程来,在这个过程中,将梯度图像中所有像素点的灰度值对应于地形中的海拔高度,这样图像中的极小值就变成了地形中的积水盆地,而极小值周围的值就构成了对应的分水岭,从而就形成了所谓的地形图。接着我们用水逐渐的从底部上升,也即将这个地形图的地形模型放到水中,而且每个盆地底部都有漏洞,这样水就会从其慢慢渗入。在这个过程中随着水不断增多,许多相邻的盆地就会逐渐融合变为一个盆地。为防止这样的情况发生,就要不断的提高区域间的分水岭高度,直到所有的分水岭达到相同的高度,最终形成了相应的分割结果,这样就将各个区域分割了出来,实现了分割的预想。一般传统意义上的经典分水岭算法存在过分割现象,这在很大的程度上是由噪声所引起。

2改进的分水岭分割算法

线性梯度可以将图像中水平、垂直和对角的梯度很好的计算出来,并且计算比较简单,因此,本文算法采用线性梯度,不采用形态学梯度更 。但线性梯度经过滤波时,弱边缘会被平滑掉,从而使分水岭与谷底的差值变小,导致后续分割出现漏分割。 因此,本文的分水岭算法中使用“分水岭增强”和“极小值填充”的方法来解决丢失边缘和极小值过多的现象,改进算法。

算法步骤:

(1) 对图像进行线性梯度计算,得到梯度图像;

(2) 对图像梯度边缘进行增强的到分水岭增强图像;

(3) 使用极小值填充的方法填充图像;

(4) 进行梯度图重构;

(5) 使用分水岭算法分割图像。

2.1梯度图构造

梯度图的构建在一定程度上与边缘的提取有着相似的联系,因为图像的离散性,采用差分的形式来计算每点的梯度值,本文算法先计算水平与垂直的梯度,然后将二者开平方得到最终的梯度,这种求取梯度的方法称之为线性梯度[24],其公式表述如下:

2.2梯度边缘增强

在进行图像形态学滤波的时候,虽然这个步骤可以将图像的噪声大部分滤除,也平滑了图像的一些区域,但也使得分水岭的峰值弱化,使一些弱边缘被平滑掉或者变小,这样对后续的分割产生了不必要的影响,若在后续的极小值填充过程中,一旦某些极小值填充的过大,将会使得一些分水岭消失,所以需要在重构梯度图之前,加强分水岭的峰值,这样在后续的操作中可以保证边缘信息的完整性。

Canny 算子有着很好的边缘检测能力[2],我们可以利用边缘检测的方法,找到图像的分水岭的位置,这样就可以将其值增大,以免后续填充过程中被淹没。本次算法就是以Canny算子检测的边缘图为基准增大梯度图像中对应分水岭峰值像素的梯度值,这样,先前的局部极大值就可以变为全局的极大值,而且在后续步骤中无论怎样提高谷底极小值的梯度值,这些极大值山峰都不会轻易消失,在后续步骤中对应为区域的边缘,从而保证了精确分割。

2.3 极小值填充

分水岭算法本质上就是利用谷底不断注水,加强堤坝从而实现分割,所以图像的谷底极小值是分水岭分割区域分割的直接成因,虽然在分水岭分割之前,进行了形态学的滤波,但一些噪声依然没有被滤除掉,而且还存在一些图像本身纹理的因素影响后期图像的分割,造成过分割现象,所以,针对一些虚假谷底极小值,在重构梯度图之前填充一部分极小值谷底,以此来提高算法的分割效果,本文采取的极小值填充步骤如下:

(1)对分水岭加强后的梯度图直接进行分水岭分割,并且标记出分割出的各个区域;

(2)对上述标记的各个区域求取区域内的最小值,并计算其与周围像素的落差;

(3)比较上述最小值,选取中值作为阈值进行填充。

这样通过选取中值作为阈值可以有效填充干扰的极小值,对下一步分割通过最佳梯度图,从而实现了用设定相关阈值的方法控制分割区块数量的目的,同时由不会因为原谷底梯度极小值的提高而使其周边产生新的极小值块。当然,由于虚假极小值与真实谷底极小值并没有严格区别,所以当填充阈值不断提高时就会不可避免使有些有意义的区域被错误的消除,而这一问题则可以从另一方面来加以弥补,也就是上面分水岭增强操作的主要目的。

2.4 分水岭分割算法

进行分水岭变换后得到的是输入图像的集水盆图像,集水盆之间的边界点,即为分水岭。显然,分水岭表示的是输入图像的极大值点。因此,为得到图像的边缘信息,通常把梯度图像作为输入图像。

令为代表图像的局部最小值点的坐标的集合。令是一个点的坐标的集合,这些点位于和局部最小值相互联系的汇水盆地内。符号min和max代表的是最小值与最大值。最后,令表示坐标的集合,其中,即该集合如式(4)所示:

在几何意义上,是中的点的集合,集合中的点都位于平面的下方。

然后令为所有汇水盆地的并集,如式(7)所示:

这样水坝就构造出来了,各个盆地也被大坝完全包围,得到各个大坝就是分水岭,和被大坝分开的各个盆地就是目标物体,这样就达到最终的分割目的。

3改进的分水岭分割算法仿真

3.1梯度边缘增强

对图像采用梯度计算,并对计算后图像使用canny算法进行梯度边缘增强,其结果如图2所示: 对比图2(a)和图2(b),可以清晰看出增强后的梯度图边缘信息,即分水岭值明显增大,这有效的弥补了噪声对图像的影响。

3.2不同填充值下的梯度图

根据算法极小值填充思想,对不同区域极小值进行排序,采用其中值作为阈值进行填充,得到仿真结果如图3所示:

图3是在不同填充阈值下得出的梯度图像,可以看出当填充阈值增大时一些不必要的区域会消失,在图3(d)中由于填充值为0目标区域中的内部细节比较多,在后期分割时会出现比较严重的过分割现象;而随着填充值的增大,像图中从0增加到15,可以看到目标物体内的细节不断减少,这样可以有利于减轻后期过分割的现象。但是填充阈值不能手动实验,所以在算法中,采用小区域的最小值来填充,这样可以取得相对较好的填充效果,并且随着图像的变化,填充值也可以实现相对的自动选择。所以综上,通过选取中值,填充后分割效果比较好。

3.3改进算法处理效果

对水果图像分别采用改进的分水岭分割算法和经典分割算法进行分割效果对比,仿真结果如图4所示:

图4(a)为原始图像,边缘信息很多, 图4(b)对图像进行了梯度增强处理,图4(c)为采用极小值填充后的分割结果。 图4(d)是经典分水岭分割算法分割后结果,可以看出图像的过分割和漏分割严重,改进算法在一定程度上改善了“过分割和漏分割现象。

4 结束语

本文采用梯度边缘增强和极小值填充的方法提升分水岭分割算法的图像分割效果 ,先将图像中水平、垂直和对角的梯度计算出来,然后采用二阶边缘检测算法增强弱边缘,最后使用 “极小值填充”的方法来解决丢失边缘和极小值过多的现象,解决过分割和漏分割现象。

参考文献

[1] 王惠.图像的区域分割与研究[J].图像与多媒体技术,2016,32(12):54-56.

[2] 邓剑,陈峰,郭宝录.基于区域特征合并的分水岭图像分割[J].光电技术应用,2014,29(3):28-30.

[3] 任玉刚.分水岭算法及其在作物病害叶片图像分割中的应用[D].合肥:中国科学技术大学.2012.

[4] 夏倩倩.基于分水岭的医学图像自适应分割方法研究[D].镇江:江苏大学.2014.

[5] 朱士虎,朱红,何培忠.形态学运算中结构元素选取方法研究[J].现代计算机,2009,45(7):19-21.

[6] 张毅.分水岭算法在图像分割中的应用研究[D].广州:广东工业大学.2013

[7] 彭丰平,鲍苏苏,曾碧卿.基于自适应区域生长算法的肝脏分割[J].计算机工程与应用, 2010,46(33):198-200.

[8] 王华松.图像区域生长分割算法研究[J].科技创新导报,2015,42(18):66-68.