图像分割是把图像分割成互不相交的区域,使每个区域内的像素具有某种相似的特征,以便对图像进行后续处理。图像分割是图像分析的难点之一,至今没有一个通用且有效的图像分割方法能够满足不同的需求。在脑部MR图像分析中该问题尤为突出。
在诸多的图像分割算法中,模糊C均值(FCM)分割算法是目前应用最广泛的分割算法之一。最早由Dunn提出,后经Bezdek改进。由于模糊集理论对图像的不确定性有较好的描述能力,因此FCM算法在医学图像分割中取得了良好的分割效果。最早把FCM算法用于医学脑部图像分割的是LiC L等人。由于医学图像常有各种未知噪声,因此给分割带来很大的困难。已有一种改进的FCM(IFCM)算法用来解决该问题,并取得了很好的效果。在此基础上,本文提出一种新的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
聚类中心计算公式是:
隶属度迭代公式是:
2 IFCM算法
为去除噪声对分割的影响,文献[7]修改了FCM算法的目标函数,但增加了计算复杂度。而文献[6]在每次迭代过程中不仅考虑像素点本身的灰度值,还考虑它周边像素点的灰度值,但只修改了d(t)的计算方法,对目标函数的其他部分未作修改。以下为文献的计算公式,皆省略了上标(t):
其他计算过程及一些迭代公式与原始FCM算法相同。
3 Sigma-IFCM算法
3.1 Sigma过滤器
在IFCM算法中,考虑邻居点对中心点的影响时,需考虑周边所有的8个邻居点。虽然这样可以去除噪声对分割的影响,但同时对各个聚类的边部也造成了影响,即模糊了聚类的边部。所以在计算某像素点的邻居点时,引用Sigma过滤器(即Edge Preserve过滤器)的理论。首先计算所有邻居点的均值和方差,然后只考虑灰度值在均值的一个邻域内的那些邻居点,这样邻居点数目一般少于8个。
均值μ计算公式为:
其中θ是一个非负的区间调整系数。其他的计算和IFCM算法相同。
3.2 图像的平滑
由于脑部图像的复杂性以及分割算法的原因,分割后的图像总是伴随着毛刺、污点、线划边缘凸凹不平等,通过图像的平滑去噪,可以去掉孤立的毛刺、黑斑,平滑边缘,填补面状目标内的小孔等,从而提高图像质量。
一般的平滑处理采用n×n的辅助矩阵(n一般为3~5)作模板,逐行、逐列与图像匹配。当匹配成功时,则把处于模板中心的像素点的分割结果改为与周边像素点的分割结果一样。对于二值图像,根据辅助矩阵中0、1像元的分布,使处于矩阵中心的像素点从“0”变成“1”,或从“1”变为“0”。
3.2.1 去毛刺
二值图像通常采用图1所示的3×3毛刺去除矩阵,包括其3次90°旋转形成的矩阵。“X”可以为任何值,表示不考虑此处像素点的情况,当矩阵模板在图像上移动时,只要图像与模板匹配,则把模板中心的“1”变为“0”。在算法中,虽然图像不是二值图像,但原理是一样的。即如果模板中心“1”处的像素点分割为一种聚类a,而周边“0”处的像素点分割为另一种聚类b,则把中心像素点变为也属于聚类b,以去除分割后脑部图像边部的毛刺。此时也不考虑“X”处像素点的分割情况。、
3.2.2 线部平滑与孔洞填补
线部平滑和孔洞填补的方法与去毛刺是一样的,只是模板不同。通常采用图2所示的3×3线部平滑矩阵,包括其3次90°旋转形成的矩阵。同理.当矩阵模板在图像上移动时,只要图像与模板匹配,则更改模板中心的像素点的分割情况。
3.3 计算步骤
Sigma-IFCM算法目标函数与原始的FCM算法相同,如公式(1),计算步骤如下:
(1)确定聚类数目C,模糊加权指数m以及迭代停止阀值ε;
(2)初始化聚类中心,一般随机产生C个聚类中心;
(3)初始化隶属度矩阵U(0);
(4)利用公式(4)计算d,注意邻居的计算公式是(5);
(5)利用公式(2)计算各类聚类中心V(t);
(6)利用公式(3)更新U(t+1);
(7)选择方便的矩阵范数来比较U(t)和U(t+1),如果||U(t+1)-U(t)||≤ε,则停止迭代,否则令t=t+1返回(4);
(8)对分割后的图像进行去毛刺和边线平滑处理。
最后。每个像素点对各个聚类中心都有一个隶属度,把像索点分割到隶属度最大的聚类中心即可。
4 实验结果
把原始的IFCM分割算法和改进后的Sigma-IFCM分割算法用于医学图像分割。所选择的脑部MR模拟图像来自Mcgill大学的MR模拟脑部图像数据库。下载的脑部图像是Tl-weighted的MR图像。本研究下载了噪声是7%和9%的脑部图像,分别用IFCM算法和SigmaIFCM算法进行分割以及评价对比,结果如表1所示,图中数据均为30幅图像分割结果的平均值。
可以用三个参数来评价分割算法的性能:Under Segmentation(UnS)、Over Segmentation(OvS)和Incorrect SegmentRate(InC)[6]。这三个参数的值越小,说明算法分割效果越好。所有图像分割成脑白质、脑灰质、脑脊液和背景四部分。公式(4)中的参数λ和ξ分别取值0.47和O.53。公式(5)中的参数θ取1.2。
从表1可以看出,对于噪声是9%的脑部图像来说,Sigma-IFCM算法的三个评价参数在不同程度上都比原始IFCM算法的各参数值要小,尤其是脑白质和脑灰质的分割情况更为突出。这说明在这种情况下改进后的Sigma-IFCM算法比原始的IFCM算法取得了更好的分割效果。而对于7%噪声的图像, Sigma-IFCM和IFCM算法相比总体分割效果较前者略有优势,但效果不如噪音为9%时明显。从这些数据看,噪声越多的图像,SigmaIFCM算法分割效果越好。图3是分割前的脑部图像,(a)是原始的无噪声模拟MR脑部图像;(b)是具有9%噪声的模拟脑部图像。图4是分割标准和两种算法分割后的脑部图像。
文章提出了一种改进的IFCM脑部MRI图像分割算法。由于医学图像中一般都有各种未知噪声,采用一般的分割算法会对效果产生很大影响。本文提出的 SigmaIFCM算法改进了像素点邻居的选择方案,在去除噪声的基础上保持分割后图像边部的光滑特性,然后引用去毛刺边部光滑的技术来修改分割后的图像。统计结果表明,对图像的分割效果有显著改善。未来的工作可以对初始邻居点的选取进行一些研究。本文中初始邻居点为周边的8个像素点,可以考虑更大范围如周边的24个邻居点的情况。此外,去毛刺以及边部光滑的方法可以进行进一步的研究探讨。