掌桥专利:专业的专利平台
掌桥专利
首页

基于改进3D-UNet网络的肺结节分割方法及其系统

文献发布时间:2023-06-19 19:30:30


基于改进3D-UNet网络的肺结节分割方法及其系统

技术领域

本发明属于医学图像处理领域,涉及一种基于改进3D-UNet网络的肺结节分割方法及其系统。

背景技术

肺部CT图像中肺结节体积微小,其形态、亮度等特征与肺实质中的血管等组织相似,仅通过肉眼观察难以将其两者分开。肺结节的分割可以分为传统的肺结节分割方法和深度学习肺结节分割方法。Kostis等采用自适应阈值法将肺结节从肺实质中分离出来,接着利用形态学操作实现了对肺结节轮廓较为精细的分割。Dehmeshki等提出了一种自适应区域生长的肺结节分割方法,该方法在待分割的肺结节区域放置种子点,根据肺结节区域与背景区域对比度不同的特性,自适应地对肺结节进行分割。以上提出的传统肺结节分割方法均依赖于人对于肺结节的先验知识,不同的人对分割初始条件的设定都会影响到最终的分割效果。且随着迭代次数的增加,计算复杂度大大增加,难以满足所有类型结节分割的目的,因此不能满足临床需求。

而近些年基于深度学习的肺结节分割模型广泛应用于计算机视觉领域。2015年,Ronneberger等人提出了U-Net网络模型。该网络通过对图像特征的编码与解码,并融合网络高低层语义特征,应用于医学图像分割中也可以实现较好的分割效果。但是肺结节等医学图像具有边缘模糊、目标区域小等特点,仅仅使用原始U-Net对其训练,存在梯度消失、特征利用率低等问题,最终导致模型的分割准确率难以提高。

因此本发明给出了一种融合残差连接路径和压缩激励的3D-UNet网络结构,有效的解决训练过程中梯度消失问题,输出的特征图融合低层特征和高级特征,模型性能得到有效提高,改进的网络拥有更好的对小目标的分割性能。

发明内容

本发明的目的是为了解决现有肺结节分割模型的不足之处,提出了一种融合残差连接路径和压缩激励的3D-Unet网络肺结节分割方法及其系统。

第一方面,本发明提供基于改进3D-UNet网络的肺结节分割方法,包括以下步骤:

S1、数据获取并预处理

获取原始的DICOM格式的3维肺结节CT图像,通过预处理及格式转换得到肺结节jpg序列图片,并将肺结节jpg序列图片通过execute方法生成图像矩阵数组,利用生成的图像矩阵数组进行格式转换得到nii格式图像;

S2、构建数据集

对nii格式图像进行数据增强,然后进行裁剪成固定尺寸的图像;并将其对应的肺结节mask图像作为标签,构成数据集;

S3、搭建改进3D-UNet网络模型,并利用数据集对其进行训练和验证;

所述改进3D-UNet网络模型包括编码器、解码器,编码器、解码器间的连接采用残差路径连接;

所述编码器对输入图像进行四次下采样,逐步提取特征生成四张特征逐步加深的特征图;每次下采样过程包括依次级联的两个3×3 Conv层、一个压缩激励模块、2×2最大池化层;

将所述编码器的最后一层下采样后图像经过两个3×3 Conv层、一个压缩激励模块后输入至所述解码器;

所述解码器对输入图像进行四次上采样,结合对应层下采样输出的特征图,逐步生成一张掩膜图像;每次上采样过程包括依次级联的2×2反卷积层、两个3×3 Conv层、压缩激励模块;

所述残差路径连接采用5-n个串联的卷积单元,n表示当前下采样层数,每个卷积单元包括3×3滤波器、1×1滤波器、融合层;所述3×3滤波器接收当前层下采样输出特征或当前卷积单元上一个级联卷积单元的输出,对其滤波后输出至融合层;所述1×1滤波器接收当前层下采样输出特征或上一个级联卷积单元的输出,对其滤波后输出至融合层;所述融合层接收3×3滤波器输出结果、1×1滤波器输出结果,对其进行相加后输出结果至当前卷积单元下一个级联卷积单元或当前层对应的上采样;

所述压缩激励模块具体实现如下:

①给定一个input特征图X,让其经过Ftr卷积操作生成特征图U,其中特征层U的特征图维度为[C,H,W],C、H、W分别表示图像的通道数、高、宽;

②对步骤①特征图的[H,W]维度进行全局平均池化,生成一个1×1×C的向量z

其中F

③对步骤②通过两层全连接层完成各个通道的权重分配;

S=F

其中S表示特征图U中C个特征图的权重,F

④利用步骤③权重S对特征图U进行权重赋值,得到最终的特征图

其中

S4、利用训练并验证好的改进3D-UNet网络模型对肺结节CT图像进行预测,得到图像分割结果;

作为优选,步骤S3中所述编码器中每个3×3 Conv层后还经过BatchNorm层、ReLU层和dropout层。

作为优选,步骤S3中所述解码器中每个3×3 Conv层后还经过BatchNorm层、ReLU层和dropout层。

第二方面,本发明提供肺结节分割系统,包括:

数据采集模块,获取原始的DICOM格式的3维肺结节CT图像;

数据预处理模块,将3维肺结节CT图像通过预处理及格式转换得到肺结节jpg序列图片,并将肺结节jpg序列图片通过execute方法生成图像矩阵数组,利用生成的图像矩阵数组进行格式转换得到nii格式图像;

肺结节分割模块,采用训练并验证后的改进3D-UNet网络模型。

第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。

第四方面,本发明提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。

本发明的有益效果是:

1.数据预处理模块能够将原始的DICOM数据进行数据增强,能够更好的扩充医学图像的数据样本量,可以帮助更好的训练网络模型,提升图像分割效果。

2.通过在3D-Unet网络中引入压缩激励模块,解决了网络随深度的加深会出现的梯度消失的问题,使得图像特征前向传播时完整保留的信息越来越少的问题得到解决,分割图像更加精确。

3.通过编码器与解码器之间引入残差路径(Res Path)连接,通过一系列卷积层连接来传递编码器特征。这些非线性操作缩小编码器和解码器功能之间的语义差距。

附图说明

图1为本发明提出的一种基于3D-UNet的肺结节CT图像分割流程图;

图2为本发明提出的一种基于3D-UNet网络的主要结构图;

图3是本发明提出的分割模型中残差路径(Res Path)连接的主要结构。

图4是本发明提出的分割模型中压缩激励(SE)模块的主要结构。

具体实施方式

以下结合附图对发明作进一步说明。

请参考图1,其显示了本申请提供的一种基于3D-UNet的肺结节CT图像分割方法的流程图,该方法可以包括以下步骤:

S1、获取原始的DICOM格式的3维肺结节CT图像,通过预处理及格式转换得到肺结节jpg序列图片,并将肺结节jpg序列图片通过execute方法生成图像矩阵数组,利用生成的图像矩阵数组进行格式转换得到nii格式图像。再对nii格式图像进行旋转、翻转等方法进行数据增强输出nii格式文件并保存。

步骤S1目的是肺结节CT图像的预处理,具体包括:

S11、原始CT影像的预处理:将原始的肺结节DICOM格式的CT图像按一定的窗宽窗位调整,窗宽设置为1600,窗位设置为400,转换成图片jpg格式,获得肺结节jpg序列图片;

S12、生成nii图像:首先采用SimpleITK中ImageSeriesReader方法,读取CT序列图像,再通过execute方法生成图像矩阵数组,最后通过wirteImage方法,生成nii格式的图像,该方法输入为CT序列图像生成的矩阵数组,输出为nii格式图像。

S13、数据增强:使用pytorch中的opencv库对nii图像进行旋转、翻转操作后输出最终的nii格式文件。

S2、对nii格式文件进行裁剪,并搭建3D-UNet网络模型;

S21、对nii数据进行裁剪:先对原图像按结节进行裁剪至固定尺寸,降低数据大小方便读入网络。同时在裁剪过程中,对数据进行正则化处理,通过统计整个数据集中mask内像素的HU值范围,找出[0.005,0.995]范围的HU值,然后使用z-score方法进行归一化。将处理后的nii数据文件图像用于对之后的网络模型进行训练。

S22、搭建网络模型:本发明中提出的网络结构是基于3D-UNet模型,网络结构如图2所示,该网络结构主要包括编码器、解码器,编码器、解码器间的连接采用残差路径连接;

参考图2,编码器是压缩的过程,即Encoder。图像进入网络后进行四次下采样,逐步提取特征生成四张特征逐步加深的特征图。每次下采样过程依次包括连接的两个3×3Conv层、压缩激励模块、2×2最大池化层。

所述编码器的3×3 Conv层之后还经过BatchNorm层、ReLU层和dropout层;

参考图2,解码器是解码的过程,即Decoder。最后一层下采样后的图像经过两次卷积后开始进行四次上采样,结合下采样的特征图,逐步生成一张掩膜图像。每次上采样过程依次包括连接的2×2反卷积层、两个3×3 Conv层、压缩激励模块。

所述解码器的3×3 Conv层之后还经过BatchNorm层、ReLU层和dropout层;

编码器和解码器特征图之间的语义差距强度会随着我们向内部路径移动而减小。因此残差路径(Res Path)连接使二者在拼接前具有一致的深度从而更有助于图像特征的上下文信息获取。

参考图3,所述残差路径连接采用5-n个串联的卷积单元,n表示当前下采样层数,本实施例残差路径(Res Path)连接从上到下分别使用4、3、2、1个卷积层单元。每个卷积单元包括3×3滤波器、1×1滤波器、融合层;所述3×3滤波器接收当前层下采样输出特征或当前卷积单元上一个级联卷积单元的输出,对其滤波后输出至融合层;所述1×1滤波器接收当前层下采样输出特征或上一个级联卷积单元的输出,对其滤波后输出至融合层;所述融合层接收3×3滤波器输出结果、1×1滤波器输出结果,对其进行相加后输出结果至当前卷积单元下一个级联卷积单元或当前层对应的上采样;

参考图4,所述压缩激励模块具体实现如下:

①给定一个input特征图X,让其经过Ftr卷积操作生成特征图U;特征层U的特征图维度为[C,H,W],C、H、W分别表示图像的通道数、高、宽。

②Squeeze(Fsq(·)):对特征图的[H,W]维度进行全局平均池化,生成一个1×1×C的向量z

其中u

③Excitation(Fex):通过两层全连接层完成完成各个通道的权重分配。

S=F

其中S表示特征图U中C个特征图的权重,δ表示ReLU激活函数,σ表示sigmoid激活函数,W

④Scale(Fscale):将第三步生成权重向量S对特征图U进行权重赋值后得到最终的特征图

其中

表1网络模型的参数

S23、设置模型训练参数:模型训练过程Batch size设置为8,采用Adam优化器,学习率为0.001;学习率调整策略为计算训练集和验证集的指数移动平均损失,如果训练集的指数移动平均损失在50轮训练次数内减少不够5e-3,则学习率衰减5倍;训练停止条件是当验证集指数移动平均损失100个epoch内减少不够5e-3,或者学习率小于1e-6,则停止训练。

S3、对搭建后的3D-UNet网络模型设置损失函数,并基于所设置的损失函数对3D-UNet网络模型进行训练。

在本申请模型中,步骤S3目的是训练模型,生成最优模型,具体包括了:

S31、设置损失函数,使用五折交叉验证,损失函数为Dice损失和交叉熵损失。

Dice系数是一种集合相似度度量函数,通常用于计算两个样本点的相似度(值范围为[0,1]。这样梯度损失函数能够注入网络,同时促进网络中所有层的训练。

S32、训练过程:在训练集上训练的3D-UNet,对每一个样本单独计算Dice损失,然后在batch上求平均值,在进行完交叉验证之后,训练模型会选择表现最好的参数,并把结构保存下来。

S4、将测试数据输入到训练好的网络中,输出预测的肺结节mask图像。

综上可以看出,本发明涉及医学图像分割技术领域,通过深度学习方法对肺结节CT图像进行分割。为解决图像分割任务在类内语义一致性以及空间上下文建模上的不足,提出一种融合残差连接路径和压缩激励的3D-Unet网络肺结节分割方法及其系统。

相关技术
  • 基于改进的V-Net网络的肺结节CT图像分割、训练方法及装置
  • 一种基于3D-Unet的CT图肺结节检测系统
技术分类

06120115934368