您好, 访客   登录/注册

基于深度学习的肺癌检测方法研究

来源:用户上传      作者:

  摘要:肺癌作为全球发病率最高和死亡率最高的恶性肿瘤,提高肺癌患者存活率最有效的方法就是及早发现、及早诊断、及早治疗。通过人为的观察CT扫描图像,极易出现漏判、误判的情形,计算机辅助诊断(CAD)具有高准确率、高效率的特点,这里本文提出了一种基于机器学习的肺癌检测方法,以肺部图像数据库联盟(LIDC)作为计算机视觉分析图像模型,通过比较各类有效的图像特征,以图像的LBP直方图的方法来表示训练集以及待检测图像的特征,提取肺癌ROI区域及相应病变的特征,引入CART分类器作为弱分类器,然后通过AdaBoost算法对肺结节进行分类学习,构建分类可疑肺癌的AdaBoost分类器,再采用迁移学习的方法将构建好的分类器模型迁移到实际临床CT肺部影像来帮助模型进行训练学习。通过实验数据发现,以上方法对肺癌的识别率能够93.2%,无论对医生还是患者来说都具有很大的现实意义。
  关键词:计算机辅助诊断(CAD);肺部图像数据库联盟(LIDC);CART分类器;AdaBoost分类器;迁移学习
  中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2020)01-0085-05
  0 引言
  近些年来,环境污染问题和食品安全问题已经严重威胁到人们的健康,多数城市PM2.5居高不下,引发了大量的肺炎和肺癌等多种肺部疾病。据不完全统计,空气重的细小颗粒物是诱发肺癌的主要原因。除了改善生活环境以外,对于肺癌来说,早发现、早诊断、早治疗也是提高患者存活率的一种重要手段。肺癌在临床医学上表现极其复杂的特征,患者发病时间较短,呈现恶性的概率也更高,一旦发现,患者多处于病变晚期,治愈率极低。
  肺癌在医学和临床上的组织解剖诊断方法依据主要的特点就是根据组织学和肺癌的影像解剖学来对肺癌进行临床诊断。肺癌的组织解剖学的诊断方法主要的特点包括了肺癌的支气管镜解剖学检查、活检组织解剖学检查和痰液癌细胞解剖学检查等,尽管这类的诊断方法都可以在痰液中作为诊断和检测早期肺癌的依据和标准,但是对于那些处于不同早期患病的阶段和不同生活类型的肺癌患者来说,癌细胞并不一定都可以出现在自己的痰液中。而肺癌的影像解剖学的诊断方法主要的特点就是通过利用计算机的断层扫描和肺癌的x射线解剖学检查诊断方法来直观的了解和观察癌细胞和人体的肺部病变活检组织的大小、形态和其位置,此诊断方法有效的避免了癌细胞活检的组织给肺癌病人身体带来的干扰和伤害。现如今,影像解剖学进行肺癌诊断的方法已经是目前肺癌的诊断方法中应用最广泛的一种诊断方法。
  近些年来,随着断层扫描技术的不断发展,该技术已经成为了最有效的肺癌检验方法。肺部CT图像是一种单通道高位图像,医生通过观察胸腔扫描的CT图像,然后结合病人的临床症状可以发现癌症的发病区域以及其良/恶性。正是由于胸腔CT扫描变得越来越普遍,给医生也带来十分巨大的阅片压力,医生在凭借个人工作经验以及相关知识阅片的过程中,难免会出现漏判和误判的情形,这对于患者的诊断和治疗都是极为不利的。所以利用计算机技术来对肺部CT图像模型来进行处理,这可以大大的提高阅片的速度和精确性,这也是近年来肺癌检测诊断的一个热门研究方向[1]。
  深度学习是一个快速发展的领域,对医学成像领域有很多影响。当前,医学图像由放射科医生,医师等进行诊断。但是这种诊断变得非常主观。放射科医生通常必须仔细检查大量的这些图像,长期检查这些图像可能会导致疲劳并导致错误。因此,需要对此进行自动化。诸如支持向量机之类的机器学习算法通常用于检测和分类肿瘤。但是它们通常受到定义要素时所做假设的限制。这导致灵敏度降低。但是,深度学习可能是理想的解决方案,因为这些算法能够从原始图像数据中学习特征。实现这些算法的挑战之一是缺乏标记医学图像数据。尽管这是对深度学习的所有应用程序的限制,但由于患者的机密性,对医学图像数据的限制更大。在本文中,将通过以CART为弱分类器,Adaboost为强分类器,对其进行训练分类,并使其检测肺结节。本文所使用的数据来自肺影像数据库协会和传染病研究所的数据(LIDC/IDRI)数据库[2]。
  基于这种深度机器学习的肺癌早期检测分析方法主要的特点是通过对肺部CT的图像通过计算机系统及其辅助的诊断系统进行分析得到的图像分析提取其包含的图像中肺结节特征,然后对获得的图像中可能包含的早期肺部结节特征进行了检测、分割、分类等技术研究,最终可以确诊并判断出患者的肺结节是否可能患有了肺癌。其中,系统的性能主要是体现在对检测早期的肺结节以及其危险严重程度正确进行分类的能力上。本文中的肺癌实验早期检测数据主要来自于LIDC-IDRI一个开源用于肺部检测的CT图像数据库,该图像数据库中已经包含了大量的早期肺结节样本以及其对应的肺结节标签。因此,LIDC-IDRI这个数据库经常被研究者用来作为验证对肺结节良/恶性情况正确分类的模型,包括肺结节分类器主要优化的模型和分类器的图像特征提取。对于肺结节良/恶性的图像进行分类主要目的是为了给肺结节的医生和患者提供一个更加科学的、可靠的辅助分类的结果,使他的诊断和治疗过程更加的精准,并且这样能够有效的帮助患者减少肺结节医生的临床检查阅片和工作量。在运用肺结节分类优化算法的图像优化过程中,分类算法的过程我们需要首先分析和计算这些图像的类型和图像特征,然后对分析得到的不同类型图像的特征分别打上不同的分类标签,接下来我们结合分类器对样本集的特征进行了训练和测试。常見的肺结节分类器主要优化模型包括KNN、ANN、SVM、Random Forest、CART、Adaboost、模糊C均值等。常用于数据的肺结节良/恶性图像分类的肺结节图像灰度特征模型主要包括肺结节图像的灰度几何的特征、纹理的特征和肺结节灰度密度分布的特征等。本文就是通过从图像中提取500组的肺结节良恶性图像来分析数据的LBP特征,然后以分类器CART为弱恶性分类器,Adaboost为强分类器。本文进行了实验来对数据的肺结节良恶性图像进行了分类将数据LIDC-IDRI数据库图像中的肺结节数据和样本准确地分为良性和恶性两类,其最优的AUC值分别达到了0.9615。经过长期的对比结果分析该方法相较单独的分类器CART为弱分类器和传统的Adaboost分类器鲁棒性更高,分类处理效果也相对更好。   1 基于LBP的特征提取方法
  LBP(Local Binary Patterns)特征即中心像素局部二值成像模式的特征,获取的特征是中心图像的局部旋转和纹理状态特征,具有局部旋转不变性和局部灰度不变性等一系列显著的纹理特征,最早是由T.Ojala,M.Pietikaiunen和D.Harwood在1994年提出,由于LBP特征提取方法简单、描述效果良好,因此在机器学习和视觉的诸多应用领域中心像素得到了广泛地研究和应用,其中最为著名的两种应用方式是中心像素人脸识别和目标像素检测。原始的中心像素LBP特征算子定义在像素3×3的邻域以内,以邻域中心像素为阈值,相邻的8个像素的灰度值与邻域周围中心的二进制像素灰度值进行了比较,若周围的邻域中心像素灰度值大于邻域中心像素的阈值,则其在该像素点的位置被标记为1,否则为0。这样,3×3邻域内的8个二进制焦点像素经过比较可以直接产生8位的二进制像素数,将这8位的二进制像素数依次排列形成一个8位二进制的数字,这个二进制数字就是中心像素的LBP值,LBP值特征共有28种的可能,因此局部LBP值特征有256种。中心像素的局部LBP值特征反映了该中心像素周围各个区域的局部纹理状态信息[3]。
  上面描述的过程用数学函数可以表示为:
   (公式1)
  式中,中心像素坐标(xc,yc)的灰度值为;表示为3×3 邻域内除中心像素外的其它像素点处的灰度值;S 所满足的函数关系如下公式2所示:
  (公式2)
  如图1所示是LBP特征描述的示意图。
  基本的圆形LBP算子最大的优点和缺陷之处在于它仅能直接覆盖一个固定的半径和角度范围内的小尺度纹理区域,这显然不代表它能够更好地满足不同的尺寸和频率圆形纹理的应用需要。为了更好地适应多尺度的圆形纹理区域特征以及对实现纹理灰度不变性的基本要求,T.Ojala等对圆形LBP算子模型进行了改进,将其中的算子称为“圆形LBP算子”。该种改进后的算子将3×3邻域的扩展缩小到了任意邻域,并用圆形邻域的像素点替代了算子原有的正方形邻域,使得该种改进后的圆形LBP算子更好地实现了在采样点的半径和角度为r的任意多个圆形邻域范围内有任意多个圆形像素点,从而实现了一种以图2为例的一个含有任意p个采样点的圆形LBP算子,图2中字母上标可以表示采样点的半径,下标可以表示任意多个采样点。本文中所采用的即是一个圆形的LBP算子[4]。
  通过上述LBP特征提取方法对(LIDC/IDRI)数据库中的影像数据提取特征结果如图3如下。
  通过图3可以看出,肺部影像数据经过LBP特征提取后具有鲜明的轮廓和纹理特征,这为肺癌的诊断分类提供了较大的帮助。
  2 基于AdaBoost的肺结节良恶性分类方法
  本文中使用了来自肺影像数据库协会和传染病研究所的数据[(LIDC/IDRI)数据库],由于这些映像很大(124GB),因此本文最终使用了可用于LUNA16的重新格式化版本。该数据集由888个CT扫描组成,并带有描述坐标和地面真相标签的注释。第一步是创建一个图像数据库进行培训。图像被格式化为.mhd和.raw文件。标头数据包含在.mhd文件和多维图像中数据存储在.raw文件中。本文中使用SimpleITK库读取.mhd文件。每个CT扫描的尺寸为512x512xn,其中n是轴向扫描的数量。每次CT扫描大约有200张图像。共有551065个注释。在提供的所有注释中,有1351被标记为结节,其余被标记为阴性。这样就出现了阶级大失衡。处理它的简单方法是通过旋转图像对多数阶层进行采样并增加少数阶层。因此,本文中围绕注释中提供的坐标裁剪图像。注释以笛卡尔坐标提供。因此必须将其转换为体素坐标。图像强度也以Hounsfield比例定义。因此,出于图像处理目的,必须对其进行缩放。下面的脚本将生成50x50灰度图像,用于训练,测试和验证数据集在训练上仍然非常不平衡[5]。所以本文通过旋转图像来增强训练集。如图4所示为对影像数据进行不同角度旋转所得到的特征图谱。
  3 弱分类器的构成
  3.1 强弱分类器概述
  Adaboost(Adaptive Boosting)算法是一种通过将多个简单的、弱的分类器线性组合的一种方式将训练集构建起来组成一个强的训练分类器的线性化算法。其基本的思想其实就是针对不同的训练集分别训练同一个强的分类器(弱的分类器),然后把这些不同分类在训练集上的样本所得到的分类器和训练集联合了起来,构成一个最终的强分类器。Adaboost这种算法中不同的分类和训练集权重是通过设计和调整每个分类器的样本训练集对应的分类器权重来设计和实现的。算法开始时,初始的样本对于u1的每个分类器和样本训练集对应的分类器权重都是相同的,对于弱的分类器对于h1分类错误的每个样本,加大其训练集对应的分类器权重,而对于一个分类正确的样本,降低其分类权重,这样易于分错的样本就被弱分类器突出了出来,从而可以得到一个新的样本分布u2。在新的样本分布下,再次对弱分类器的权重进行了训练,得到弱的强分类器h2。依次以此类推,經过t次的循环,得到了t个弱的强分类器,把这t个弱的强分类器按一定的分类权重比例叠加了起来,得到最终的强分类器。采用线性集成的强分类器的主要错误率优于单个集成分类器,假设一个线性集成的强分类器中至少包含了n个集成分类器,每个集成分类器进行分类的错误率均为0,如果只是采用单个集成分类进行线性的分类,错误的概率大约为0;而如果只是采用多个集成分类器进行线性的集成可以构建一个强大的分类器,并且线性选择多半分类器的预测结果作为最终的结果,即线性选出不小于n/2的分类作为预测结果,则这个强分类器的错误率如式[6]。
  (公式3)
  3.2 Adaboost算法实现过程
  Adaboost算法实现的具体流程如下[7-8]:   (1)对于给定的N个训练样本数据(xi,yi),其中样本的特征向量为xi,yi是其对应样本的标签。
  (2)首先对训练样本设置一个初始的权重。每个样本的初始权重必须相同,即wi=1/N,i=1,2…N。
  (3)然后将各个单个的弱分类器器对加权样本进行训练。这里假设有M个弱分类器,接下来将对当前的M个弱分类器进行如下的分类训练。
  1)首先,对使用当前第m(m=1,2,3,…,M)个弱分类器对初始化权值的样本数据进行训练。假设弱分类器fm(x)∈{-1,1}。
  2)然后对相应分类器分类后得到的错误率和比例因子进行计算。错误率errm和比例因子cm的计算公式如(公式4)和(公式5)所示。其中错误率代表的是对正样本检测的错误率,比例因子代表的是当前弱分类器在最后的分类器中的重要程度。
  errm=P[(fm(xi)≠yi]                              (公式4)
  cm=log()                            (公式5)
  3)重新更新训练样本的样本权值,并根据(公式6)重新设定样本权值,然后根据(公式7)对权值做归一化操作。
  wi′=wiexpcm                                   (公式6)
  ∑iwi′=1                                      (公式7)
  4)最后,利用现有训练好的弱分类器进行线性组合得到相应的强分类器。得到的强分类器即是最终的分类器。强分类器的线性组合公式如(公式8)所示,得到的强分类器的表达式如(公式9)所示。
  g(x)=cmfm(x)                              (公式8)
  f(x)=sign(g(x))=sign(cmfm(x))               (公式9)
  在使用Adaboost分类算法的过程中需要注意一下几点[9-10]:①在步骤3)中,如果某个样本已经分类准确,那么在构造下一个训练集的过程中,我们需要将该样本被选中的概率降低;反之,如果某一样本分类效果较差,那么我们需要相应的提高该样本的权重,以此通过训练来提高该样本的识别率。②通过计算可得,比例因子的值会随着错误率的减小而不断增大,这就表示此弱分类器在最终的分类器中会起到较大的作用。③每一次分类后重新对样本权值进行更新使得分类误差大的弱分类器的样本权值变大,而分类效果较好的弱分类器的样本权值减小。通过这种方式,可以使得Adaboost分类器把分类重点着重关注在那些不易区分的样本上面。
  在本文中,我们是以CART决策树作为弱分类器来使用的,最后通過Adaboost算法将各个弱分类器进行线性组合即可得到最终的强分类器。如图5所示为单一的CART弱分类器训练后得到的预测结果与测试集对比的效果图。
  如图6所示为以CART弱分类器为基础构造的Adaboost强分类器的预测结果效果图。可明显看出最终构造出的Adaboost强分类器的分类效果明显优于单一的CART弱分类器的分类效果。
  如图7所示为Adaboost分类器对应的AUC曲线。
  4 迁移学习与结论
  以上实验过程以(LIDC/IDRI)数据库为基础并通过Adaboost算法训练得到现有的Adaboost分类器,为检测分类器的分类效果,下面将以临床肺部影像对现有的分类器进行测试。如图8所示是对临床肺部影像提取的LBP特征图谱,通过特征提取可清晰的对肺部轮廓和特征进行提取。
  在提取出LBP特征图谱以后,将特征值数据输入到Adaboost分类器中进行分类,如图9所示为Adaboost分类器对临床肺部影像的预测结果。
  通过以上实验我们可以得出如下结论:通过LBP特征提取方法,我们可以对肺部结节的轮廓和纹理特征进行准确的提取,然后通过深度学习的方法可以肺癌检测工作提供可靠的参考性,可减少医生阅片的工作量。通过实验可看出,本文所提出的以CART决策树为弱分类器构造出Adaboost强分类器的肺癌检测方法对肺部良/恶性肿瘤检测分类是有效可行的,同时也为肺部良/恶性肿瘤检测分类提供了一种新的思路。
  参考文献
  [1] 2012年中国肿瘤登记年报[M].上海医药,2013.
  [2] 赵强.X线计算机断层成像设备[J/OL].医学影像设备,2011年3月4日.
  [3] 张永强,夏顺仁,陈兴灿,等.基于CT图像的肺结节分割算法研究[J].医疗卫生装备,2012,33(11):19-22.
  [4] 田苗,林岚,张柏雯,等.深度学习在神经影像中的应用研究[J].中国医疗设备,2016,31(12):4-9.
  [5] 张柏雯,林岚,吴水才,等.深度学习在轻度认知障碍转化与分类中的应用分析[J].医疗卫生装备,2017,38(9):105-111.
  [6] 姜婷,袭肖明,岳厚光.基于分布先验的半监督FCM的肺结节分类[J].智能系统学报,2017,12(5):729-734.
  [7] 郭薇.基于多维图像信息的肺结节良恶性鉴别方法[J].沈阳航空航天大学学报,2016,33(3):67-72.
  [8] REVEL,MARIE P.Subsolid lung nodule classification:a CT criteri·on for improving interobserver agreement[J].Radiology,2017,286(1):316-325.
  [9] SUI X,MEINEL F G,SONG W,et al. Detection and size measure·ments of pulmonary nodules in ultra-low-dose CT with iterative recon·struction compared to low dose CT[J].European Journal of Radiolo·gy,2016,85(3):564-570.
  [10] LIAW,ANDY,MATTHEW W. Classification and regression by Ran-dom Forest[J].R News,2002,2(3):18-22.
转载注明来源:https://www.xzbu.com/8/view-15176099.htm