20世纪70年代末,Beucher和Lantuejoul提出应用分水岭算法进行图像分割,实现了分水岭算法的模拟浸入过程,并成功应用于灰度图像。此后分水岭算法成了一种经典的灰度图像分割方法。
(一)基本思想
在自然界中,分水岭(watershed)是指分隔相邻两个流域的山岭或高地,分水线是分水岭的脊线,它是相邻流域的界线,一般为分水岭最高点的连线。分水岭阈值分割方法是一种基于拓扑理论的数学形态学分割方法,可以看成是一种特殊的自适应迭代阈值方法,其主要目标是找出分水岭,根据分水岭的构成来考虑图像的分割。
利用分水岭概念对图像进行分割,是以图像的三维灰度分布图为基础的:两个空间坐标x和y以及一个灰度级f(x,y),如图3-20a所示。分水岭阈值算法的基本思想是:把图像看作是测地学上的拓扑地貌,图像中每一个像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。如图3-20b所示,初始时使用一个较大的阈值将两个目标分开,但目标之间的间隙很大;在减小阈值的过程中,两个目标的边界会相向扩张,它们接触前所保留的最后像素集合就给出了目标间的最终边界,此时也就得到了阈值。
图3-20 一幅图像的三维灰度分布图及其二维剖面
a)三维灰度分布图 b)三维灰度分布图的一个剖面
分水岭阈值分割方法有多种实现算法,如拓扑学、形态学、浸水模拟和降水模拟等方式。
(二)算法的具体过程
分水岭阈值分割算法可以看成是一种特殊的自适应迭代阈值方法,其计算过程是一个迭代标注的过程。参照图3-20b来说明,图中是图像三维灰度分布图的一个剖面,其中灰度较高的两个峰分别对应目标O1和O2,分割的任务是将两个目标从背景中提取出来并互相分开。先用一个较大的阈值进行分割,它可将图像中的两个目标与背景分开,只是其间的间隙太宽。如果接下来逐渐减小阈值,目标的边界随阈值的减小而相向扩展,最终两个目标会相遇,但此时不让两个目标合并,这样它们互相接触前所保留的最后像素集合就给出了两个目标间最终的边界。这个过程在阈值减小到背景灰度之前结束,即在被恰当分割的物体的边界正确地确定时终止。
分水岭变换得到的是输入图像的集水盆图像,集水盆之间的边界点即为分水岭。显然,分水岭表示的是输入图像的极大值点。因此,为了得到图像的边缘信息,通常把梯度图像作为输入图像。
(三)算法的特点(www.xing528.com)
分水岭算法具有运算简单、性能优良、能较好提取运动对象的轮廓、准确得到运动物体边缘的优点。但其存在如下缺点:
1)对图像中的噪声极敏感。输入图像通常是梯度图像,原始图像中的噪声能直接恶化灰度梯度,易于造成分割轮廓偏移。
2)易于产生过度分割。由于受噪声、量化误差以及区域内纹理细节的影响,会产生很多局部最小值,在后续分割中将出现大量细小区域。
3)对于低对比度图像易丢失重要轮廓。在此情况下,区域边界像素的梯度值也较低,目标的重要轮廓容易丢失。
为了克服传统分水岭算法的缺点,很多学者进行了相关研究,提出了一些改进的分水岭算法,并成功应用到相关领域。例如,能量最小化的水蛇算法提高了边界定位准确度和连续性,但无法解决过度分割问题;基于区域融合的改进型快速分水岭变换算法,将改进分水岭变换中获得的多尺度信息作为评价边界强度的指标;利用非线性滤波和改进的快速区域合并算法优化分水岭变换得到初始分割结果,能获得良好的分割效果,且极大减少了计算时间。
(四)消除过度分割
图像中的噪声和物体表面细微的灰度变化,都会使分水岭算法产生过度分割的现象。但同时,分水岭算法对微弱边缘具有良好的响应,是得到封闭连续边缘的保证。另外,它所得到的封闭的集水盆,为分析图像的区域特征提供了可能。
通常采用两种处理方法消除分水岭算法产生的过度分割:一是利用先验知识去除无关边缘信息;二是修改梯度函数使得集水盆只响应想要探测的目标。一个简单的方法是对梯度图像进行阈值处理,以消除灰度的微小变化产生的过度分割。即
式中,f(x,y)和g(x,y)分别表示原始图像和梯度图像,grad(·)表示梯度运算;gθ表示阈值。对梯度图像进行阈值处理,获得适量的区域,再对这些区域的边缘点的灰度级按照从低到高排序,然后再从低到高实现淹没的过程。此方法的缺点是,选取合适的阈值对最终的分割结果有很大影响,实际图像中可能含有微弱的边缘,灰度变化不明显,选取阈值过大可能会消除这些微弱边缘。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。