APP下载

结合各向异性扩散和分水岭算法的图像分割∗

2023-11-29陈世文

传感技术学报 2023年10期
关键词:极小值分水岭梯度

陈世文

(嘉应学院计算机学院,广东 梅州 514015)

图像分割是根据图像的灰度信息在空间上将具有不同类别的同质区域划分开来,采用一些数学方法把感兴趣的区域提取出来。作为图像处理的基础,图像分割的质量好坏对图像分析、图像理解以及图像识别等高层图像理解产生直接影响,其地位十分重要。因此在图像处理中图像分割一直是一个难点和热点。近几十年来,提出了基于区域、基于边缘和基于阈值等图像分割算法[1-3]。

文献[4]提出一种改进FAST 特征点检测算法,该算法提取边缘特征点与分水岭算法结合,提高了分割正确率,但分割仍然不够理想。文献[5]提出基于区域的分裂与合并的分割方法,能有效地获取图像大量区域特征信息,但怎么样确定合并及终止合并的条件是一个难点。文献[6]提出在分水岭算法中结合空间变换和距离变换,分割结果较为精确,但仍然有过分割的问题。很多学者通过改进分水岭算法应用在不同场合的分割[7-14],取得了不同程度的效果。在分割方法中分水岭方法具有独特的优点,其优点主要是定位的精确性、轮廓线的封闭性、较快的计算速度和对图像的变化高度敏感。因为图像存在局部不规则结构以及图像采集时受噪声的影响,如果直接使用分水岭分割容易引发过分割,即图像分割得十分细小,产生过多的区域。区域数太多通常会给下一步区块合并产生一定麻烦,导致区域合并错误概率升高、耗时过于长,由于分割区域太细碎,降低了一些基于区域统计特性的准确度。通常抑制过分割的方法是先对图像进行平滑滤波,然后再对图像进行分水岭分割。传统的平滑滤波器能够较好地抑制图像噪声,但图像边缘特征同时受到严重损害,引发图像边界移位和边界模糊。为了解决这个问题,本文提出了一种基于各向异性扩散滤波的边缘保持分水岭图像分割算法,将各向异性扩散滤波与分水岭算法相结合,应用梯度模的变化设定阈值并结合图像结构张量构造一个扩散函数,这样边缘处沿切线扩散保持边缘细节,平坦处具有各向同性易于平滑噪声,保证了良好的分水岭结构。然后对图像的梯度信息进行分层重构,为了使梯度信息得到补偿,采用数学形态学的开闭运算对图像梯度信息进行处理。然后运用形态学极小值标定方法标记处理后的图像局部极小值,最后用分水岭算法对图像进行分割。分割结果表明,该算法能够有效地抑制噪声和抑制过分割,同时保持物体边缘信息,获得准确的区域轮廓信息和精确的区域分块信息。

1 各向异性扩散模型函数及改进方法

各向异性扩散滤波方法是一种基于边缘增强的方法,有效去除噪声的同时能够保持图像边缘结构信息,有利于图像边缘轮廓提取。Perona 和Malik于1990 年提出了一种边缘保护的方法,即非线性各向异性扩散方程[15](P-M 扩散模型),方程如式(1)所示:

式中:|∇u|为梯度模,u0(x,y)为原始图像;|∇u|作用是区分该区域是边缘区域还是平坦区域,处在平坦区时|∇u|的值相对比较小,而处在边缘区时|∇u|值相对比较大;f(|∇u|)为扩散系数函数,其值用来表示扩散的强度,其条件必须满足f(0)=1,=0,且f(|∇u|)∈(0,1)。

考虑以上各种条件,两个扩散系数函数被提出了,如式(2)和式(3)所示:

式中:满足|∇u|≥0;k为边缘阈值,作用是用来区分边缘区域还是平坦区域,k的取值有两种方法,一是人工估算一个值,一是通过Canny 直方图估计方法求得。

由式(2)和式(3)可推出:当|∇u|≪k时,该区域属于图像均匀区域,扩散会变得很慢;当|∇u|≫k时,该区域属于图像边缘处,扩散也会变得很慢;而在边缘阈值k位置处,该区域属于图像噪声区域,因此扩散的速度会变得比较快。由上推理可知,P-M扩散模型的适定性问题仍有待解决。

虽消除噪声和保留边缘能被P-M 扩散模型兼顾,但仍有一些问题:①噪声点具有较大的梯度和较小的扩散系数,噪声消除不完全,容易破坏带噪声的边缘;②模型在数学上属于病态的模型,解的唯一性和存在性得不到保证。以上问题容易导致处理图像后出现“阶梯”效应,因此提出改进P-M 模型的扩散系数[9],经过坐标变换,可将P-M 模型变换成如式(4)所示:

式中:uηη和uζζ为u在η和ζ方向上的二阶导数,由式(5)和式(6)求得:

式中:ux和uy分别为u在x和y方向上的偏导数。

为应对P-M 模型解的不适定性,将P-M 模型转换为式(7):

对于扩散函数f(x),在平坦区要求f(x)逼近0.5,梯度方向和切线方向达到同等扩散;而在边缘区域时f(x)逼近0,只沿着切线方向扩散,为此本文采用式(8)所示的扩散函数[10]:

图像的局部信息不能很好地被图像的梯度获得,而更丰富的图像局部信息能被结构张量获得,因此扩散函数的自变量通过结构张量引入[11],结构张量可通过海森矩阵所得到的,如式(9)所示:

这里J的两个特征值对应为式(10)和式(11):

因此,将获取的结构张量|I1-I2|代入到引用的扩散函数中。

因在扩散函数中k是属于给定的确定阈值,在图像中较大的噪声幅度会引起较大的梯度值,边缘和噪声将难于区分,这样会降低滤波性能,因此将阈值k设为随着梯度|∇u|变换而改变的函数,如式(12)所示:

式中:km边缘阈值,经过迭代后趋于稳定,此处km=3;∂为常量。

基于以上几点对相关参数进行改进,获得最终P-M模型的改进扩散函数,如式(13)所示,式中e为自然常数。

2 控制标记符的建立

一种抑制过分割的方法是对图像中物体进行标记,关键是找寻一群与图像局部信息相关的种子点。把获取的局部区域最大值进行标记,把标记结果转化为二值图像,即为目标标记图像。对梯度图像进行阈值分割,经进一步分割可获得背景的标记图像。

为实现对目标的细化,通过欧氏距离变换对背景标记图像进行操作,可以用一个二维数组表示背景标记图像,其大小与原图像同样,记为Am×n=[aij],其中aij=1 的像素表示为目标像素,aij=0 的像素表示为背景像素。设B={(x,y)|axy=0} 为背景点集合,对A中所有像素点(i,j)求距离变换,如式(14)所示:

式中:D[(i,j),(x,y)]=获取欧氏距离变换图像DM×N。

为了求极值,引入数学形态学运算。式(15)是腐蚀运算,表示图像f被结构元素b腐蚀;式(16)是膨胀运算,表示图像f被结构元素b膨胀。接着对腐蚀、膨胀后的图像分别进行开重构运算和闭重构运算,即对图像f的n个灰度级逐点比较最大值,记为fc,即为局部最大值,进行标记,然后把标记图像转换成二值图像,记为fgm。

采用数学形态学中求极小值的标定方法,融合距离变换生成的图像和目标提取的标记图像整合生成梯度图像的局部极小值,舍弃原来图像中的全部局部极小值。重新生成的梯度图像中,强制对不为零的仅且对应有二值标记的图像信息有局部极小值,重新生成的梯度图像如式(17)所示:

式中:IMMIN(•)是形态学极小值标定操作。

3 分水岭算法

Vincent 和Soille 将数学形态学中的分水岭变换用于图像处理中,其基本思想是把一幅图像模拟成拓扑地形图,图像中各个像素的灰度值对应为该点的海拔高度,高灰度值看作为山峰,低灰度值看作为山谷,水总是从高处往低处流动,分水岭对应着图像中的脊或每一局部极小值。假设水从每一局部极小值涌出并且水位逐渐上升,水慢慢浸入整个集水盆地。当处在不同的集水盆地的水位上升到相应山脊时就将汇合,为了隔断这些水汇合,就要建立堤坝。堤坝会因水位的升高而增加,直到整个图像沉入水中,堤坝对应分水线连通形成的路径就成为分水岭。

设给定待分割的一幅图像为f(x,y),其图像梯度为g(x,y),分水岭是通过梯度空间进行计算的。设M1,M2,…,MR表示梯度g(x,y)中各局部极小值的像素位置,与Mi对应的区域中的像素坐标集合记为C(Mi)。梯度阈值用n表示,(u,v)的像素集合记为T[n],g(u,v)

与Mi相应的区域,符合条件的坐标集合Cn(Mi)定为一幅二值图像,如式(19)所示:

图像中全部符合梯度值小于阈值n的像素集合记为C[n],则有式(20):

那么全部区域的并集是C[max+1],max 为灰度最大值。

分水岭初始化算法如式(21)所示,接着算法进行逐步迭代。

假设步骤n已创建了C[n-1],令S代表T[n]中的连通组元集合,用3×3 全是1 的结构模块对S∩C[n-1]进行膨胀,则可获取像素为1 的边界。由于噪声影响,理想的分水岭变换应该为梯度图像,因为梯度图像能够增强图像中的噪声,同时减弱了灰度平坦的区块,这样噪声更容易被滤波器滤除掉。

4 实验结果与分析

本文图像分割算法的实验步骤如下:①将原始图像转换为灰度图像,如果是灰度图像则保持;②利用基于梯度模和结构张量融合的各向异性扩散对灰度图像进行处理;③将经各向异性扩散处理后的图像生成梯度图像,再对梯度图像首次进行分水岭算法;④对上一步生成的图像进行距离变换和数学形态学处理,得到局部极小值,标记控制;⑤得到重构后的梯度图像,再次对其进行分水岭分割。

算法的实验采用仿真软件为MATLAB 2016b。为了测试文中算法抑制噪声的性能,引入峰值信噪比(PSNR),如式(22)、式(23)所示:

式中:MN 是图像像素个数,xi是无噪声图像像素值,ui是测试图像像素值。加入噪声,测试如表1 所示,一定程度上PSNR 反映了图像数据被处理前后变化的统计平均,PSNR 越大,则数据失真越少。

表1 试验数据

为了测试边缘信息保持性能,引入边缘保持指数(FOM)作为评价标准,其定义如式(24)所示:

式中:NA表示含噪图像边缘信息中的非零像素数,Nf表示去噪后边缘信息中的非零像素数,di是欧氏距离,表示含噪边缘图像第i个像素与滤波后的最近边缘像素之间的几何距离,α是惩罚因子,拟取α=1/9。对原始米粒图像添加高斯噪声,变化方差进行测试,测试数值如表2 所示,由数据可知本文算法能够较好地保持边缘信息。

表2 边缘测试

经去噪和边缘性能检测后,对米粒图像进行分割实验,分别使用传统分水岭算法、文献[14]提出的分割算法和本文改进的各向异性扩散算法对图像进行分割,分割效果如图1 所示。可以发现传统算法对米粒的分割能力较弱,文献[14]算法缺乏全局信息,边缘信息提取较差。本文算法通过各向异性扩散明显保持了边缘信息,去除了虚假极小值点,降低了过分割现象,同时亦实现了对目标米粒的较完整分割。

图1 米粒图像分割实验

对原始硬币图像进行分割实验,先给硬币加入泊松噪声,分别使用传统分水岭算法、文献[14]提出的分割算法和本文改进的各向异性扩散算法对图像进行分割,分割效果如图2 所示。传统分水岭算法分割的区域块数较多,分割效果不理想,主要是因为噪声影响、边缘过分割和虚假极小值点等因素影响。文献[14]算法的分割结果得到了明显改进,效果较传统方法好,但仍然存在虚假边缘,仍有过分割等问题。本文所提算法,能够抑制噪声,同时使弱边界保持较好,极小值点的标记相对合适,因此,分割效果明显优于前两种方法,具有较好的抗噪性能。

图2 加入泊松噪声硬币图像分割实验

5 结语

本文提出了一种基于各向异性扩散的分水岭分割算法。应用梯度模的变化设定阈值取代P-M 算子人为设定边界阈值的方法,并引入图像结构张量到扩散函数里面,达到平滑噪声的同时保持边缘细节的目的,并使其具有良好的分水岭结构。然后,借助数学形态学的开闭运算补偿图像梯度信息,实现梯度信息分层重构,接着基于形态学最小值标记方法对图像局部极小值进行标记,最后用分水岭算法对处理后的图像进行分割。实验对无噪声图像和加噪声图像进行分割,结果表明该方法具有良好的分割效果,尤其对噪声图像有较好的鲁棒性。

猜你喜欢

极小值分水岭梯度
一个改进的WYL型三项共轭梯度法
一道抽象函数题的解法思考与改编*
一种自适应Dai-Liao共轭梯度法
构造可导解析函数常见类型例析*
2019,一定是个分水岭!
一类扭积形式的梯度近Ricci孤立子
极小值原理及应用
基于庞特里亚金极小值原理的多运载体有限时间编队控制
地温梯度判定地热异常的探讨
“华北第一隧”——张涿高速分水岭隧道贯通