用于X光片图像数据的聚类集成方法
技术领域
本发明涉及一种聚类集成方法,具体地涉及一种用于X光片图像数据的聚类集成方法。
背景技术
随着各种科技在医学领域的应用,传统的放射诊断学已成为医学影像的基本部分。X线摄影是临床上最常用的医学检查方法,几乎适用于人体的任何部位,它具有空间分辨率高图像清晰层析分明的特点,常用作医学诊断的辅助工具。虽然X光片有以上各种优点,但在X光片成像时三维的人体被显示为二维的图像,所以在人体器官的显示上就会出现重叠和失真的情况,其密度分辨率不如CT、超声和MRI。
因为有以上存在的各种问题,通过将聚类技术应用在X光片数据上,从而达到提供观察者更多的信息的目的,降低重叠和失真带来的影响。
X光片作为数据具有数据量巨大,数据点分布稀疏,存在大量的近似点(灰度相同的点)等特点,导致许多传统聚类方法都会产生比较差的结果。特别是X光片这种图像数据中存在着大量的数据点,这就导致了进行聚类分析的算法时间复杂度和空间复杂度不能太高,否则消耗的时间和占用的内存会达到无法容忍的程度。
适用于X光片图像聚类的算法主要有两种,一种是基于K均值的聚类集成算法,还有一种是层次聚类算法。
1、K均值算法具有适应范围广范,而且针对X光片图像数据而言类与类之间区别明显时,对于处理大数据集,这个算法是的时间复杂度和空间复杂度都基本令人满意。而且由于数据的特殊性,不存在非球状簇。所以从理论上看K均值算法能够很好地适应这种特殊的图像数据。计算的时间复杂度为O((NKt),其中N是数据对象的数目,t是迭代的次数。一般来说,K<<N,t<<N。K均值算法的空间复杂度较低,只需要存放数据点和质心。具体的说所需要的存储空间为O((N+K)p),其中N是对象的数量,p是属性数。但是,X光片这种特殊的图像数据中有大量灰度值重复的点,选取到相同灰度的初始簇中心的概率较大。只要出现有簇中心灰度相同的情况就会导致空簇的出现,这就对导致聚类结果变差。
以上分析中可能出现“空簇”的问题是由于K均值算法本身的缺陷造成的,因为K均值算法的结果极大的依赖于初始簇中心的选取。
2、层次聚类方法对给定的数据集进行层次的分解,直到某种条件满足为止。具体又可分为凝聚的,分裂的两种方案。
a.凝聚的层次聚类是一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足,绝大多数层次聚类方法属于这一类,它们只是在簇间相似度的定义上有所不同。
b.分裂的层次聚类与凝聚的层次聚类相反,采用自顶向下的策略,它首先将所有对象置于同一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终止条件。
层次聚类算法相较于K均值算法不受人为因素和不确定因素的影响。这类算法可以产生比较高质量的聚类。而层次聚类本身对噪声和高维数据的处理表现不佳,但在面对X光片图像数据时不会有这些问题。所以从理论上看层次聚类在处理这类数据时会有比较好的结果。但是,对于数据X光片图像而言,层次聚类算法的高时间复杂度和空间复杂度将会导致每次实验消耗大量的时间和内存空间,甚至会导致内存溢出的错误。
发明内容
针对上述技术问题,本发明目的是:提供一种用于X光片图像数据的聚类集成方法,可以降低X光片的观察难度甚至能够找出外源性异物,从而辅助医生的诊断。
本发明的技术方案是:
一种用于X光片图像数据的聚类集成方法,其特征在于,包括以下步骤:
S01:对X光片图像预处理后,从图像中获取数据;
S02:获得图像中每一个点的灰度值Gi,j存储在灰度值矩阵G中,Gi,j表示图像中第i行,第j列点的灰度值;
S03:用基于K均值改进算法的聚类集成算法或者基于层次聚类改进算法对灰度值矩阵G进行聚类分析处理;
S04:使用HGPA算法进行集成运算。
优选的,所述基于K均值改进算法的聚类集成算法,包括以下步骤:
S11:随机选取1个簇中心;
S12:随机选取1个簇中心,比较选取的簇中心与之前选取的簇中心的灰度值是否相同;
S13:若相同则放弃该簇中心,执行步骤S12,若不相同则选取该簇中心,继续执行步骤S12,直至选取的簇中心个数为K个;
S14计算灰度值矩阵G中的每个点到各个簇中心的距离,将距离最短的点划分为该簇中,并修改为该簇的Li,j值,Li,j代表第i行第j列的点所在簇的标签;
S15重新计算每个簇的中心,执行步骤S14直到每个簇的中心固定不变。
优选的,所述基于层次聚类改进算法,包括以下步骤:
S21:计算邻近度矩阵A(i-1)*k+j,(m-1)*k+n=Gi,j-Gm,n,其中k为灰度矩阵G一行的元素个数,Gi,j表示图像中第i行,第j列点的灰度值,Gm,n表示图像中第m行,第n列点的灰度值;
S22:将灰度值相同的数据点合并到同一个簇中;
S23:合并数值最接近的两个簇,更新邻近矩阵;
S24:重复步骤S23,直至剩下一个簇。
优选的,对数据点进行聚类后将处于同一个簇的点用同一种颜色在图片上标出。
与现有技术相比,本发明的优点是:
1.X光片通过聚类集成技术降低X光片的观察难度甚至能够找出外源性异物,从而辅助医生的诊断。
2.K均值改进算法的算法主体部分仍然是K均值算法,做改进的部分主要是K个初始簇中心的选取。在改进算法中K个初始簇中心的灰度一定不会相同,这就保证了在运算时不会出现“空簇”的情况。将改进的K均值算法结果进行聚类集成使用HGPA算法进行集成运算,得到最终的聚类结果,使得运算结果更加稳定。
3.改进后的层次聚类算法在数据预处理过程中将数据进行了简化,将灰度值相同的点先划分在了同一个簇中。通过简化一个灰度图中的初始簇数量最多只有256个。相比于传统凝聚层次聚类算法直接处理十几万个簇,其节省了很多的时间,对内存空间的要求也大大降低。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明用于X光片图像数据的聚类集成方法的流程图;
图2为本发明用于X光片图像数据的聚类集成方法的K均值算法改进算法流程图;
图3为本发明用于X光片图像数据的聚类集成方法的改进K均值算法的聚类集成结果;
图4为本发明用于X光片图像数据的聚类集成方法的基于层次聚类改进算法的流程图;
图5为本发明用于X光片图像数据的聚类集成方法的改进后的层次聚类算法进行聚类集成结果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
如图1所示,一种用于X光片图像数据的聚类集成方法,包括以下步骤:
S01:对X光片图像预处理后,从图像中获取数据;
S02:获得图像中每一个点的灰度值Gi,j存储在灰度值矩阵G中,Gi,j表示图像中第i行,第j列点的灰度值;
S03:用基于K均值改进算法的聚类集成算法或者基于层次聚类改进算法对灰度值矩阵G进行聚类分析处理;K均值改进算法的算法主体部分仍然是K均值算法,改进的部分主要是K个初始簇中心的选取。改进后的层次聚类算法在数据预处理过程中将数据进行了简化,将灰度值相同的点先划分在了同一个簇中,通过简化一个灰度图中的初始簇数量最多只有256个。
S04:使用HGPA算法进行集成运算。
如图2所示,基于K均值改进算法的聚类集成算法,包括以下步骤:
S11:随机选取1个簇中心;
S12:随机选取1个簇中心,比较选取的簇中心与之前选取的簇中心的灰度值是否相同;
S13:若相同则放弃该簇中心,执行步骤S12,若不相同则选取该簇中心,继续执行步骤S12,直至选取的簇中心个数为K个;
S14计算灰度值矩阵G中的每个点到各个簇中心的距离,将距离最短的点划分为该簇中,并修改为该簇的Li,j值,Li,j代表第i行第j列的点所在簇的标签;
S15重新计算每个簇的中心,执行步骤S14直到每个簇的中心固定不变。
在K个初始簇中心的选取上做了改进,使得彼此不会有相同的灰度值。
将改进的K均值算法结果进行聚类集成使用HGPA算法进行集成运算,对数据点进行聚类后将处于同一个簇的点用同一种颜色在图片上标出。得到综合后的结果如图3所示。HGPA算法是基于超图划分原理进行聚类,得到最终的聚类结果。由于HMETIS算法的目标是找到一个划分,使超边的切割值最小,并且簇的大小大致相等,结果比较稳定。
如图4,基于层次聚类改进算法,包括以下步骤:
S21:计算邻近度矩阵A(i-1)*k+j,(m-1)*k+n=Gi,j-Gm,n,其中k为灰度矩阵G一行的元素个数,Gi,j表示图像中第i行,第j列点的灰度值,Gm,n表示图像中第m行,第n列点的灰度值;
S22:将灰度值相同的数据点合并到同一个簇中;
S23:合并数值最接近的两个簇,更新邻近矩阵;
S24:重复步骤S23,直至剩下一个簇。
使用HGPA算法进行聚类集成之后,对数据点进行聚类后将处于同一个簇的点用同一种颜色在图片上标出。结果如图5所示。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。