文章快速检索     高级检索
  重庆大学学报  2014, Vol. 37 Issue (8): 105-110  DOI: 10.11835/j.issn.1000-582X.2014.08.015 RIS(文献管理工具)
0

引用本文 

唐治德, 田斌. 结合阈值算法的Chan-Vese模型图像分割方法[J]. 重庆大学学报, 2014, 37(8): 105-110. DOI: 10.11835/j.issn.1000-582X.2014.08.015.
TANG Zhide, TIAN Bin. An image segmentation method based on Chan-Vese model combined with threshold algorithm[J]. Journal of Chongqing University, 2014, 37(8): 105-110. DOI: 10.11835/j.issn.1000-582X.2014.08.015. .

基金项目

国家自然科学基金资助项目(50877082);重庆大学输配电装备及系统安全与新技术国家重点实验室研究项目(2007DA10512709303)

作者简介

唐治德(1958-), 男, 重庆大学教授, 主要从事大功率LED照明、X光机高压电源等方面的研究, (E-mail)20111102067@cqu.edu.cn

文章历史

收稿日期: 2014-03-25
结合阈值算法的Chan-Vese模型图像分割方法
唐治德, 田斌     
重庆大学 输配电装备及系统安全与新技术国家重点实验室, 重庆 400044
摘要: 阈值分割是图像处理中频繁使用的基本灰度变换,把阈值分割方法与Chan-Vese模型进行结合,并用尺度变换的方式加以辅助,以提高Chan-Vese模型的分割速度和效果.实验表明:该方案大大提高了Chan-Vese模型的收敛速度和分割效果,而且重点改善了Chan-Vese模型在图像灰度变化缓慢的边界迭代次数较多、演化速度慢等问题.
关键词: 图像分割    活动轮廓模型    阈值分割    Chan-Vese模型    尺度变换    
An image segmentation method based on Chan-Vese model combined with threshold algorithm
TANG Zhide , TIAN Bin     
State Key Laboratory of Power Transmission Equipment & System Security and New Technology, Chongqing University, Chongqing 400044, China
Abstract: Threshold segmentation is a basic grey-scale converting technology of image processing. We combine threshold segmentation with Chan-Vese model with an accompanying scale transformation to improve the segment speed and effect. Experimental results show that this program greatly enhances the convergent speed of the Chan-Vese model, and it focuses on changing the defects of more iterative times and low diffusion speed of Chan-Vese model on the border of the image when its grayscale changes slowly.
Key Words: image segmentation    active contour model    threshold segmentation    Chan-Vese model    scale transformation    

图像分割是一种基本的计算机视觉技术,也是由图像处理进入到图像分析的关键步骤,一直是数字图像处理领域的一项重要研究内容。图像分割不仅要求快速,而且要准确地分割图像。一直以来都是图像处理领域中的一个经典难题,目前还没有某个算法能令人满意地分割各种特征的图像[1],往往需要基于图像类型人们主观地选择分割方法,这其中基于模型和基于区域的分割方法是比较常用的分割方法。

基于模型的图像分割方法可以分为两种[2]:一种是基于水平集方法的几何活动轮廓模型,由Osher和Sethian[3]提出;另一种是基于变分方法的参数活动轮廓模型,其代表为主动轮廓模型分割算法,主要由Kass等人[4]提出。相对于传统的图像分割方法,基于模型的图像分割方法分割速度较快,实用性较强,因而得到了广泛的应用[5-8]。而在此基础之上,Chan等[9]提出了基于变形曲线、Mumford-Shah分割函数和水平集的Chan-Vese模型[10]。Chan-Vese模型的最大缺点就是演化速度很慢,尤其是对目标和背景灰度差较小的图像[11-12],而且,其处理直线和尖角的能力也较弱。

笔者在研究分析Chan-Vese模型的基础之上,发现其演化速度慢的原因,然后提出一种结合阈值分割方法的Chan-Vese模型分割方法。

1 Chan-Vese模型

Chan-Vese模型属于单水平集二相分割算法,首先给出其定义。与实数c对应的可微函数f的水平集是实点集{(x1x2,…,xn)|f(x1x2,…,xn)=c},称可微函数f为水平集函数。令ΩR2的有界开子集,φΩR为Lipschitz连续的水平集函数。轮廓曲线Γ$\subset $ Ω可以通过如下定义隐含表示:

$ \left\{ \begin{align} & \mathit{\Gamma =}\left\{ \left( x, y \right)\left| \left( x, y \right)\in \mathit{\Omega },\varphi \left( x, y \right)=0 \right. \right\}, \\ & {{\omega }_{\text{1}}}\mathit{=}\left\{ \left( x, y \right)\left| \left( x, y \right)\in \mathit{\Omega },\varphi \left( x, y \right)>0 \right. \right\}, \\ & {{\omega }_{2}}\mathit{=}\left\{ \left( x, y \right)\left| \left( x, y \right)\in \mathit{\Omega },\varphi \left( x, y \right)<0 \right. \right\}。\\ \end{align} \right. $ (1)

uΩRΩ$\subset $R2表示一个灰度图像。其中u为灰度值,Ωu的定义域。令Rinside=ω1ΓRoutside=ω2分别表示零水平集在Ω区域上划分出来的内外两个区域。Chan-Vese模型能量函数可表示为

$ \begin{align} & F\left( {{c}_{1}}, {{c}_{2}}, \varphi \right)\mathit{=}\mu \int\limits_{\mathit{\Omega }}{\left| \nabla H\left( \varphi \left( x, y \right) \right) \right|}\text{d}x\text{d}y+\nu \int\limits_{\mathit{\Omega }}{\left| H\left( \varphi \left( x, y \right) \right) \right|}\text{d}x\text{d}y \\ & +{{\lambda }_{1}}{{\int\limits_{\mathit{\Omega }}{\left| \mu \left( x, y \right)\text{-}{{c}_{1}} \right|}^{2}}}H\left( \varphi \left( x, y \right) \right)\text{d}x\text{d}y+{{\lambda }_{2}}{{\int\limits_{\mathit{\Omega }}{\left| \mu \left( x, y \right)\text{-}{{c}_{2}} \right|}^{2}}}\left( 1\text{-}H\left( \varphi \left( x, y \right) \right) \right)\text{d}x\text{d}y, \\ \end{align} $ (2)

式中:H为单位阶跃函数;μ≥0,ν≥0,λ1>0,λ2>0为固定系数;c1c2为曲线Γ内外平均灰度,分别表示为

$ {{c}_{1}}\left( \varphi \right)\text{=}\frac{\int\limits_{\mathit{\Omega }}{\mu \left( x, y \right)H\left( \varphi \left( x, y \right) \right)\text{d}x\text{d}y}}{\int\limits_{\mathit{\Omega }}{H\left( \varphi \left( x, y \right) \right)\text{d}x\text{d}y}}, $ (3)
$ {{c}_{2}}\left( \varphi \right)\text{=}\frac{\int\limits_{\mathit{\Omega }}{\mu \left( x, y \right)\left( 1\text{-}H\left( \varphi \left( x, y \right) \right) \right)\text{d}x\text{d}y}}{\int\limits_{\mathit{\Omega }}{\left( 1\text{-}H\left( \varphi \left( x, y \right) \right) \right)\text{d}x\text{d}y}}。$ (4)

能量函数是变分分割模型,该函数是由具有一定物理意义的正则化项构成。当能量函数取到最小值时,分割轮廓收敛于图像真实边界处。能量函数最小值的求解一般通过一阶变分来实现。因为能量函数的一阶变分为0,是能量函数取最小值的必要条件。

对能量函数(2)求一阶变分,可以导出如下Euler-Lagrange方程:

$ \frac{\partial \varphi }{\partial t}=\delta \left( \varphi \right)\left[\mu \text{div}\left( \frac{\nabla \varphi }{\left| \nabla \varphi \right|} \right)-\nu-{{\lambda }_{1}}{{\left( u-{{c}_{1}} \right)}^{2}}+{{\lambda }_{2}}{{\left( u-{{c}_{2}} \right)}^{2}} \right]。$ (5)

解方程(5)求得φ,就可以得到二区域分割结果为

$ \left\{ \begin{align} & {{\bf{R}}_{1}}=uH\left( \varphi \right), \\ & {{\bf{R}}_{2}}=u\left( 1-H\left( \varphi \right) \right)。\\ \end{align} \right. $ (6)

根据式(5)可以做进一步的分析,方程的右端是各项对演化起到限制作用的因子。第一项对应的是曲线的长度因子,第二项是曲线包围的面积因子。对式(5)进行差分求解时,曲线的长度和面积都是在不断减小的,最终得到光滑曲线。系数μν是尺度系数,当其值较大时只有较大的目标物体能被检测到,当其值较小时较小的目标物体也能被检测到,并且系数的正确选择有助于去除噪声。对于右端的第三项,假定λ1=λ2=1,因为-(I-c1)2+(I-c2)2=2(c1-c2)$\left( I-\left( \frac{{{c}_{1}}+{{c}_{2}}}{2} \right) \right)$。因此,水平集函数的演化速度$\partial $φ/$\partial $t与图像I在演化曲线内外灰度均值的差c1-c2和平均值(c1+c2)/2有密切关系。显然(c1+c2)/2在演化过程中变化不大,对演化速度几乎没有影响。因此,演化速度主要由c1-c2决定。当分割算法演化到目标边缘附近时,图像的灰度值比较接近,演化曲线内外灰度差接近于零,这时的一次迭代必然使水平集变化很小,从而需要更多的迭代次数才可能使演化曲线移位,无形中增加了多次无效的迭代,不仅大大增加了模型分割图像时间,而且很容易导致分割不完全的情况发生。

2 结合阈值算法的C-V模型

如果能预先对图像进行处理、变换,拉伸灰度级范围,加大演化曲线内外灰度值差c1-c2,这样就会保持较高的水平集演化速度。基于以上分析,提出如下改进方案:

首先对待处理图像进行基于灰度直方图的阈值分割,阈值分割方法基于对灰度图像的一种假设:目标或背景内相邻像素间的灰度值是相似的,但不同目标或背景的像素在灰度上有差异,反映在图像直方图上,不同目标和背景则对应不同的峰。最简单的阈值选取方法就是选取位于两个峰之间的谷,从而将各个峰分开。阈值分割的优点是实现简单,对于不同类的物体灰度值或其他特征值相差很大时,它能很有效地对图像进行分割。

由于此处需要的并不是简单的用阈值方法来分割图像,而是要利用双阈值排除掉背景和目标区域内大部分过高或者过低灰度值的像素,通过尺度变换加强目标边缘处的灰度值差,因此,选择两个峰处为双阈值进行阈值分割。

因为未进行阈值分割前,原图像全部像素点的灰度值范围为0~255,见图 1,分割后的图像全部像素点的灰度值范围为ω1~ω2(0 < ω1 < ω2 < 255),见图 2,对像素灰度值范围为ω1~ω2的图像进行灰度值尺度变换,变换公式为

$ G\left( z \right)=\frac{{{g}_{\text{m}}}}{{{\omega }_{2}}-{{\omega }_{1}}}\left( z-{{\omega }_{1}} \right), \left( {{\omega }_{1}} < z < {{\omega }_{2}} \right)。$ (7)
图 1 图像灰度分布频率图
图 2 双阈值的选取

其中z为图像灰度值,灰度最大值为gm(一般gm为255),G(z)为尺度变换后原像素点新灰度值。通过灰度值尺度变换,将经过阈值分割后灰度值范围为ω1~ω2的图像的灰度值范围重新变换为0~255,这样就实现了图像灰度值范围的拉伸,在实际处理中还可以根据具体情况调整阈值的选取,控制放缩的幅度。

从而可将Chan-Vese模型改进为

$ \begin{align} &{{E}_{\text{new}}}\left( {{c}_{1}},{{c}_{2}},\varphi \right)=\mu \int\limits_{\mathit{\Omega }}{\left| \nabla H\left( \varphi \left( x,y \right) \right) \right|}\text{d}x\text{d}y+\nu \int\limits_{\mathit{\Omega }}{\left| H\left( \varphi \left( x,y \right) \right) \right|}\text{d}x\text{d}y \\ &+{{\lambda }_{1}}\int\limits_{\mathit{\Omega }}{{{\left| \mu \left( x,y \right)\text{-}{{c}_{1}} \right|}^{2}}}H\left( \varphi \left( x,y \right) \right)\text{d}x\text{d}y+{{\lambda }_{2}}\int\limits_{\mathit{\Omega }}{{{\left| \mu \left( x,y \right)\text{-}{{c}_{2}} \right|}^{2}}}\left( 1\text{-}H\left( \varphi \left( x,y \right) \right) \right)\text{d}x\text{d}y。\\ \end{align} $ (8)

最小化能量函数Enew(φ),就能以迭代的方式得到如下求解φ的Euler-Lagrange方程:

$ \left\{ \begin{array}{l} \frac{{\partial \varphi }}{{\partial t}} = \delta \left( \varphi \right)\left[ \begin{array}{l} \mu {\text{div}}\left( {\frac{{\nabla \varphi }}{{\left| {\nabla \varphi } \right|}}} \right) - \nu ,\\ - {\lambda _1}{\left( {G\left( z \right) - {c_1}} \right)^2} + {\lambda _2}{\left( {G\left( z \right) - {c_2}} \right)^2} \end{array} \right],\\ \varphi \left( {t,x,y} \right) = {\varphi _0}\left( {x,y} \right),\\ \frac{{\delta \left( \varphi \right)\partial \varphi }}{{\left| {\nabla \varphi } \right|\partial n}} = 0,\\ \frac{{\partial \varphi }}{{\partial t}} = \frac{{{\varphi ^{n + 1}} - {\varphi ^n}}}{{\Delta t}}。\end{array} \right. $ (9)

式中:t为时间变量;φ为水平集函数,当t=tn时,用φn表示当前的水平集φ。Chan-Vese模型的具体算法如下:

① 令n=0,初始化φ0

② 用式(3)、式(4)计算c1(φn)和c2(φn),且当p=2时,有length{φn=0}=L(φn);

③ 用式(9)计算φn的偏微分方程,从而进一步求出φn+1

④ 检查φn+1是否为稳态解,若不是则n=n+1,跳入②再次循环。

3 实验结果及讨论

为验证提出算法的有效性,在运行Windows 7的实验平台(Intel Core i5四核2.80 GHz/内存4G)进行了仿真验证,程序用Matlab R2011a编写。

实验模型参数取值:μ=0.001×2552ν=0,λ1=λ2=1,Δt=0.1 s。

图 3是一组简单的几何图形,是一张二值图像,主要目的是验证算法的可行性,结果表明:Chan-Vese算法和改进C-V算法都能很好地分割出图像。

图 3 两种算法分割简单几何图像

从图中脑室CT图像分割结果(图 4)来看,Chan-Vese模型分割方法在灰度值变化剧烈时能量最小化效果显著,能够准确判断并继续演化,但是在灰度变化缓和时,能量函数对停止收敛的判断存在很大的不确定性,导致最终分割过早结束,产生不完全分割的结果。而笔者提出的方法则大大改善了原方法这一缺陷,在腰部及右下尖锐边缘处很好地跟踪捕捉到了目标边缘,扩大了分割结果的有效面积。另一方面,Chan-Vese模型的最优化结果需要对整张图像素点的遍历,导致算法需要花费大量时间。笔者引入阈值算法预分割,阈值分割初步地排除掉大部分干扰算法分割,缩小算法遍历定义域,在进一步的Chan-Vese模型分割时大大减少了遍历的像素点,再结合尺度变化后保证了水平集的演化速度,最终达到了节省大量分割时间的目的。从图 5中可看出改进C-V算法的有效面积明显增大,图 6反映了改进C-V算法对复杂边缘良好的追踪。

图 4 两种算法对图像分割结果
图 5 局部分割效果放大后对比 (左为C-V模型,右为改进C-V模型)
图 6 改进算法对尖锐边缘分割效果

在验证实验中,选择了对比度较低、边缘异常不规则的图像(图 7),传统C-V模型的需要更多迭代次数,导致分割时间增加,而尖锐的边缘使其分割有效面积更小。改进的C-V模型则在一定程度上弥补了传统C-V模型算法分割的不足,如图 8所示。

图 7 脑室PET图像
图 8 两个分割算法对比

在第一组实验中,C-V模型耗时2.66 s,改进算法耗时2.03 s,有效面积增大率为3.5%;第二组实验中,C-V模型耗时3.87 s,改进算法耗时2.96 s,有效面积增大率为4.7%。实验表明:结合阈值算法的Chan-Vese模型图像分割方法提高了图像分割的准确性和快速性。

4 结语

笔者利用阈值分割算法和C-V模型图像分割算法相结合的方式,充分发挥阈值分割方法简单快速和Chan-Vese模型自动化程度高,分割准确的优点,大大节省了算法分割图像时间的同时,有效优化了C-V模型处理复杂图像的能力,并通过实验验证了该方法的有效性和合理性,实现了预定目标,对临床医学具有实际的意义。

参考文献
[1] 罗希平, 田捷, 诸葛婴, 等. 图像分割方法综述[J]. 模式识别与人工智能, 1999, 12(3): 300–312.
LUO Xiping, TIAN Jie, ZHU Geying, et al. Method of image segmentation[J]. Pattern Recognition and Artificial Intelligence, 1999, 12(3): 300–312. (in Chinese)
[2] 郑南宁. 计算机视觉与模式识别[M]. 北京: 国防工业出版社, 1998.
[3] Osher S, Sethian J A. Fronts prop-agating with curvature-dependent speed:algorithms based on Hamil-ton-Jacobi formulation[J]. Jour-nal of Computation Physics, 1988, 79: 12–49. DOI:10.1016/0021-9991(88)90002-2
[4] Kass M, Witkin A, Terzopoulos D. Snakes:active contour models[J]. International Journal of Computer Vision, 1987, 1(4): 321–331.
[5] Morar A, Moldoveanu F, Groller E. Image segmentation based on active contours without edges[J]. Intelligent Computer Communication and Processing, 2012: 213–220.
[6] Lee S H, Seo J K. Level set-based bimodal segmentation with statio-nary global minimum[J]. IEEE Tran-sactions on Image Processing, 2006, 15(9): 2843–2852. DOI:10.1109/TIP.2006.877308
[7] Li C, Kao C, Gore J C, et al. Minim-ization of region-scalable fitti-ng energy for image segmentati-on[J]. IEEE Transactions on Image Processing, 2008, 17(10): 1940–1949. DOI:10.1109/TIP.2008.2002304
[8] Wang L, Li C, Sun Q, et al. Active contours driven by local and glo-bal intensity fitting energywith application to brain MR image segmentation[J]. Computerized Medical Imaging and Graphics, 2009, 33: 520–531. DOI:10.1016/j.compmedimag.2009.04.010
[9] Chan T F, Vese L A. Active cont-ours without edges[J]. IEEE Tran-sactions on Image Processing, 2001, 10(2): 266–277. DOI:10.1109/83.902291
[10] Wang X, Huang D, Xu H. An efficient local Chan-Vese model for image segmentation[J]. Pattern Recogn-ition, 2010, 43(3): 603–618. DOI:10.1016/j.patcog.2009.08.002
[11] 原野, 何传江. LBF活动轮廓模型的改进[J]. 计算机工程与应用, 2009, 45(15): 177–179.
YUAN Ye, HE Chuanjiang. Improvement of LBF active contours model[J]. Computer Engineering and Applications, 2009, 45(15): 177–179. DOI:10.3778/j.issn.1002-8331.2009.15.051 (in Chinese)
[12] 高佳. 医学图像分割与三维重构研究[D]. 兰州: 兰州大学, 2010. http://d.wanfangdata.com.cn/Thesis/Y1702760
图 1 图像灰度分布频率图
图 2 双阈值的选取
图 3 两种算法分割简单几何图像
图 4 两种算法对图像分割结果
图 5 局部分割效果放大后对比 (左为C-V模型,右为改进C-V模型)
图 6 改进算法对尖锐边缘分割效果
图 7 脑室PET图像
图 8 两个分割算法对比
结合阈值算法的Chan-Vese模型图像分割方法
唐治德, 田斌