基于MATLAB的图像分割系统
第一章 设计原理介绍
本章对设计涉及的研究领域进行了较为详细的综述。简要介绍了医学图像分割的研究目的和意义,给出了医学图像分割的基本方法及步骤。在对医学图像分割问题的起源、发展和研究现状进行简要综述的基础上,介绍了该领域当前的研究热点及论文的主要研究内容。
图像分割是图像处理中的一项关键技术,自20世纪70年代起一直受到人们的高度重视,至今已提出了上千种各种类型的分割算法,现提出的分割算法大都是针对具体问题的,并没有一种适合于所有图像的通用分割算法,而且近年来每年都有上百篇相关研究报道发表。然而,还没有制定出选择合适分割算法的标准,这给图像分割技术的应用带来许多实际问题。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。
图像分割在图像工程中的位置它起着承上启下的作用,可以认为是介于低层次处理和高层次处理的中间层间。最近几年又出现了许多新思路、新方法、或改进算法。下面对一些经典传统方法作简要的概述。
多年来人们对图像分割提出了不同的解释和表述,借助集合概念对图像分割可给出如下定义:令集合R代表整个图像区域,对R的图像分割可以看做是将R分成N个满足以下条件的非空子集R1,R2,R3,…,RN;
(1)在分割结果中,每个区域的像素有着相同的特性;
(2)在分割结果中,不同子区域具有不同的特性,并且它们没有公共特性;
(3)分割的所有子区域的并集就是原来的图像;
(4)各个子集是连通的区域;
图像分割是把图像分割成若干个特定的、具有独特性质的区域并提取出感兴趣目标的技术和过程,这些特性可以是像素的灰度、颜色、纹理等提取的目标可以是对应的单个区域,也可以是对应的多个区域。图像分割方法有许多种分类方式,在这里将分割方法概括为四类:(1)边缘检测方法(2)区域提取方法(3)阈值分割方法(4)结合特定理论工具的分割方法。下面就这些方法展开介绍。
边缘检测法
图像分析和理解的第一步常常是边缘检测。边缘检测方法是人们研究得比较多的一种方法,它通过检测图像中不同区域的边缘来达到分割图像的目的。边缘检测的实质是采用某种算法来提取出图像中对象与背景问的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。经典的边缘检测方法,是通过对原始图像中像素的某小邻域构造边缘检测算子来达到检测边缘这一目的。
区域提取法
区域提取法有两种基本形式:一种是从单个像素出发,逐渐合并以形成所需的分割区域;另一种是从全图出发,逐渐分裂切割至所需的分割区域。在实际中使用的通常是这两种基本形式的结合。根据以上两种基本形式,区域提取法可以分为区域生长法和分裂合并法。区域生长法的基本思想是将具有相似性质的像素合起来构成区域,具体做法是先给定图像中要分割的目标物体内的一个小块或者说种子区域,再在种子区域的基础上不断将其周围的像素点以一定的规则加入其中,达到最终将代表该物体的所有像素点结合成一个区域的目的。该方法的关键是要选择合适的生长或相似准则。生长准则一般可分为三种:基于区域灰度差准则、基于区域内灰度分布统计性质准则和基于区域形状准则。分裂合并法是先将图像分割成很多的一致性较强的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的。区域提取法的缺点是往往会造成过度分割,即将图像分割成过多的区域,因此近年来针对这种方法的研究较少。
阈值分割法
对灰度图像的取阈值分割就是先确定一个处于图像灰度取值范围之中的灰度阈值,然后将图像中各个像素的灰度值都与这个阈值相比较,并根据比较结果将对应的像素分为两类。这两类像素一般分属图像的两类区域,从而达到分割的目的。阈值分割算法主要有两个步骤:
(1)确定需要的阈值;
(2)将分割阈值与像素值比较以划分像素。
可以看出,确定一个最优阈值是分割的关键。现有的大部分算法都是集中在阈值确定的研究上。阈值分割方法根据图像本身的特点,可分为单阈值分割方法和多阈值分割方法:也可分为基于像素值的阈值分割方法、基于区域性质的阈值分割方法和基于坐标位置的阈值分割方法.若考虑分割算法所用的特征或准则的特点,还可以分为直方图与直方图变换法、最大类空间方差法、最小误差法与均匀化误差法、共生矩阵法、最大熵法、简单统计法与局部特性法、概率松弛法、模糊集法等。
结合特定理论工具的分割方法
近年来,随着各学科许多新理论和方法的提出,人们也提出了许多结合特定理论工具的分割方法,例如基于数学形态学的分割方法,基于神经网络的分割方法,基于信息论的分割方法,基于模糊集合和逻辑的分割方法,基于小波分析和变换的分割方法,基于遗传算法的分割方法等。基于小波分析和变换的分割方法是借助新出现的数学工具小波变换来分割图像的一种方法,也是现在非常新的一种方法。小波变换是一种多尺度多通道分析工具,比较适合对图像进行多尺度的边缘检测,例如可利用高斯函数的一阶和二阶导数作为小波函数,利用Mallat算法分解小波,然后基于马尔算子进行多尺度边缘检测,这里小波分解的级数可以控制观察距离的“调焦”。而改变高斯函数的标准差可选择所检测边缘的细节程度。小波变换的计算复杂度较低,抗噪声能力较强。理论证明以零点为对称点的对称二进小波适合检测屋顶状边缘,而以零点为反对称点的反对称二进小波适合检测阶跃状边缘。近年来多通道小波也开始用于边缘检测。另外,利用正交小波基的小波变换也可提取多尺度边缘,并可通过对图像奇异度的计算和估计来区分一些边缘的类型。
第二章 图像分割预处理
由于受多种因素(光学系统失真、系统噪声、曝光不足或过量等)条件的影响,得到的图片往往信息微弱,无法辨识,需要进行增强处理。增强的目的,在于提供一个满足一定要求的图像,或对图像进行变换,以进行分析。
图像平滑的目的是为了减少图像噪声。图像的噪声来自于多方面,有来自于系统外部干扰,如电磁波或经电源串进系统内部而引起的外部噪声,也有来自于系统内部的干扰,如摄像机的热噪声,电器机械运动而产生的抖动噪声等内部噪声。因此,去除噪声,恢复原始图像是图像处理中的一个重要内容。噪声主要来自下面三个方面:
(1)光电子噪声:主要由光的统计本质和图像传感器的光电转换过程引起的(如光电管的光量子噪声和电子起伏噪声);
(2)电子噪声:主要来自电子元器件(如电阻引起的热噪声);
(3)光学噪声:主要由光学现象产生的(如胶片的粒状结构产生的颗粒噪声);
图像在生成和传输过程中受到这些噪声的干扰和影响,使图像处理结果变差。因此,抑制或消除这些噪声从而改善图像质量,在图像处理过程中是一个重要的预处理,也称为对图像的平滑滤波过程。
中值滤波原理
中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。中值滤波的目的是保护图像边缘的同时去除噪声。
在一维的情况下,中值滤波器是一个含有奇数个像素的窗口,在处理之后,将窗口正中的像素灰度值用窗口内各像素灰度值的中值来代替。设有一个维序列f1,f2,…,fn,取窗口长度为奇数m,对此序列进行中值滤波,就是从输入序列中相续抽出m个数,fi-v,…fi,…fi+v,其中为窗口的中心值v=(m-1)/2,再将这m个点的数值按其数值大小排列,取其序号为正中间的那个数作为滤波输出。中值滤波表达式为:
(2-1)
对二维序列{Xi,j}的中值滤波,滤波窗口也是二维的,但这种二维窗口可以有各种不同的形状,如线状、方形、圆形、十字形、圆环形等。二维中值滤波可表示为:
(2-2)
在实际使用窗口时,窗口的尺寸一般先用
再取
逐渐增大,直到其滤波效果满意为止。
由于中值滤波是非线性运算,在输入和输出之间的频率上不存在一一对应关系,故不能用一般线性滤波器频率特性的研究方法。设G为输入信号频谱,F为输出信号频谱,定义
为中值滤波器的频率响应特性,实现表明H是与G有关,呈不规则波动不大的曲线,其均值比较平坦,可以认为信号经中值滤波后,传输函数近似为1,即中值滤波对信号的频域影响不大,频谱基本不变。
平滑效果分析
图2-3所示的是图像中值滤波前后的效果比较,其中图2-3(a)是含有噪声的原图,图2-3(b)是用中值滤波处理后的图像,滤波窗口为3×3,可见,中值滤波后的图像不仅滤去了椒盐类噪声,而且边缘得到了较好的保护。
(a)带噪声图像 (b)消噪后图像
图2-3 带噪声图像与中值滤波后图像比较
在成像过程中,扫描系统、光电转换系统中的很多的因素,如光照强弱、感光部件灵敏度、光学系统不均匀性、元器件特性不稳定等均可造成图像亮度分布的不均匀,导致某些部分亮,某些部分暗。灰度调整就是在图像采集系统中对图像像素进行修正,使整幅图像成像均匀。
灰度调整可使图像动态范围增大,图像对比度扩展,图像变清晰,特征明显,是图像增强的重要手段之一。
在曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内。这时在显示器上看到的将是一个模糊不清、似乎没有灰度层次的图像。采用线性灰度调整对图像每一个像素灰度作线性拉伸,将有效地改善图像视觉效果。
(a)灰度调整前 (b)灰度调整后
(c)原始图像直方图 (d)调整后直方图
图2-4 灰度调整前后直方图比较
由图2-4可以看出(b)视觉效果较(a)明显,灰度调整前后直方图的比较可以看出,调整后直方图(d)去除了原始直方图(c)的噪声直方图,灰度调整后图像明显清晰了。
第三章 基于阈值的图像分割技术
当非灰度图像转换为灰度图像后,图像中各目标区域的灰度值会不一样,如果图像的灰度直方图具有明显的双峰值或多峰值特征,可以利用阈值化方法求取最佳阈值,然后对图像进行合理分割。
阈值分割原理
阈值化图像分割是一种最基本的图像分割方法,其基本原理就是选取一个或多个处于灰度图像范围之中的灰度阈值,然后将图像中各个像素的灰度值与阈值比较,并根据比较的结果将图像中的对应像素分成两类或多类,从而把图像划分成互不重叠的区域集合,达成图像分割的目的。
采用阈值化图像分割时通常需要对图像作一定的模型假设。利用图像模型尽可能了解图像有几个不同的区域组成。基于图像分割模型经常采用这样一种假设:目标或背景内相邻像素间的灰度值是相似的,但不同目标或背景的像素在灰度上存有差异。设原始图像为f(x,y),按照一定准则在f(x,y)中找到某种特征值,该特征值便是进行分割时的阈值T,或者找到某个合适的区域空间Ω,将图像分割成两个部分,分割后的图像为
(3-1)
对于有多种阈值情况,分割后的图像可以表示为:其中
是一组分割阈值,
是经分割后对应不同区域的图像灰度值,K为分割后的区域或目
标数,
。
无论是单阈值分割还是多阈值分割,都是选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。
阈值分割就是设置一个门限(阈值),凡图像灰度值大于等于(或小于等于)门限的归为一类,剩余的归为另一类,其中一类为背景,另一类为目标。
图像二值化
基于区域的分割最主要方法是二值化。二值化方法对由多个实体和一个对比较强的背景图像所组成的场景图像特别有效。二值化方法一般速度较快,而且使每个分割出来的物体都具有闭合和连通的边界。图像二值化后信息丢失很严重,由此得到的边界轮廓可能会不精确。因此,可以用速度较快的二值化方法来获得一个关于图像分割结果的较粗略的描述。
双峰法
在一些简单的图像中,对象物的灰度分布较有规律,背景和各个对象物在图像的灰度直方图中各自形成一个波峰,即区域和波峰一一对应。由于每个波峰间形成一个波谷,因为选择双峰间的波谷处所对应的灰度值为阈值,即可将两个区域分离。以此类推,可以在图像背景中分理出各类有意义的区域。
(a)原始图像 (b)原始图像直方图
(c)阈值=25分割图像 (d)阈值=40分割图像
图3-2 二值化双峰分割
图3-2为两个简单阈值分割图,双峰法比较简单,在可能的情况下常常作为首选的阈值确定法,但是图像的灰度直方图形状随着对象、图像输入系统、输入环境等因素的不同而千差万别,当出现双峰间的波谷平坦、各区域直方图的波形重叠等情况时,用双峰法难以确定阈值,必须寻求其他方法,实现自动选择适宜阈值要求。
最大方差自动取阈值(自适应二值化)
图像灰度直方图的形状是多变的,有双峰但是无明显低谷或者是双峰与低谷都不明显,而且两个区域的面积比也难以确定的情况常常出现,采用最大方差自动取阈值往往能得到较为满意的结果。
图像灰度级的集合设为S=(1,2,3,…,i, …L), 灰度级为i的像素数设为ni,则图像的全部像素数为
(3-3)
将其标准化后,像素数为
,其中,i∈S,pi≥0,
(3-4)
设有某一图像灰度直方图,t为分离两区域的阈值。由直方图统计可被t分离后的区域1、区域2占整图像的面积比以及整幅图像、区域1、区域2的平均灰度为:
区域1的面积比:
;区域2的面积比
(3-5)
或者
整幅图像平均灰度
; 区域1的平均灰度
;
区域2的平均灰度
(3-6)
式中,G为图像的灰度级数。
整图像平均灰度与区域1、区域2平均灰度值之间的关系为
(3-7)
同一区域常常具有灰度相似特性,而不同区域之间则表现为明显的灰度差异,当被阈值t分离的两个区域之间灰度差较大时,两个区域的平均灰度u1,u2与整图像平均灰度u之差也较大,区域间的方差就是描述这种差异的有效参数,其表达式为:
(3-8)
式中,
表示了图像被阈值t分割后的两个阈值之间的方差。显然不同的t值,就会得到不同的区域方差,也就是说,区域方差、区域1均值、区域2均值、区域面积比、区域面积比都是阈值t的函数,因此式(3-8)可写为:
(3-9)
经数学推导,区域间的方差可表示为:
(3-10)
被分割的两区域间的方差达最大时,被认为是两区域的最佳分离状态,由此确定阈定值T:
,以最大方差决定阈值不需要认为设定其他参数,是一种自动选择阈值的方法,它不仅适用于两区域的单阈值选择,也可以扩展到多区域的多阈值选择中去。
(a)原始图像 (b)最大方差法分割后图像
图3-11 最大方差自动取阈值法
该方法将图像分成两个类,当类间方差与类内方差的分离度最大时即为最佳阈值.由图3-11表明,该方法能够准确而快速地对图像进行二值化,特别是当对象物和背景的灰度值的差具有一定大小的时候,效果更明显。
第四章 基于小波图像阈值分割技术
小波变换是近年来得到广泛应用的数学工具,与傅里叶变换、窗口傅里叶变换相比,小波变换是空间(时间) 和频率的局域变换,能有效地从信号中提取信息。
基于小波阈值分割技术简述
本论文利用小波变换对含噪图像的直方图进行多尺度分解,先在较大的尺度下找出图像分割阈值的粗略值,然后逐渐减小尺度,精确定位分割阈值,算法采用MATLAB 编程仿真。基于小波变换的阈值法图像分割技术则能够有效地避免噪声的影响。该方法的基本思想是首先由二进制小波变换将图像的直方图分解为不同层次的小波系数, 然后依据给定的分割准则和小波系数选择阈值门限, 最后利用阈值标出图像分割的区域。整个分割过程是从粗到细, 由尺度变化来控制, 即起始分割由粗略的L2(R)子空间上投影的直方图来实现, 如果分割不理想, 则利用直方图在精细的子空间上的小波系数逐步细化图像分割。
小波分析
基于小波变换的阈值法图像分割技术能有效地弥补传统的图像阈值法分割技术的不足,具有较强的抗噪声性能,同时,对于直方图为多峰值的情况,可以利用小波的多分辨率分解,对灰度阈值进行合理地选择,实现对图像的分割处理。
小波变换
由于图像的直方图可以看作是一维信号,而直方图上的突变点(波峰点和波谷点),往往可以代表图像灰度变化的特征。因此Jean-Christophe Olivo提出了用小波变换对直方图进行处理的方法实现自动阈值提取。Olivo通过检测直方图小波变换的奇异点和区域极值点给出直方图峰值点的特性。而小波变换的波峰和波谷点可以代表图像中灰度代表值和阈值点。利用小波变换多尺度特性实现对图像的阈值分割。又由于小波变换具有多分辨率的特性,因此可以通过对医学图像直方图的小波变换,实现由粗到细的多层次结构的阈值分割。首先在最低分辨率一层进行,然后逐渐向高层推进。小波变换
的零交叉点表示了在分辨率2j时低通信号的局部跳变点。当尺度2j减小时,信号的局部微小细节逐渐增多,因此,能够检测出各微小细节的灰度突变点;当尺度2j增大时,信号的局部细节逐渐消失,而结构较大的轮廓却能清晰地反映出来,因而能检测出该结构较大的灰度突变点。因此,可以选择小波为光滑函数
的二阶导数,对图像的一维直方图信号进行小波变换,检测出直方图信号的突变点,由此搜索出两峰之问的谷点作为分割阈值点。这就是小波变换用于图像分割的基本原理。对图像的直方图来说,它的各层的小波分解系数表示不同分辨率下的细节信号,它与小波近似信号联合构成直方图的多分辨率小波分解表示。给定直方图,考虑其多分辨率小波分解表示的零交叉点和极值点来确定直方图的峰值点和谷点。
小波分割算法及步骤
分割算法的计算量与图像尺寸大小呈线性变化,本论文介绍直方图的多分辨率分析。对于每个整数j∈Z(Z整数集合),
表示在j分辨率下的二进制有理数。因此,对于任何j∈Z,
是一组在实数轴上的等间隔采样点集合,如果i 表示低分辨率(较粗)的采样点;反之,i>j,则 表示高分辨率(较细)的采样点。假定f表示为一幅图像,g是图像f中最大灰度,则直方图表示为 (4-1) 式中 表示计数操作, 是离散函数。令 ,离散函数 表示成连续函数 , 看作是由几个分段常数函数组成。对于j∈Z, 按采样点 采样,则 表示在j分辨率下的直方图。进一步 可以用Haar尺度函数 的平移与伸缩表示,即 (4-2) (4-3) 多层表达曲线 可以表示如下 (4-4) 对直方图进行小波分解,利用小波系数 ,按式(4-4)重建直方图,从近似直方图中选择阈值,完成分割阈值。步骤如下: 步骤1:预设分割区域为M,分解级数 ,L为图像最大灰度值; 步骤2:小波分解曲线 ,得到 ,令j=0, ; 步骤3: ,将大于j分解层次的 系数设置为0,用式(4-4)重建,在重建直方图 中,找出满足 和 条件的标号l(灰度),并且统计标号l的个数n; 步骤4:如果n 步骤5:从重建直方图 中,找到阈值 ; 步骤6:像素值与阈值 比较,标出所在区域。 阈值选取以及实验分析 本论文所采用波谷点确定为图像分割的阈值点,两阈值平均点作为后一阈值和前一阈值之间区间灰度的代表值。直方图分辨率的小波表示: 设图像的灰度范围为0,1,2,…,N-1,灰度值x(0 (4-5) 灰度值x出现的概率为: (4-6) 由上式可以建立该图像的直方图,它反映了该图H(x)={P x,x=O,1,…,N-1}上灰度分布的统计特性,是基于像素灰度的图像分割方法的基础。 为了建立小波变换的多分辨率分解表示,引入尺度函数 (x),其傅立叶变换 满足条件: (4-7) 可见, (x)相当于低通滤波器,这样图像直方图H(x)的低通分量为: (4-8) 设原始图像直方图信号各尺度之间的各阶小波变换{ }。可以证明:信号在在尺度为时被平滑掉的高频成分,可以用尺度的小波变换来恢复,我们称集合{ }为图像直方图信号的多分辨率小波分解表示。直方图信号多分辨小波分解由一个最低分辨率下的近似信号 和一组分辨率的细节信号 所组成。这是一种介于频域和时域的表示。为图像分析提供了一个由粗到细的分层框架。 多分辨率阈值选取 基于直方图和小波变换的图像分割技术由以下几个步骤组成:首先由粗分辨率下的图像直方图细节信息确定分割区域类数;其次,在相邻峰之间自动确定最优阈值;最后用求出的最优阈值分割原图像。 由于图像的原始直方图一般不够平滑或含有一定的噪声,因此,有必要对原始直方图进行平滑处理,以利于分割目标。其方法为:在空间域中采用保护边缘平滑方法平滑直方图,它既能保留原直方图基本变化特性,又能消除小峰的跳动。或者选取大尺度下的小波变换系数对直方图进行处理,也可以减小噪声的影响。 在分辨率为2j时,由小波分解后的直方图近似信号 的极大值确定初始区域类数,即确定峰的数目。对于灰度级数不多的原始影像,一个区域类通常对应直方图中的一个峰,然而,对于一幅复杂图像,经小波分解后平滑直方图中的每个峰则不一定都对应一个区域类,它也可能从属于邻近的一个峰,因而有必要通过检查认定哪些峰对应于分割区域类。 峰的独立性判断是为了消除不能成为一类的那些峰,独立峰应满足三个条件: (1)应具有一定的灰度范围; (2)应具有一定峰下面积; (3)应具有一定的峰谷差。 峰与峰之间的谷点选取首先在最低分辨率层进行,然后逐层推进,直到信号的最高分辨率层,并在每一层的阈值选取中,采用前一层的选取结构为引导。这种由粗到精的控制策略,能有效地选取最优分割阈值,同时较好地克服了噪声干扰和搜索空间大的问题。 设最优阈值分别为为T1,T2,T3,…,Tk(k为正整数),即可用这些最优阈值分割原始图像f(x,y),得到分割结果g(x,y),公式如下: (4-9) 其中Ck(k=O,1,...,K)表示分割后的类别代码。 (a)小波分解 (b)小波分割 (c)传统分割 图4-10小波阈值分割 传统阈值分割与小波阈值分割方法的比较: 一、全局二值化方法由于采用的是用一个固定门限值来分割,因此门限值的选取十分重要。众多学者提出了许多种选取“最优门限”的方法,但这种分割方法在光照不均匀和需要提取多个复杂特征的物体的时候难以获得较理想的效果。自适应二值化方法由于采用了自动取阈值的方法,避免了采用固定阈值的弊病,但是图像分割后局限性太大,效果不佳。 二、基于灰度直方图小波变换的多阈值分割,在小尺度下受噪声影响较大,但对阈值的定位比较准;大尺度下受噪声影响较小,可以找到确定阈值。峰与峰之间的谷点直接在大尺度下进行,既克服了噪声的影响,又有效的选取到最优阈值。对图像分割的效果明显优于前一种方法。 三、信噪比是信号与噪声的之比,但通常功率谱难以计算,有一种方法可以近似估计图象信噪比,即信号与噪声的之比。首先计算图象所有象素的局部方差,将局部方差的最大值认为是信号方差,最小值是噪声方差,求出它们的比值。信噪比越大,说明混在信号里的噪声越小,信号质量越好。 峰值信噪比一般是用于最大值信号和背景噪音之间的一个工程项目。通常在经过影像压缩之后,输出的影像通常都会有某种程度与原始影像不一样。为了衡量经过处理后的影像品质,我们通常会参考PSNR值来认定某个处理程序够不够令人满意。PSNR值越大,就代表失真越少。 通常一幅图像分割结果的好与坏,以人的主观判断作为评价标准[13],也就是说是人的视觉决定了分割结果的优良,这样就导致了由于人的视觉差异对图像分割好坏评价的不统一,所以对不同分割方法的结果做一个定量的、定性的评价也是必要的且有意义。