《基于特征矢量的模糊聚类算法以及GUI程序设计实现》14000字_第1页
《基于特征矢量的模糊聚类算法以及GUI程序设计实现》14000字_第2页
《基于特征矢量的模糊聚类算法以及GUI程序设计实现》14000字_第3页
《基于特征矢量的模糊聚类算法以及GUI程序设计实现》14000字_第4页
《基于特征矢量的模糊聚类算法以及GUI程序设计实现》14000字_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于特征矢量的模糊聚类算法以及GUI程序设计实现摘要………………55绪论………………61.1图像分割……………………61.2医学图像分割………………61.3图像特征与图像配准………81.4论文的主要工作和组织安排……………82.目前主要的图像分割算法………112.1图像分割及其数学表达式………………112.2图像分割算法分类………122.2.1基于边界的图像分割算法………122.2.2基于区域的图像分割算法………132.2.3基于边界和区域两者混合的方法………………152.2.4基于特定理论的分割方法………152.3医学图像分割方法性能评价……………173.基于特征矢量的模糊聚类算法以及GUI程序设计的实现…193.1模糊集及模糊聚类算法…………………203.1.1模糊集的引入……………………203.1.2模糊集的概念……………………203.1.3聚类与模糊聚类…………………213.1.4K-means算法……………………223.1.5基于模糊C均值聚类分割的算法原理…………233.1.6融合遗传算法的改进FCM算法…………………253.2基于约束和偏场模型的模糊聚类算法…………………253.2.1新算法的目标函数………………253.2.2参数的估计………263.2.3算法的初始化……………………273.2.4递归优化算法……………………283.2.5算法流程图………284.GUI程序设计和实验结果………304.1GUI程序设计……………304.1.1相关程序代码……………………304.1.2实验操作步骤……………………334.2实验数据和实验结果……………………334.2.1实验数据…………334.2.2实验结果…………334.3实验结果和评测…………354.4讨论和总结………………36参考文献……………38摘要:图像分割的方针是根据像素相似性准则来将图像分成许多个特定的、具备独特性质的不重叠区域,从而提取出我们感兴趣的目标。医学图像分割作为图像分割在医学影像中的应用,对于医学图像的分析至关重要。本文提出并实现了一种具有空间约束项的模糊聚类分割算法,并应用于对脑部MR图像的灰质、白质和脑脊液的分割。本文算法引入像素标记空间一致性约束来消弱噪声的不利影响,同时引入基于多项式的偏场模型来克服MR图像偏场的负面影响,提高了本文算法的鲁棒性和分割结果的准确度。实验结果表明本文算法不仅保留了FCM算法的速度快的特点,而且其对强噪声和大偏场MR脑部图像的分割结果依然有较高的准确度。关键词:图像分割;模糊聚类;FCM算法;MR图像;脑组织1绪论1.1图像分割

图像分割就是将一个大的图像分成许多个互不堆叠的小的图像,使得同一个小图像内的特征拥有一定的相似性,不同小图像的特征出现较为突出的差异。从繁杂的背景中提取出人们所需要的目标来进行后续分析是图像分割的实质[2]。医学图像处理以及分析的前提是医学图像分割,并且也受到人们的广泛关注,分割的算法也层出不穷。医学图像分割的发展到今天还有很大的进步空间,其中的重要原因就是医学图像的复杂性和多样性。再加上各种噪声(高斯噪声、椒盐噪声等)、部分容积效应和偏移场效应的影响,这些影响就使得使用分割算法后得不到想要的结果[3]。在当今世界,图像分割的应用非常广泛。在医学影像的分析、交通控制、气象的预先调查等很多领域中,图像分割的应用都取得了非常优秀的成绩,并且做出了一定的贡献。1.2医学图像分割医学图像分割是图像分割的一个分支,也是极为重要的一个分支,不仅扩大了图像分割的领域,而且为医学事业的发展做出了不可磨灭的贡献。医学图像分割就是把医学图像根据如亮度、颜色、纹理等医学图像相似性特征分割成多个互不连通的区域的过程。目前,临床医学越来越依赖各种模态的医学图像提供的信息,从医学图像中获得相关的诊断信息和医学信息必须依靠图像分割。医学图像技术的发展在可视化、三维重建等其它领域也发挥了非常重要的作用。随着科学技术和相关学科的快速发展,诸如医院等医疗机构在疾病诊断和手术计划制定等方面的相关关键信息主要依靠此类图像模式的医学图像来获得。尽管图像经过分割后,不同的区域拥有不同的属性,但是分割出的区域还是存在内部联系[2]。1.3图像特征图像特征主要有图像的颜色特征、纹理特征、形状特征和空间关系特征等。颜色特征和纹理特征都是一种全局特征,颜色特征是用来描述图像或图像区域所对应的景物的表面性质,纹理特征是用来描述了图像或图像区域所对应景物的表面性质。形状特征有轮廓特征和区域特征两类表示方法,纹理特征与颜色特征的不同点是纹理特征不是基于像素点的特征。纹理特征要在含有数个像素点的区域中进行统计计算[2]。所谓特征矢量,就是将多个图像特征串起来构成一个矢量,这个矢量就称为特征矢量。图像配准我们使用特征法。首先我们对待配准图像进行预处理,\t"/item/%E5%9B%BE%E5%83%8F%E9%85%8D%E5%87%86/_blank"图像分割和\t"/item/%E5%9B%BE%E5%83%8F%E9%85%8D%E5%87%86/_blank"特征提取的过程我们称之为预处理过程,其次利用提取得到的特征完成两幅图像特征之间的匹配,并通过特征的匹配关系建立图像之间的配准映射关系。因为图像中有很多种可以利用的特征,因而产生了多种基于特征的方法[11]。1.4论文的主要工作和组织安排本文主要研究课题为基于约束聚类的医学图像分割,是基于FCM算法[8]的改进算法。本文采用Matlab的图形用户接口(GUI)框架编写并实现了基于本文分割算法的程序。本文一共分为五章,各章节的主要内容如下:第一章为绪论部分,主要介绍了什么是图像分割、医学图像分割及其重要性、图像特征。第二章主要介绍了目前主要的图像分割算法,包括基于边界的图像分割算法和基于区域的图像分割算法以及基于特定理论的图像分割算法等[1]。第三章主要阐述了什么是聚类算法和模糊聚类算法,并且详细介绍基于约束聚类和多项式偏场模型的改进FCM算法。第四章主要阐述了实现本文算法的GUI程序设计,以及相关的实验数据、实验步骤和和实验结果。对实验结果进行分析和评测,并进行讨论和总结。2目前主要的图像分割算法2.1图像分割及其数学表达式图像分割已经广泛应用于各个领域,比如机器视觉、人脸识别等,其中,图像分割在医学影像中的应用最为广泛[14]。所谓图像分割,其实就是我们感兴趣的目标被提取出来的过程,或者说将图像分割成各具特性的区域使得在同一区域中的元素的相似度最大,不同区域之间的相似度最小。一直以来,不同的人对图像分割的定义有不同的理解。我们根据集合的相关概念,对图像分割给出了比较正式的定义[1]。令集合R代表整个图像区域,对R的分割可看出将R分成N个满足一下五个条件的非空子集(子区域)R1,R2,...,i=1NRi=R ∀i,j,i≠j,有Ri∩Rj=∅。独立性:指出分割结果中各个区域是互不交叉的,即分割结果中一个像素不能对于i=1,2,...,N,有P(Ri)=TRUE。相似性对于i≠j,有P(Ri∪Rj)=FALSE。互斥性:Ri是一个相连通的区域,∀其中,∅代表空集,P(Ri)是对应于子区域R如果增强待分割区域均匀性的约束,分割区域极易造成大量空白和不规则边缘的产生;如果过于重视分割之后不同区域间的差异性,则会导致合并了不同质的区域和一部分感兴趣边界的丢失[1][3]。2.2图像分割算法分类目前,国内外图像分割的算法层出不穷,本文将主要的分割方法分为以下四类:基于边界的分割方法,基于区域的分割方法,基于边界和区域两者混合的方法以及基于特定理论的分割方法[1]。以下是各类算法的详细讲述。2.2.1基于边界的图像分割算法基于边缘检测的图像分割算法的基本思想是先确定图像中的边缘像素,然后再把这些像素连接在一起就构成所需的区域边界。以下为常见的几种方法。边缘检测算法图像的边缘是图像最基本的特点之一,基于边缘的分割算法是图像分割算法中使用最早的。所谓图像边沿,即表现为图像中一个区域的闭幕和另一个区域的开始,图像中相邻区域之间的像素集合构成了图像的边缘[1]。很多时候,我们使用边缘检测算法是因为该算法边缘定位非常准确,并且算法速度快,然而该算法也有优点,就是不能保证边缘的连续性和封闭性且在高细节区域存在大量的碎边缘,但是又不能够将高细节区域分成小碎片;也由于此,边缘检测只能产生边缘点,而非完整意义上的图像语义分割过程。2)基于水平集的分割方法水平集是几何形变模型。水平集方法源于界面传播等研究领域的发展,它被用来处理封闭运动界面。通过思考一些流体中的重要思想,1988年,Osher和Sethian首次提出了水平集算法,这是一种有效解决曲线演化问题。水平集算法是一种有效解决曲线演化问题的数值方法,并且计算稳定,适宜任意维数空间。这些年来此算法已经广泛地应用在各个领域中,尤其是图像处理领域中。把运动的界面看作零水平集是水平集的基本思想,再将其嵌入到更高维的水平集函数中。这样一来,就可以从闭超曲面的演化方程得到水平集函数的演化方程,而它的零水平集一直是嵌入的闭合曲面。最后,零水平集确定了,运动界面演化的结果也就确定了[1]。2.2.2基于区域的图像分割算法基于区域的图像分割算法是比较常用的一类图像分割算法,该方法是以直接探寻区域为基础的分割技术。该方法一共有两种基本形式:一种是区域生长,即从单个像素出发,逐步归并以形成所需要的分割区域;另一种则是从全局出发,一步步切割至所需的分割区域。主要包括以下几类:1)阈值分割阈值分割是比较常见的一种并行分割方法。使用阈值分割首先必须确定一个灰度值,这个灰度值也称“阈值”,是用来划分不同的类别。把灰度值大于阈值的所有像素归为一类,小于阈值的所有像素归为另一类。阈值分割方法实则是如下变换:数学公式:此中,T为阈值,对于物体的图像元素g(i,j)=1,对于背景的图像元素g(i,j)=0。由此可知,阈值分割算法最关键的地方就是确定阈值,假如我们能够确定一个合适的阈值,我们就能够将图像准确地分割开来。阈值确定后,将阈值与像素点的灰度值逐个进行比较,从而就能对图像进行分割。阈值分割可以分为单阈值分割方法和多阈值分割方法:单阈值分割方法只设置一个阈值,将图像分为目标和背景即可;多阈值分割方法则需要设置多个阈值,利用多个阈值将图像分割为多个目标和背景区域[1]。我们使用阈值分割算法主要是因为它操作简单,当不同事物或组织结构间有很强大对比时,我们可以获得更好的效果;然而该算法的缺点也很明显,当目标与背景或目标之间灰度区别不明显时,或者是目标与背景的灰度值范围有较大重叠时,就很难得到准确的结果。除此之外,它对噪声还特别敏感[1]。区域生长法基于区域的分割方法是根据图像的相似性准则划分为各种不同的类别,而区域生长法是区域分割法中常用的一种图像处理方法,它是根据某一种事先定义好的法则将各子区或者其他像素聚合成一个更大区域的一种图像处理方法[2]。2.2.3基于边界和区域两者混合的方法两者混合的方法就是将基于边界和基于区域的方法混合,取两者之优势,避免其劣势[4]。2.2.4基于特定理论的分割方法图像分割到目前为止还没有通用的自身理论。随着科学的发展,技术的进步,各学科提出了许多新理论和新方法,因此出现了很多与一些特定理论、方法相结合的图像分割方法。当前图像分割技术研究发展的趋向是将新概念、新方法尤其是数学领域提出的新方法引入到图像分割领域中[12]。1)基于统计学的分割方法统计学方法的内涵是从统计学的角度出发对数字图像进行建模,我们把图像中各个像素点的灰度值看作是拥有一定概率分布的随机变量。统计方法是比较流行的医学图像分割方法。基于统计学的分割方法中,使用最频繁的是基于马尔可夫随机场(Markovrandomfiled,MRF)模型算法。MRF模型被广泛应用于被噪声破坏的图像的恢复、分割和纹理分析等领域。参数估计是MRF模型中一个重要的问题,只有参数估计的正确性才既能保证图像分割的准确性,又能保证算法的自适应性。参数估计是该方法被广泛应用之前必须解决的一个重要问题。必须选择正确的参数估计方法和优化计算方法,以保证估计的正确性和收敛的快速性。MRF的算法的缺点是不能有效地处理图像的模糊性且存在过分割现象[3][4]。2)基于遗传算法的分割方法遗传算法采用的是非遍历寻优搜索策略,是一种简单的、适用于并行处理并且具有鲁棒性和广泛适用性的搜索方法。该算法在搜索过程中是直接作用于在参数集中进行了编码的个体,而不是直接作用于变量,由此可以使该方法直接对图像进行操作。整个搜索采用同时处理群体中多个个体的方法,是从一组解迭代到另一组解的过程,这样做的好处是降低了陷入局部最优的可能性,而且易于并行化处理。遗传算法的优点是擅长全局搜索,缺点是局部搜索能力不足,因此在医学图像分割中常把遗传算法和其它算法结合起来使用(第三章将会提到)[1][3][4]。3)基于模糊集理论的分割方法本文研究的重点就是基于模糊聚类的图像分割方法。由于医学图像具有模糊和不均匀的特性,图像中的区域并非总能被明确地划分,基于模糊集理论的方法也就应运而生。模糊技术是在模糊集理论的基础上建立起来的,对噪声不敏感,并且还能很好地处理三维图像内在的模糊性。对于一个目标物体,用0到1之间的一个隶属度值来表示图像中像素隶属于目标物体的程度,越接近于0,表明隶属度越小,越接近于1,表明隶属度越大。从而有效的刻画了图像的模糊性,特别适合处理医学图像中的不确定性的问题[3][6]。模糊分割技术主要有模糊阈值、模糊聚类、模糊边缘检测、模糊连接度等。在模糊聚类技术中,模糊C-均值(FCM)聚类技术使用最为广泛,FCM算法是一种无监督学习算法,所谓无监督学习算法,就是在聚类过程中不需要任何人为外界因素的加入,所以它比较适合用于自动化方面[3]。FCM算法的优势主要在以下两个方面,其一是FCM算法能够很好地处理噪声、部分容积效应、模糊性等图像问题;其二就是它是一种无监督的模糊聚类分割算法。FCM算法的缺点就是容易受到初始值选取的影响,如果初始值选取不当,不仅会影响算法收敛速度,而且可能导致算法收敛到局部极小点,从而影响最终的分割结果。传统的FCM算法不能有效分割噪声图像和退化图像。因此,如何改进FCM算法来使其能够合理地利用空间信息就成为了当前的一个研究热点。目前,在FCM的基础上,又出现了如快速FCM算法(FFCM)、FCM-Chen算法等改进算法[1]。2.3医学图像分割方法性能评价除了前面介绍的图像分割算法,图像分割算法还有很多种,特别是灰度图像的分割算法更多。算法有很多,不一样的算法有不同的优缺点。如何评价一个算法的好坏是图像处理算法中的一个大难题。目前,对某一医学图像分割算法很难给出客观的、系统的、定量的评价。究其原因,主要存在以下两个问题:①不同的组织或者器官以及不同的成像模式(CT/MRI/PET等)所得到的医学图像的特点差别很大,②同一幅特定的医学图像,不同的医学图像专家也许会得到不同的分割结果,分割结果存在很大的人为因素在里面。介于以上两点,所以很难对计算机分割方法得到的分割结果做统一的客观评价,缺少关于医学图像分割的金标准数据库[7]。图像分割评价通过对图像分割算法性能的研究以达到优化分割的目的,分割评价不仅可以提高算法的性能,而且对研究新的技术也具有指导意义。一般,我们要求评价方法应该具有以下几点要求:①评价方法应该具有通用性,即它要适合于评价不同类型的分割算法以及适合于各种应用领域的情况。②应采用定量和客观的性能评价准则,所谓定量是指可以精确地描述算法的性能,客观是指要摆脱人为因素来进行评价。③应该取用通用的图像进行测试以使评价结果具有可比性,同时这些图像要尽可能反映客观世界的真实情况和实际应用的共同特点。除此之外,对图像分割算法的评估要基于一定的评估准则,也称评估指标或者测度。本文使用的测度就为Dice测度(详细见第四章)[10]。3基于特征矢量的模糊聚类算法以及GUI程序设计的实现3.1模糊集及模糊聚类算法3.1.1模糊集的引入在现实生活中充满了不确定、含糊的信息,在1965年,美国加州大学伯克利分校电气工程系的L.A.zadeh(扎德)教授首次创立模糊集合理论,模糊理论就是在模糊集合理论的数学基础之上发展起来的,主要包括模糊集理论、模糊逻辑、模糊推理和模糊控制等方面的内容[13]。早在20世纪20年代,著名哲学家和数学家B.Russell就写出了有关“含糊性”的论文。他认为所有的自然语言都是模糊的,比如“暖和的”和“年轻的”等概念没有明确的内涵和外延,因而是不明确的和模糊的。可是,在特定的环境中,人们用这些概念来描述某个具体对象时却又能心领神会,很少引起误解和歧义。美国加州大学的L.A.Zadeh教授在1965年发表了著名的论文,文中首次提出表达事物模糊性的重要概念:隶属函数,从而突破了19世纪末康托尔的经典集合理论,奠定模糊理论的基础[6]。后来用隶属度函数来衡量事物模糊的程度,引入隶属度,标志着模糊数学的产生[1]。模糊数学理论不仅能概括事物“非此即彼”的确定性状态,还能概括事物“亦此亦彼”的不确定性状态,也因此与传统数学相比它的应用范围更为广泛。到目前为止,模糊数学已经在模式识别、人工智能、医疗诊断以及生态学、心理学等多种领域得到应用[1]。3.1.2模糊集的概念在经典集合理论中,集合A可由其特征函数唯一确定:(3-1)即x∈A和x∉A有且只有一个成立。为了更好地刻画模糊现象和将普通集合里面的函数更容易地扩展到模糊集里面的隶属度函数,我们要将离散的两点{0,1}扩展到连续区间[0,1]。隶属度函数定义:设X是论域,μA是把任意x∈X映射为[0,1]上某个数值的函数,即μAx→μA则称μA为定义在X上的隶属度函数,由μA(x)所构成的集合A,被称为X上的模糊集,μ由以上定义可以可看出,隶属函数完全可以刻画模糊集A,隶属函数μA把X中的每个元素x都映射为[0,1]上的一个值μA(x),表示该元素属于A的程度,该值越接近于1,就表明属于A的程度越高。当μA(x)3.1.3聚类与模糊聚类在图像处理中,聚类是依照像素的某种属性,聚成若干个类,同一个类中的像素彼此相似,而不同类中的像素要彼此不同,因为它的思想与图像分割的思想基本一致,所以聚类适用于图像分割。我们通过引入模糊集合理论来研究分析图像分割所存在的这些问题的原因是因为图像本身存在模糊性以及不确定性以及为了取得更好的结果,而且有其内在的合理性和必然性。聚类一般可以分为硬聚类与软聚类。在硬聚类的算法中,像素对类的隶属度不是0就是1,也即属于时为1,不属于时为0,像素只能属于其中一个类,不能再属于别的类别。典型的代表是K-means算法等。由于此类算法未考虑领域的相关信息,导致分割结果不是很理想。另一类是软聚类,软聚类就是在硬聚类的基础之上引入了模糊的概念,使得算法拥有了柔的特性。在软聚类中,模糊聚类的分割方法是使用最多的。模糊属性的提出改善了硬划分中存在的不足,模糊理论的推广可以解决很多硬划分不能解决的问题。关于图像,在硬聚类中,像素只能属于其中一个类,不是0就是1;而在软划分中,每个像素对类的隶属度在0和1之间,即像素点可以根据不同的隶属度同时属于不同的类,越接近0,对该类的隶属度越小,越接近1,对该类的隶属度越大,但是像素点对所有类的隶属度的总和是1。引入了隶属度的概念是模糊聚类方法的优势,因为让模糊聚类方法拥有了柔的特性,所以不仅可以有效解决图像模糊性与不确定性的问题,而且它的分割效果优于硬聚类的分割方法。FCM算法是模糊聚类方法中比较常用且实用的一种聚类方法,用FCM算法分割图像时,在图像分割中融入模糊理论,图像的原始信息就能被较多的保留下来,获得更好的分割效果[6]。3.1.4K-means聚类算法在前面讲到,硬聚类算法中的代表算法是K-means算法。K-means操作简便以及效率相对来说比较高是它在聚类算法中使用比较多的一类算法的原因。以样本之间的欧式距离为相似性准则是K-means算法的基本思想。我们把样本集合分为了K个类使得在这K个类中被分到同一类中的样本距离尽量小,连接尽量紧密一些,而分到不同类中的样本之间的距离尽量大[6]。means算法的基本操作为:首先选取K个聚类中心,然后根据距离最近原则划分数据对象到聚类中心,划分完所有数据过后,会聚集K个类,然后依据现有对象去更新每个聚类中心,就会得到新的K个聚类中心,然后重复以上操作,直到聚类中心不发生变化或者变化幅度很小或者达到了我们预先设置的迭代次数为止。聚类的目标是使得各类的聚类平方和最小,即最小化目标函数,目标函数如下:(3-2)其中,k表示一共有k个数据簇,x是数据簇中的数据,是数据簇中的均值向量。上式描述了簇类样本围绕簇均值向量的紧密程度,J值越小则表明簇类样本相似性越高,因此只要最小化上式就能得到最优分类结果[6]。结合最小二乘法和拉格朗日原理,可以得出聚类中心为对应类别中各数据点的平均值,同时为了使得算法收敛,在迭代过程中,我们要使得最终的聚类中心尽量保持不变。我们将K-means算法步骤化和图像化,分为如下四个步骤[6]:①首先随机选取K个聚类中心,作为初始聚类中心;②依据距离最近原则,将所有的对象分配到相应的离它最近的那个聚类中心;③更新聚类中心,聚类中心采用每个类中全部对象的均值,然后计算目标函数的值;④判断目标函数的值是否改变,若不变或者变化很小或者达到预先设定的迭代次数,则算法结束,否则返回②;以下为K-means算法的一个图像例子,见图(3-1):图(3-1)上图a表达了初始的数据集,我们假设k=2,在图b中,我们随机选取了两个聚类中心,然后根据距离最近原则将数据分割成两部分,获得图c,然后更新聚类中心,得图d,再次根据距离最近原则划分数据集,得图e,再次更新聚类中心,得图f,以此类推进行下去,知道聚类中心不发生改变或者变化很小时,结束算法,得到最终结果。当然在实际K-Means算法中,我们一般会多次运行图c和图d,才能达到最终的比较优的类别。3.1.5基于模糊C均值聚类分割的算法原理在软聚类算法中,FCM算法是一种代表性算法,它是一种基于划分的聚类算法,它按照某一相似性原则,使得在同一类中的对象之间的相似度尽可能达到最大,而不同类中的对象的相似度尽可能达到最小。FCM算法在硬聚类算法K-means算法的基础之上结合模糊理论而形成一种模糊聚类算法,它是一种软划分的聚类算法,而K-means算法是一种硬划分聚类算法[6]。FCM算法是基于目标函数的一种聚类算法,它通过不断迭代来更新聚类中心和隶属度函数,使得目标函数达到最小以完成图像图像分割[6]。目标函数:(3-3)其中,c为预定的聚类数目,表示X中任意样本属于聚类i的隶属度函数,,i=1,2,c为每个聚类的聚类中心,2≤c≤N,m∈[1,∞)为聚类加权指数,它控制数据划分过程的模糊程度,当m=1时,模糊聚类就退化为硬C均值聚类。研究表明,m=2是比较理想的取值。表示第k个像素到第i个聚类中心的欧氏距离(欧几里得距离)。其中,隶属度函数要满足如下关系式:(3-4)在隶属度函数满足上式的情况下,通过拉格朗日来得到聚类中心和隶属度函数的迭代更新公式,如下:(3-5)3-6)FCM算法步骤如下:①初始化参数,随机初始化聚类中心,迭代次数l=0;;②由(3-5)式更新隶属度矩阵;③由(3-6)式更新聚类中心;④若||-||<Ԑ,则迭代终止,输出U和V;否则,令l=l+1,返回②;在FCM算法中,参数选择尤为重要,尤其是聚类个数c和模糊参数m;一般来讲,聚类个数c要远小于其样本总数,同时也要大于1;模糊参数m控制算法的柔性,不能太大也不能太小,如果m取太大,则算法的聚类效果会特别差,如果m取太小,则算法的聚类效果和HCM算法的聚类效果差别不大,一般来说,我们将m设置为2会得到很好的聚类效果[1]。3.1.6融合遗传算法的改进FCM算法遗传算法广泛应用于各个领域,比如自动控制、生产计划、图像处理、机器人等研究领域。传统的FCM算法属于局部搜索优化算法,其初值的大小会直接影响算法的性能(算法的结果)。将遗传算法与FCM算法相结合,来优化FCM算法的初始值,这也是该改进算法的关键。这样做不仅提高了全局优化算法的性能,有效避免陷入局部收敛算法,而且也提高了算法的抗噪声能力(椒盐噪声、高斯噪声等)[2]。3.2基于约束和偏场模型的模糊聚类算法由于脑部MR图像分割过程主要是受噪声的影响,但是目前已经存在的模糊聚类算法对脑部MR是不能够提供优质的分割技术的,鉴于此点,本文提出了基于模糊聚类的改进算法——带偏场校正和邻域约束的FCM图像分割算法。在该算法中,我们给出了一种新的分割目标函数,并且我们利用参数模型近似偏场和类似马尔可夫随机场先验得的邻域约束来模拟脑组织分布的空间一致作用。改进后的算法一是可以正确的设置初始值,二是能削弱产生的噪声,有效地克服了噪声和偏场的影响。我们通过和现有的分割算法比较时发现,新的算法具有更高的精度和更快的分割速度[2]。3.2.1新算法的目标函数因为模糊聚类算法存在在分割时达不到预期效果的问题,所以偏场校正和邻域约束的模型就应运而生,新算法的思想是在该算法的目标函数中增加新的约束条件,运用邻域的分割结果对中心像素进行分析归类。与原始FCM算法的目标函数相比,新算法的目标函数还增加了第二项——像素模糊隶属度矢量约束项,作用是为了削弱噪声的影响。具体目标函数如下[8]:(3-7)其中:为参数模型表达的MR图像的偏场B,L为参数模型的基函数的个数,为像素j处的基函数的值,为待估计的模型参数,即基函数的系数;为像素j的邻域,||为像素j邻域的势,即像素j邻域像素的数目;为邻域约束的权重系数[9],在我们的递归算法中是不变的。3.2.2参数的估计在新算法的目标函数中,目标函数J的最小化和标准的FCM算法极其相似。我们通过对目标函数J分别对取偏导数,并置各自的偏导数为0,从而推导出使得目标函数J取得局部极值的必要不充分条件[8]。隶属度函数的估计新算法的约束优化用拉格朗日乘子L来解决[8]:(3-8)L对取偏导数,并令其偏导数为0,即:其中:,为了方便计算,我们令q=2,解出上式得的估计为:(3-9)其中:,。聚类中心的估计对L取的偏导数,并令该偏导数为0,即[8]:由此解得:(3-10)偏场B的估计同前面一样,对L取的偏导数,并且置偏导数为0,如下[8]:(3-11)解上列方程组会得到的估计。为了更明确地表达,我们采用了矩阵的形式去表达,即:其中:,,,。在上面(3-11)式子中,估计参数的个数小于方程个数,因此方程(3-11)是过定的,所以该方程的解是在最小平方意义下的最优解。我们用象素分割结果的抽样来快速估计偏场B的参数,这样估计偏场大大节省了时间,提高了算法的效率[8]。3.2.3算法的初始化本文算法的初始化非常简单,具体步骤如下[8]:正则化图像象素灰度值到[0,1]区间。根据具体情况选择分割聚类数C,在脑部MR图像分割实验中,C=3。选择邻域形式,依据具体情况选择适当的邻域形式。设置初始聚类中心,此聚类中心可以随机选取,本文将聚类中心设置为。选择偏场模型基函数形式和阶数,本文设置偏场初始函数。初始化隶属度函数矩阵计算灰度值与聚类中心得到的矩阵便是初始隶属度函数的矩阵。3.2.4递归优化算法本文新算法的步骤如下[8]:对新算法进行初始化设置最大迭代次数iter_max和一个标量值Ԑ>0令迭代次数iter=0用式对隶属度矩阵U进行更新用式对聚类中心进行更新用式更新偏场模型参数判断是否成立,若成立,则终止迭代,否则,iter=iter+1,重复(4)~(6)3.2.5算法流程图.图3-2算法流程图4GUI程序设计和实验结果本章主要讲述了GUI的程序设计过程和实验数据以及相关实验结果。4.1GUI程序设计GUI(GraphicalUserInterface)的中文名称为图形用户界面,是指采用图形方式显示的计算机操作用户界面,是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或者菜单选项,用来达到选择命令、调用文件、启动程序或者执行其它一些日常任务的目的。本文算法是在WindowsXP平台下由MatlabR2016a下编程实现。GUI界面包含以下三个大的模块:显示模块:一共有五个axes插件,用来显示五幅图像;参数设置模块:在文本框里设置相应的参数,或者点击“缺省值”按钮一键设置默认参数,选择相应的特征;文件加载和运行模块:点击加载图像按钮加载.mat图像,设置切片数进行预处理,设置相应参数后点击“聚类算法”运行算法;界面显示如图:4.1.1相关程序代码本小节将程序的主要代码展示出来:功能代码:①选取文件:globalIMImg_gradientimslice_numdataALL%%选择文件地址[filename1,pathname1]=uigetfile({'*'},'选择数据');ImageName1=[pathname1filename1];ALL=load(ImageName1);%%将图片地址赋值给editset(handles.edit7,'String',pathname1);%%将图片地址赋值给editset(handles.edit11,'String',filename1);②保存文件:%%读取文件名globalImg_filterImg_gradientim_segpathname2ImageName2=get(handles.edit12,'String');str=strcat(pathname2,'\',ImageName2,'.jpg');imwrite(im_seg,str);③缺省值按钮(默认值):param.c=3;param.m=2;param.e=1e-6;param.v=1;set(handles.edit1,'string',param.c);set(handles.edit2,'string',param.m);set(handles.edit3,'string',param.e);set(handles.edit4,'string',param.v);第二部分算法代码:①预处理:globalIMImg_gradientimslice_numdataALLim=ALL.im;im_size=size(im);%%选取需聚类的切片%slice_num=floor(im_size(3)/2);%选择3D图像中的一个slice,即一个2D横断面N=get(handles.edit6,'String');slice_num=str2double(N);%%当前切片影像灰度IM=im(:,:,slice_num);%从3D图像中,提取slice_num这个横断面图像%%灰度梯度Img_gradient=gradient(double(IM));%%归一化灰度图Img_F=(IM-min(IM(:)))/(max(IM(:))-min(IM(:)));%%提取切片中的脑部区域I=find(IM>0&IM<=255);%去除背景,即把图像中灰度值为0的像素去除,它们不是脑内组织,我们只须对脑内组织聚类分割%掩模图像Img_s=IM;Img_s(Img_s==0)=NaN;%%绘图axes(handles.axes1);imshow(IM,[]);drawnow;axes(handles.axes3);imshow(Img_s,[]);drawnow;axes(handles.axes2);imshow(Img_F,[]);drawnow;axes(handles.axes4);imshow(Img_gradient,[]);drawnow;②算法运行:globalIMImg_gradientimslice_numdataALLim_seg%%聚类参量parametersN1=get(handles.edit1,'String');param.c=str2double(N1);N2=get(handles.edit2,'String');param.m=str2double(N2);N3=get(handles.edit3,'String');param.e=str2double(N3);N4=get(handles.edit4,'String');param.val=str2double(N4);%param.c=3;%param.m=2;%param.e=1e-6;param.ro=ones(1,param.c);%param.val=1;%%聚类clusteringI=find(IM>0&IM<=255);%去除背景,即把图像中灰度值为0的像素去除,它们不是脑内组织,我们只须对脑内组织聚类分割%判断是使用灰度or灰度梯度进行聚类ifget(handles.radiobutton1,'value')data.X=IM(I);%使用灰度elseifget(handles.radiobutton2,'value')data.X=Img_gradient(I);%使用灰度梯度end%%归一化normalizationdata=clust_normalize(data,'range');%%聚类result=FCMclust(data,param);%%按v的聚类中心的大小排列v,由大到小[v_ri_r]=sort(result.cluster.v',2,'ascend');result.data.f=result.data.f(:,i_r);[valueI_seg]=max(result.data.f,[],2);im_seg=zeros(size(IM));im_seg(I)=I_seg;axes(handles.axes5);imshow(im_seg,[]);drawnow;4.1.2实验操作步骤首先选择文件地址,导入相应文件到Matlab中;给edit赋值图片地址,读取文件名;设置聚类参量parameters;聚类clustering,去除背景,即把图像中灰度值为0的象素去除,它们并不是脑内组织,我们只需要对脑内组织聚类分割即可;归一化normalization,按照v的聚类中心的大小排列v,由大到小;选取需要聚类的切片数目,本次实验选取50;提取切片中的脑部区域;在matlab中进行绘图操作;4.2实验数据和实验结果4.2.1实验数据本文的实验数据全部选自BrainWeb的脑部MR3D图像数据。包含3%~9%的噪声和20%~40%的偏场,图像模式为T1权重,其中3D图像数据像素大小为mm。例:t1_icbm_normal_1mm_pn5_rf20.mat就表示图像是T1权重,每个像素的真实大小为的立方体,pn5表示图像噪声为5%,rf20表示图像的偏场幅度为20%。4.2.2实验结果注:以下切片数均为50:图4-1噪声:9%,偏场:40%,图4-2噪声:9%,偏场:20%,Dice测度:0.804712Dice测度:0.822423图4-3噪声:7%,偏场:40%,图4-4噪声:7%,偏场:20%Dice测度:0.857374Dice测度:0.86683图4-5噪声:5%,偏场:40%,图4-6噪声:5%,偏场:20%Dice测度:0.901625Dice测度:0.910715图4-7噪声:3%,偏场:40%,图4-8噪声:3%,偏场:20%Dice测度:0.930568Dice测度:0.944674脑灰质分割结果的3D显示(噪声:3%,偏场20%)表4-1BrainWeb仿真MR图像2D分割结果序号模式噪声(%)偏场(%)组织类型Dice测度1T1320白质0.967437灰质0.966527脑脊液0.9638742T1340白质0.959866灰质0.958163脑脊液0.9540003T1520白质0.94864灰质0.946881脑脊液0.9403394T154

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论