本发明涉及一种自动测量cobb角的方法,尤其是一种鲁棒的脊柱图像分割算法来自动测量cobb角的方法,属于医学图像处理领域、计算机辅助测量技术领域。
背景技术:
脊柱侧凸又称脊柱侧弯,它是一种脊柱的三维畸形,包括冠状位、矢状位和轴状位上的序列异常,脊柱的横向偏移和椎骨的轴向旋转。cobb角已成为医生诊断脊柱侧凸患者的一定量指标。影像学专家测量cobb角大多通过手动确立脊柱侧凸的上下端椎后,使用量角器量取出两终端之间夹角。然而使用这种方式来测量cobb角使得cobb角的测量结果更多的依赖影像学专家的主观经验。据研究表明,不同影像学专家测量同一副脊柱侧凸图像产生的最大误差高达11.8度,严重影响了医生的治疗以及诊断。此外,费时以及乏味的测量角度工作无疑增大了角度测量误差发生的可能性。故基于计算机辅助测量cobb角的算法逐渐被提出。
专利[cn101474074a]提出一种基于椎体形状先验的峰值点选择测量cobb角的方法,该方法可通过鼠标点击选中两个端椎后,对两端椎的边缘图进行模糊hough变换,然后根据椎体形状先验选择hough空间峰值点以检测端椎的倾斜角度达到计算cobb角的目的。论文[amaskbasedsegmentationalgorithmforautomaticmeasurementofcobbanglefromscoliosisx-rayimage]提出一种通过对脊柱中各脊椎设置掩膜的方式来对其进行分割并求出cobb角。
上述计算机辅助测量cobb角方法虽说提高了cobb角测量的效率,但仍需要手动确立上下端椎,这无疑提高了cobb角测量误差发生的可能性,使得cobb角测量的过程更加的依赖于操作者的先验知识。
技术实现要素:
本发明正是针对现有技术存在的不足,提供一种自动测量cobb角的方法。基于此,本申请提出一种鲁棒的分割算法来自动测量cobb角的方法。当脊柱图像被半自动交互分割后,cobb角即可在无须手动确立上下端椎的情况下自动求出。
为解决上述问题,本发明所采取的技术方案如下:
一种自动测量cobb角的方法,其特征是,所述方法包括以下步骤:
步骤一:预处理;
读取并预处理脊柱图像,包括图像锐度、对比度以及边缘信息的增强;
步骤二:增强的分水岭分割算法;
使用增强的分水岭分割算法,半自动分割脊柱图像;
使用k-means聚类方法对脊柱图像进行预分割,这样可有效的抑制由脊柱图像灰度分布不均匀带来的图像过分割,后对预分割后的图像进行分水岭算法分割;
步骤三:提取各脊椎中心点并拟合曲线;
提取分割后每一块脊椎的中心,并将所有中心点拟合成一条曲线;
对于一副分割后的脊椎图像,将其像素坐标视作一个二维随机变量(x,y),则一副灰度图就可以用二维灰度密度函数来表示,因此脊椎图像区域中心点就可以用矩来表示,采用图像的一阶矩得出其区域中心;选用六次多项式曲线拟合方式对中心点进行拟合;
步骤四:自动计算cobb角;
利用各脊椎中心点以及拟合的曲线,通过曲线的切线计算cobb角;
通过上述步骤一~步骤三,已经可以得出由各脊椎中心点拟合所得出的曲线,此时通过以下几步即可自动求出cobb角:
stepi:计算曲线,中心点所在处切线斜率;
stepii:自动计算各不同斜率之间夹角,并对结果进行排序;
stepiii:夹角的最大值即为cobb角,此时cobb角则被自动求出。
作为上述技术方案的改进,所述步骤一中,构建边缘增强函数的高斯核,使得其在对脊柱图像进行滤波的同时增强图像边缘信息。
作为上述技术方案的改进,所述步骤二中,k-means聚类方法为如下所示步骤:
step1:随机选择k个点作为数据中初始化聚类点;
step2:对每个目标计算其到每个聚类点的欧式距离,并把它归到最近的聚类点所在的类;
step3:重新计算已经得到的各个聚类的质心作为新的聚类点;
step4:迭代step2~step3,直至聚类点不再改变,算法结束。
作为上述技术方案的改进,所述步骤二中,分水岭分割算法中,通过定义掩膜相当于定义种子点的方式来控制过分割,掩膜图像中绘制的点即定义为各待分割区域局部最小值,使用这种方法我们定义掩膜图像中种子点个数即对应于分割后的区域个数;分割后各种子点之间被坝所包围,达到分割脊柱中各脊椎的目的。
作为上述技术方案的改进,所述步骤二中,掩膜图像选择手动选取掩膜中种子点。
作为上述技术方案的改进,所述步骤二中,采用增强的分水岭分割,即将k-means聚类算法与分水岭分割算法进行结合,通过对脊柱图像使用k-means算法,脊柱图像中位于同一聚类区域的像素,其设置为同一灰度值,则得到一个只存在k个不同的灰度级的预分割结果。
本发明与现有技术相比较,本发明的实施效果如下:
现有技术测量cobb角大多通过手动确立上下端椎,后通过各种计算机辅助测量方法计算cobb角。但在手动确立上下端椎的时候,容易因人员不同或操作不同致使不同的测量结果。总结即为测量过程中过多的人为主观因素导致测量误差较大。本方法针对此现象,提出一种脊柱分割方法,可分割出脊柱中每一块脊椎区域,后对每一块脊椎区域提取出区域中心点,通过六次多项式方法对各个中心点拟合成一曲线,曲线的切线之间夹角的最大值即为cobb角,通过这种方法来求取cobb角,无须手动确立上下端椎,本方法亦适用于cobb角测量经验较少的医生。本发明的有益技术效果是:
1、无须手动确立上下终端,使得算法鲁棒性更高,并且可适用于cobb角测量经验较少的操作人员。
2、采用分割-提取中心点并拟合曲线的方式代表脊柱曲率,进一步可用于腰椎滑脱以及骨折等症状的诊断中,采用这种方式,可以有效直观地显示脊柱的曲率。
3、该方法结果稳定,误差较小。
附图说明
图1为cobb角测量方法示意图;
图2为cobb角度计算示意图;
图3为现有锐度、对比度提升结果对比中的原图;
图4为本发明所述锐度、对比度提升结果对比中的结果图;
图5为所述k-means分成两类后分割图的原图;
图6为本发明所述k-means分成两类后分割图的结果图;
图7为现有分水岭分割后结果图;
图8为本发明所述增强分水岭分割后结果图;
图9为本发明所述获取区域中心点示意图;
图10为本发明所述分割中心点放在参考分割结果上示意图;
图11为本发明所述拟合的曲线示意图。
具体实施方式
下面将结合具体的实施例来说明本发明的内容。
如图1和图2所示,为cobb角测量方法示意图和cobb角度计算示意图。本发明所述的方法,其具体算法流程包括:对输入脊柱图像进行图像预处理(锐度以及对比度增强)→半自动分割(增强的分水岭分割算法(结合了k-means分割算法与分水岭分割算法))→对分割后的每块脊椎区域通过空间矩的思想提取出区域中心点→对多个区域中心点使用六次多项式曲线拟合成曲线→对曲线中各中心点处进行求导,求出各中心点所在曲线处切线斜率→通过切线斜率计算cobb角。
以下具体详细进行说明。
步骤一:预处理;
读取并预处理脊柱图像,其中预处理包括图像锐度、对比度以及边缘信息的增强。
医学图像具有不同于其他普通图像的特性。例如在不同成像设备下如x射线、ct、mri下其成像形式具有很大的差别。此外,医学图像在成像时易受噪声影响使得其大多具有噪声、灰度不均匀以及边界模糊的特性。
然而直接对原始质量较差的图像进行处理会影响到cobb角测量的结果。因此,本发明提出将原始图像先进行预处理后对其进行其他操作。本方法所述预处理为对原始图像进行对比度以及边缘信息的增强。
本发明为了使得处理后图像的边缘特征过度的更加自然,本方法构建了边缘增强函数的高斯核,使得其在对脊柱图像进行滤波的同时增强图像边缘信息,通过这样的方法使得边缘增强后的图像更加自然。本方法所构建的预处理内核以及处理结果如图所示3和图4所示。
步骤二:增强的分水岭分割算法;
使用本发明所提的增强的分水岭分割算法,半自动分割脊柱图像。
分水岭算法因其简单直观的特性大量的使用在医学图像分割上,该方法仍可对图像对比度较差的图像进行分割,可将图像按照灰度级分割成不同的区域。然而,该方法由于其自身特性存在过分割以及对噪声敏感的现象。故在针对医学脊柱图像分割时,直接使用该方法会导致分割精度较差,影响后续cobb角计算的结果。
因此,本发明提出一种增强的分水岭分割算法,使用k-means聚类方法对脊柱图像进行预分割,这样可有效的抑制由脊柱图像灰度分布不均匀带来的图像过分割,后对预分割后的图像进行分水岭算法分割。通过本方法所提的增强的分水岭分割算法,过分割的现象有效的被抑制,此外本方法后续的算法精度将随着分割精度的提升而提升。
(1)k-means聚类方法
k-means聚类算法是基于聚类技术的一种非监督分类算法。它可基于欧氏距离以及最小误差函数将数据分成k类。此外,k-means算法可以依据图像中像素的差异用来对图像进行分类,因此适用于本文所述医学图像分割的预分割中。
k-means分类算法可以总结为如下所示步骤:
step1:随机选择k个点作为数据中初始化聚类点;
step2:对每个目标计算其到每个聚类点的欧式距离,并把它归到最近的聚类点所在的类;
step3:重新计算已经得到的各个聚类的质心作为新的聚类点;
step4:迭代step2~step3,直至聚类点不再改变,算法结束。
(2)分水岭分割
分水岭分割算法是形态学操作算法中一个较为经典的算法。它的基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。
然而,直接对图像进行分水岭算法的话,易导致过分割以及误差大的现象发生,则影响后续cobb角的计算。一种有效的方式即通过定义掩膜相当于定义种子点的方式来控制过分割。掩膜图像中绘制的点即定义为各待分割区域局部最小值,使用这种方法我们定义掩膜图像中种子点个数即对应于分割后的区域个数。分割后各种子点之间被坝所包围,达到分割脊柱中各脊椎的目的。掩膜图像可自动或者手动选取获得,本发明为了得到更好的结果,选择手动选取掩膜中种子点。
(3)增强的分水岭分割
本发明所提增强的分水岭分割算法即将k-means聚类算法与分水岭分割算法进行结合。通过对脊柱图像使用k-means算法,脊柱图像中位于同一聚类区域的像素,其设置为同一灰度值,则得到一个只存在k个不同的灰度级的预分割结果。因此,此时对其进行分水岭分割算法则更加鲁棒。
k-means分成两类后分割图,如图5和图6所示。
如图7所示,为现有分水岭分割后结果图;图8为本发明所述增强分水岭分割后结果图。
步骤三:提取各脊椎中心点并拟合曲线;
提取分割后每一块脊椎的中心,并将所有中心点拟合成一条曲线。
对于一副分割后的脊椎图像,可以将其像素坐标视作一个二维随机变量(x,y),则一副灰度图就可以用二维灰度密度函数来表示,因此脊椎图像区域中心点就可以用矩来表示。最近几年,空间矩的方法广泛的使用于模式识别以及工业应用。其中,零阶矩可以获得区域面积,一阶矩可以获得区域中心,二阶矩可以获取图像主要方向。这里采用图像的一阶矩得出其区域中心。
选用六次多项式曲线拟合方式对中心点进行拟合,其拟合效果如图9~图11所示。
步骤四:自动计算cobb角;
利用各脊椎中心点以及拟合的曲线,通过曲线的切线计算cobb角。
通过上述步骤一~步骤三,已经可以得出由各脊椎中心点拟合所得出的曲线,此时通过以下几步即可自动求出cobb角。
stepi:计算曲线,中心点所在处切线斜率。
stepii:自动计算各不同斜率之间夹角,并对结果进行排序
stepiii:夹角的最大值即为cobb角,此时cobb角则被自动求出。
以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。