一种基于改进的深度玻尔兹曼机肺结节特征提取和良恶性分类方法与流程

文档序号:12864452阅读:451来源:国知局
一种基于改进的深度玻尔兹曼机肺结节特征提取和良恶性分类方法与流程

本发明涉及肺结节特征提取,具体涉及一种基于改进的深度玻尔兹曼机肺结节特征提取和良恶性分类方法。



背景技术:

传统的计算机辅助诊断系统(computeraideddiagnosis,简称cad)分析肺结节一般采用基于形态学的结节分割和人工提取肺结节纹理特征或形状特征。这种基于底层特征的分类方法可以克服人眼的惰性和对灰度图像的不敏感性,提高放射科医生对结节识别和诊断的精确性,但是选取什么样肺结节图像表征,很大程度上依靠经验和运气;而且使用形态学对结节的描述是不准确的,比如结节边缘的定义是模糊的、主观的。基于深度波尔兹曼机无监督方法能够让机器自动地学习到肺结节图像深层结构特征,就能很好地避免人为因素的影响,借鉴人脑的多层抽象机制来实现对肺结节抽象表达,使学习到的特征相似于生物视觉的特征,从而提升分类的准确性,并辅助医师做出可靠的诊断决策。



技术实现要素:

本发明针对现有技术的不足提供一种基于深度波尔兹曼机的肺结节特征提取以及采用极限学习机进行良恶性分类,既能自动提取到肺结节具有表达能力的深层特征,又能对提取的特征进行准确、快速的分类,为医师对查询病灶的诊断提供决策支持,从客观方面起到辅助诊断的作用。

本发明采用的技术方案为:

一种基于改进的深度玻尔兹曼机肺结节特征提取和良恶性分类方法,包括以下步骤:

步骤a,采用阈值概率图方法从肺部ct图像分割肺结节,得到感兴趣区域(roi),并裁剪成同一大小的结节图像存入样本数据库;

步骤b,设计有监督的深度学习算法pnd-ebm实现肺结节的诊断,具体为采用基于深度玻尔兹曼机(dbm)提取肺结节roi的具有深层表达能力的特征:通过dbm两个隐层提取肺结节浅层和高层特征,并通过修改代价函数,解决训练过程中特征同质化现象,从而获得表达肺结节高维的特征信息,并为下一步分类做准备;然后采用基于极限学习机(elm)将提取的肺结节特征进行良恶性分类。

所述的方法,所述步骤a具体步骤如下:

a1、预处理数据集

第1步,假设lidc数据库中4位放射性专家专家经验值一样,因此赋给每个专家的权重值均为0.25;

第2步,如果区域中的某个像素同时被μ(1≤μ≤4)名专家标注,则该像素为结节区域的概率值为0.25μ;

第3步,经过上述操作,将肺结节roi转换为0~1之间的概率映射图;

第4步,设置一个阈值k,分割肺结节区域时概率值低于k的像素设置为0,高于k的像素设置为1,就生成了相应的二值图像;

第5步,将此二值图像与原图像进行and运算,即得到肺结节图像;

第6步,将肺结节图像统一裁剪成大小为32×32,存入样本数据库中,作为pnd-dbm的输入;

a2、扩充并平衡数据集:

第1步,将良性结节向x轴、y轴方向平移±2像素,以及将肺结节旋转90°,180°,270°后存储;

第2步,将恶性结节每隔90°旋转一次并存储;

经过扩充数据集操作后,良性结节扩充8倍,恶性结节扩充4倍,在扩充数据集的同时也解决了数据集不平衡的问题。

所述的方法,所述步骤b具体步骤如下:基于dbm和elm算法,提出pnd-edbm用于肺结节特征提取与良恶性分类,dbm前两个隐含层用来提取肺结节特征,可见层与第一个隐含层构成第一个rbm模型,第一个隐含层与第二个隐含层构成第二个rbm模型,由于第二个隐含层同时也作为elm的隐含层,因此第二、三个隐含层与分类层构成elm模型;第一个rbm模型提取肺结节特征信息并对输入数据构建低层特征表达,第二个rbm模型构建肺结节高层的特征表达,elm模型对提取到的高层特征进行快速准确分类;

具体训练步骤如下:

第1步,无监督训练:以重构误差函数作为目标函数,采用贪婪逐层算法,先对第一层的rbm进行无监督学习,直到数据达到收敛条件或超过训练迭代次数后,固定本层的参数并传递给下一个rbm进行训练;

第2步,有监督微调:首先,利用带标签的训练样本对elm分类器进行训练,然后利用将已经调好的dbm网络参数作为微调的初始值,采用mini-batch梯度下降法,通过最小化交叉熵函数,找到全局最优点,微调网络参数;

b1、dbm提取肺结节过程如下;

第1步,采用两隐含层深度玻尔兹曼机来提取肺结节特征,用一个二值的可见单元向量来表示输入结节图像,h1与h2是底层与高层的二值隐含单元向量;对于给定的一组状态{v,h1,h2},定义如下能量函数:

e(v,h1,h2,θ)=-vtwh1-h1jh2-a1th1-a2th2-btv

其中,θ={w,j,a1,a2,b}为dbm参数,w为可见单元v到隐含单元h1的权值矩阵,j为隐含单元h1到隐含单元h2的权值矩阵,a1和a2分别为表示隐含单元的偏置,b表示可见单元的偏置;

第2步,则可见单元与隐藏单元的联合概率为:

其中,常数项z(θ)定义为:

第3步,根据逻辑回归函数得到两个隐含层以及可见层单元重构的条件分布概率为:

通过上述几个式子,就得到了dbm模型的参数;

b2、采用稀疏交叉熵惩罚因子改进代价函数;

定义两个随机分布q(x)与p(x)之间的交叉熵(crossentropy)为q(x)与p(x)之间的kullback-leiber距离与p(x)的熵之和,定义如下所示:

crossentropy=-∫p(x)lnq(x)dx

当q(x)等于p(x)时,交叉熵最小,即kullback-leiber距离最小;

利用交叉熵的概念,提出新的稀疏惩罚因子——交叉熵稀疏惩罚因子,p(x)为隐单元稀疏度,q(x)为隐单元激活概率分布,rbm隐单元个数为m,l为训练样本v的个数,如下所示:

对给定训练集v={v(1),...,v(m)},对于rbm的训练,就是处理下式的优化问题:

式中λ为稀疏正则化常数,p用于控制隐单元的稀疏程度,即通过稀疏惩罚因子鼓励隐单元在学习过程中的平均激活概率与p之间的kullback-leiber距离达到最小,使隐单元具备稀疏性;

b3、采用elm进行良恶性分类

第1步,设训练样本为[xi,ti](i=1,2,3,...,k),对于一个m个隐层节点的神经网络可以表示为:

其中,xi代表每一个肺结节特征样本,ti代表良性或者恶性结果,β为隐含层和输出层之间的连接权值矩阵;g(x)为隐含层的激活函数,可取sigmoid、sine或者rbf函数;w为输入层和隐含层之间的连接权值,c为隐含层的偏置向量;

第2步,单隐层的神经网络学习的目的是使得输出的误差最小,也就是存在w,β,b使得o与t近似相等:

第3步,确定隐含层神经元个数,随机设定输入层与隐含层的连接权值w和隐含层神经元的阈值b;

第4步,选择一个无限可微的函数作为隐含层神经元的激活函数,进而计算隐含层输出层矩阵h,用矩阵形式可表示为:hb=t,式中h被称作网络的隐含层输出矩阵;

第5步,隐含层和输出层之间的连接权值β可由hb=t的极小二范数最小二乘解得:计算输出值权值式中为隐含层输出矩阵h的moore-penrose广义逆。

与现有技术相比,本发明的有益效果为:

1、本发明的方法针对lidc数据库中ct进行预处理,采用的是概率阈值图,而不是分割结节,也没有使用任何形态学处理结节,保留了原始结节信息;

2、与传统的方法手工提取结节特征相比,比如纹理特征、形状特性等,本发明方法使用的dbm算法能够自动获取结节有区别能力的特征;

3、本发明方法采用elm对肺结节特征进行分类,可以保证精度不变的情况下,减少时间复杂度,将elm运用到dbm中,能更有效的节约时间。

附图说明

图1是本发明算法流程图。

图2是本发明基于阈值概率图的肺结节图像分割过程图。(a)原始结节图像,(b-e)4位专家对同一肺结节分割的二值图像,以及标注恶性度分别为5,5,5,4,(f)概率阈值图处理后的结果,(g)阈值k=0.25时标准结节区域二值图像,(h)最终提取的肺结节图像,恶性度为5。

图3是pnd-edbm结构图。

图4是dbm结构图。

图5是在三种不同稀疏惩罚因子下rbm可视化图。

图6是elm结构图。

图7是相对比其他深度学习框架肺结节分类实验结果图。

具体实施方式

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

参照图1,本发明方法的实现流程如下:

一种基于深度波尔兹曼机的肺结节特征提取以及采用极限学习机进行良恶性分类识别的方法,包括以下步骤:

步骤a,采用阈值概率图(thresholdprobabilitymap,简称tpm)方法从肺部ct图像分割肺结节,得到感兴趣区域(roi),并裁剪成同一大小的结节图像存入样本数据库,为下一步提取特征做准备。

步骤b,设计有监督的深度学习算法pnd-ebm实现肺结节的诊断,具体为采用基于深度玻尔兹曼机(dbm)提取肺结节roi的具有深层表达能力的特征:采用两个隐含层提取肺结节浅层和高层特征,并通过修改代价函数,从而获得表达结节高维的特征信息,并为下一步分类做准备。采用基于极限学习机(elm)将提取的肺结节特征进行良恶性分类。

优选的,所述步骤a中采用阈值概率图方法从肺部ct图像分割肺结节,得到感兴趣区域(roi)的过程如下:

本专利使用的数据集来自于美国国家癌症研究会(nationalcancerinstitute,简称nci)于2001年4月起陆续颁布了lidc(lungimagedatabaseconsortiumimage,简称lidc)。数据库包含1018个病例,其中每个病例对应一个文件夹,包括完整的肺部ct扫描图像100~300张以及一个注释文件(.xml文件)。注释文件中只对直径大于3mm的结节给出了由4名放射性专家标注的结节轮廓上每个点的坐标,小于3mm的小结节则只给出了中心点坐标。因此,本实验中只考虑直径大于3mm的结节,以便于对本文分类算法的精准度进行评价。

a1、预处理数据集

第1步,假设lidc数据库中4位放射性专家专家经验值一样,因此赋给每个专家的权重值均为0.25;

第2步,如果区域中的某个像素同时被μ(1≤μ≤4)名专家标注,则该像素为结节区域的概率值为0.25μ;

第3步,经过上述操作,将肺结节roi转换为0~1之间的概率映射图;

第4步,设置一个阈值k(本专利设置阈值k=0.25),分割肺结节区域时概率值低于k的像素设置为0,高于k的像素设置为1,就生成了相应的二值图像。

第5步,将此二值图像与原图像进行and运算,即得到肺结节图像。

第6步,将肺结节图像统一裁剪成大小为32×32,存入样本数据库中,作为pnd-dbm的输入;

本专利对lidc数据库中的ct图像预处理采用概率阈值图方法,可以得到结节图像共15864个结节,其中良性结节4469,恶性结节11395,从中,可以发现样本集中恶性结节个数是良性结节的2.55倍,且样本数据集过少,网络在学习过程中可能会出现过拟合现象,因为需要扩充和平衡数据集。

图2为概率阈值图方法处理lidc数据库中的ct图像结果,(a)为原始结节图像,(b-e)为4位专家标注的结节区域大小的二值图像以及恶性度大小,(f)概率阈值图处理后的结果,(g)经过阈值k处理后的标准结节区域二值图像,(h)为与原始结节图像与运算后的结节区域,即得到最终的结节图像并存入训练数据集中。

a2、扩充并平衡数据集:

第1步,将良性结节向x轴、y轴方向平移±2像素,以及将结节旋转90°,180°,270°后存储;

第2步,将恶性结节每隔90°旋转一次并存储;

经过扩充数据集后,良性结节扩充8倍,恶性结节扩充4倍,在扩充数据集的同时也解决了数据集不平衡的问题。经过上述操作,根据2-8原则将72800个结节作为训练集,其中良性结节32000个,恶性结节40800个,测试集8532个。

优选的,所述步骤b中特征提取过程如下:

参照图3,本发明专利基于dbm和elm算法,提出pnd-edbm用于肺结节特征提取与良恶性分类,dbm前两个隐含层用来提取肺结节特征,可见层与第一个隐含层构成第一个rbm模型,第一个隐含层与第二个隐含层构成第二个rbm模型,由于第二个隐含层同时也作为elm的隐含层,因此第二、三个隐含层与分类层构成elm模型;第一个rbm模型提取肺结节特征信息并对输入数据构建低层特征表达,第二个rbm模型构建肺结节高层的特征表达,elm模型对提取到的高层特征进行快速准确分类。

本专利随机选取训练集72800个,测试样本8532个,在网络结构1024-500-300-500-2下进行测试,mini-batch(分批处理个数)为100,迭代20次,随机隐退概率设置为0.5,学习率ε=0.01下进行训练。具体训练步骤如下:

第1步,无监督训练:以重构误差函数作为目标函数,采用贪婪逐层算法,先对第一层的rbm进行无监督学习,直到数据达到收敛条件或超过训练迭代次数后,固定本层的参数并传递给下一个rbm进行训练。

第2步,微调:首先,利用带标签的训练样本对elm分类器进行训练,然后利用将已经调好的dbm网络参数作为微调的初始值,采用mini-batch梯度下降法,通过最小化交叉熵函数,找到全局最优点,微调网络参数。

b1、参照图4中dbm结构图,dbm提取肺结节过程如下;

第1步,本专利采用两隐含层深度玻尔兹曼机来提取肺结节特征,用一个二值的可见单元向量v来表示输入结节图像,h1与h2是底层与高层的二值隐含单元向量。对于给定的一组状态{v,h1,h2},定义如下能量函数:

e(v,h1,h2,θ)=-vtwh1-h1jh2-a1th1-a2th2-btv

其中,θ={w,j,a1,a2,b}为dbm参数,w为可见单元v到隐含单元h1的权值矩阵,j为隐含单元h1到隐含单元h2的权值矩阵,a1和a2分别为表示隐含单元的偏置,b表示可见单元的偏置。

第2步,则可见单元与隐藏单元的联合概率为:

其中,常数项z(θ)定义为:

第3步,根据逻辑回归函数得到两个隐含层以及可见层单元重构的条件分布概率为:

根据上述几个式子,就得到了dbm的参数。

b2、采用稀疏交叉熵惩罚因子改进代价函数;

定义两个随机分布q(x)与p(x)之间的交叉熵(crossentropy)为q(x)与p(x)之间的kullback-leiber距离与p(x)的熵之和,定义如下所示:

crossentropy=-∫p(x)lnq(x)dx

当q(x)等于p(x)时,交叉熵最小,即kullback-leiber距离最小;

利用交叉熵的概念,提出新的稀疏惩罚因子——交叉熵稀疏惩罚因子,p(x)为隐单元稀疏度,q(x)为隐单元激活概率分布,rbm隐单元个数为m,l为训练样本v的个数,如下所示:

对给定训练集v={v(1),...,v(m)},对于rbm的训练,就是处理下式的优化问题:

式中λ为稀疏正则化常数,p用于控制隐单元的稀疏程度,即通过稀疏惩罚因子鼓励隐单元在学习过程中的平均激活概率与p之间的kullback-leiber距离达到最小,使隐单元具备稀疏性。

图5为在三种不同惩罚因子下,rbm可视化图,(a)为无稀疏交叉熵惩罚因子,(b)为误差平方和稀疏惩罚因子,(c)交叉熵稀疏惩罚因子实验结果图。在没有稀疏惩罚因子的情况下,rbm出现了严重的特征同质化现象,结节特征不明显;但采用稀疏惩罚因子后,可以看到比较明显的结节轮廓,证明了稀疏惩罚因子能够有效地避免特征同质化问题;但对比图(b)和图(c)可以发现,图(b)中仍然存在着结节特征相似的现象,说明相较于误差平方和稀疏惩罚因子,交叉熵稀疏惩罚因子下rbm学习的特征更清楚,证明特征同质化得到进一步弱化。

b3、参照图6中elm结构图,采用elm进行肺结节良恶性分类过程如下:

第1步,设训练样本为[xi,ti](i=1,2,3,...,k),对于一个m个隐层节点的神经网络可以表示为:

其中,β为隐含层和输出层之间的连接权值矩阵;g(x)为隐含层的激活函数,可取sigmoid、sine或者rbf函数;w为输入层和隐含层之间的连接权值,c为隐含层的偏置向量。

第2步,单隐层的神经网络学习的目的是使得输出的误差最小,也就是存在w,β,b使得o与t近似相等:

第3步,确定隐含层神经元个数,随机设定输入层与隐含层的连接权值w和隐含层神经元的阈值b;

第4步,选择一个无限可微的函数作为隐含层神经元的激活函数,进而计算隐含层输出层矩阵h,用矩阵形式可表示为:hb=t,式中h被称作网络的隐含层输出矩阵。

第5步,隐含层和输出层之间的连接权值β可由hb=t的极小二范数最小二乘解得:计算输出值权值式中为隐含层输出矩阵h的moore-penrose广义逆。

图7对比了本发明与其他深度学习方法用于肺结节良恶性分类,对肺结节的准确性(acc)、敏感性(sen)以及特异性(spe)进行对比,setio*使用的是多视角卷积神经网络,分类器采用softmax,达到了87.93%的敏感性;ypsilantis*使用的是混合卷积神经网络以及循环神经网络cnn-rnn,采用svm作为分类器,达到了90.5%的敏感性;kumar*使用的是自编码提取肺结节特征,并使用二叉树作为分类器,达到了82.78%的特异性,shen*使用的是多视角卷积神经网络,并采用随机森林进行分类,达到了88.84%的准确率,而本文发明的方法在对肺结节诊断时的敏感度,特异性和准确度分别为85.36%,87.32%和89.85%。

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

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