姜春雨,刘景鑫,钟慧湘,李慧盈,李大军
1.吉林大学 计算机科学与技术学院,吉林 长春 130012;2. 吉林大学中日联谊医院 放射线科,吉林 长春 130033;3.吉林省人民医院 消化内二科,吉林 长春 130021
医学影像分割的基本目标是将图像分割成不同的解剖组织,从而可以从背景中提取出感兴趣区域。因为图像的低分辨率和弱对比度,实现医学影像分割是一件具有挑战的任务。而且,这个任务由于噪声和伪阴影变得更加困难,这些干扰项可能是因器材限制、重建算法和患者移动等原因造成的。目前还没有通用的医学图像分割算法,算法的优点和缺点经常根据所研究的问题而变化。将分割概念具体到颅内出血CT图像上,就是将颅腔中的出血病灶区别于其他组织从图像中分割出来。
图像分割有两大类方法:一种是像素分类[1-3],另一种为追踪变化的边界[4-6]。第一类分割方法假设在每个子类中像素具有几乎恒定的灰度值,这对于具有相似生理特性的解剖结构来说是合理的。这类方法可以同时检测出多个感兴趣的子类,但是该方法很容易受到环境噪声和图像不均匀性的影响。相比之下,追踪变化边界的分割方法要利用图像灰度信息和空间信息。因此,该子类必须是均匀的并且包围在一个特定的变化边界中。当应用于医学图像分割时,由于固有的噪声和伪阴影,它们都不具有普遍的适用性。
在颅内结构分割以及出血病灶分割方面,前人已经做了大量的研究工作,汪亮等[7]提出了用区域生长算法提取颅内结构,使用FCM模糊聚类算法分割出血病灶的处理方法,区域生长算法需要手动设置种子点和阈值,在处理出血病灶方面只是使用了基于像素的分割方法,没有将空间信息考虑到分割中。宋国权等[8]提出了基于聚类算法的脑部MR图像分割,没有在聚类算法中考虑空间信息。Chuang等[9]提出的sFCMp,q算法,在计算隶属度函数时,考虑到了空间信息,但是该算法对噪声敏感。李杰等[10]提出的改进的区域生长算法,虽已有改进,但区域生长算法需要人工设置种子点。陈元堃[11]提出了FCMS改进算法,只是简单的将灰度差信息引入为空间信息。Chen等[12]提出FCM_S2算法,该算法的效果与传统FCM算法直接作用到中值滤波图像上的效果相同,虽然对噪声不敏感,但是不能精确的分割出病灶。本文在现有方法的基础上,提出了一种改进的FCM模糊聚类算法,该方法在隶属度函数的定义和目标函数的定义上均考虑了空间信息。该方法在不需要事先人工干预的情况下对出血病灶可以进行精确高效的分割,并且对噪声不敏感。
首先对颅脑CT进行左右扫描操作[13],然后用中值滤波对上一步结果进行平滑操作,接着对上一步的结构进行二值化操作,获得图像掩膜。最后利用图像学中的乘操作,将原图像与掩膜图像相乘,结果即为我们感兴趣的颅内结构,具体流程,见图1。由两个主要部分构成:获取颅内结构掩膜图像和分割提取颅内结构。
图1 颅内结构提取算法框架
以图像B1为例详细描述以上算法(图2)。
第一步:提取颅骨的粗略轮廓。这一步中我们使用幂次操作滤波,其公式为:
其中i为输入像素灰度值,s为输出像素灰度值,c、r、b为3个常数,在本文中3个常数的取值分别为c=1.2、r=6.13、b=11。源图像经过上述方法处理后,得到颅骨的粗略轮廓图像C1,见图3。
第二步:提取颅腔边界。这一步中我们使用了一种基于阈值的水平方向的左右扫描算法,该算法的右扫描算法,见图4,左扫描算法与右扫描算法相似,此处我们不再赘述。输入为颅脑CT源图像B1和上一步中得到的颅骨粗略轮廓C1,输出为颅内区域,设算法输出结果为D1(图5)。其中Height、Width为图像的高度和宽度,这里的N1和N2两个常数的值分别为253和240。
第三步:获取颅腔内掩膜图像。这一步中,先使用中值滤波操作将图像D1进行去噪操作,此处滤波器大小为3×3。再将处理后的结果进行二值化操作,最终得到颅腔组织的二值掩膜图像。结果见图6。
第四步:分割图像。将上一步中得到的掩膜图像M1与源图像B1进行乘操作(式(2)),最终得到颅腔结构B2(图7)。
图2 颅脑出血CT图像B1
图3 图像B1的颅骨粗轮廓图C1
图4 右扫描算法
图5 扫描后的图像
图6 掩膜图像M1
图7 颅内区域
模糊是医学图像的基本特性,因为这个特性使得医学影像分割成为一个具有挑战性的问题。由于器材限制、重建算法和患者的移动,使得图像存在噪声和伪阴影,这使得分割工作更加困难。因为CT图像的模糊属性,我们使用模糊技术来完成CT图像感兴趣区域的分割工作。FCM算法[14-15]是最受欢迎的模糊聚类算法,已经被广泛的应用到医学影像分割中。在模糊聚类中,为了使得预定义的目标函数最小,算法自适应的估计每个子类的质心和范围。因此可以将模糊聚类视为一种自适应阈值。
FCM算法是K均值算法[16]的一种改进。简而言之,K均值算法试图将N个对象基于它们的属性分配到K个簇中。对于医学影像分割,N为图像像素Nx×Ny的数量。在K均值聚类中,每个像素对象只能属于K个簇中的一个并且仅限于其中的一个。相反,FCM用隶属度函数μmn来表示第n个对象隶属于第m个簇的隶属度。目标函数如式(2)所示。
这里l(>1)控制分割结果模糊性的参数,本文中l=2。隶属度矩阵U=[uik]满足下式:
当靠近簇的质心时,像素点会被分配高的隶属度,使目标函数最小化;当远离簇的质心时,像素会被分配低的隶属度。隶属度函数表示像素点属于特定簇的概率。在FCM算法中,隶属度的大小仅仅取决于像素点与特征域中每个单独的聚类中心的距离。隶属度函数μmn和质心vm使用式(5)和式(6)进行迭代更新。
始于每个聚类中心的初始猜测,FCM收敛于v1的解,这个解是目标函数的局部最小值。可以通过比较两次连续迭代步骤中的隶属度函数或聚类中心的变化来检测收敛。
基于原始强度的FCM算法在分割大多数无噪声图像方面功能良好,但是对噪声、异常值和伪阴影较敏感。导致这种结果的原因主要有两个:① 使用了鲁棒性较差的欧几里得(Euclidean)距离;② 忽略了图像中的空间信息。在实际应用中我们难以将非欧几里得结构集聚集在非球形形状的数据集中。因此我们主要将重点放在解决第二个原因上。
图像的一个重要特征是相邻像素高度相关。图像中像素的高度相关是因为其直接邻域中的像素具有几乎一样的灰度值。因此,相邻像素的空间关系是一个重要的特征,对图像的分割有很大的帮助。一般的边界检测技术已经利用了这种空间信息进行图像分割,但是,传统的FCM算法没有充分利用这种空间信息。
本文提出了一种加入空间信息的改进FCM算法,该算法提出了两个改进点:一是重新定义目标函数,在目标函数中加入一个空间约束,旨在保持相邻像素的连续性;二是定义一个空间函数代替传统FCM算法里的隶属度函数,如果一个像素邻域的大多数像素点均属于相同的簇,那么该空间函数的值就会很大。
在本文中我们将目标函数重新定义为式(7),为了增加簇的鲁棒性,为像素点xk某邻域窗口内所有像素点灰度值的中值。当a为0时,该目标函数等价于传统FCM的目标函数,当a接近于无限大时,该算法的效果与FCM算法直接作用到中值滤波图像上的效果相同。
本文算法的第二个改进点就是在计算隶属度函数时,也考虑到了空间限制信息,空间函数被定义为式(8),这里NB(xj)为以像素j为中心的某邻域区域。就像隶属度函数一样,hij代表着像素j属于簇i的可能性。一个像素的空间函数会很大,如果它的邻域大部分属于同一个簇。包含隶属度函数的空间函数,见式(9):
上述算法可以统一归纳为以下步骤:① 设置簇的数量,并对每个簇的质心赋值,将g设置一个很小的值;② 对图像进行中值滤波处理;③ 根据式(9)更新隶属度矩阵;④根据公式(6)更新各个质心;⑤ 重复步骤(3)~(4)直到满足以下终止标准:
这里的V=[v1,v2,…,vc]是簇的质心。
本文算法由MFC实现,运行在一台主频为3.0 GHz,内存为2 GB的机器上。每幅图像大小均为512×512。在本部分中一共使用了4种算法,分别是标准FCM、sFCMp,q、FCM_F2和本文算法。另外我们设置参数m=2,ε=0.001,NR=25(即邻域大小为5×5)。在sFCMp,q中本文设置参数p=1,q=1。我们通过加入椒盐噪声来测试算法的性能,结果见表1、图8~9。表1给出了4种算法分别在原始图像和加入椒盐噪声的图像上的分割精度(SegmentationAccuracy,SA),其中SA定义为像素总数除以正确分类像素数之和。图8显示4种算法作用在原始颅内CT的结果,图9显示了作用在椒盐噪声损坏图像上的结果。
表1 病灶面积比较
图8 颅脑CT的病灶分割比较
图9 加入椒盐噪声的颅脑CT的病灶分割比较
通过观察发现,sFCMp,q算法与传统FCM算法的结果几乎一致,两种算法都对噪声比较敏感,加入噪声后分割准确率明显降低,分割结果有明显的噪声干扰。FCM_S2算法在有椒盐噪声的干扰下仍可以分割出病灶,但在原始颅内CT图像上,因为在目标函数中考虑到了中值滤波算法,除了额外增加计算时间,还使图像中的许多细节在滤波操作中丢失,从而导致分割结果不够准确。本文算法相比于其他3种算法对噪声不敏感,是否加入噪声干扰对分割的准确度几乎没有影响。并且在出血病灶与周围组织很接近的时候,本文算法相比于其它算法可以更加准确地分割出出血病灶区域。
本文提出的算法首先对颅脑CT图像进行颅内区域的提取,然后利用加入空间信息的FCM模糊聚类算法对颅内区域进行聚类操作,最终提取到颅内出血病灶。通过对不同的CT颅脑图像进行分割,结果显示本文算法对噪声不敏感并且在出血区域与周围组织很接近的时候可以准确地分割出出血病灶。该算法分割效果良好,可以为后续出血区域体积的测量提供必要的技术支持,具有一定的临床应用价值。
[1] 张光胜,邹友峰,卢小平,等.基于改进分块阈值的SAR图像分割算法[J].测绘通报,2013,(12):28-30.
[2] 肖明尧,李雄飞,张小利,等.基于多尺度的区域生长的图像分割算法[J].吉林大学学报(工学版),2017,(5):1591-1597.
[3] 孙中原,张继武,常桂然.一种基于形态学方法优化的种子填充算法及其在脑组织CT影像自动分割中应用[J].中国临床医学杂志,2002,13(6):384-43 2.
[4] 蒋小波.GVF Snake模型及其在图像分割中的应用研究[D].无锡:江南大学,2015.
[5] 刘杰.基于Snake模型的图像分割算法研究[D].重庆:重庆邮电大学,2016.
[6 ] Caselles V,Coll T.A geome tric model for active contours in image processing[J].Numer Math,1993,66(1):1-31.
[7] 汪亮,金福江,陈峻严.基于区域生长和FCM模糊聚类的颅内出血CT图像分割[J].系统仿真学报,2014,26(2):231-235.
[8] 宋国权,李金锋.基于聚类算法的脑部MR图像分割[J].中国医疗设备,2017,32(1):26-29.
[9] Chuang KS,Tzeng HL,Chen S,et al.Fuzzy c-means clustering with spatial information for image segmentation[J].Comput Med Imag Grap,2006,30(1):9-15.
[10] 李杰,陈国栋.基于改进区域生长算法的肝脏管道图像分割方法[J].中国医疗设备,2014,29(10):19-23.
[11] 陈元堃.改进的FCM算法在脑部图像分割中的应用研究[D].大连:大连海事大学,2017.
[12] Chen S,Zhang D.Robust image segmentation using FCM with spatial constraints based on new kernel-induced distance measure[A].Systems Man & Cybernetics Part B Cybernetics IEEE Transactions on[C].2004,34(4):1907.
[13] 王海波.颅脑CT图像分割算法研究[D].哈尔滨:哈尔滨工程大学,2009.
[14] Zhao F,Jiao L,Liu H.Kernel generalized fuzzy C-means clustering with spatial information for image segmentation[J].Digit Signal Process,2013,23(1):184-199.
[15] Chen S,Zhang D.Robust image segmentation using FCM with spatial constraints based on new kernel-induced distance measure[A].Systems Man & Cybernetics Part B Cybernetics IEEE Transactions on[C].2004,34(4):1907.
[16] 张文君,顾行发,陈良富,等.基于均值—标准差的K均值初始聚类中心选取算法[J].遥感学报,2006,10(5):715-721.