基于深层模型和浅层模型决策融合的肺结节CT图像自动分类方法与流程

文档序号:11143415阅读:1548来源:国知局
基于深层模型和浅层模型决策融合的肺结节CT图像自动分类方法与制造工艺

本发明属于图像处理和医学结合领域,具体涉及一种基于CT图像的肺结节良性恶性分类方法,我们分别提取基于深度卷积神经网络的特征和描述肺结节纹理和形状的视觉特征。对这三种不同的特征分别训练三个分类器,将所有分类器的结果进行加权平均得到最终的分类结果,实现基于CT图像的肺结节分类方法的创新。



背景技术:

基于CT图像的肺结节分类一般可分为三部分:肺结节分割、特征提取以及肺结节的分类。肺结节分割是根据专家标记的结节的坐标,在CT图像中将对应位置的结节进行分割,从CT图像中提取出来。特征提取则是进一步将分割得到的结节图像转化为一组便于后续处理的数值特征。被用来进行肺结节分类的特征主要可分为两大类:手动提取的视觉特征和通过深度神经网络提取的深度特征。由于肺结节的恶性度与其灰度值的异质性和形状密切相关,因此视觉特征通常可分为纹理特征和形状特征。其中最常用的是基于灰度共生矩阵(Gray Level Co-Occurrence Matrix,GLCM)的纹理特征和基于傅里叶描述子(Fourier Descriptor,FD)的形状特征。近年来,随着深度学习技术的飞速发展,越来越多的学者们致力于将基于深度神经网络的深度特征作为研究的重点。深度神经网络将特征提取和分类集成在一个统一的网络结构中。在所有的深度神经网络中,深度卷积神经网络是最流行的网络,通过海量数据的训练,我们可以自动地学习到更有高区分能力的特征。肺结节分类则是将提取的各类特征进行综合后,选择合适的分类器,从而将结节分为良性和恶性两类。常用的分类器有支持向量机,决策树,反向传播神经网络(BPNN),Adaboost,随机森林。

通常来说,对于一个给定的肺结节图像,分类的性能与描其特征述的方式高度相关。而一个特定的特征,例如形状特征,纹理特征只可以表现肺结节一个方面的特性,因此使用单个特征会严重的影响肺结节的分类效果。为了有效改善这种问题,信息融合的方法被提出来。信息融合通常可分为数据层融合,特征层融合,决策层融合。由于本发明中数据的来源只有LIDC-IDRI数据库,因此不考虑数据层融合。而在本发明中,当我们进行特征层融合时,一个特征可能会受其他特征的影响,进而这些特征的空间分布都会发生改变,这些改变会导致差的分类性能。决策层融合只对分类的结果进行融合,可以有效地避免特征层融合之后特征空间分布的改变。



技术实现要素:

要解决的技术问题

为了避免现有技术的不足之处,本发明提出一种基于深层模型和浅层模型决策融合的肺结节CT图像自动。

技术方案

一种基于深层模型和浅层模型决策融合的肺结节CT图像自动分类方法,其特征在于步骤如下:

步骤1:在每一个包含肺结节的CT切片上提取能包含肺结节完整信息的最大外接正方形子块,采用最邻近插值算法将图像子块的尺寸调整统一;

步骤2:采用步骤1中的调整尺寸的图像子块来训练深度卷积神经网络,所述的深度卷积神经网络包括9个子层:

第一层:输入层;

第二层:C1层是第一个卷积层;

第三层:P2层是第一个池化层;

第四层:C3层是第二个卷积层;

第五层:P4层是第二个池化层;

第六层:C5层是第三个卷积层;

第七层:P6层是第三个池化层;

第八层:F7是一个全连接层;

第九层:F8包含2个经元节点,输出的两个值分别表示两个类别可能性的一个度量;最后是一个Softmax层,用来处理上一层的输出,得出最后的分类结果;

当网络训练至收敛后,提取第七层网络输出的a维向量作为输入图像子块的深层特征;

步骤3:在0°、45°、90°、135°四个方向分别计算步骤1中未调整尺寸的图像子块中相距为1的两个灰度像素同时出现的频数,得到4个方向上的4个灰度共生矩阵;对每个灰度共生矩阵,分别求对比度、相关性、能量、逆差矩4个特征,然后将求得的每个灰度共生矩阵的4个特征值级联起来,得到纹理特征;

步骤4:找到形状图像中肺结节形状区域的重心坐标,沿着结节边缘依次移动一个点,绘制出移动点到重心之间的测地距离的曲线,将该曲线进行傅里叶变换,选择傅里叶变换后的前b个低频系数组成二维傅里叶描述子形状特征;

步骤5:将步骤2提取的深层特征、步骤3提取的纹理特征和步骤4提取的形状特征分别分为训练集样本和验证集样本,对训练集样本分别训练三个不同的Adaboost-BPNN分类器;所述的Adaboost-BPNN分类器包含T个BPNN分类器,每个BPNN分类器都是由一个输入层,一个隐层,一个输出层组成,输入层的结点数目即等于输入特征的维数,隐层的结点Nodes=log(D),其中D是输入层结点的数目,输出结点数目为2;

将验证集样本在已经训练好的BPNN分类器上进行测试得到验证集分类错误率εt,根据验证集分类错误率εt计算每个BPNN的权重:

每个训练样本的权重根据如下公式被更新:

Ct是归一化常量,yi是第i个训练样本的标签,当用这种方法训练T个BPNN之后,每个Adaboost-BPNN分类器被定义如下:

H(x)=∑αtht

其中,ht为第t个BPNN弱分类器的概率输出,其中1≤t≤T;

步骤6:对三个不同特征训练的Adaboost-BPNN分类器的分类结果进行加权平均得到CT切片的最终分类结果:

Opro=average(O1W1,O2W2,O3W3)

其中,O1、O2、O3表示三个分类器对肺结节的分类结果,计算公式为

O=mean(H1(x),H2(x),…,Hs(x)),s表示一个肺结节CT图像中的第s个CT切片,Hs(x)为第s个CT切片在某个Adaboost-BPNN分类器的概率输出;W1、W2、W3分别表示三个分类器的权重,计算公式为Vj,j=1,2,3分别为三个分类器的分类正确率;

最终分类结果Opro输出为两个值,定义其中一个为良性概率输出,另一个为恶性概率输出,对两个概率输出值进行判断,得到最终的类别标签:

其中,bengin nodule表示分类结果为良性,malignant nodule表示分类结果为恶性,Opro(1)为良性概率输出,Opro(2)为恶性概率输出。

在步骤2中深度卷积神经网络训练过程中,设置网络的学习率为0.001,最大迭代次数为50,每一批训练所用的样本量为100。

在步骤3中对于每个BPNN训练过程中,设置最大收敛次数为50,学习率为0.001,收敛误差为0.0004。

所述的a为64。

所述的b为52。

所述的T为10。

有益效果

本发明提出的一种基于深层模型和浅层模型决策融合的肺结节CT图像自动,该方法融合多个决策信息,取长补短,较好的克服了图像数量少所导致的深度学习分类算法效果不佳以及基于单种特征的分类方法正确率偏低的问题,避免了特征层融合特征空间分布的变化,实现了正确率较高的肺结节CT图像自动分类,为计算机辅助发现,治疗肺癌提供了技术支撑;同时,本方法也可以应用于其它图像分类问题。

附图说明

图1基于权重的多特征决策分类算法流程

具体实施方式

本发明提供了一种基于权重的多特征决策分类算法。该方法从每一个包含肺结节的CT切片图像中提取刚刚好包含肺结节的图像子块,然后将不同尺寸的图像子块统一到32×32大小。由于肺结节是三维的类球状体,因此一个完整的肺结节CT图像包含多个切片,每一个切片的类别就是其所在CT图像的类别,从而将基于三维CT图像的肺结节分类问题转换为二维空间上的分类问题。接下来进行特征提取,首先,采用随机梯度下降方法对所有预处理后的训练图像块进行深度卷积神经网络模型的训练,选取该网络的全连接层的输出作为相应图像块的描述特征,称之为深度特征;然后,对每一个图像块提取能够描述其纹理变化和形状变化的特征,在本发明中采用了基于灰度共生矩阵的纹理特征和基于傅里叶描述子的形状特征,将其称为浅层特征;最后,针对三种不同类型的特征分别训练三个分类器,根据验证集的分类精度对每个分类器赋予一定的权重,本发明中采用的是以BPNN作为弱分类器的Adaboost集成分类器(简称Adaboost-BPNN分类器)。当使用本方法分类一个肺结节的CT图像时,首先,同样的从每一个包含肺结节的CT切片图像中提取刚刚好包含肺结节的图像子块并进行预处理;接着,对每一个预处理后的图像子块分别提取其深度特征和浅层特征,并将不同类型的特征输入相应的已训练好的Adaboost-BPNN分类器中,得到对该图像子块的三个分类结果,然后将三个分类结果进行加权平均得到该CT切片的最终分类结果。最后,基于多数表决的原则将该测试CT图像归入该图像大多数切片所属的类别。

现结合实施例、附图对本发明作进一步描述:

本发明基于权重的多特征决策分类算法流程如图1所示,具体步骤如下:

1.预处理

基本思想是将基于三维CT图像的肺结节分类问题转换为二维空间上的分类问题。首先在每一个包含肺结节的CT切片上提取能包含肺结节完整信息的最大外接正方形子块。因为每个肺结节的原始大小未必一致,再加上对于同一个肺结节,不同的CT切片包含的肺结节大小也不一定一致,所以从原始图像CT切片中提取出的正方形子块的边长大小不一定相同,为了得到大小一致的图像子块,我们使用最邻近插值算法将大小不一的图像子块的尺寸统一调整为32×32。

2.基于深度卷积神经网络的特征提取

在得到预处理后的数据之后,我们用这些统一尺寸后的图像子块来训练深度卷积神经网络。该网络由9个子层组成:

第一层:输入层。

第二层:C1层是第一个卷积层,卷积模板大小为5×5,模板个数为32个,由于该层在做卷积时周围填了两圈0,所以卷积之后维度不变。因此该层产生了32个32×32特征映射。

第三层:P2层是第一个池化层,又称降采样层。每个特征映射中的神经元与C3层中相应特征映射中3×3的邻域相连接,该层采用平均池化方法,即对邻域内特征点取平均值,有32个16×16的特征映射,随后采用了Relu激励函数,该操作可以有效地防止数据的过拟合。

第四层:C3层是第二个卷积层,卷积模板大小同样为5×5,模板个数为32个,该层产生了32个16×16的特征映射,随后采用了Relu激励函数。

第五层:P4层是第二个池化层,每个特征映射中的神经元与C3层中相应特征映射中3×3的邻域相连接,该层采用平均值池化方法,有32个8×8的特征映射。

第六层:C5层是第三个卷积层,卷积模板也是5×5,模板个数为64个,该层可以产生64个8×8特征映射,随后采用了Relu激励函数。

第七层:P6层是第三个池化层,每个特征映射中的神经元与C5层中相应特征映射中3×3的邻域相连接,该层采用平均值池化方法,有64个4×4的特征映射。

第八层:F7是一个包含64个神经元的全连接层,由于上一层特征映射的维度是4×4,故卷积模板的大小设置为4×4,每个神经元都与P6层中特征映射的4×4邻域相连接。

第九层:F8包含2个经元节点,输出的两个值分别表示两个类别可能性的一个度量。最后是一个Softmax层,用来处理上一层的输出,得出最后的分类结果。

在训练过程中,我们设置网络的学习率为0.001,最大迭代次数为50,每一批训练所用的样本量为100。当网络训练至收敛后,我们提取第七层网络输出的64维向量作为输入图像子块的深层特征。

3.纹理和形状特征提取

肺结节的恶性度与其灰度值的异质性和形状密切相关。为了描述肺结节图像所呈现的这些视觉特征,我们对于没有统一尺寸的肺结节原始图像子块提取了基于灰度共生矩阵的纹理特征和基于傅里叶描述子的形状特征。对于纹理特征,首先,在0°(水平方向),45°,90°(垂直方向),135°四个方向分别计算未调整尺寸图像子块中相距为1的两个灰度像素同时出现的频数,从而得到4个方向上的4个灰度共生矩阵;接下来对每个灰度共生矩阵,我们分别求对比度,相关性,能量,逆差矩4个特征,然后将求得的每个灰度共生矩阵的4个特征值级联起来,最终得到16维的纹理特征,从而来描述图像的纹理信息。对于形状特征,首先,找到形状图像中肺结节形状区域的重心坐标;接下来,沿着结节边缘依次移动一个点,绘制出移动点到重心之间的测地距离的曲线,最后将该曲线进行傅里叶变换,最终我们选择傅里叶变换后的前52个低频系数组成二维傅里叶描述子形状特征向量。

4.构造Adaboost-BPNN分类器

进行特征提取之后,接下来我们构造了Adaboost-BPNN分类器。对于上述提取的深度特征,纹理特征,形状特征三类特征,分别训练三个不同的Adaboost-BPNN分类器。对于每一个Adaboost-BPNN分类器,我们根据全部训练样本的权重分布,选择其中70%的样本作为BPNN弱分类器的训练集样本,剩下的30%的样本作为BPNN弱分类器的验证集样本。每个Adaboost-BPNN分类器都包含10个BPNN分类器,每个BPNN都是由一个输入层,一个隐层,一个输出层组成。输入层的结点数目即等于输入特征的维数。隐层的结点通过下面公式计算得到:

Nodes=log(D) (1)

D是输入层结点的数目。由于是二分类问题,因此我们的输出结点数目为2。对于每个BPNN,我们设置最大收敛次数为50,学习率为0.001,收敛误差为0.0004。

然后,把验证集的样本在已经训练好的BPNN上进行测试。根据得到的验证集分类错误率εt来计算该弱BPNN的权重。计算公式如下:

每个训练样本的权重根据如下公式被更新:

Ct是归一化常量,yi是第i个训练样本的标签,而且∑wt+1(i)=1。当用这种方法训练T(本实施例为10)个BPNN之后,Adaboost-BPNN分类器可以被定义如下:

H(x)=∑αtht (4)

ht为BPNN第t(1≤t≤T)个弱分类器的概率输出。BPNN分类器的输出为有两个值,因此ht应该是一个二维的向量,表示两个类别可能性的一个度量,第一个值如大于第二个值,则该网络得出的结论是第一类;否则是第二类。进而H(x)也应该是一个二维的向量。

本发明中,弱BPNN分类器的个数按照经验被设定为10。因为我们有三组肺结节的特征,因此我们训练三个Adaboost-BPNN分类器来进行图像子块的分类。

5.基于肺结节的分类

在得到一个肺结节不同的图像子块的分类结果之后,接下来,我们要进行肺结节的分类。

O=mean(H1(x),H2(x),…,Hs(x)) (5)

s表示一个肺结节CT图像中的第s个CT切片。O为肺结节的概率输出是一个二维的向量。

6.决策层融合

接下来,我们要融合不同分类器的决策结果。首先,把验证集的图像子块在已经训练好的Adaboost-BPNN分类器上进行测试,然后对该图像子块进行肺结节的分类。根据该验证集肺结节的分类正确率为每一个Adaboost-BPNN分类器赋予一定的权重。我们定义Vj,j=1,2,3分别为验证集数据在基于深度特征,纹理特征,形状特征的Adaboost-BPNN分类器的分类正确率。权重计算公式如下所示:

Wj,j=1,2,3,不同决策的权重,验证集正确率越高,该决策所占的权重越大

然后对所有的决策结果进行加权平均。根据上一小节可知Oj,j=1,2,3,为不同分类器对肺结节的概率决策输出。计算公式如下:

Opro=average(O1W1,O2W2,O3W3) (7)

Opro为最终的概率输出结果,O1、O2、O3,表示不同分类器对肺结节的分类结果。

最终分类结果Opro输出为两个值,定义其中一个为良性概率输出,另一个为恶性概率输出,对两个概率输出值进行判断,得到最终的类别标签:

其中,bengin nodule表示分类结果为良性,malignant nodule表示分类结果为恶性,Opro(1)为良性概率输出,Opro(2)为恶性概率输出。

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