在诸多的图像分割算法中,模糊C均值(FCM)分割算法是目前应用最广泛的分割算法之一。最早由Dunn提出,后经Bezdek改进[4]。由于模糊集理论对图像的不确定性有较好的描述能力,因此FCM算法在医学图像分割中取得了良好的分割效果。最早把FCM算法用于医学脑部图像分割的是LiC L等人[5]。由于医学图像常有各种未知噪声,因此给分割带来很大的困难。已有一种改进的FCM(IFCM)算法用来解决该问题,并取得了很好的效果 [6]。在此基础上,本文提出一种新的FCM改进算法,即Sigma-IFCM(Sigma Improved Fuzzy C-Means)算法。这种新算法用Sigma过滤器理论考虑邻居像素,并使用去毛刺和边部光滑技术来修正分割后的脑部图像。从实验结果看,分割效果比 IFCM算法有较大的改善。
1 传统的FCM算法
传统的FCM算法对下列目标函数进行优化:
其中,X={x1,x2,x3,……xn}为数据集;U={uik}为模糊隶属度矩阵,uik表示第k个数据属于第i类的隶属度;V={vi}为聚类中心集合;||xk-vi||表示xk与vi的距离,度量数据点和聚类中心的相似度;m为模糊加权指数且1≤m<∞,本文中取m=2;C为聚类的数目且 2≤C<n。
聚类中心计算公式是:
隶属度迭代公式是:
2 IFCM算法
为去除噪声对分割的影响,文献[7]修改了FCM算法的目标函数,但增加了计算复杂度。而文献[6]在每次迭代过程中不仅考虑像素点本身的灰度值,还考虑它周边像素点的灰度值,但只修改了d(t)的计算方法,对目标函数的其他部分未作修改。以下为文献的计算公式,皆省略了上标(t):
其他计算过程及一些迭代公式与原始FCM算法相同。
3 Sigma-IFCM算法
3.1 Sigma过滤器
在IFCM算法中,考虑邻居点对中心点的影响时,需考虑周边所有的8个邻居点。虽然这样可以去除噪声对分割的影响,但同时对各个聚类的边部也造成了影响,即模糊了聚类的边部。所以在计算某像素点的邻居点时,引用Sigma过滤器(即Edge Preserve过滤器)的理论。首先计算所有邻居点的均值和方差,然后只考虑灰度值在均值的一个邻域内的那些邻居点,这样邻居点数目一般少于8个。
均值μ计算公式为:
