一种基于区域生长法与水平集相融合的肺部CT图像的分割

电子说

1.3w人已加入

描述

摘要:

为将肺实质区域从含有背景、噪声的胸腔区域里分割出来,首先,应用传统的区域生长法初步定位肺部边界轮廓;其次,去除肺部边界噪声,采用自适应曲率阈值法修复肺部边界;最后,应用水平集法中的DRLSE模型精确地分割出肺部区域。融合两种方法分割肺部区域,有效防止了图像边缘的漏检,可处理多种类型病变的肺部图像。在随机抽取的150例图像中,分割的准确率达到96.9%,分割一幅图像花费的时间约为0.72 s,具有很强的鲁棒性和较高的分割精度。本算法能精确完整地分割出肺部区域并保留了肺区内的细节信息。

0 引言

随着大气环境的不断恶化,肺部疾病的发病率逐年提高。据统计数字表明,肺癌占癌症患者的比率高达21%,死亡率也居高不下。临床发现,早期肺癌的治愈率高达90%以上,及早发现肺部异常情况可以控制病情,降低死亡率。目前,主要通过观察肺部CT序列图像来寻找病灶信息,精确地分割出肺部区域是定位肿瘤的关键前提条件。针对肺部区域的分割,国内外专家学者主要从阈值法、区域法、遗传法、水平集法及人工神经网络等来实现。

阈值法是最常用和简单的一种分割方法,原理是绘制图像的灰度直方图,通过选取直方图中的阈值,对图像进行分类,得到分割结果。文献[1]中,郭圣文等提出首先应用自适应阈值法二值化肺部区域图像,然后应用特征分类器精确地分割出肺部区域。阈值法要求图像的灰度值要均匀分布,直方图里能明显地观察到峰谷,否则就不能准确地分割指定区域,局限性比较大。文献[2]中,Gao Guorong等提出区域生长法分割肺部区域,根据设定的种子点,准确地剔除掉粘连肺部的气管及血管等高密度信息,但需要人工选取种子点,误差比较大,实际应用中需结合其他算法分割结果更好。文献[3]中,秦晓红等提出利用遗传算法中的全局寻优能力策略实现肺部区域的分割,该算法能使分割简化,并提高搜索范围,但是需要提供大量的训练样本,提取特征也需要花费大量的时间,收敛速度也比较慢,实用性不高。文献[4]-[5]中,魏颖等人应用几何主动轮廓模型(Geometric Active Contour,CAC)中的C-V水平集方法来分割肺部区域,并结合肺部结构特征改进了C-V方法,肺部边界分割的精度和准确度都有提高。

与传统的GAC模型相比,该方法的分割精度更高,收敛速度更快,也有效防止了边缘的漏损。综上所述,主动轮廓模型发展起来的水平集方法的分割性能比较好,算法复杂度也低,也可处理复杂的图像。因此,本文把传统的分割方法与现代的分割方法进行优化组合,提出一种基于区域生长法与水平集相融合的肺部CT图像的分割。首先采用自适应阈值法对肺部CT图像进行二值化处理,然后应用区域生长法对肺部区域进行粗分割[6]。最后运用水平集方法中的几何活动轮廓模型实现精确分割,在MATLAB软件平台进行仿真测试后,实验结果表明,在肺部CT图像的分割中应用本文的方法取得了较好的分割效果。

1 算法原理

1.1 阈值法原理

阈值法[7]是一种区域分割技术,把灰度值分成两个或者更多的灰度区间,选择一个或者多个合适的阈值,根据目标和背景的差异,判断区域是否满足阈值要求,把背景和目标分开产生二值图像。阈值处理有两种形式:全局阈值和自适应阈值。全局阈值只设定一个阈值,自适应阈值设定多个阈值,通过灰度直方图的峰谷处确定阈值来分割目标和背景区域。

阈值选取得是否合适,决定图像分割的好坏,本文选用自适应阈值法二值化肺部图像。肺部区域结构复杂,在不同的环境及条件下,图像表现也各异,应用自适应阈值法,动态地选取多个阈值可以达到对肺部区域更好的二值化处理。

本文应用比较受欢迎的OSTU算法选取阈值。基本原理是:利用阈值把直方图分为两部分,当被分成的两部分方差最大时,获得最优阈值[8]。自适应阈值法最终把DICOM格式的医学CT图像转化为只有黑白色的二值图像,以便于后期对图像进行分割、提取、识别等处理。

1.2 区域生长法原理

区域生长法基本思想是:根据预先定义的生长准则来把像素或子区域合成较大区域的处理方法,基本处理方法是以一组“种子”点开始来形成生长区域,即将那些预定义属性(如像素的灰度级或颜色)类似于种子点的邻域像素附加到每个种子点上[9]。区域生长的关键问题是相似性准则的选择和区域生长中停止规则的设定。准则可以通过图像的亮度值、纹理、色彩的相似性设定,当不再有像素满足该区域所包含的准则时,生长区域的过程就停止。基于区域生长的分割方法计算简单,可实现肺部区域的初始分割,获得区域的初始轮廓信息。

1.3 水平集法原理

水平集方法是主动轮廓模型(Active Contour,AC)中的几何主动轮廓模型(Geomet Active Contour,GAC),是近几年发展起来的一种图像分割方法。水平集法进行图像分割的基本思想是[10]:通过曲线运动的不断演化一直寻找图像的边界,直到找到目标轮廓,停止移动曲线。曲线需要沿着CT图像的每一个三维切面层移动,对不同层次的三维曲面切取薄片,获得每一层的封闭曲线,随着时间的推移,改变水平级,最终得到一个相应的形状提取轮廓。

常用的水平级模型有3种,MS(Mumford-shah)模型、CV(Chan-Vese)模型、DRLSE(Distance Regularized Level Set Evolution)模型[11],前两类模型是传统的水平集模型,都是利用区域统计量进行分割,克服了利用梯度(边缘)信息导致弱边缘漏检、多噪声敏感等问题。但是寻找近似区域需要不断地初始化水平集函数,仍然具有计算效率低和实现困难等问题。DRLSE模型对传统的方法做出了改进,即在水平集函数里增加一个约束项,避免了水平集函数周期性地初始化,提高了收敛速度,减化了运行时间。根据以上模型的分析,本文选用DRLSE模型来提取肺部轮廓区域。

2 区域生长和水平集相融合的肺部CT图像的分割

在得到DICOM格式的CT图像后,本文的工作是把完整的肺实质区域精确地分割出来,便于后续对肺部疾病的诊断和定量的数据分析。肺部区域的分割分为4部分:图像二值化、区域生长法初步定位肺部边界区域、肺部边界的修补、水平集法精确提取肺部区域轮廓。图1给出分割肺部区域算法的流程图。

阈值

2.1 图像预处理

采集后的DICOM格式图像不能在计算机屏幕上显示,必须要转换成BMP格式,由于两种图像格式的存储方式不同,本文应用垂直镜像变换进行格式转换。医学图像垂直镜像公式表示为: 

阈值

其中,G0(-n0,k0)表示DICOM格式原始图像I0中像素点(-n0,k0)的像素值,Gvm(n0,k0)表示垂直镜像后BMP格式图像Ivm中像素点的像素值。

2.2 OSTU法图像二值化

OSTU方法是一种自动化阈值分割方法,根据阈值把图像区域分为两组,当被分成的两个区域方差达到最大时,用得到最佳分割阈值来对图像进行分割。它属于单阈值分割,将图像分为背景和目标两类,经过处理后,灰度图像转换成只有黑白两色的图像。处理的步骤如下所示:

(1)读取肺部CT图像,转成BMP格式的图像。

(2)应用MATLAB软件工具箱中的imhist函数绘制图像的灰度直方图,公式为:

阈值

其中,I为原始图像,n为灰度级,M为图像I的灰度直方图。根据肺部区域与周围器官的灰度差异,使得直方图中重叠区域最小,求出两个区域的最大类间方差值,得到最佳分割阈值,根据阈值分割出肺部区域作为目标区域,其他区域作为背景区域,使用OSTU法二值化后的图像如图2所示。

阈值

2.3 区域生长法初步定位肺部边界

二值化后的肺部CT图像并没有把肺实质与图像背景精确地分离开,肺实质的边缘信息还混淆在背景区域内,同时,肺实质区域内还包括一些气管、空气等一些噪声,本文应用区域生长法初步定位肺部区域边界并剔除噪声等干扰信息。

区域生长法需要解决3个问题:(1)需要确定区域内某个像素点作为生长种子点;(2)确定种子点的生长准则;(3)确定种子点在生长过程中终止条件。

2.3.1 肺部区域边界的初步定位

定位肺部边界算法的步骤如下所示:

(1)输入二值化后的图像,计算获得图像上X、Y轴方向的最大分辨率Amax、Bmax。

(2)选取目标区域R,计算该目标区域的灰度平均值Tm,设该区域内有N像素,则该区域的灰度平均值为:

阈值

(4)种子点的选择:从目标区域图像的最左侧出发,设定四邻域模板,扫描周围像素点,如果像素点的灰度值小于Tm,即为种子点。

(5)设定区域生长准则T:其中I(Ai,Bi)为原始图像的任意像素值,N4(Ai,Bi)是Ai、Bi的四邻域像素点。用四邻域像素点与灰度平均值进行比较。

阈值

从左上到右下扫描目标区域,找出满足式(6)~式(8)的所有像素点。

(6)把满足准则的所有种子点周围的四邻域像素进行搜索,直到不满足条件结束生长,分割完成。

应用区域生长法可初步定位肺实质轮廓区域,提取轮廓区域结果如图3所示。

阈值

2.3.2 气管去除

提取肺实质外部气管的算法思想是:设定种子点后,应用棋盘距离标记方法生成区域内的像素,确定好棋盘间的距离K,经过第N次迭代后,依据区域生长规则,搜索满足条件的所有像素点,最后设置生长终止条件,检测到气管区域。设V(K)为满足区域生长的面积值,绘制V(K)值的曲线变化图,观察曲线图中值的变化,如果数值突然变大,表明检测到管状器官,提取并去掉该区域,具体步骤如下:

(1)种子点的选择:从中肺野层片上开始搜索种子点,设定4×4模板,搜索所有满足像素点的区域,利用区域生长法获得种子点。

(2)生长规则:搜索种子点周围四邻域像素的值,保留T+4与T-4之间的像素值,搜索不少于100个像素的面积区域。

(3)终止条件:计算函数V(K)的面积导数,如果面积导数值大于零,则停止搜索,提取气管区域,获得无干扰信息的肺实质区域。

去除气管的肺部轮廓区域如图4所示。

阈值

2.4 肺部边缘修复

大量的气管、血管等都分布在肺部边界,在去除气管的同时,造成了边界区域的凹凸不平,需要对边缘进行修复,以获得光滑、完整的肺实质轮廓区域。

2.4.1 曲线平滑

修复肺部边界之前,要对边界进行平滑处理,否则无法准确自动地选取参数来计算曲线的曲率,对边界进行精确的修复。

本文应用迭代采样点算法对肺部轮廓曲线进行平滑处理。提取肺部轮廓区域,提取边缘一系列点列{i},获取系列点连接线的凹凸区域,对凹凸区域应用牛顿-柯特斯公式进行凹凸点的修整,经过多次迭代,使得系列边缘点近似服从线性关系,达到平滑边缘的效果的过程。算法的实现步骤为:

(1)设步长λ=0.9,根据牛顿-柯特斯公式:

阈值

2.4.2 边界修补

本文应用自适应曲率阈值法修复肺部边界,经过光滑后的边缘可以准确地计算出点的曲率阈值,其中具有较大曲率值的凹点就是要待修补的靠近肺部边缘的区域点。算法步骤如下:

(1)设点的曲率阈值为μ,边界区域用P表示,计算区域点高度的平均值阈值,设μ=阈值,采样区域P的离散点。

(2)计算区域P内每个离散点i的高度,设为ωi,并找到所有凹点区域,如果ωi>μ,删除i点,连接i点的邻域点。

(3)重复步骤(1)、(2),直到搜索完边界区域所有的点,区域长度和原长度一致为止。

最后,获得光滑完整的肺部轮廓区域,对比修复前后的效果图见图5。

阈值

2.5 水平集法精确提取肺部区域

本文选用DRLSE模型来对肺部区域进行精确提取。该模型的优点是在利用迭代方法寻找图像中相匹配的点时无需重复初始化水平集函数,提高了运算速度,减少数据计算量。其中水平集函数φ的数学公式表示为:

阈值

(3)重复步骤(2),不断地迭代水平集函数,直到达到满意效果,i的值不超出300,停止迭代,获得水平集迭代后的肺部边界精确的轮廓区域,边界曲线也得到较好的收敛,提取的最终的肺部区域图像如图6所示。

阈值

3 实验结果

3.1 数据来源

为了验证本方法的可行性和分割的精确性,从LIDC肺部图像公开数据库中随机抽取120幅图像,从包头某医院抽取30幅含有病变信息的图像,每一幅图像都配有专家分割的“金标准”,这也是评价算法好坏的重要准则。经过筛选和鉴别大约有110幅图像有肺部病变的迹象,90%以上肺部区域中左右肺是分离的,因此本文没有提及左右肺分离。图像的分辨率大约在0.6 mm~0.8 mm之间,大小为512×512,扫描层大约有30层。

3.2 实验环境

本实验的实验平台为:Windows 7操作系统,i5处理器CPU,8 GB RAM,编程软件为MATLAB R2015a、Visual Studio 2012。

3.3 结果与分析

为了验证两种方法融合后对图像分割的可行性,再列出两组不同肺部病变图像的分割结果,如图7所示。

阈值

从分割结果可以看出,本文的方法能准确、完整地提取出肺实质区域,克服了单独使用区域生长法存在边界漏检等问题,结合后期的水平集法的精确分割,能清晰地观察肺实质内部的细节信息和更精确地定位肺部边缘信息,也避免了图像的过分割等问题。同时,也可处理多种类型病变的肺部图像,为后续图像的进一步的分析和处理打下基础。

阈值

阈值

由表1可知,本文的算法是牺牲了时间,但提高了的分割精度。从分割结果可知,本算法有很强的可行性。本算法是计算机自动分割,时间和效率上依然比半自动或者手动分割的时效性高。

4 结论

肺部图像的分割是计算机辅助临床医生检测肺部疾病的前提条件,分割结果的好坏直接影响对疾病检测的准确率等。本文提出一种区域生长与水平集相融合的肺部分割方法。经过仿真实验,该算法能有效、准确地分割出肺部区域,而且保留了肺内部的细节信息,对后续肺结节的检测和提取奠定了基础。

本文的算法也存在不足,没有对左右肺粘连情况的肺部区域进行分割,在抽选的图片中,剔除了两幅左右肺有粘连的图片。后续将开展针对左右肺粘连区域分割的研究。同时,也可以把本算法应用于肺结节、胸膜结节的分割,来测试该方法的通用性,对分割出现的问题提出改进、优化等。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分