基于人工神经网络的肺癌识别

2018-02-28 02:31沈海洋朱信忠胡佳楠
电子技术与软件工程 2018年20期
关键词:BP神经网络肺癌

沈海洋 朱信忠 胡佳楠

摘要

肺癌早期无特异症状,发现较为困难。特别是肺癌的早期症状:咳嗽、吐疾与感冒、支气管炎等症状相似,临床上把肺癌误诊为肺炎的情况时有发生。影像学的发展极为迅速,特别是CT、MRI的推广和应用,为肺癌的识别鉴定提供比较有效的方法,同时也对医生有了更高的要求,肺癌的识别是一项系统复杂的工程,首先是病灶的分割,其次是特征的提取,最后是识别的算法本文旨在寻找一套比较有效的方法识别肺癌,给临床医生提供一种行之有效的辅助方法来识别肺癌,减少误诊和漏诊的概率。具体的方法为:通过改进的U-net算法对肺癌的病灶部位进行分割,然后PCA进行提取特征,通过BP神经网络来进行分类识别。

【关键词】肺癌 U-net BP神经网络

1 绪论

肺癌是发病率和死亡率增长最快,对人群健康和生命威胁最大的恶性肿瘤之一。据国家癌症中心公布的最新数字显示,中国2013年癌症新发病例有368万例,其中发病率为186/10万,死亡率为109/10万。而肺癌在所有癌症发病及死亡中均占首位,我国每年约59.1万人死于肺癌。研究表明,早发现、早治疗能够将肺癌5年生存率从14%提高到49%。随着影像学技术的发展,使得肺部肿瘤图像越来越清晰,可以从获得的庞大图像数据集中取得大量的诊断结果。人工神经网络(ArtificialNeural Network;ANN)是上个世纪80年代兴起的人工智能领域的研究内容,其主要是利用计算机从信息处理的角度对人脑神经元网络进行抽象,建立某种简单的模型,并按照不同的连接方式组成不同结构的网络。本研究对肺结节提取与识别进行探讨,通过使用神经网络的框架U-net分割肺結节,使用 PCA进行特征提取,并最后通过一个BP神经网络进行分类处理,最终实现肺结节良恶性的识别。

2 肺癌病灶的分割

2015年Olaf Ronneberger,Philipp Fischer和Thomas Brox提出了U-net网络结构,U-net的产生极大的促进了医学图像分割的研究。本文采用U-net方法进行肿瘤图像的分割,U-net的网络框架如图1所示。

该U-net网络由一个收缩路径和一个扩张路径组成,呈对称状态,像英文字母大写的U,因此,被命名为U-net.其中,收缩路径遵循典型的卷积网络结构,其由两个重复的3*3卷积核组成,且均使用ReLU激活函数和一个用于下采样的步长为2的2*2最大池化操作,以及在每一个下采样的步骤中,特征通道数量都加倍。在扩张路径中,每一步都包含对特征图进行上采样;然后用2*2的卷积核进行卷积运算,用于减少一半的特征通道数量;接着级联收缩路径中相应的裁剪后的特征图;再用两个3*3的卷积核进行卷积运算,且均使用ReLU激活函数。由于在每次卷积操作中,边界像素存在缺失问题,因此有必要对特征图进行裁剪。U-net的主要优点为:支持少量的数据训练模型,通过对每个像素点进行分类,获得更高的分割准确率,用训练好的模型分割图像,速度快。

本文使用python编程语言,使用simeplelTK读取肺部CT的DICOM文件,基于tensorflow和keras创建U-net网络框架,传入读取的数据进行训练。结果如图2所示。

3 特征提取

分割出的病灶图像信息后,由于肿瘤等医学图像的异质性特性,图像中存在的大量的冗余特征,为了实现肺结节的精准识别,需要对数据进行特征的提取。本文基于CT影像信息、临床征象和肿瘤的医学特性三个方面进行特征提取。提取的特征主要分为:

(1)肿瘤形态特征;

(2)肿瘤强度特征;

(3)肿瘤灰度特征;

(4)肿瘤纹理特征。

而特征提取的方法采用的是PCA方法。PCA方法常被用来提取数据的主要特征,以达到降维的目的。目前己广泛应用于诸如人脸识别,图像去噪,机器学习等领域。本文采用python语言编写PCA方法,其核心代码如下:

defpca(dataMat,topNfeat=9999999):

meanVals=mean(dataMat,axis=0)

meanRemoved=dataMat-meanVals

covMat=cov(meanRemoved,rowvar=0)

eigVals,eigVects=linalg.eig(mat(covMat))

eigVallnd=argsort(eigVals)

eigVallnd=eigVallnd[:-(topNfeat+1):-1]

redEigVects=eigVects[:,eigValtnd]

lowDDataMat=meanRemoved*redEigVects

reconMat=(lowDDataMat*redEigVects.T)+meanVals

return lowDDataMat,reconMat

4 基于BP神经网络的肺结节分类识别

BP(back propagation)神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。本文使用BP神经网络作为肺结节识别的分类器,并与SVM方法做进行对比。

本文所使用的BP神经网络,分为5层(输入层,输出层,3个中间层)。经过PCA的特征提取,最终我们得到的特征维数为13维。因此输入层我们采用13个神经元,第2层采用200个神经元,第3层采用200个神经元,第4层采用100个神经元,最后的输出层采用1个神经元,通过最后的神经元反应肺结节的良恶性。

本文利用40例样本作为构建预测模型的训练集,40例作为验证集。训练集中恶性肿瘤25例,良性肿瘤25例,验证集中恶性肿瘤15例,良性肿瘤15例。实验选用python作为编程语言,使用tensortlow平台。得到结果如表1所示。

由表1看出,多项式核函数的总准确度为83.25%,高斯核函数的总准确度为84.50%,混合核函数的总准确度为86.34%,而BP神经网络方法的总准确度达到了91.13%。相比SVM方法(无论是采用多项式核,或高斯核,或混合核),采用本文的BP神经网络方法在分类准确度最高。

5 结语

本文提出了一套针对肺结节良恶性判断的整体方案,通过U-net神经网络的肺部肿瘤CT图像自动分割算法,对原图像进行肺结节的分割,然后通过PCA方法进行特征提取,最后采用BP神经网络对肺结节的良恶性进行分类,通过实验的数据证明,该方法相对于傳统方法更具有推广性。

参考文献

[1]张鹏,徐欣楠,王洪伟等.基于深度学习的计算机辅助肺癌诊断方法[J].计算机辅助设计与图形学学报,2018,30(01).

[2]陈首英,刘福林,庞志刚等.肺癌病人5年生存率及生存因素分析[J].预防医学论坛,2004,10(01):1-3.

[3]Ronneberger 0,Fischer P,Bros T.U-Net:Convolutional Networks forBiomedical Image Segmentation[J].

[4]Song F,Guo Z,Mei D.FeatureSelection Using Principal ComponentAnalysis[C].International Conferenceon System Science,Engineering Designand Manufacturing Informatization.IEEE,2010:27-30.

[5]Con Y L,Boser B,Denker J S,etal.Handwritten digit recognitionwith a back-propagation network[J].Advances in Neural InformationProcessing Systems,1990,2(02):396-404.

[6]Osuna E,Freund R,G i r o s i F.Training svm:An application to facedetection(C).1997.

猜你喜欢
BP神经网络肺癌
中医防治肺癌术后并发症
对比增强磁敏感加权成像对肺癌脑转移瘤检出的研究
microRNA-205在人非小细胞肺癌中的表达及临床意义
基于肺癌CT的决策树模型在肺癌诊断中的应用