一种基于卷积神经网络的三维肺结节识别方法与流程

文档序号:17246214发布日期:2019-03-30 08:49阅读:1176来源:国知局
一种基于卷积神经网络的三维肺结节识别方法与流程
本发明涉及医学图像分析领域和深度学习领域,具体涉及一种基于卷积神经网络的三维肺结节识别方法。
背景技术
:肺癌是最常见也是致死率最高的癌症之一,肺癌的早期诊断和治疗能够大大提高病人的五年存活率。肺结节是肺癌在胸部计算机断层扫描(ct)图像的表现形式,所以通过胸部ct图像识别肺结节是检测肺癌的有效手段。然而,由于一套肺部ct图像有上百张,且肺结节体积较小,这无疑加大了医生的工作负担,进而降低了医生的工作效率,也有可能出现误诊、漏诊的情况。由于深度学习的快速发展以及越来越多的ct数据集的涌现,通过深度学习分析ct图像识别肺结节已经成为了一种可行的方法,这很大程度地解决了上述问题。在肺结节识别算法中,最为常用的当属卷积神经网络。神经网络越深层,网络的识别率越高,因此,增加神经网络的深度能够提高肺结节检测的准确性。然而,随着神经网络的深度增加,网络越难训练,可能会出现梯度消失、梯度爆炸或者是退化问题,并且传统的卷积神经网络在面对复杂的三维ct图像也存在图像识别准确率较低的问题。技术实现要素:针对现有技术的不足,本发明提供一种基于卷积神经网络的三维肺结节识别方法,该方法可以分析出三维ct影像中是否含有肺结节以及肺结节的具体位置,主要解决了现有技术由于深度卷积神经网络可能出现梯度消失、梯度爆炸或退化问题导致肺结节识别准确率较低的问题。本发明采用如下技术方案:一种基于卷积神经网络的三维肺结节识别方法,包括步骤:s1、肺部三维ct图像数据集预处理,将预处理后的ct图像数据集分成训练数据集和测试数据集;s2、建立densenet和squeeze-and-excitationnet相结合的神经网络模型;s3、设置由s2得到的神经网络模型的超参数;s4、将训练数据集导入由s3设置好的神经网络模型中,采用随机梯度下降算法和学习率逐步递减的训练方式进行训练,待模型充分收敛之后,保存并导出模型结构和权重参数,得到训练好的神经网络模型;s5、用训练好的神经网络模型对测试数据集中每组三维ct图像进行测试,得到每组三维ct图像中的肺结节识别结果。在一个优选的实施例中,步骤s2所述的densenet和squeeze-and-excitationnet相结合的神经网络模型在densenet的基础上保留bottlenecklayer结构,去除transitionlayer结构,添加seblock结构。在一个优选的实施例中,每个seblock结构串接在相邻两个bottlenecklayer结构之间;每个bottlenecklayer结构的输出为后续所有bottlenecklayer结构的输入;所建立的神经网络模型还包括依次连接的dropout层、全连接层和softmax层,最后一个bottlenecklayer结构的输出端与dropout层连接。与现有技术相比,本发明具有以下有益效果:(1)本发明构建的新的神经网络,提高了三维ct图像肺结节的识别精度,可用于计算机辅助诊断系统。(2)在深层三维卷积网络中不仅含有深层特征和浅层特征,而且对这些特征附加了权重,使得神经网络识别的准确率有所增加。附图说明图1为本发明的肺结节识别方法实现流程图;图2为本发明的神经网络结构图;图3为squeeze-and-excitation(se)单元结构图;图4为本发明一个实施例中识别肺结节位置的算法图。具体实施方式下面结合附图,对本发明的具体实施方式作进一步详细叙述,但本发明的实施方式不限于此。本发明技术基本原理为:squeeze-and-excitationnet(senet)上含有一种结构单元——squeeze-and-excitation(se)单元(又称squeezeexcitationblock、se块、seblock),可以极大地提升神经网络性能。densenet网络结构主要由denseblock组成,densenet中可加入瓶颈层(bottlenecklayer)和transitionlayer进行降维与减少计算量。densenet每层以之前层的输出为输入,对于有l层的传统网络,一共有l个连接,对于densenet则有(l×(l+1))/2个连接。denseblock中每一层的输入都是来自于前面所有层的输出,即每一层的特征图都会作为后面层的输入。resnet:xl=hl(xl-1)+xl-1densenet:xl=hl([x0,x1,…,xl-1])为了增大网络对肺结节识别的准确率,本发明将densenet和senet相结合并应用于肺结节的识别当中,在densenet的基础上保留了瓶颈层(bottlenecklayer)结构,去除了过渡层(transitionlayer)结构,添加squeezeexcitationblock结构。如此,在三维卷积网络中不仅含有深层特征和浅层特征,而且对这些特征均附加了权重,使得网络识别的准确率有所增加。并且为了准确输出肺结节的位置,本发明提出了新的输出肺结节位置的解决方案。本发明的技术构思为:大多数通过深度学习进行医学图像分析的方法采用的是二维卷积神经网络,但二维的ct图像会遗漏肺结节的部分信息,导致神经网络对肺结节识别的准确率较低,而三维卷积神经网络能够较好地保留肺结节的空间信息。densenet加强了特征的传递并防止了梯度消失;squeeze-and-excitationnet(senet)为每个特征通道生成权重,衡量每个特征通道的重要性。将seblock嵌入到densenet当中,能够较大地提高网络识别的准确率。本实施例中,使用谷歌开源的tensorflow神经网络框架,所用的数据来自于天池医疗ai数据集,拥有数千份高危患者的低剂量肺部ct图像(mhd格式)数据,每个影像包含的切片数量随着扫描机器、扫描层厚和患者的不同而有所差异。原始图像为三维图像,每个图像包含一系列胸腔的多个轴向切片,由不同数量的二维图像组成。结节标注信息:csv文件,标注了结节的位置和大小。seriesuidcoordxcoordycoordzdiameter本实施例中基于卷积神经网络(densenet和senet相结合)的三维肺结节识别方法,如图1-4所示,包括以下步骤:s1、肺部三维ct图像数据集预处理,将预处理后的ct图像数据集分成训练数据集和测试数据集。具体为:1)对原始肺部三维ct图像进行图像预处理,即在训练阶段前对数据进行预处理:包括:读取原始数据集的ct图像(mhd格式)数据,对其进行肺分割并统一图像大小等,具体为:将体素间距转换为(1,1,1);将世界坐标转换为体素坐标;读取结点标注信息csv文件,对图像进行贴标签的操作;通过阈值调整与轮廓提取算法进行肺分割操作;以结节为中心进行提取,如果结节的坐标位于图像的边缘位置,则很难提取,此时需要对其进行零填充。2)将预处理后的图像数据集分成训练数据集和测试数据集。s2、建立densenet和squeeze-and-excitationnet(senet)相结合的神经网络模型。如图2,densenet和squeeze-and-excitationnet相结合的神经网络模型在densenet的基础上保留bottlenecklayer结构,去除transitionlayer结构,添加squeezeexcitationblock(seblock)结构;每个seblock结构串接在相邻两个bottlenecklayer结构之间;每个bottlenecklayer结构的输出为后续所有bottlenecklayer结构的输入。所建立的神经网络模型中,最后一个bottlenecklayer结构的输出端与dropout层连接,而dropout层、全连接层和softmax层依次连接。本实施例中,每个bottlenecklayer结构均包括第一部分和第二部分,每部分均包括batchnormalization(bn)层、relu层和三维卷积层。不同的是,第一部分的三维卷积层的步长为1、卷积核是1*1*1,目的是降维,减少特征图的数量,加快后期的训练速度;而第二部分的三维卷积层的步长为1、卷积核是3*3*3,目的是提取图像特征。如图3,seblock结构包括依次连接的全局平均池化层、全连接层、relu激活函数、全连接层及sigmoid激活函数。在seblock结构中,首先是进行squeeze操作,将各通道的全局空间特征作为该通道的表示,形成一个通道描述符,使用全局平均池化层来生成各通道的统计量,即将所有特征图通过一个reducemean函数,将每张特征图整合成一个数字;其次是考察各通道的依赖程度,连接一个全连接层以降维至1/r,r为超参数;接着连接一个relu激活函数,再连接一个全连接层,最后使用带sigmoid激活函数的门限机制实现各通道特征权重的调节,有助于增强特征的可读性。在denseblock中,每次经过bottlenecklayer之后,然后进行通道上的连接,最后再嵌入squeezeexcitationblock,实现在进行连接之前所有层的通道之后再对每个通道添加权重,使神经网络在训练后期可以抑制无用特征,突出有效特征。s3、设置神经网络模型的超参数。具体为:设置batch_size(批量大小)、dropout_rate(dropout层的超参数)、growth_k(每层输出的特征图数量)、total_epochs(训练总时期)、init_learning_rate(学习率)以及r(se结构中全连接层的超参数)。s4、将训练数据集导入神经网络模型之中,采用随机梯度下降算法和学习率逐步递减的训练方式进行训练。待模型充分收敛之后,保存并导出模型结构和权重参数。如图4所示,在训练阶段,为了能够达到检测三维ct图像中肺结节的位置的目的,神经网络模型需要计算三次反向传播算法,三次反向传播算法分别计算关于肺结节的位置x、y、z的参数更新值。为了让任意一个反向传播算法不影响到其余反向传播算法的效果,本发明采用gpu并行处理模式中的同步模式。在同步模式下,所有的gpu同时读取参数的取值,并且当反向传播算法完成之后同步更新参数的取值。因为训练对象的不同,所以得到的参数梯度也就不一样。当所有设备完成反向传播算法的计算之后,计算出不同gpu上参数梯度的平均值,最后再根据平均值对参数进行更新。s5、用训练好的神经网络模型对测试数据集中每组三维ct图像进行测试,得到每组三维ct图像中的肺结节识别结果。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1