1.2.2 基于CT图像的肺部CAD系统
X线成像是一种光影投影,只显示一个方向上的物体结构,经过体内不同器官后会发生图像重叠,因而显示不清。CT计算多角度的投影,将这些信息合成横断面图像。CT图像的分辨率是X线的10~20倍,CT图像能够分辨尺度较小的组织病变。CT图像是一系列连续的断层图片,用于肺部时,可在此基础上对肺部进行3D建模,比CXR更适于肺部疾病诊断。目前肺部疾病的计算机辅助检测/诊断研究大多数集中在CT图像上进行。
1.基于CT图像的肺结节CAD系统
目前CT检查是筛查肺癌最有效的手段,越早发现,病变越小,治愈率越高[52]。CT图像的高分辨率[53]和高解剖结构对比度能够显示用传统X光图像几乎看不到的结节,肺结节是“圆形、模糊,有适度的边缘,直径不大于3cm”[54]的异常病变(如图1.2所示),小于1cm的则称为微结节。结节大多数是肺癌的潜在表现。对以前的CT图像回顾研究表明,75%的癌症在早期图像检查中就已经表现出来,但由于此时结节很小[55,56],易被医生遗漏。另外,由于读片工作量大、医生经验不足或疲劳等因素也会产生一些解读错误,因此,现有CAD系统多是致力于弥补上述医生诊断的不足。
图1.2 肺结节
下面按前文所归纳的CAD系统的一般处理框架,对现有基于肺部CT图像的CAD系统进行介绍:
(1)预处理
CT图像相对X线片而言,其噪声已经很少,但为了得到更精确的结果,也用一些算法对图像作预处理,进而为CAD后面的操作提供更好的输入。Messay等[57]采用降采样算法对训练用的CT图像采样,产生可比较的片间距离,同时可以提高计算速度、减少噪声,为了增强细节对比度还使用了局部对比增强算法。为了去除加性噪声,Darmanayagam等[58]使用了wiener算法。Ashwin等[59]用有限对比自适应直方图均衡法(CLAHE)去除在图像捕捉中由于眩光、噪声引起的图像对比度不高的情况。此外,在预处理时还可使用增强滤波(Enhancement Filter)、快速傅里叶变换(Fast Fourier Transform)、小波变换(Wavelet Transform)、噪声校正(Noise Correction)[37]、中值滤波(Median Filtering)、Gabor滤波、直方图均衡(Histogram Equalization)[60]等算法。在Al-Tarawneh等[61]提出的肺癌检测技术中,分别使用了Gabor滤波、自动增强和快速傅里叶变换算法对肺部CT图像进行预处理,实现去噪声、污染和干涉的目的。
(2)分割
肺部CT图像上还包含背景、肺壁、心脏和肝等其他区域,在图像预处理阶段要确定肺叶范围,抽取肺实质(也称为肺实质分割)。肺实质分割在肺部疾病诊断中是非常关键的步骤之一[62]。这个阶段精确的分割对提高系统的最终性能是非常重要的[63]。对增强肺结节检测的可靠性、准确度、精度和减少计算量起着重要的作用[64]。CT图像上的像素CT值是与组织密度成正比的,常用阈值法分离体腔和肺实质[57]。有学者使用迭代阈值法[58]进行肺实质分割。Firmino[65]等使用了区域增长法和形态学法。进一步的分割还用到区域、形状、相邻解剖学引导[57]和机器学习的方法[66]。由于胸膜牵拉、近胸膜结节等原因,有时分割而得的肺叶有缺口,常用滚球法[67]等形态学方法来修正边缘。
(3)ROIs检测
ROIs检测的目的是查找肺叶中的肺结节,如果有则确定其位置[37]和区域信息。这个环节的算法要高灵敏度,追求的性能目标是不漏检,即召回率为100%。常用像素亮度、形态学和纹理等特征检测结节[65]。检测方法有灰度域值法[68]、多阈值法[43,57,59]、区域增长法[58]。Krewer等[69]在3D结节分割时采用了单点集合分割算法。此外,还有圆柱形和球形过滤、基于模式、形态学算子[57]、聚类、连通成分分析、基于规则的算法。Wang等[70]在2D和3D模式下分别用到了滚球和区域增长法。Shi等[71]的CADe系统中在ROIs分析和提取时使用海森矩阵分析和双边拉普拉斯变换。Li等[72]的CADe系统在感兴趣区抽取环节使用了2D大津法和数学形态学方法。3D模式下有时还用到基于三维物体建模和血管提取技术[41]等。
虽然3D卷积神经网络(CNN)是对时空数据进行统计建模很有前景的工具,但是它们有一个限制是需要详细的3D标签,与获得2D标签相比,3D标签是非常昂贵的。现有的CAD方法依赖于获得大量肺结节的详细标签来训练模型,这也是困难和耗时的。为了减轻这一挑战,Anirudh等[73]提出一种解决方案,方案中专家只需要提供点标签(即结节的中心像素),以及其最大的预期大小。程序使用非监督方式分割来扩展3D区域得到标签体,用于训练CNN。最后在SPIE-LUNGx数据集上进行试验表明,即使没有准确的3D标签,使用这些弱标签训练的网络也能在产生合理的高灵敏度的同时保持低假阳性率。
(4)特征提取
要判断ROIs是不是结节,是良性病变还是恶性结节,CAD系统一般是根据有经验医生标注的样本库训练算法模型,从形状、纹理、灰度和形态学等角度在候选区域上提取特征值,利用这些特征值区分不同类别但在CT图像上或许相近的对象。磨玻璃密度影(GGO)结节59%~73%是恶性,实性结节是恶性的概率为7%~9%,外形不规则、分叶征和毛刺征的多为恶性,外形圆滑的多为良性[65]。Demir等[74]在实验中发现,在CADe系统中使用了外部表面纹理特征后,系统的分类性能会有明显的提升。除此之外,患者的人口学特征、生活习惯特征(如年龄、吸烟史)等也常会用到。
在医学图像诊断领域,尽管有各种优秀的算法出现,但传统方法建立的特征抽取和模型选择总难鲁棒地泛化。CNN的应用使这一问题得到很好的解决,CNN基于人工神经网络,针对不同分类任务,通过反向传播算法自动强化或削减相应特征的权值,在卷积层用滤波器自动抽取特征,实现图像特征提取[75]。图像可以直接作为CNN的输入,从而避免了传统算法中复杂的特征提取设计和数据重建过程。
对于胸部CT肺结节诊断分类的问题,与传统主要依赖于结节分割进行区域分析的研究不同,Parveen W等[76]直接对原始结节图像块建模,而不预先定义结节形态。作者提出了一个分层学习框架“多尺度卷积神经网络”,通过交替堆叠的层提取判别特征来捕获结节的异质特性。为了充分量化结节特征,该框架利用多尺度图像块来学习一组特定于类的特征,同时对每个尺度输入,通过串联神经元在最后一层获得激活。最后在LIDC-IDRI上对该方法进行了评估,证实了不用图像分割而直接对结节进行诊断分类是可行的。
(5)特征选择
特征选择是指选择使分类结果最显著的特征子集的过程[77]。目的是减少冗余的特征,降低特征维数[78],以提高运算效率,最大化分类准确性。降维常用到LDA和PCA两个经典的算法,LDA对特征值进行新的投影,投影后不同性质的数据点的距离更大,同性质的数据点距离更紧凑,PCA从协方差的角度,将高维的特征映射到低维空间中表示,并期望在所投影的维度上数据的方差最大。特征选择不做投影或映射,仅从所有特征中选择部分特征使用。常用的算法有RELIEF法、顺序向前法(SFS)和遗传算法(GA)等[79-82]。
特征的高维不相关、特征子集的异构性以及样本类别分布不均衡一直是肺结节检测准确率的阻碍。Cao等[83]在肺结节检测CAD中,用一个基于多核的框架解决这些问题。为了消除特征的高维不相关性、整合多内核学习和特征选择,作者提出了两种基于多内核的特征排序技术,根据从基于内核的特征选择函数(MKFF)导出的内核空间中的预测能力(分数)来选择识别特征,以减小特征向量的大小和提高分类性能。为了有效地融合和选择异构的特征子集,作者通过带混合l2,1核权重约束的多内核学习法,恰如其分地结合有关参数结构的辅助信息,以利用互补异构特征子集同时考虑不同多个特征子集的分类贡献。为了解决不平衡结节数据学习的问题,作者提出构建一个最优多内核过采样方法来平衡数据分布。这个方法可以生成准确的实例,解决在构建内核分类器模型时输入空间中执行过采样的不一致问题。该方案性能的几何均值和AUC都明显超过试验中的其他对比方法。
纹理特征具有很强的表征力和特异性,Krewer等[69]在已有的基础上研究新CADx系统过程中,在大小、形状等的基础上加入纹理特征,尝试用Relief-F、RFNC、CFS算法进行特征选择,并分别结合J48、RF、k-NN和SVM分类算法试验。在特征选择过程中,Laws和小波特征结合得到最好的级别,也意味着对分类性能贡献最大。最佳的整体性能是CFS特征选择、5-NN分类器和仅用纹理特征的数据集组合。这表明分类时采用纹理特征是有前景的。
(6)假阳性去除
检测的结果中有一部分得到的ROIs不是结节,可能是表现相近的有大曲率或分叉的厚血管、呼吸或心脏运动及肺实质组织上的散射形成的斑迹等。上述非结节ROIs也称作假阳性(ROIs),需要被去除,为此需要对得到的ROIs提取特征。常用的有密度[57]、形态学[58]、纹理[65]等相关特征,也有基于统计学的如灰度共生矩阵(GLCM)特征[58],根据得到的特征值对ROIs进行真阳性和假阳性分类,去除假阳性区域。对于CADe系统,这个环节将带有位置标注的区域作为输出以辅助医生诊断。CADx系统还要在此基础上对得到的区域进行良恶性诊断,有的CADx系统没有去除假阳性环节,而在最终分类结果中体现ROIs类别。
Camarlinghi等[84]对蚂蚁探索通道模型(Channeler Ant Model)、立体区域增长平台(Region Growing Volume Plateau)和基于体素的神经网络方法(Voxel Based Neural Approach)3个CADe系统分别做了详细的介绍,并依据每个CADe系统的不同性能指数进行了三者加权融合的分类研究。在去假阳性环节分别用前馈神经网络(FFNN)和支持向量机算法。试验结果表明,相对于单个系统,不同系统结合的检测性能有明显提高,作者分析这主要是得益于它们在识别假阳性方面贡献是互补的。
Wang等[70]在CADe系统中设计了一个基于三阶张量模式的SVM算法,可以直接对感兴趣体(VOI)进行分类。作者使用SVM、MTANN、SVM(matrix)、SVM(based on unfolding 3D matrixes)和SVM(3Dmatrix)5个CAD方案做对比,SVM(3Dmatrix)达到了98.2%的灵敏度,假阳性率为9.1FPs/切片,总体上更优。
(7)分类
在CAD系统中,常用的分类算法有基于规则的分类器、LDA、模式匹配、神经网络(NN)、马尔科夫随机场、SVM[41,65,85-89]、线性判别分类器[57]、k-NN[43]、多层神经网络(ANN)[58,90]、决策树[91]等。为了提高肺结节分类识别的准确率,李秋萍等[92]提出了一种半监督FCM聚类算法,引入专业医生标记的监督信息来指导聚类过程。他们通过衡量两个样本特征向量之间的距离,获得它们被划分到同一类别中的可能性,最后参考隶属度对非标记样本进行聚类。该方法在一定程度上解决了传统聚类算法聚类效果不理想的问题。
基于逐像素的深度学习方法(如CNN),由于能避免由对复杂和细微对象的特征计算错误或分割不准确,所以显示出了良好的发展前景[87,93]。最近的研究表明,由CNN抽取的特征是可以通用的,能用于训练网络的特定领域之外的分类任务。在研究[94]中作者使用OverFeat,训练用作自然图像中目标检测的网络。对LIDC数据库中865个CT图像上的每个结节所在区域块,分别从矢状、冠状和轴向面抽取特征,在网络的倒数第二层得到4096维的特征,最后用线性SVM分类。对于各种参数配置,使用现成的CNN特征,系统都执行得相当好,但性能不如常规专用的检测系统。当把两种方法结合后,得到的结果明显比单独使用要好。从试验结果看,在3D医疗数据辅助检测任务中CNN特征具有进一步研究的价值。
2.基于CT图像的肺部其他疾病CAD系统
针对其他系统假阳性率太高的情况,Tajbakhsh等[95]用一个新的血管对齐多平面图表示方法和CNN实现CT肺血管造影图像上的计算机辅助肺栓塞检测系统。系统先进行肺分割,然后用雪降算法(Tobogganing Algorithm)抽取肺栓塞候选区域。对每个区域用血管对齐多平面图像描述产生一个两通道图像表示,把得到的两通道图像放入一个CNN进行栓塞和非栓塞分类。尽管在2mm和5mm定位误差上稍有不足,系统的诊断性能明显优于传统的手动选取特征的方法。