一种基于卷积神经网络和字典对学习的肺结节分类方法与流程

文档序号:11432794阅读:260来源:国知局
一种基于卷积神经网络和字典对学习的肺结节分类方法与流程

本发明涉及肺结节分类,具体涉及一种基于卷积神经网络和字典对学习的肺结节分类方法。



背景技术:

肺癌的早期筛查对于降低肺癌的发生率与死亡率意义重大,而肺部cad系统的应用帮助医生减少工作负担,而且诊断速度快、诊断结果客观。对于肺部cad系统而言,能够确诊肺结节的类型是评判其性能的重要标准。传统的分类方法对于大规模的医学影像处理效果并不好,而卷积神经网络在图像识别与目标检测方面取得了比较好的应用效果,但是当前与卷积神经网络结合使用的分类器,比如svm,sigmoid函数等,不能很好地挖掘深度特征的复杂结构。2014年出现的字典对学习算法不仅能够实现样本数据的分类,而且能够很好地表达样本数据的特征。但是利用该方法进行分类依靠人工获取特征,而且对于不同的样本需要提取不同的特征才能较好地处理分类任务。综上所述,为了提高肺部cad系统诊断肺结节的准确率,将卷积神经网络与字典对学习方法进行结合。

字典对学习算法包括字典学习与分类两个阶段。

(1)字典学习阶段

设x=[x1,…,xk,…xk](xk∈rd×n_k,n_k表示第k类训练样本的个数)表示字典对学习算法的输入样本对应的特征,该特征与来自k类的输入图像对应。那么,字典对学习算法的目标是找到一个结构化分析字典p=[p1,…,pk,…pk](pk∈rm×d)与一个结构化合成字典d=[d1,…,dk,…dk](dk∈rd×m),实现对特征x的编码与重构,m表示字典原子的个数。对于训练样本集中第k类样本的特征xk,给定子字典对{dk,pk}的前提下,令,与xk对应的编码系数表示为pkxk。则,字典对学习算法dpl的目标函数定义为:

其中,y表示与特征x对应的类标签矩阵,φ(p,d,x,y)是一个用以增强字典d与p判别性的判别项。

在字典对学习算法中,要求子字典pk映射来自其它类i(i≠k)的样本(样本集合x中除了xk以外的其它样本)到一个接近零空间,即pkxi≈0,则问题(1)写为

其中,是一个约束信息,用于避免pk=0时产生平凡解,λ是一个权重系数。

由于问题(2)表示的目标函数非凸,引入一个矩阵变量a表示编码系数矩阵,并将问题(2)放松如下

其中,τ是一个权重系数。

初始化p和d为单位frobenius范数,问题(3)的求解可以通过交替执行以下三步实现:

(i)固定{d,p,x},用式(4)表示的近似解更新a:

(ii)固定{a,x},用式(5)表示的近似解更新p:

其中,γ是一个权重系数。

(iii)固定{a,x},引入一个变量s,问题(3)转化为

那么d的值通过式(7)来更新:

其中,ρ是一个权重参数。

当迭代过程中,出现两次迭代的目标函数值的差异小于某个阈值的情况时,停止迭代。

(2)分类阶段

如果样本数据集包含有k个种类,经过字典学习阶段以后会得到k个子字典对{dk,pk}(k=1,2,…,k)。给定一个测试图像,提取其特征,记为x,令x在第k个子字典对基础上的重建误差为e(x;dk,pk),则字典对分类器层dpc对测试图像进行分类的规则为:

即,若第k个子字典对重建出x的重建误差最小,那么特征x对应的样本图像就属于第k类。



技术实现要素:

本发明的目的在于克服现有技术存在的缺陷提供一种基于卷积神经网络和字典对学习算法相结合的肺结节分类算法,提高肺结节分类的准确率。

本发明采用如下技术方案:

一种基于卷积神经网络和字典对学习的肺结节分类方法,包括卷积神经网络参数的训练与肺结节分类即训练阶段和分类阶段两个阶段:

1)训练阶段:

a.输入作为训练样本的低剂量薄层扫描ct图像;

b.对训练样本的ct图像进行预处理;

c.训练分类模型cnn-dpc的参数;包括以下步骤:

c1.对卷积神经网络的参数进行预训练;在预训练阶段,借鉴经典卷积神经网络lenet-5的网络结构,以训练数据集为基础,设计一个9层的卷积神经网络结构,该卷积神经网络包括输入层、隐含层和输出层三个部分,其中隐含层包含三个卷积层、三个最大池化层和一个全连接层;输入层节点个数为128×128,各隐含层节点数各不相同,输出层节点数为2,输出层即为分类层,分类用的函数为sigmoid函数,隐含层的激活函数为relu(rectifiedlinearunits);采用标准的正向传播与误差反向传播算法对这个9层的卷积神经网络的参数进行预训练;

c2.预训练结束后,用字典对学习算法替换卷积神经网络的分类层,再进行参数的优化;参数的优化包括字典对的更新和网络参数的微调,具体包括以下步骤:

c21.用字典对学习算法替换卷积神经网络分类层的sigmoid函数;假设xk表示训练阶段第k类训练数据对应卷积神经网络全连接层的输出,c表示字典对学习算法的目标函数,ck表示第k类训练数据对应的字典对学习算法的目标函数,{pk,dk}表示第k类训练数据对应的结构化字典对,由于在字典对学习算法中,字典对的更新被分解为以下的子问题:

那么在参数优化步骤中,令则c对xk的偏导数为:

由于我们的目的是将肺结节分为两类,所以在上式中,k=1,2,k=2;

c22.在得到所有的后,将其作为标准的反向传播算法中的梯度对卷积神经网络的参数进行微调,同时利用微调后的网络获取训练数据集的特征对字典对进行更新;

2)分类阶段,待分类数据的分类;分类阶段包括以下三步:

a.输入待分类的低剂量薄层扫描ct图像;

b.对待分类的ct图像进行预处理;

c.利用训练好网络参数的分类模型cnn-dpc对待分类图像进行分类。通过优化后的卷积神经网络获取所有训练数据集中肺实质图像的特征,对字典对学习算法的目标函数求解,可以得到2个子字典对{(d1,p1),(d2,p2)}。给定一个测试图像,提取其特征,记为x,令x在第k(k=1,2)个子字典对基础上的重建误差为e(x;dk,pk),则分类模型cnn-dpc对测试图像进行分类的规则为:

即,若第k个子字典对重建出x的重建误差最小,那么特征x对应的样本图像就属于第k类。

所述的基于卷积神经网络和字典对学习的肺结节分类方法,步骤b中,具体包括以下步骤:

第1步,对原始ct图像采用otsu阈值方法进行二值化处理;

第2步,对第1步的结果,以左上角第一个像素点为种子点进行区域增长,将背景部分与前景部分分开;

第3步,对第2步的结果,采用区域增长算法先得到机床部分;

第4步,将前3步的结果进行叠加,得到肺实质部分;

第5步,基于第4步的结果,对左右肺分别采用区域增长算法得到完整的左右肺,然后进行合并;

第6步,对第5步的结果执行形态学操作,得到肺实质掩模;

第7步,依照肺实质掩模分割出原始ct图像中的肺实质;

第8步,将第7步中的得到的肺实质图像大小通过双线性插值法调整为128×128。

所述的基于卷积神经网络和字典对学习的肺结节分类方法,分类阶段对待分类的ct图像进行预处理,具体包括以下步骤:

第1步,对原始ct图像采用otsu阈值方法进行二值化处理;

第2步,对第1步的结果,以左上角第一个像素点为种子点进行区域增长,将背景部分与前景部分分开;

第3步,对第2步的结果,采用区域增长算法先得到机床部分;

第4步,将前3步的结果进行叠加,得到肺实质部分;

第5步,基于第4步的结果,对左右肺分别采用区域增长算法得到完整的左右肺,然后进行合并;

第6步,对第5步的结果执行形态学操作,得到肺实质掩模;

第7步,依照肺实质掩模分割出原始ct图像中的肺实质;

第8步,将第7步中的得到的肺实质图像大小通过双线性插值法调整为128×128。

与现有技术相比,本发明具有以下优点:

1.本发明能够克服现有技术中的缺陷,将卷积神经网络与字典对学习算法的优点结合起来,实现简单,易于理解;

2.通过使用本发明的技术,可以准确高效地对肺结节的种类进行诊断,能够为医生的诊断提供参考。

附图说明

图1是本发明进行肺结节分类的流程图。

图2是本发明对原始ct图像进行预处理的过程图。

具体实施方式

以下结合具体实施例,对本发明进行详细说明。

参照图1,本发明基于卷积神经网络和字典对学习的肺结节分类方法,包括训练阶段和分类阶段,具体步骤如下:

1)训练阶段:

a.参照图1,输入作为训练样本的低剂量薄层扫描ct图像。

b.参照图2,对ct图像进行预处理,得到统一大小为128×128的肺实质图像。具体步骤包括:

第1步,对原始ct图像采用otsu阈值方法进行二值化处理;

第2步,对第1步的结果,以左上角第一个像素点为种子点进行区域增长,将背景部分与前景部分分开;

第3步,对第2步的结果,采用区域增长算法先得到机床部分;

第4步,将前3步的结果进行叠加,得到肺实质部分;

第5步,基于第4步的结果,对左右肺分别采用区域增长算法得到完整的左右肺,然后进行合并;

第6步,对第5步的结果执行形态学操作,得到肺实质掩模;

第7步,依照肺实质掩模分割出原始ct图像中的肺实质;

第8步,将第7步中的得到的肺实质图像大小通过双线性插值法调整为128×128。

c.训练分类模型cnn-dpc的参数;

表1给出本发明设计的卷积神经网络各隐含层对应核的大小、激活函数及输出结果。该卷积神经网络包括输入层、隐含层和输出层三个部分,其中隐含层包含三个卷积层、三个最大池化层和一个全连接层。使用relu(rectifiedlinearunits)作为隐含层的激活函数,则一个输入特征映射f与一个卷积核h之间的卷积操作定义为:

其中,fk与hk分别表示第k层的输入映射与卷积核,*表示卷积操作,b表示偏置,hk与b在训练过程中不断更新。

最大池化操作定义为

其中,w说明池化大小为w×w,co表示与池化层相邻的前一个卷积层输出的特征映射,i与j都是大于等于0的整数,但是要保证i·w+m≤size(co,1)且j·w+n≤size(co,2)。

全连接层将最大池化层的输出转化成一个一维向量。

表1卷积神经网络各隐含层对应核的大小、激活函数及输出结果

c1.对卷积神经网络的参数进行预训练。在预训练阶段,借鉴经典卷积神经网络lenet-5的网络结构,以训练数据集为基础,设计一个9层的卷积神经网络结构,该卷积神经网络包括输入层、隐含层和输出层三个部分,其中隐含层包含三个卷积层、三个最大池化层和一个全连接层。输入层节点个数为128×128,各隐含层节点数各不相同,输出层节点数为2。卷积神经网络用于分类时,输出层即为分类层,分类用的函数为sigmoid函数。根据设计好的9层卷积神经网络,采用标准的正向传播与误差反向传播算法进行参数的预训练。

c2.预训练结束后,用字典对学习算法替换卷积神经网络的分类层,再进行参数的优化。参数的优化包括字典对的更新和网络参数的微调,具体包括以下步骤:

c21.用字典对学习算法替换卷积神经网络分类层的sigmoid函数。假设xk表示训练阶段第k类训练数据对应卷积神经网络全连接层的输出,c表示字典对学习算法的目标函数,ck表示第k类训练数据对应的字典对学习算法的目标函数,{pk,dk}表示第k类训练数据对应的结构化字典对,由于在字典对学习算法中,字典对的更新可以被分解为以下的子问题:

那么在参数优化步骤中,令则c对xk的偏导数为:

由于我们的目的是将肺结节分为两类,所以在上式中,k=1,2,k=2。

c22.在得到所有的后,将其作为标准的反向传播算法中的梯度对卷积神经网络的参数进行微调,同时利用微调后的网络获取训练数据集的特征对字典对进行更新。

2)分类阶段,待分类数据的分类。分类阶段主要有以下三步:

a.参照图1,输入待分类的ct图像;

b.参照图2,对待分类的ct图像进行预处理,得到统一大小为128×128的肺实质图像。具体步骤包括:

第1步,对原始ct图像采用otsu阈值方法进行二值化处理;

第2步,对第1步的结果,以左上角第一个像素点为种子点进行区域增长,将背景部分与前景部分分开;

第3步,对第2步的结果,采用区域增长算法先得到机床部分;

第4步,将前3步的结果进行叠加,得到肺实质部分;

第5步,基于第4步的结果,对左右肺分别采用区域增长算法得到完整的左右肺,然后进行合并;

第6步,对第5步的结果执行形态学操作,得到肺实质掩模;

第7步,依照肺实质掩模分割出原始ct图像中的肺实质;

第8步,将第7步中的得到的肺实质图像大小通过双线性插值法调整为128×128。

c.参照图1,利用训练好网络参数的分类模型cnn-dpc对待分类的ct图像进行分类。通过优化后的卷积神经网络获取所有训练数据集中肺实质图像的特征,对字典对学习算法的目标函数求解,可以得到2个子字典对{(d1,p1),(d2,p2)}。给定一个测试图像,提取其特征,记为x,令x在第k(k=1,2)个子字典对基础上的重建误差为e(x;dk,pk),则分类模型cnn-dpc对测试图像进行分类的规则为:

即,若第k个子字典对重建出x的重建误差最小,那么特征x对应的样本图像就属于第k类。

表2给出了本发明与字典对学习算法、替换分类层之前的卷积神经网络在进行肺结节分类时有关分类精确度、敏感度、特异度的结果比较。从表2可以看出本发明在肺结节分类的应用方面优于字典对学习算法,而且分类精确度、敏感度两个方面比替换分类层之前的卷积神经网络提高了3%~6%。

表2三种算法对应的精确度、敏感度、特异度结果对比

本发明提出的基于卷积神经网络和字典对学习的肺结节分类方法,充分结合卷积神经网络和字典对学习算法的优点,而且直接以肺实质图像作为处理对象,避免了肺结节分割的复杂操作。利用卷积神经网络提取到的样本数据的特征,更能反映出肺结节的底层抽象特征,这样的深度特征有利于计算机对肺结节的诊断,而利用字典对学习算法不仅能够实现肺结节的分类,而且能够充分挖掘卷积神经网络提取到的深度特征所代表的复杂含义,这将有利于提高后续肺结节的诊断准确率。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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