基于改进自生成神经网络的孤立性肺结节分类
2015-06-23纪国华赵涓涓
纪国华,赵涓涓,潘 玲
(太原理工大学 计算机科学与技术学院,太原 030024)
基于改进自生成神经网络的孤立性肺结节分类
纪国华,赵涓涓,潘 玲
(太原理工大学 计算机科学与技术学院,太原 030024)
为了提高孤立性肺结节良恶性诊断中的分类准确度,提出了一个基于自生成神经网络的自动分类算法。该算法首先对PET/CT图像进行去噪、配准等预处理,分别提取孤立性肺结节的结构影像特征和代谢特征,然后对自生成神经网络进行训练和优化,构建分类器,根据距离测度和自动连接规则对待分类肺结节进行分类。初步的实验结果表明,与传统的自生成神经网络算法和BP神经网络算法相比,改进的自生成神经网络分类算法能得到更高的分类准确率。
PET-CT影像;孤立性肺结节;自生成神经网络;分类器;距离测度
在全世界范围内,肺癌是发病率及死亡率最高的癌症之一已经严重威胁到人们的生活、学习和工作[1],为了提高肺癌患者的生存率,肿瘤的早期诊断与治疗是关键。肺癌的早期大多表现为孤立性肺结节 (Solitary Pulmonary Nodules,SPNs),即肺实质内单发的、类圆形、最大直径小于3 cm的结节影,不伴有淋巴结肿大、肺不张和肺炎等其它病变。PET/CT技术,即正电子发射计算机断层显像,融合了病灶的功能信息与精确解剖定位,是医生进行肺部病理研究及诊断、肺功能评估的重要手段之一。因此,采用计算机辅助诊断(Computer-aided Diagnosis,CAD)技术在PET/CT影像中对SPNs的早期检测和诊断对提高病人的存活率有重要的意义。
目前,医学影像的计算机辅助诊断中常用的分类方法包括支持向量机(SVM)、决策树(DT)、Logistic回归(LR)、朴素贝叶斯(NB)、人工神经网络(ANN)等方法。SVM能避免过拟合问题,能够将疑似病灶中的结节与非结节分类出来,提高肺结节的检出率[2-3]。但是SVM对内存需求较大,而且调节参数的过程繁琐。DT是非参数的,无需担心野点和数据是否线性可分,但存在过拟合,Tartar A et al在进行结节检测时,采用随机森林算法改善了这个问题[4]。将K最近邻算法与NB算法结合的分类方法[5]收敛速度快,模型更新简单,但是需要迭代学习。LR有很多方法来对模型正则化,不需要考虑样本是否是相关的[6]。Sehgal C M et al[7]将NB与LR结合起来,应用到乳腺超生图像中,能够提高分类算法的敏感性。ANN对模式识别、信息处理中的分类问题比较擅长,在图像处理方面应用广泛[8]。Chen H et al分别采用ANN和LR对肺结节进行分类实验[9],结果表明,相较于LR算法,ANN能得到更高的分类准确度。
但是,传统ANN的网络结构需要人为参与设计,学习过程复杂。自生成神经网络(Self-generating Neural Networks,SGNN)是一类自组织神经网络,与传统神经网络相比,具有学习自主性高、无需人为调整网络结构与参数的优势[10]。在对肺结节性病变进行诊断时,通常先将病灶分为良性、恶性两大类,然后进一步明确肿瘤类型,恶性病变包含周围型肺癌、类癌、支气管腺瘤、肺肉瘤或转移瘤等,良性病变包括炎性假瘤、结核瘤、肺错构瘤、脂肪瘤或血管瘤等[11],不同的肿瘤类型分别对应不同的后期检查和治疗手段。为了提高分类器的性能,同时更有针对性地给出诊疗建议,笔者通过研究SGNN及其优化算法,提出了基于优化SGNN的SPNs病变类型分类方法,拟在对病变进行良恶性分类的基础上,进一步地识别肿瘤类型。
1 自生成神经网络理论
SGNN是Wen et al于1992年首先提出的[12-13],H.Inoue et al对其应用做了进一步的研究[14-15]。SGNN算法是一个启发式聚类算法,利用竞争学习机制,在对样本的学习过程中采用非监督学习方法自动生成一棵神经树,不需要人为地参与网络中的参数及结构调整。在生成SGNT的过程中,对每一个输入样本只进行一次学习,而不会进行迭代学习,这也是SGNN的突出优点。因此,自生成神经网络有较好的适应性,可以解决分类问题,本文将其用来对PET/CT图像中的肺结节进行分类。
SGNT可以表示成有序对〈{nj},{lk}〉,其中{nj}是所有的神经元集合,{lk}是神经元之间的连接集合。神经元nj也是一个有序对〈Wj,Cj〉,Wj代表神经元nj的权值向量,Wj=〈wj1,wj2,…,wjp〉,Cj是nj的子神经元集合。在SGNT中,神经元nj到样本ei的距离为欧式距离如式(1)所示。
(1)
SGNN的生成算法描述如下[14,16]:
输入:训练样本集{ei},i=1,2,…,m,其中ei是由样本属性所组成的向量〈ai1,ai2,…,ain〉;给定误差阈值T≥0。
输出:SGNT。
1) 生成新节点nj,令该节点的权值Wj等于输入样本ei的属性值;若i=1,转至5);否则进入下一步。
2) 计算nj与na的距离d(nj,na),其中na(a=1,2,…,j-1)是SGNT中已有的神经元节点。将最小距离dmin(nj,na)对应的节点定义为获胜节点nwin。如果dmin(nj,na)>T,则下一步;否则nj被并入nwin,跳转至4)。
3) 将nj连接到SGNT上。若获胜节点是树中的叶节点,则创建新节点nj+1,令Wj+1=Wwin,将nj和nj+1连接为nwin的子节点;否则将nj连接为nwin的子节点。
4) 根据权值更新式(2)更新从nj到根节点经过的每一个节点nr的权值向量,cr代表nr所覆盖的叶节点个数。
(2)
5) 如果i=m,结束;否则i=i+1,返回1)。
如图1所示,经过上述算法生成的神经树中,叶子神经元的权值是输入样本的属性值,而根神经元及节点神经元的权值是它覆盖的所有叶子神经元权值的平均值,即以它为根节点的所有叶节点属性的平均值。分类或聚类后的一个类中心在SGNT中表现为根神经元的一个子节点,因此根神经元有几个子节点,代表将样本分为几类,子节点覆盖的叶节点代表该类中的样本。
图1 SGNT结构示意图
在对肺结节进行分类时,将结节作为输入样本,每个结节的混合影像特征、临床信息等作为样本的属性,生成SGNT,每一个结节都必然属于某一类。
2 分类方法描述
针对孤立性肺结节的分类算法的主要思想是通过对自生成神经网络算法进行优化和改进,生成分类神经树实现对肺结节的分类和识别。该算法主要包括四个步骤:图像预处理,构造特征向量,训练SGNT,识别肺结节(如图2所示)。
图2 分类算法步骤示意图
2.1 图像预处理
医学影像数据在成像、传输的过程中,受到设备、环境的影响,会产生图像噪声、模糊等问题,从而干扰图像的后续处理。因此要对原始的PET-CT图像进行去噪和增强等预处理,去掉图像中的大多数背景信息和噪声,同时有效增强感兴趣区域的图像细节信息。笔者采用傅里叶变换和高斯滤波相结合方法来对图像进行去噪和增强。由于文中使用的PET图像和CT图像是不同模态的图像,会存在空间位置不对齐,在进行结节的特征提取之前需要先进行PET-CT图像配准。本文采用基于互信息的方法实现PET-CT图像的配准。
2.2 构造特征向量
特征的提取和特征向量的构造是进行机器学习及分类的基础。对PET-CT图像进行预处理后,分别在CT图像和PET图像中提取结节区域的结构和功能信息,包括灰度、形态、纹理、空间位置、临床信息及SUV值,将这些特征量化,构造为50维的肺结节的特征向量。但是在初步提取得到的特征数据集中,有些特征是不相关或者冗余的,特征向量维数过高,会引起较高的计算复杂度,增加过度拟合的可能性。因此,采取基于互信息的特征选择方法进行特征优选,将特征降到22维,包括:灰度均值、灰度熵、结节面积、圆形度、紧凑度、钙化个数、钙化面积、钙化面积占结节面积比、空洞个数、空洞面积、空洞面积占结节面积比、分叶等级、毛刺等级、角二阶矩、相关性、边界灰度均值、边界灰度方差、病变区域、上下切片相似度、年龄、吸烟史、SUVmax。
2.3 SGNT训练
2.3.1 生成初始SGNT
假设SPNs训练数据集中有K类结节病变,则需要将所有确诊为第i(i=1,2,…,K)类的训练样本的特征向量输入第i棵SGNT,生成K棵神经树,并将SGNT的根节点的权值向量作为该类的特征向量。
用测试样本对SGNN算法进行测试,发现当改变训练样本的输入顺序时,会得到不同的分类结果,如图3所示。这说明SGNN算法对样本的输入顺序很敏感,在最终成形时不一定能生成最佳结构。因此,为了得到稳定的分类结果,保证网络结构最佳,要对SGNN算法进行优化处理。
图3 SGNN在同组样本不同输入顺序下的分类结果
2.3.2 优化SGNT
在解决分类问题时,当神经网络结构为最佳时,距离相近的节点在网络中应该是亲近关系。因此,网络优化是以距离测度为标准,常用的方法有水平/垂直优化(Vertical & Horizontal optimization,VH优化)和剪枝优化两种方法[13,17]。
采用VH优化中的水平优化使得神经树的结构向纵向延伸,而垂直优化则使其结构横向发展。对任一神经元n,若它与父节点的距离小于等于它到任意子节点的距离,则将其水平放置于SGNT上;若它与任意父节点的距离小于等于它到任意祖辈的距离,则将其垂直放置于SGNT上。所有神经元既是水平放置又是垂直放置的SGNT结构达到最优。因此,在生成一个SGNT后,需要检查并优化每个神经元的放置情况,以使分类神经树的结构达到最优。
对于没有达到水平放置的神经元n,要进行水平优化。假设n到父节点f的距离大于到子节点s的距离,即d(n,f)>d(n,s),若s不是它的唯一分支,则将n移到s的下一层;若s是一个叶节点,生成一个新的节点作为s的子节点,并把s的权值复制过去,同时更新s的权值为:
(3)
相应地,更新节点s所覆盖的样本个数:
(4)
对于没有达到垂直放置的神经元n,要进行垂直优化。假设n到父节点f的距离大于到f的父节点g的距离,即d(n,f)>d(n,g),则将n上移为g的子节点。同时更新f的权值为:
(5)
更新节点f所覆盖的样本个数:
(6)
由于VH优化方法是按照节点生成的顺序依次对神经树的结构进行优化的,而树中的节点之间是有联系的,对节点的优化会相互影响,因此,一次VH优化并不能将网络结构调整到最佳,而需要反复进行优化,但现在并没有一个可信标准来决定不同的样本集所需要的优化次数。实验表明,对测试样本进行的优化次数越多,得到的SGNN的分类结果越好,但是会增加网络结构的复杂度。为了在保证分类精度的同时降低计算代价,需要对生成的SGNT进行剪枝优化。
剪枝优化方法的每次搜索不再局限于两、三代之间的节点,可以在相隔多代的节点甚至无关节点间进行优化,但是不能优化网络中的中间节点,是针对叶节点的优化算法。在神经网络生成之后,再次输入训练数据训练网络,对网络中的节点按层依次搜索,将输入样本连接为网络中与之距离最近的节点的子节点,同时将没有搜索到的节点删掉,即剪掉死枝条。剪枝算法本质上通过网络中节点的增减实现叶节点向合理位置的移动。剪枝优化的目的是简化网络结构,在降低计算的时间复杂度和空间复杂度的同时,保证网络处理数据的精度。
确定好优化策略后,将孤立性肺结节的分类神经树生成算法进一步描述如下:
1) 分别在训练样本集的第i(i=1,2,…,K)类结节病变中随机选取一个特征向量,按照SGNN生成算法生成K棵初始SGNT;
2) 将第i类中的待聚类样本依次输入第i棵SGNT中,搜索当前神经树中与其距离最小的神经元,并将其连接到该神经树上,直到所有样本被输入到K棵SGNT中;
3) 对K棵SGNT分别进行剪枝优化,对网络进行全局优化,简化网络结构;
4) 对剪枝优化后的K棵SGNT分别进行VH优化,调整相邻代节点之间的连接,得到最优的网络结构。
在优化后的K棵SGNT中,每个SGNT对应一类结节。
2.4 分类识别
在对未知类别的肺结节进行识别时,首先考虑采用距离测度识别方法,通过计算待分类样本与训练集中每一类的类中心的距离,将其归类到最小距离所对应的类中[18]。但是,距离测度仅考虑了类中心,而没有考虑具体样本之间的相互影响,不能有效将不同类型的肺结节识别出来。针对上述问题,本文提出一种结合距离测度与自动连接的方法实现待分类SPNs的识别。在距离测度的基础上,将待分类样本输入到训练好的所有SGNT中,使其自动连接到某一棵神经树中,根据其连接情况和距离综合考虑,识别肺结节。其具体过程如下所示:
1) 首先提取待分类样本q的特征向量,分别计算其与每一棵神经树的根节点Ri的欧式距离di,i=1,2,…,K,设最小距离为dA,对应的类别是A;
2) 将K棵SGNT组成一个神经森林,向森林中输入q的特征向量,搜索当前森林中与其距离最小的神经元nq,设nq对应的类别是B;
3) 若A≥B,则将q归到A类;否则,将q归到B类。
识别过程如图4所示。经过上述识别算法,能够识别出待分类样本的所属类别。在对整个测试集进行分类时,将数据依次输入和计算,并将前面的识别结果串行输入并连接到相应的SGNT中,共同参与后续样本的分类。
图4 SPNs识别过程
3 实验与分析
3.1 实验数据集
本文所使用的实验数据选自山西某医院PET/CT中心2011年1月-2015年1月之间的数据,该医院使用的是美国通用公司的Discovery ST16 PET-CT,CT采集参数为150 mA、140 kV,层厚3.75 mm,CT图像大小为512×512。病例共计选择195例(其中恶性103例,包括周围型肺癌39例、类癌26例、支气管腺瘤21例、肺肉瘤17例、转移瘤或其它0例;良性92例,包括炎性假瘤33例、结核瘤46例、肺错构瘤13例、脂肪瘤和血管瘤或其它0例),所选病例都有完整的临床信息和影像学资料。
本文算法的实验环境是MATLAB 2012b,PC处理器为Intel Core i7-3770,主频3.40 GHz,内存8 GB。
3.2 结果分析
使用训练样本训练分类器后,本文使用数据集中的195例数据进行分类实验,取数据集中各类病例的二分之一(病例个数为奇数时,先减一再除以二)组成训练集,共计95例,剩下的样本组成测试集,共计100例。
本文分别从算法对各个类别识别的准确性和总体准确性评估本文提出的肺结节分类算法的性能。对训练集中的每一类进行分类时,以该类为阳性,其他类为阴性,如表1所示,TP、TN、FP、FN分别为真阳性、真阴性、假阳性、假阴性[19]。
表1 预测结果与实际结果的混合矩阵
则每一类的分类准确率为:
(7)
将每一类的分类正确率进行加权平均,计算测试集的总体分类正确率:
(8)
式中:Ai是第i类的正确率;ni是该类的测试样本数;N为所有的测试样本数。
用不同的分类模型进行分类对比试验,结果如表2所示,其中,类别1~7分别代表周围型肺癌、类
表2 不同分类模型的分类准确率 %
癌、支气管腺瘤、肺肉瘤、炎性假瘤、结核瘤、肺错构瘤。由表2可以看出,与BP神经网络、SVM分类器[2]相比,传统SGNN算法在对肺结节进行分类时效果并不理想;本文算法针对SPNs的特点,通过对SGNN算法进行优化和改进,有效地提高了算法的性能,在分类准确性上有明显优势。
表3给出了不同算法的运行时间,可以看出传统SGNN算法和本文算法比BP神经网络和SVM分类器的运行速度都快,说明了自生成神经网络算法在对肺结节进行分类时是高效的。但本文算法比传统SGNN算法运行时间稍长,这是由于本算法要对SGNT的结构进行多次优化,导致了较高的时间复杂度。但是在临床应用中,更关注孤立性肺结节的分类诊断的准确性,识别100例样本多消耗0.37 s的时间复杂度是可接受的。本文算法牺牲了可接受的时间复杂度对传统算法进行优化,得到了更好更可靠的分类结果,说明优化后的肺结节分类算法是有效的。
表3 不同分类模型的分类速度
文中提出了一种对PET/CT图像中的孤立性肺结节进行分类诊断的新方法。该方法采用优化算法对自生成神经网络方法进行改进,结合距离测度和自动连接识别方法实现对孤立性肺结节特征向量的分类。实验中分别采用BP神经网络、SVM分类器、传统SGNN及本文提出的方法对采集到的肺结节特征数据集进行分类。实验结果表明,我们提出的肺结节的分类方法能得到较高的分类准确率,并且有较好的时间复杂度,说明本文算法是肺结节分类的有效算法。
[1] Siegel R,Ma J,Zou Z,et al.Cancer statistics,2014[J].CA:a cancer journal for clinicians,2014,64(1):9-29.
[2] Keshani M,Azimifar Z,Tajeripour F,et al.Lung nodule segmentation and recognition using SVM classifier and active contour modeling:A complete intelligent system[J].Computers in biology and medicine,2013,43(4):287-300.
[3] Santos A M,de Carvalho Filho A O,Silva A C,et al.Automatic detection of small lung nodules in 3D CT data using Gaussian mixture models,Tsallis entropy and SVM[J].Engineering Applications of Artificial Intelligence,2014,36:27-39.
[4] Tartar A,Kilic N,Akan A.A new method for pulmonary nodule detection using decision trees[C]∥IEEE.Proceeding of the 35th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC).[S.I.],2013:7355-7359.
[5] Calle-Alonso F,Pérez C J,Arias-Nicolás J P,et al.Computer-aided diagnosis system:A Bayesian hybrid classification method[J].Computer methods and programs in biomedicine,2013,112(1):104-113.
[6] Zhang M,Zhang Y,Fu S,et al.Development of a logistic regression formula for evaluation of subcentimeter thyroid nodules[J].Journal of Ultrasound in Medicine,2014,33(6):1023-1030.
[7] Sehgal C M,Cary T W,Cwanger A,et al.Combined Naïve Bayes and logistic regression for quantitative breast sonography[C]∥IEEE.Proceeding of Ultrasonics Symposium (IUS).Germany:Dresden,2012:1686-1689.
[8] Amato F,López A,Pea-Méndez E M,et al.Artificial neural networks in medical diagnosis[J].Journal of Applied Biomedicine,2013,11(2):47-58.
[9] Chen H,Zhang J,Xu Y,et al.Performance comparison of artificial neural network and logistic regression model for differentiating lung nodules on CT scans[J].Expert Systems with Applications,2012,39(13):11503-11509.
[10] 蒋宏,任章.一种基于SGNN网络的模糊图像融合算法[J].系统工程与电子技术,2009,2:452-455.
[11] Travis W D,Brambilla E,Riely G J.New pathologic classification of lung cancer:relevance for clinical practice and clinical trials[J].Journal of Clinical Oncology,2013,31(8):992-1001.
[12] Wen W X,Liu H,Jennings A.Self-Generating nural networks[C]∥IEEE.Proceeding of International Joint conference.on Neural Networks.USA:Baltimore,1992:850-855.
[13] Wen W X,Jennings A,Liu H.Learning a neural tree[C]∥IEEE.Proceedings International Joint Conference on Neural Networks.USA:Balt,1992.
[14] Inoue H,Narihisa H.Efficiency of self-generating neural networks applied to pattern recognition[J].Mathematical and Computer Modelling,2003(38):1225-1232.
[15] Inoue H,Narihisa H.Effective online pruning Method for Ensemble Self-Generating Neural Networks[J].Circuits and Systems,IEEE,2004(3):85-88.
[16] 刘纯平,孙忱.基于SGNN的彩色图像分类[J].江南大学学报:自然科学版,2007,6:838-841.
[17] 李露.SGNN优化算法的研究及其在图像分割中的应用[J].红外技术,2010,04:198-203.
[18] 张红山,王世卫,姜建国.基于SGNN的数字字符识别[J].航空计算技术,2004,1:76-78.
[19] Lin PL,Huang PW,Lee CH,et al.Automatic classification for solitary pulmonary nodule in CT image by fractal analysis based on fractional Brownian motion model[J].Pattern Recognition,2013,46(12):3279-3287.
(编辑:朱 倩)
Solitary Pulmonary Nodule Classification based on ImprovedSelf-Generating Neural Networks
JI Guohua,ZHAO Juanjuan,PAN Ling
(CollegeofComputerScienceandTechnology,TaiyuanUniversityofTechnology,Taiyuan030024,China)
To improve the classification accuracy of diagnosis of solitary pulmonary nodules,this paper proposes an automatic classification algorithm based on the self-generating neural networks.The algorithm first deploys preprocessing methods on PET/CT image,such as denoising and registration.Then,structural and metabolic features of solitary pulmonary nodules are extracted separately.After that,the improved self-generating neural network is trained and a classifier is built to classify unspecified samples on the basis of distance measure and automatic connection.Experimental results show that compared with traditional self-generating neural networks and BP neural network algorithm,the improved self-generating neural networks algorithm can guarantee higher classification accuracy.
PET/CT imaging;solitary pulmonary nodules;self-generating neural networks;classifier;distance measure
1007-9432(2015)06-0754-06
2015-05-10
国家自然科学基金资助项目:基于混合成像的孤立性肺结节计算机辅助诊断方法(61202163);基于医学影像结构和功能混合特征的周围型肺癌计算机辅助诊断方法(61373100);虚拟现实技术与系统国家重点实验室资助项目(BUAA-VR-15KF02)
纪国华(1991-),女,山东沾化人,硕士生,主要从事医学图像处理的研究,(Tel)18634632764,(E-mail)1210151314@qq.com.
TP391
A
10.16355/j.cnki.issn1007-9432tyut.2015.06.021