一种基于改进CNN的肺结节计算机辅助诊断装置及方法与流程

文档序号:18469190发布日期:2019-08-20 20:05阅读:247来源:国知局
一种基于改进CNN的肺结节计算机辅助诊断装置及方法与流程

本发明涉及计算机辅助诊断技术领域,尤其涉及一种基于改进cnn的肺结节计算机辅助诊断装置及方法。



背景技术:

ct扫描技术是人们广泛认可的能够对肺癌进行早期检测、诊断和筛查最有效、最重要的方法,对比于其他医学成像技术,ct技术能够精准的检测出大多数的肺结节。传统的肺结节辅助诊断方法需要人工手动的提取特征,没有统一的标准,需要花费大量的时间和精力。而且提取的特征无法全面的表述图像的性质。深度学习可以很好的解决这个问题。深度学习在图像处理方面有着明显的优势,在图像提取特征上只需要将图片输入就能够自动的提取特征,而且能够保证提取的特征质量很高,并且提取的特征能够更全面的表述图像的本质。

卷积神经网络(convolutionalneuralnetwork,,即cnn)肺结节的辅助诊断的过程中,能够提取出质量高的特征,而且能够获得良好的分类精确度,但是其分类精确度依然不到临床上使用的标准,因此,提高深度学习的精确度是十分有意义的。



技术实现要素:

本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于改进cnn的肺结节计算机辅助诊断装置及方法,通过计算机实现对肺结节的辅助诊断。

为解决上述技术问题,本发明所采取的技术方案是:一方面,本发明提供一种基于改进cnn的肺结节计算机辅助诊断装置,包括标签提取器、窗口定位器、图像分割器、图像特征提取器、反馈优化器、泛化器、数据训练器及辅助诊断器;

通过标签提取器、窗口定位器、图像分割器对胸腔ct图像进行标签提取和分割得到肺结节ct图像;然后将处理后得到的肺结节ct图像输入到图像特征提取器,提取肺结节ct图像的特征映射图,并对特征映射图进行压缩,提取图像特征并简化计算复杂度;最后将肺结节的特征映射图整合成一个特征向量;同时使用反馈优化器和泛化器对整个提取图像特征向量的过程进行调优,减少输出误差;然后将这个特征向量输入到数据训练器中进行数据的训练,最后通过辅助诊断器实现对肺结节良恶性的诊断;

所述标签提取器用于根据公开的胸腔ct图像数据库中的xml文件提取胸腔ct图像中的肺结节标注的肺结节良恶性级别及肺结节位置坐标,得到肺结节标注(n0,n1,…,nl-1),其中,l为肺结节ct图像中肺结节的个数,ni为第i个肺结节的良恶性级别,i=0,1,…,l-1;

所述窗口定位器用于根据公开的胸腔ct图像数据库中的xml文件提取胸腔ct图像中标注的肺结节位置坐标,并通过求三个以上标签中同一个肺结节的中心点坐标的平均值,得到肺结节的中心坐标((x0,y0),(x1,y1),…,(xl-1,yl-1)),其中xi为第i个肺结节的横坐标,yi为第i个肺结节的纵坐标;

所述图像分割器根据窗口定位器提供的肺结节的中心坐标值,对胸腔ct图像用64×64的窗口进行分割,得到肺结节ct图像(i0,i1,…,il-1),其中ii为第i个肺结节对应的肺结节ct图像;

所述图像特征提取器采用卷积神经网络提取肺结节ct图像的特征映射图,并对特征映射图进行压缩,提取图像特征并简化计算复杂度,该卷积神经网络包括若干个卷积层、若干个激活层、若干个池化层和一个全连接层;

所述卷积层用于提取肺结节ct图像的特征,包括多个卷积核,图像经过每个卷积核会进行卷积计算并得到相应的特征映射图,并将得到的特征映射图输入到激活层中;

所述激活层将卷积层的输出结果用relu函数做非线性变换后再输出,提升收敛速度;

所述池化层使用最大值采样的方法对激活层输出数据的各个维度进行空间的采样,检测生成的特征映射的最大响应而减少特征图的分辨率,进一步降低特征映射图的规模;

所述全连接层将图像数据经若干个卷积层、激活层、池化层后得到的特征映射图组合成一个n维的特征向量ti=[ti1,ti2,…,tin]t∈rn,其中,ti是第i个肺结节ct图像的特征向量,tij是第i个肺结节ct图像的特征向量中的第j个特征值,j=1,…,n,rn表示n维的向量空间;

所述泛化器使用dropout算法,让全连接层中的节点以0.5的概率临时停止工作,减少节点之间的相互作用,以解决卷积神经网络的过拟合问题;

所述反馈优化器利用反向传播(backpropagation,即bp)通过信号正向传播与误差反向传播调整卷积层和池化层的权值,减少卷积神经网络的输出误差;

所述数据训练器在极限学习机(extremelearningmachine,即elm)上训练肺结节ct图像的特征向量数据,得到elm的参数(w,b,β),其中,为elm输入层与隐含层之间的连接权值,wj′i′表示elm输入层第i′个神经元与隐含层第j′个神经元的连接权值,j′=1、2、…、l′,l′为elm输入层神经元个数,i′=1、2、…、t′,t′为elm隐含层神经元个数,b为elm隐含层神经元的阈值,βj′k表示elm隐含层第j′个神经元与输出层第k个神经元的连接权值,k=1、2、…、m,m为elm输出层神经元个数;

所述辅助诊断器利用极限学习机及数据训练器中的输入、输出数据,实现在elm上对肺结节的良恶性的辅助诊断。

另一方面,本发明还提供一种基于改进cnn的肺结节计算机辅助诊断方法,包括以下步骤:

步骤1:对胸腔ct图像进行解析,确定肺结节的位置,分割肺结节图像以及对肺结节图像进行相应的预处理,具体方法为:

步骤1-1:通过标签提取器提取肺结节良恶性信息标注:

用标签提取器解析公开的胸腔ct图像数据库中的xml文件,查询并提取xml文件中一组<readingsession>和</readingsession>标签的子标签<maligancy>下对肺结节良恶性级别标注的内容并存储,得到肺结节标注信息(n0,n1,…,n1-1);

步骤1-2:通过窗口定位器确定肺结节中心坐标;

用窗口定位器在xml文件中查询到三组<readingsession>和</readingsession>标签,分别在它们的子标签<xcoord>和子标签<ycoord>后提取肺结节轮廓的横坐标和纵坐标的值,并求得该组标签下肺结节中心坐标的值,然后求三组<readingsession>和</readingsession>标签所得肺结节中心坐标的平均值,得到每个肺结节误差最小的中心点坐标((x0,y0),(x1,y1),…,(xl-1,yl-1));

步骤1-3:通过图像分割器得到肺结节ct图像;

结合窗口定位器记录的肺结节中心坐标,使用64×64的窗口在胸腔ct对肺结节部分进行分割得到肺结节ct图像(i0,i1,…,il-1);

步骤2:通过卷积神经网络提取肺结节的特征映射图并最终整合成一个特征向量,具体方法为:

步骤2-1:将从图像分割器得到的肺结节ct图像(i0,i1,…,,il-1)输入到卷积层中,输出特征图;

步骤2-2:将卷积层的输出输入到激活层中进行非线性变换;

步骤2-3:将激活层的输出结果输入池化层进行最大值采样,进一步降低数据规模;

步骤2-4:重复步骤2-1至2-3,最后得到20个4×4的特征图;

步骤2-5:将20个4×4的特征图输入到全连接层中,同时使用泛化器和反馈优化器来解决卷积神经网络的过拟合问题并减少卷积网络的输出误差,得到一个320维的特征向量xi=[xi1,xi2,…,xin]t

步骤3:运用生成的特征向量实现对肺结节的辅助诊断;

步骤3-1:将得到的特征向量输入至数据训练器中并进行肺结节良恶性的训练;

步骤3-2:辅助诊断器利用训练的数据实现肺结节的辅助诊断。

采用上述技术方案所产生的有益效果在于:本发明提供的一种基于改进cnn的肺结节计算机辅助诊断装置及方法,不仅继承了cnn在图像数据提取特征方面的优势,而且对cnn的分类性能进行了改进;同时,在用卷积神经网络对肺结节ct图像进行特征提取的过程中,使用泛化器和反馈优化器来解决卷积神经网络的过拟合问题,提高了深度学习分类精确度的同时规避了算法可能产生的过拟合问题,可以得到更好的准确率和更低的误诊率,获得了更好的肺结节良恶性辅助诊断的效果。

附图说明

图1为本发明实施例提供的一种基于改进cnn的肺结节计算机辅助诊断装置的结构框图;

图2为本发明实施例提供的cnn结构示意图;

图3为本发明实施例提供的图像分割的流程图;

图4为本发明实施例提供的反向传播方法的流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本实施例以,公开的胸腔ct图像数据库lidc-idri数据库中的胸腔ct图像为例,采用本发明的基于改进cnn的肺结节计算机辅助诊断装置及方法进行肺结节计算机辅助诊断。

一种基于改进cnn的肺结节计算机辅助诊断装置,如图1所示,包括标签提取器、窗口定位器、图像分割器、图像特征提取器、反馈优化器、泛化器、数据训练器及辅助诊断器;

通过标签提取器、窗口定位器、图像分割器对胸腔ct图像进行标签提取和分割得到肺结节ct图像;然后将处理后得到的肺结节ct图像输入到图像特征提取器,提取肺结节ct图像的特征映射图,并对特征映射图进行压缩,提取图像特征并简化计算复杂度并;最后将肺结节的特征映射图整合成一个特征向量;同时用反馈优化器对整个提取图像特征向量的过程进行调优,减少输出误差;然后将这个特征向量输入到数据训练器中进行数据的训练,最后通过辅助诊断器实现对肺结节良恶性的诊断;

所述标签提取器用于根据公开的胸腔ct图像数据库lidc-idri中的xml文件提取胸腔ct图像中的肺结节标注的肺结节良恶性级别及肺结节位置坐标,得到肺结节标注(n0,n1,…,nl-1),其中,l为肺结节ct图像中肺结节的个数,ni为第i个肺结节的良恶性级别,i=0,1,…,l-1;

所述窗口定位器用于根据公开的胸腔ct图像数据库lidc-idri中的xml文件提取胸腔ct图像中标注的肺结节位置坐标,并通过求三个以上标签中同一个肺结节的中心点坐标的平均值,得到肺结节的中心坐标((x0,y0),(x1,y1),…,(xl-1,yl-1)),其中xi为第i个肺结节的横坐标,yi为第i个肺结节的纵坐标;

所述图像分割器根据窗口定位器提供的肺结节的中心坐标值,对胸腔ct图像用64×64的窗口进行分割,得到肺结节ct图像(i0,i1,…,il-1),其中ii为第i个肺结节对应的肺结节ct图像;

所述图像特征提取器采用如图2所示的卷积神经网络提取肺结节ct图像的特征映射图,对特征映射图进行压缩,提取图像特征并简化计算复杂度,该卷积神经网络包括若干卷积层、激活层、池化层和一个全连接层;

所述卷积层用于提取肺结节ct图像的特征,包括多个卷积核,图像经过每个卷积核会进行卷积计算并得到相应的特征映射图,并将得到的特征映射图输入到激活层中;

所述激活层将卷积层的输出结果用relu函数做非线性变换后再输出,提升收敛速度;

所述池化层使用最大值采样的方法对激活层输出数据的各个维度进行空间的采样,检测生成的特征映射的最大响应而减少特征图的分辨率,进一步降低特征映射图的规模;

所述全连接层将图像数据经若干个卷积层、若干个激活层、若干个池化层后得到的特征映射图组合成一个n维的特征向量ti=[ti1,ti2,…,tin]t∈rn,其中,ti是第i个肺结节ct图像的特征向量,tij是第i个肺结节ct图像的特征向量中的第j个特征值,j=1,…,n,rn表示n维的向量空间,本实施例中,n=320;

所述泛化器使用dropout算法,让全连接层中的节点以0.5的概率临时停止工作,减少节点之间的相互作用,以解决卷积神经网络的过拟合问题;

所述反馈优化器利用反向传播(backpropagation,即bp)通过信号正向传播与误差反向传播调整卷积层和池化层的权值,减少卷积神经网络的输出误差;

所述数据训练器在极限学习机(extremelearningmachine,即elm)上训练肺结节ct图像的特征向量数据,得到elm的参数(w,b,β),其中,为elm输入层与隐含层之间的连接权值,wj′i′表示elm输入层第i′个神经元与隐含层第j′个神经元的连接权值,j′=1、2、…、l′,l′为elm输入层神经元个数,i′=1、2、…、t′,t′为elm隐含层神经元个数,b为elm隐含层神经元的阈值,βj′k表示elm隐含层第j′个神经元与输出层第k个神经元的连接权值,k=1、2、…、m,m为elm输出层神经元个数;

所述辅助诊断器利用极限学习机及数据训练器中的输入、输出数据,实现在elm上对肺结节的良恶性的辅助诊断。

极限学习机elm的基本原理为:

对于n个任意不同的样本集合(xi,ti),其中,xi=[xi1,xi2,…,xin]t∈rn,ti=[ti1,ti2,…,tim]t∈rm具有l个隐藏节点和以g(x)为激励函数的标准单隐含层前馈神经网络的数学模型如下:

其中,wi=[wi1,wi2,…,wim]t是连接输入样本与第i个隐藏节点的权向量,βi=[βi1,βi2,…,βim]t是连接第i个隐藏节点与输出样本的权向量,bi是第i个隐藏节点的偏置量,而oj=[oi1,oi2,…,oim]t是单隐层前馈神经网络的第个输出样本。

带有l个隐藏节点的标准单隐层前馈神经网络,激活函数为g(x),可以以误差为零无限逼近这n个样本,也就是说即存在βi,wi和bi使以下公式成立,如下公式所示:

上述方程可表示为紧凑形式:hβ=t,其中:

h为神经网络的单隐层输出矩阵,h矩阵的第j列是对应输入为x1,x2,…,xn时的第j个隐藏节点的输出。以上线性系统的最小二乘最优解为:

其中是h的moore-penrose广义逆矩阵。因此,elm的输出样本函数为:

肺结节ct图像数据输入到cnn中,得到320维的特征向量。当用户输入一幅或一组肺结节ct图像数据时,首先根据elm训练方法进行特征提取,之后利用elm诊断方法进行肺结节的辅助诊断。下面对两种方法进行详细介绍:

elm训练方法要求输入数据为隐藏节点数l以及带标签数据n={(xj,tj)|xj∈rn,tj∈rm,j=1,2,…,n},输出为elm的三个参数:w,b和β,具体方法为:

(1)随机生成隐藏节点参数:w,b,β。

(2)由

计算单隐层输出矩阵h。

(3)由计算出权向量

(4)返回(w,b,β)。

(5)在隐藏节点内重复以上循环。

elm诊断算法要求输入数据为elm训练算法的输入、输出数据及待判断数据,输出为诊断结果r,具体方法为:

计算单隐层输出矩阵h;

根据公式得到诊断结果r=f(x),并返回r。

一种基于改进cnn的肺结节计算机辅助诊断方法,包括以下步骤:

步骤1:对胸腔ct图像进行解析,确定肺结节的位置,分割肺结节图像以及对肺结节图像进行相应的预处理,如图3所示,具体方法为:

步骤1-1:通过标签提取器提取肺结节良恶性信息标注:

用标签提取器解析公开的胸腔ct图像数据库中的xml文件,查询并提取xml文件中一组<readingsession>和</readingsession>标签的子标签<maligancy>下对肺结节良恶性级别标注的内容并存储,得到肺结节标注信息(n0,n1,…,nl-1);

步骤1-2:通过窗口定位器确定肺结节中心坐标;

用窗口定位器在xml文件中查询到三组<readingsession>和</readingsession>标签,分别在它们的子标签<xcoord>和子标签<ycoord>后提取肺结节轮廓的横坐标和纵坐标的值,并求得该组标签下肺结节中心坐标的值,然后求三组<readingsession>和</readingsession>标签所得肺结节中心坐标的平均值,得到每个肺结节误差最小的中心点坐标((x0,y0),(x1,y1),…,(xl-1,yl-1));

步骤1-3:通过图像分割器得到肺结节ct图像;

结合窗口定位器记录的肺结节中心坐标,使用64×64的窗口在胸腔ct对肺结节部分进行分割得到肺结节ct图像(i0,i1,…,il-1);

步骤2:通过卷积神经网络提取肺结节的特征映射图并最终整合成一个特征向量,如图2所示,具体方法为:

步骤2-1:将从图像分割器得到的肺结节ct图像(i0,i1,…,,il-1)输入到卷积层中,输出特征图,如下公式所示:

其中,表示为卷积操作,wii在开始时会被随机初始化,在训练反馈优化器时,wij表示为第i层的第j个特征图,η(i-1)表示的是第i-1层的输出,ηj表示的是卷积层中输出的第j个特征图;

步骤2-2:将卷积层的输出输入到激活层中进行非线性变换;

本实施例中,在激活层使用了两个归一化操作进行非线性变换,可表示为:

其中,变量zmnk有两种含义,一种含义表示减法时的输出,另外一种表示除法时的输出。ηmnk表示第k个特征图中位置(m,n)处的值,变量εpq表示的是高斯滤波器。

除法归一化的相关的操作过程可表示为:

其中m可表示为:

m(m,n)可表示为:

步骤2-3:将激活层的输出结果输入池化层进行最大值采样进一步降低数据规模;

本实施例中,经过最大值采样操作后或者在第i层的第j个特征映射图的位置(m,n)处神经元的值为:

步骤2-4:重复步骤2-1至2-3,最后得到20个4×4的特征图;

本实施例中,第一个卷积层尺寸为13×13,深度为20,步长为1,输出尺寸为52×52,深度为20的特征图,再经过第一个池化层得到20个尺寸为26×26的特征图,第二个卷积层尺寸为5×5,得到20个22×22的特征图,再经过第二个池化层得到20个11×11的特征图;再通过第三个卷积层可以得到20个8×8的特征图,最后再通过第三个池化层,得到20个4×4的特征图。

步骤2-5:将20个4×4的特征图输入到全连接层中,同时使用泛化器和反馈优化器来解决卷积神经网络的过拟合问题并减少卷积网络的输出误差,得到一个320维的特征向量xi=[xi1,xi2,…,xin]t

使用泛化器解决卷积神经网络过拟合问题的具体方法为:

(1)需随机删除卷积神经网络一半的隐含层的神经元,输入和输出保持不变;

(2)把输入x通过修改后的卷积神经网络前向传播,把得到的损失结果通过修改的卷积神经网络反向传播。一小批训练样本执行完这个过程后,在没有被删除的神经元上按照随机梯度下降法更新参数(w,b)。

(3)恢复被删掉的神经元(此时被删除的神经元保持原样,而没有被删除的神经元已经有所更新),并重复以上步骤。

反馈优化器的输入数据可以用(xk,yk)表示,并需给定学习率η,输出可以用表示,均方误差可以用ek表示,且通过反馈优化器减小卷积神经网络输出误差的具体方法如图4所示,具体方法为:

步骤s1:输入需要训练的肺结节ct图像的特征向量数据及学习率η,设训练集开始反向传播算法。

步骤s2:在(0,1)范围内随机初始化网络中的连接权值。

步骤s3:根据参数和公式计算当前样本的输出

步骤s4:根据公式计算输出层神经元的梯度gj。

步骤s5:根据公式计算隐含层神经元的梯度eh。

步骤s6:根据公式δwhj=ηgjbh,δθj=-ηgj,δvih=ηehxi,δγh=-ηeh更新连接权值whj,vih与阈值θj,γh。

步骤s7:在训练集d内进行循环。

步骤s8:返回连接权值与阈值共同确定的多层神经网络。

如上算法所示,首先,输入需要训练的肺结节ct图像的特征向量数据;然后特征向量会进入输入层的神经元中,此时数据会先向前进行传播,直到会产生输出层的结果;其次会根据步骤s3和步骤s6计算出输出层的误差值;再根据步骤s7将误差值进行反向传播,传递给隐含层的神经元;根据步骤s8可以对连接的权值矩阵进行更新。此过程会一直迭代的进行下去,直到循环终止。

步骤3:运用生成的特征向量实现对肺结节的辅助诊断;

步骤3-1:将得到的特征向量输入至数据训练器中并进行肺结节良恶性的训练;

步骤3-2:辅助诊断器利用训练的数据实现肺结节的辅助诊断。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1