改进的变分水平集演化的图像分割算法
2020-10-09杨杰伟杨亚楠
温 佳,杨杰伟,杨亚楠
(天津工业大学 电子与信息工程学院,天津 300387)
图像分割是图像处理中一项重要的环节[1],图像分割的质量会对后续图像处理产生很大的影响。通过机器视觉采集的图像会因为噪声、光照和其他因素导致前景与背景对比度低、边界模糊、灰度分布不均匀。随着计算机视觉的智能化发展,水平集演化方法在图像分割方面得到广泛应用,它将图像分割的曲线演化问题转化为求解偏微分方程,提高了分割效率[2-4],但是对比度低的图像分割效果较差,对边缘特征模糊或含有强噪声的图像分割效果不佳,对于噪声的鲁棒性较差,对于目标图像与背景灰度相似的部分容易产生误分割或过分割。
本文利用能量泛函的演化方式细化图像的边缘区域,在曲线演化的同时融入最大类间方差(OTSU)[5]方法,提高算法的准确度和对噪声的鲁棒性,最后加入双阱势能量惩罚项以避免重新初始化,从而建立了一种结合OTSU 的水平集演化算法。
1 相关理论知识
1.1 CV 模型相关原理
Chan-Vese[6]模型由曲线驱动力驱使曲线演化到最佳边界处,从而将图像分为背景图像与目标图像两个区域,分别用Ω1和Ω2表示。在图像空间Ω中,CV模型的能量泛函[7]为:
式中:L(C)和A(C)分别表示演化曲线的长度和曲线内的面积;C为所求最优轮廓;μ≥0,v≥0,λ1λ2>0 分别为能量函数相应的权重系数;C1、C2表示拟合中心[8]。
为了解决能量函数的最小化问题,将水平集函数引入式(1),可以将该能量函数的求解问题转化为零水平集求解问题[7-8]。其符号距离函数表达式如下:
式(2)中,d为高维空间点到水平集的距离,该距离一般使用欧式距离。结合式(2)可得到由水平集函数φ(x,y)所表达的能量函数[7]:
式(3)中:H(φ)表示单位阶跃函数[7],δ(φ)为 Heaviside函数的正则化表示,表达为式(4)和式(5)。
式(5)中,ε为常数,可根据经验进行设置。根据变分原理,可以得到能量函数的偏微分方程为
最后,通过迭代运算求解式(6)的最优解,即可得到最终的分割图像。式(6)中,拟合中心可表示为
1.2 最大类间方差(OTSU)方法
OTSU 方法[5]是一种典型的自适应阈值分割方法。它的基本原理为:设原图像的灰度级为L、灰度值为i的像素点的个数为Si,总的像素点的个数N,Pi表示灰度值为i的点在整幅图像中出现的概率,则Pi=Si/N。根据阈值t,可以将图像中的所有像素点分为T1和T2两大类,则则T1出现的概率ω0和T2出现的概率ω1为
T1和T2的灰度均值分别为
最后,找到让图像分类的最佳阈值 *t:
2 模型及相关原理
2.1 结合OTSU 方法的水平集函数演化算法
传统的CV 模型采用演化曲线内外图像的灰度均值表示拟合中心。该方法对噪声点的鲁棒性较差,当图像中含有较多噪声点时,灰度均值不能准确地反映图像的灰度级变化[7]。针对这个问题,本文选用演化曲线内外图像灰度的中值来代替。在图像内含有噪声点时,一般情况下中值可以保证拟合中心的准确性,更好地反映图像区域灰度变化。拟合中心可定义为:
在式(12)中,med 为求中值运算符。由于噪声点属于突变像素点,用均值进行计算时会对结果产生较大影响;而中值的计算不需要计算所有像素点的具体数值,因此中值对噪声点的鲁棒性更好。此外,在轮廓初始化后,将OTSU 方法引入能量函数中,将得到的类间方差和CV 模型的拟合中心相结合,可得到新的拟合中心为
结合式(3)和式(13)可得到新的能量函数为
2.2 引入惩罚项
基于水平集方法的图像分割需要将水平集函数约束为符号距离函数[9]。在数值计算的迭代过程中,随着迭代次数的增加,水平集函数会偏离符号距离函数。因此,在数值计算过程中,需要不断地重新初始化水平集函数为符号距离函数[10],但是这必然增加模型的计算复杂度。为了避免这种情况,文献[11]提出了在水平集演化的过程中增加一个能量惩罚项,使水平集函数在演化过程中保持近似的符号距离函数,该惩罚项表示为
式(15)的含义是控制水平集梯度∇φ稳定在 1附近。当梯度很大时,能量随之变大,将使水平集趋于平滑、水平集函数减少孤岛的情况,从而保持近似的符号距离函数。
文献[12]提出了双阱势能量惩罚项,一般的能量惩罚项在演化过程中可能会造成水平集函数的振荡,而双阱势能量惩罚项则不会有过多的振荡出现,该表达式为
通过变分法,由式(16)可得到梯度下降流为
综上所述,结合前文改进的CV 模型与边缘停止函数gL,引入双阱势能量惩罚项,可得到一种新的变分水平集分割模型,其能量泛函为
利用变分法和梯度下降流方法得到的水平集演化方程为
3 实验结果与分析
3.1 实验环境和参数设置
为了验证改进的变分水平集演化的图像分割算法的有效性,针对真实图像、合成图像和含噪图像进行实验,并与传统CV 模型实验进行比较。实验用计算机的CPU 为Intel Core i5-4200H,操作系统为Windows 10;仿真软件采用Matlab R2016a。实验参数设置为:Δt=0.5,ε=1,υ=0,λ1=λ2=1。
3.2 噪声处理实验
将一幅具有高强度噪声的合成图像用传统CV 模型、OTSU 方法和本文创建的模型分别对合成图像、噪声图像和真实图像进行分割,并对运行时间、抗噪性和准确性进行对比分析,如图1 所示。
图1 高强度噪声图像的分割效果
从图1 的分割效果可以看出:OTSU 方法可以较好地将目标图像和背景图像分割开,但抑制噪声点的效果较差,对噪声比较敏感;传统CV 模型算法拟合中心对一些孤立噪声点的抑制效果较差;而本文算法利用像素点的灰度中值代替灰度均值,增强了模型对噪声的抑制性,使图像的分割效果比传统CV 模型算法和OTSU 方法的分割效果都要好。
3.3 不同算法性能对比实验
基于 GT(ground truth)图像对改进模型算法的分割结果进行评估,评估指标包括分割图像的精度、过分割率、欠分割率和运行时间[13]指标。
3.3.1 分割精度
分割精度 SA 是分割准确的面积占 GT 图像中真实面积的百分比,其表达式为
式中:RS表示人为标定出的分割图像的参考区域;TS表示算法分割得到的图像的实际区域;表示错误分割的像素点个数。
3.3.2 过分割率
过分割率 OR 是 GT 图像参考区域之外划分的像素点的比率,其表达式为
式中:OS指不应该包含在分割结果中的像素点,但实际上却在分割结果中的像素点的个数[13]。
3.3.3 欠分割率
欠分割率 UR 是GT 图像参考区域中缺失的像素点的比率,其表达式为
图2 选用weizmann horse database 数据库中的图像进行实验,并以此图像库提供的手工分割图像作为Ground Truth 来对分割结果进行评价。
图2 自然图像分割结果
由图2 可以看出,传统CV 模型算法是基于区域的,对于边缘部分处理效果不佳,本文算法通过融入OTSU 方法,能够更有效地分割出目标图像,对于图像边缘的细节部分能够有效处理,并且对区域灰度不均匀或图像边界与背景图像差异小的图像具有很好的分割效果。OTSU 方法虽然分割精度也很高,但是过分割率和欠分割率也很高,在图像中含有大量噪声和背景较为复杂的情况下,该算法很难将背景图像和目标图像正确分割。表1 列出了图像分割精度、过分割率、欠分割率、运行时间的实验数据。
表1 用不同算法分割图像的比较
从图2 和表1 可以看出:对于真实图像的分割,本文提出的算法表现出更好的分割结果,分割精度明显高于OTSU 方法和传统CV 模型,且过分割率和欠分割率也更小。其中传统CV 模型采用图像的全局信息进行演化,但该模型对于噪声的抑制效果比较差,而本文算法采用的是基于图像的区域进行演化,对噪声点产生的影响很小。通过不同算法的运行时间对比也可以看出,本文算法的效率更高。这是因为本文算法加入了双阱势能量惩罚项,避免了水平集函数重新初始化,从而提高了分割效率。
4 结论
通过实验对比,证明本文提出的改进变分水平集演化图像分割算法在强噪声、弱边界或背景较复杂的情况下,减少了图像噪声对拟合中心的影响,提高了算法对初始轮廓和噪声的鲁棒性,提高了对灰度不均匀图像的分割精确度,得到较好的图像分割效果和较高的分割效率。