本发明属于图像处理领域,具体涉及一种基于3d卷积神经网络的肺结节检测装置的建立方法。
背景技术:
现有采用深度学习算法检测肺部ct图中肺结节的方法很多,但是检测精度不高。造成精度不高的主要原因为:
(1)检测阶段的召回率较低于某些特殊类型的肺结节,造成漏检的情况,使得检测精度不高。
(2)肺结节的尺寸不均衡,较小的肺结节容易被忽视。
基于上述两个原因,使得采用深度学习算法检测和分割出来的肺结节典型性和代表性不足。
因此,提高肺结节检测的准确性和训练网络分割出更具代表性的结节成为了急需解决的问题。
技术实现要素:
本发明的目的是提供一种基于3d卷积神经网络的肺结节检测装置的建立方法。该方法建立的装置能够更加准确、快速地检测和确定肺部ct中的肺结节的三维图像。
为实现上述发明目的,本发明提供以下技术方案:
一种基于3d卷积神经网络的肺结节检测装置的建立方法,所述建立方法包括:
建立训练样本:首先,将采集的三维肺部ct图像裁剪成大量的立方体小块,然后,采用数据增强方法处理立方体小块,最后,采用难分负样本挖掘方法对增强处理后的立方体小块进行处理,获得最难区分的2n个负样本和n个正样本组成训练样本集;
建立肺结节检测网络:所述肺结节分割网络包括依次连接的128*128*128(24)卷积单元、64*64*64(32)残差卷积单元a、32*32*32(64)残差卷积单元b、16*16*16(64)残差卷积单元c、8*8*8(64)残差卷积单元d、16*16*16(64)残差卷积单元e,16*16*16(64)残差卷积单元e的输出特征图与16*16*16(64)残差卷积单元c输出特征图按照通道拼接后输入至32*32*32(64)残差卷积单元f,32*32*32(64)残差卷积单元f输出特征图与32*32*32(64)残差卷积单元b输出特征图按照通道拼接后,输入至rpn网络以实现对输入图的肺结节检测;
训练肺结节检测网络:以2倍采样频率对训练样本集中的肺结节大于30mm的小块进行采样,以6倍采样频率对训练样集本中的肺结节大于40mm的小块进行采样,其他尺寸的肺结节以正常采样频率采样,将采样后的训练样本输入到肺结节检测网络,以肺结节检测网络的预测输出与真实输出的误差收敛为目标,对肺结节检测网络进行训练,获得肺结节检测装置。
本发明建立的肺结节检测装置的肺结节检测效果准确,且计算开销小。
其中,所述将采集的三维肺部ct图像裁剪成大量的立方体小块包括:
根据以下条件对三维肺部ct图像进行裁剪:
条件一:70%立方体小块中至少包含一个肺结节目标;
条件二:30%立方体小块中从整个肺部中随机选取;
若立方体小块包含的区域超过了肺部,则用ct图像中无意义值170填充非肺部区域;
以肺结节区域的像素作为正样本,其他区域的像素作为负样本。
其中,采用难分负样本挖掘方法对增强处理后的立方体小块进行处理,获得最难区分的2n个负样本和n个正样本组成训练样本集包括:
首先,采用肺结节检测网络对增强处理后的立方体小块进行计算,输出每个像素的分类置信度,分类置信度越接近1,表示立方体小块中含有肺结节的概率越高,分类置信度越接近0,表示立方体小块中不含有肺结节的概率越高;
然后,计算分类置信度与真值标签之差的绝对值,该绝对值越大,表示该负样本越难被网络区分;
最后,选择最难以被区分的2n个负样本和n个正样本组成训练样本集。
具体地,所述64*64*64(32)残差卷积单元a中包含三个依次连接的32维输入的残差单元i;
每个残差单元i包括依次连接的32维输入、8维输出、卷积核为1×1的卷积层,8维输入、8维输出、卷积核为3×3的卷积层,8维输入、32维输出、卷积核为1×1的卷积层,每个卷积层均用于特征提取,三个卷积层级联的输出特征图和输入特征图间相加后,再经过relu函数激活。
具体地,所述32*32*32(64)残差卷积单元b、16*16*16(64)残差卷积单元c、8*8*8(64)残差卷积单元d均包括三个依次连接的64维输入的残差单元ii;
每个残差单元ii包括依次连接的64维输入、16维输出、卷积核为1×1的卷积层,16维输入、16维输出、卷积核为3×3的卷积层,16维输入、64维输出、卷积核为1×1的卷积层,每个卷积层均用于特征提取,三个卷积层级联的输出特征图和输入特征图间相加后,再经过relu函数激活。
具体地,所述16*16*16(64)残差卷积单元e和32*32*32(64)残差卷积单元f均包括两个依次连接的64维输入的残差单元ii。
其中,所述rpn网络的损失函数l为交叉熵损失函数c与smoothl1函数之和。
其中,交叉熵函数c为:
其中,y为期望输出,也就是真值标签,a为网络的实际输出,a=σ(z),z=∑wj×xj+b,wj和b为网路参数;
smoothl1函数为:
inwhich
其中lloc表示目标区域和当前预测的损失函数值;tu表示目标区域,v为当前预测,x,y表示区域的左上角坐标,w,h分别表示区域的宽和高。
其中,所述rpn网络的损失函数l收敛条件为:
连续3个epoch的损失函数l的平均值均低于前一个epoch的损失函数值。
与现有技术相比,本发明具有的有益效果为:
本发明采用难分负样本挖掘方法对裁剪后的ct图像进行难分负样本挖掘,以提高样训练网路的准确性,建立的肺结节检测网络中,引入残差卷积单元,提高了提取特征的能力和训练的速度以及稳定性,获得更多的特征信息,rpn网络的加入提高了肺结节检测的灵活性。经试验验证,训练得到的肺结节检测装置更加准确、快速地检测和确定肺部ct中的肺结节。
附图说明
图1是实施例提供的肺结节检测装置的建立方法的流程图;
图2是实施例提供的肺结节检测网络的结构示意图;
图3是实施例提供的残差单元i的结构示意图;
图4是实施例提供的残差单元ii的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
图1是实施例提供的肺结节分割装置的建立方法的流程图。如图1所示,本实施例提供的肺结节分割装置的建立方法包括以下步骤:
s101,建立训练样本。
一般情况下,将整张图像作为物体检测模型的输入。但是,对于3维的ct图像,由于ct图像过于庞大,现有的gpu显存容量无法满足这一需求,不能将ct图像直接作为物体检测模型的输入。为保证良好的分辨率,本实施例也不能随意地对ct进行压缩,以免丢失很多重要信息,不利于检测结果。因此,将采集的三维肺部ct图像裁剪成大量的立方体小块。将立方体小块作为模型的输入。具体地,根据以下条件对三维肺部ct图像裁剪128×128×128(像素)的立方体小块:
条件一:70%立方体小块中至少包含一个肺结节目标;
条件二:30%立方体小块中从整个肺部中随机选取;
若立方体小块包含的区域超过了肺部,则用ct图像中无意义值170填充非肺部区域;
以肺结节区域的像素作为正样本,其他区域的像素作为负样本。
需要注意的是,肺结节并不一定处于立方体小块的中心,只要存在于立方体小块中,该肺结节区域的像素即为正样本。
裁剪完毕后,采用数据增强方法处理立方体小块,以增加训练样本的鲁棒性和缓解过拟合问题。
由于负样本的数目远超过正样本,并且分布高度不平衡,所以出现大多数样本很容易被区分开,但是其中有一些拥有相似外观的疑似结节的负样本。本实施例采用了难分样本挖掘方法解决这一问题。具体过程为:
首先,采用本发明提出的肺结节检测网络对增强处理后的立方体小块进行计算,输出每个像素的分类置信度,分类置信度越接近1,表示立方体小块中含有肺结节的概率越高,分类置信度越接近0,表示立方体小块中不含有肺结节的概率越高;
然后,计算分类置信度与真值标签之差的绝对值,该绝对值越大,表示该负样本越难被网络区分;
最后,选择最难以被区分的2n个负样本和n个正样本组成训练样本集。
s102,建立肺结节检测网络。
如图2所示,肺结节检测网络包括所述肺结节分割网络包括依次连接的128*128*128(24)卷积单元201、64*64*64(32)残差卷积单元202、32*32*32(64)残差卷积单元203、16*16*16(64)残差卷积单元204、8*8*8(64)残差卷积单元205、16*16*16(64)残差卷积单元206,16*16*16(64)残差卷积单元206的输出特征图与16*16*16(64)残差卷积单元204输出特征图按照通道拼接后输入至32*32*32(64)残差卷积单元207,32*32*32(64)残差卷积单元207输出特征图与32*32*32(64)残差卷积单元203输出特征图按照通道拼接后,输入至rpn网络208以实现对输入图的肺结节检测。
128*128*128(24)卷积单元201与所有的残差卷积单元均用于对输入图进行特征提取。
图2中,r代表拼接操作,即32*32*32(64)残差卷积单元207输出特征图与32*32*32(64)残差卷积单元203输出特征图按照通道进行拼接操作。
64*64*64(32)残差卷积单元202中包含三个依次连接的32维输入的残差单元i,如图3所示,每个残差单元i包括依次连接的32维输入、8维输出、卷积核为1×1的卷积层,8维输入、8维输出、卷积核为3×3的卷积层,8维输入、32维输出、卷积核为1×1的卷积层,每个卷积层均用于特征提取,三个卷积层级联的输出特征图和输入特征图间相加后,再经过relu函数激活。
32*32*32(64)残差卷积单元203、16*16*16(64)残差卷积单元204、8*8*8(64)残差卷积单元205均包括三个依次连接的64维输入的残差单元ii。如图4所示,每个残差单元ii包括依次连接的64维输入、16维输出、卷积核为1×1的卷积层,16维输入、16维输出、卷积核为3×3的卷积层,16维输入、64维输出、卷积核为1×1的卷积层,每个卷积层均用于特征提取,三个卷积层级联的输出特征图和输入特征图间相加后,再经过relu函数激活。
16*16*16(64)残差卷积单元206和32*32*32(64)残差卷积单元207均包括两个依次连接的64维输入的残差单元ii。
上述形如m*m*m(l)均表示输入和输入图片尺寸为m*m*m,通道数为l。例如:128*128*128(24)卷积单元表示输入和输出图片尺寸为128*128*128,通道数为24。
rpn(regionproposalnetworks)网络208为区域建议网络,由2个连续的卷积层构成用于提取针对目标问题的高置信度区域。rpn网络208用于对输入的特征图进行计算,输出矩形目标建议框的集合以及每个建议框的预测得分。对于本实施例,rpn网络208对输入的肺结节特征图进行计算,输出预测的肺结节坐标,直径以及概率,实现对输入图片的分类和回归。
本实施例中,肺结节检测网络中,relu函数作为激活函数,具体为f(x)=max(0,x)。
rpn网络的损失函数l为交叉熵损失函数c与smoothl1函数之和。
其中,交叉熵函数c为:
其中,y为期望输出,也就是真值标签,a为网络的实际输出,a=σ(z),z=∑wj×xj+b,wj和b为网路参数;
smoothl1函数为:
inwhich
s103,训练肺结节检测网络,得到肺结节检测装置。
对于训练样本集中,虽然,该训练样本集中的训练样本中去除了非常小的结节目标,但仍然存在结节尺寸及其不平衡的问题,小结节的数目远超过大结节。如果使用统一采样,网络的学习会更加倾向小结节的检测,与此同时牺牲大结节检测的准确性,这是与本发明的发明目的相悖。故为了解决这个问题,本实施例中,对训练样本集中加大了大结节的采样频率。具体如下:
以2倍采样频率对训练样本集中的肺结节大于30mm的小块进行采样,以6倍采样频率对训练样集本中的肺结节大于40mm的小块进行采样,其他尺寸的肺结节以正常采样频率采样,将采样后的训练样本输入到肺结节检测网络,以肺结节检测网络的预测输出与真实输出的误差收敛为目标,对肺结节检测网络进行训练,获得肺结节检测装置。
在训练的过程中,采用链式法则求网络参数的梯度。得到误差对每个参数的导数值时,即得到了当前的梯度值。根据梯度下降算法,参数向量减去梯度向量与学习率的乘积,为一次参数迭代过程。以连续3个epoch的损失函数l的平均值均低于前一个epoch的损失函数值为收敛目标,经过多次参数迭代,得到最终的参数向量,即得到肺结节预测装置。
在获得肺结节分割装置后,对待测样本(待测肺部ct图)按照s101所述的内容进行预处理后,输入到肺结节检测装置,经计算获得待测样本的肺结节概率、坐标、直径。
经过实验对比得到:在肺结节检测网络中引入残差网络,也就是本实施例提供的肺结节检测网络的召回率为95%,收敛所需epoch数为60,未引入残差网络时,网络的召回率为85%,收敛所需epoch数为70。由此可以,引入残差网络提供了肺结节检测网络的召回率,训练速度以及稳定性。此外,对待测样本进行预测时,明显得到,引入残差网络得到的肺结节检测装置获得的测试速度更高,测试结果更准确。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。