基于深度学习的胸部疾病检测毕业论文
2020-04-09 15:31:09
摘 要
胸部X射线检查是许多肺部疾病筛查和诊断最常用的放射学检查方法之一。许多现代医院的图像存档和通信系统中存储了大量的X射线成像研究和放射学报告。如何将这种包含宝贵成像信息学的医院规模知识数据库用于构建缺少数据的深度学习工程,以构建可用于生活中的大型数据库高精度计算机辅助诊断系统,仍然是一个悬而未决的问题。
本文提出的算法,可以基于胸部X射线数据检测肺部疾病,其精确程度超过了专业的放射科医生。我的算法是一个在ChestX-ray14数据集上基于ResNet50训练的卷积神经网络,包含全局网络、局部网络和联合网络三个网络部分,ChestX-ray14则是目前最大公开可用的胸部X射线数据集,包含超过100,000个14种疾病的正面X射线图像,以及四位专业放射学家对该数据集部分数据进行了注释标签,本文将自己的网络结果与放射科医师的判断进行了比较,在14种疾病上均获得最优结果,而且还能提取出相对正确的疾病区域。
关键词:ChestX-ray14,胸部疾病,深度残差网络,全局网络,局部网络,联合网络
Abstract
Chest X-ray examination is one of the most commonly used radiological methods for screening and diagnosing many lung diseases. Many modern hospitals have a large number of X-ray imaging studies and radiology reports stored in PACS. How to use this kind of hospital-scale knowledge database containing valuable imaging informatics (ie, loosely labeled) to promote the deep learning paradigm that data cravings for, to build a truly large database of high-precision computer-aided diagnosis (CAD) systems, which is still an outstanding question.
I have developed an algorithm that can detect chest diseases based on chest X-rays beyond the radiologist's level. My algorithm is a convolutional neural network based on ResNet50 trained on the ChestX-ray14. It consists of three parts: global network, local network and joint network. The ChestX-ray14 is the largest publicly available chest X-ray dataset. Containing more than 100,000 positive x-ray images of 14 diseases, four licensed academic radiologists annotated a test set, and we compared our network with the performance of radiologists. Get the best results for all 14 diseases and also extract relatively correct disease areas.
Keywords: ChestX-ray14, lung disease, ResNet50, globalNet, localNet, fusionNet
目录
摘要 I
Abstract II
1概述 4
1.1课题背景 4
1.2国内外目前研究现状 4
1.3本文研究目的及意义 5
1.4章节安排 6
2实验数据 7
2.1数据集 7
2.2图像预处理 8
2.3多标签设置 8
2.4变学习权重的损失函数 8
3网络框架 9
3.1网络ChexNet简介 9
3.2深度残差网络简介 10
3.3整体的网络框架 11
3.4关注区域的特征提取 13
3.5网络的训练步骤 13
4实验部分 14
4.1实验参数设定 14
4.2实验评判指标-ROC曲线及AUC值 14
4.2全局网络训练 15
4.3局部网络训练 16
4.4联合网络训练 17
5实验结果分析 18
5.1分类效果比较 18
5.2多标签判别 18
5.3训练方式 20
5.4热图区域交并比 20
5.5阈值的设定 21
6总结 23
参考文献 24
致谢 26
1概述
1.1课题背景
随着深度学习的不断发展,神经网络无论是在理论还是构架方面都已经逐渐成熟。从最开始简单的LeNet5卷积神经网络,发展到现在复杂多变的深度神经网络,深度学习的研究逐步加深,已经充分涉及到许多领域,如淘宝客户的需求分析、电影推荐系统等等。然而,就目前而言,国内外的深度学习发展很少进入医疗领域,一是因为标准的人工数据库匮乏,医院病人的数据因为隐私问题很少公开,而且数据存留的方法也不统一,使用起来困难;另一方面医疗图像较为复杂,常见的神经网络不能有效从中提取数据特征,在技术理论方面还未能满足要求。
仅在美国,每年就有100多万成年人因肺炎住院治疗,每年约有50,000人死于该疾病。在医学领域,胸部X射线检查是许多胸腔内疾病筛查和诊断的常用放射学检查法之一。胸部X光片是目前诊断肺炎的最佳方法,在临床护理和流行病学研究中发挥着至关重要的作用。但是,检测胸部X光片中的肺炎病理特征是一项具有挑战性的任务,它依赖于专业的放射科医师,更何况放射科医师检查胸部X光片中的肺炎病理也是较为困难的。X射线图像中肺炎病理特征的出现往往很模糊,可能与其他诊断疾病相重叠,并且会产生许多其他畸形现象。这些差异在放射科医师诊断肺炎方面造成了相当大的不稳定性。然而,许多现代医院的图像存档和通信领域中储存了大量的X射线成像研究和放射学报告,这些都未曾被使用研究,这些大规模的CT图片对于数据集紧缺的深度学习领域无疑是一种浪费。而且,在医疗行业,如何将这种宝贵的成像数据用于深度学习以构建大型数据库高精度计算机辅助诊断系统,这是一个很难的问题,毕竟胸部X射线的图像大小通常为2000×3000像素,实际病理区域较小,难以检测。
1.2国内外目前研究现状
2017年CVPR的一篇“ChestX-ray8”论文[1]首次对医院留存的胸部CT数据库进行人工处理,并通过医学专家分别对8种疾病作标记,形成该领域首个标准的数据库,为胸部医疗的计算机辅助诊断打开了大门,也为后续的研究提供了铺垫。
与此同时,以ImageNet为主的视觉大赛吸引了无数学者的关注,依次推出了较为轰动的深度残差网络[3](ResNet)和稠密连接卷积网络[7](DenseNet),两种网络都解决梯度消失的问题,使得网络层数能达到很深,对于复杂图像的特征提取也得到解决。在强大的数据背景和网络框架基础下,部分学者率先利用普通深度残差网络(ResNet)对胸部数据集进行特征提取,分类效果达到了0.65左右,效果还不是很明显,也未能实现有效的区域分割。
紧接着,有人提出了几项机器检测胸部X射线异常的工作。Wang等人发表的ResNet-Attention网络[1],使用四种标准卷积神经网络(CNN)架构(AlexNet,VGGNet,GoogLeNet和ResNet)用来评估性能,达到了0.783的分类效果。而Yao等人则使用稍微修改的DenseNet架构[12],利用DenseNet和长期短期记忆网络(LSTM)的结合来利用异常之间的依赖关系对数据集进行分类学习,达到了0.803的分类效果。Guan等人提出了具有关注区域的CNN网络,在对数据集做分类之前缩小关注视野来估计疾病产生的区域,效果也不是很好。
目前学术界大部分论文工作都是通过数据的随机分组来构建训练集,验证集和测试集,这对于ChestX-ray14 数据集中是否存在疾病的图像的分布是不适用的。因为不同的X射线图片中存在疾病的概率远比不存在疾病低,即大多数图像都是正常图片,在相同学习权重的基础上对存在疾病的特征学习会大大降低,可能会影响学习到的分类性能。与此同时,所有的网络模型都是单一构架,直接将复杂度较高的胸部CT送入网络中学习关注区域,并未对可能存在疾病的区域单独进行特征学习,可能会导致学习精度较低等问题。
1.3本文研究目的及意义
本文在以上前人的神经网络研究基础上,以50层的深度残差网络为基础模型,来分别构建三种不同功能的网络分支:全局网络、局部网络和联合网络。全局网络为前人基础网络,用来直接对图像分类,并依据网络绘制出的热图来提取出网络在分类问题上所关注的特征区域;局部网络则为增加的处理特征区域网络,使得神经网络能对全局网络所提取特征区域进行单独的学习从而来对病理进行分类;联合网络则在最后对全局网络和局部网络学习到的特征结合起来进行分析学习分类,平均分类效果能达到0.850,比之前的所有模型都有更好的分类效果,同时能切割疾病病征的分布区域。
在网络构建之余,也要对数据集进行合适的划分使得训练能很好地收敛,以70%作为训练集、10%为验证集和20%作为测试集为基准对数据集进行随机划分;对于异常图较少问题,拟采用优化学习权重解决,存在疾病的图片权重高、正常的图片权重偏低从而使得网络更加关注于疾病。同时,局部网络的切割处理部分也需要与原始的疾病区域标注相对比,以检验是否做到正确的病理分类和实现定位功能。
总体来说,本篇文章致力于提出一个三层网络的新模型,在前人的网络基础上提高模型分类准确度,并能正确地标注出可能为疾病的关注区域,使网络能够自适应地生成可能是疾病的病理切割图,用来更加准确地分析疾病的种类。
1.4章节安排
第1章 概述,简要介绍近些年基于胸部CT图片的医学诊断在深度学习领域中的应用发展,采用一种全新规整的胸部数据集ChestX-ray14,并讲述本篇文章研究的目的意义、网络模型设计以及目前国内外研究的比较,突显出本文设计的优势。
第2章 实验数据,对目前较为成熟的胸部CT数据集ChestX-ray14作介绍,并针对网络训练问题对数据图片在送入网络训练之前进行预处理操作,对多分类问题进行多标签设置,并针对数据集特征引入全新的损失函数提高模型收敛程度。
第3章 网络框架,整体模型以ResNet50为基础,整个网络分为三个部分:全局网络、局部网络和联合网络,分别介绍三种网络的功能作用以及如何对网络进行训练。
第4章 实验部分,对三种网络进行训练测试,分别运行得到分类效果并绘出ROC曲线计算AUC值进行对比分析,最终能达到0.850的分类效果;并从网络中切割出病理区域,得到较为正确的结果。
第5章 实验结果分析,将整体模型效果与目前国内外各模型作对比,以验证其应用效果。与此同时,从疾病切割方面分析整体模型在数据集上的表现效果,切割区域的正确率较以往得到提高。通过控制变量法改变网络训练方式、阈值的设定作对比实验研究对模型表现的影响,取最优结果作为最终的模型参数。
第6章 总结,总结整体模型的表现效果并指出需要改进的地方。
2实验数据
2.1数据集
2017年CVPR的一篇“ChestX-ray8”论文[1]首次对医院留存的胸部CT数据库进行人工处理,并通过医学专家分别对8种疾病作标记,形成该领域首个标准的数据库,为胸部医疗的计算机辅助诊断打开了大门,也为后续的研究提供铺垫。CT数据库整理的效果如下图所示,其中红线框内为人工标注的疾病区域:
Atelectasis Cardiomegaly Effusion Infiltrate
Mass Nodule Pneumonia Pneumothorax
图2.1 胸部数据集示例
目前为止,数据集已经达到了14个疾病的分类结果,每张图的大小为1024×1024,少数图片附有由专家标注的病理区域,数据集共有112120张图片,来源于30805个不同的病人,其中51708张图片被标注有疾病,其余则为无病。可以看出无病的数据较多,对有病的特征学习可能较低,相关的学习加速收敛的方法将在2.4节讲解。
14种疾病分别为肺陷落、心脏肥大、胸部积液、弥漫性肺疾病、胸腔肿块、结节、肺炎、气胸、肺实变、肺水肿、肺气肿、肺纤维化、胸膜肥厚、胸腹裂孔疝;由于中文术语较复杂,为与国际命名一致,后文将采用14类疾病的英文术语进行表示,分别为Atelectasis、Cardiomegaly、Effusion、Infiltration、Mass、Nodule、Pneumonia、Pneumothorax、Consolidation、Edema、Emphysema、Fibrosis、Pleural Thickening、Hernia。
2.2图像预处理
首先,需要对这十万张数据进行划分,以70%作为训练集、10%为验证集和20%作为测试集为基准对数据集进行随机划分,作为后续对应处理的输入图像。其中,验证集用来对训练中的超参数进行调参,使得网络得到较好的收敛。
紧接着,为了能使训练达到更好的效果,需要对图像进行数据增强。由于CT图片自身就是维度为一的灰度图,相关的灰度处理可以忽略。这里对于主网络输入采用图像随机打乱、图像随机翻转、图像随机区域切割等方法进行数据增强操作,最终送入网络的图片是224×224大小的三层RGB图片。
2.3多标签设置
由于我们采用最新的14种病理的标签数据,且每种数据等同重要。这里借鉴one-hot的数据标签类型对每一张图制作标签。我们定义:每个图像都有一个14维的标签向量,其中。每一个对应一种疾病,从到分别代表疾病Atelectasis、Cardiomegaly、Effusion、Infiltration、Mass、Nodule、Pneumonia、Pneumothorax、Consolidation、Edema、Emphysema、Fibrosis、Pleural Thickening、Hernia;则表示该图存在这类疾病,则表示不存在,全零向量表示无病。
2.4变学习权重的损失函数
由前人所做的模型发现,由于该数据集中正常图片较多,模型难以学习正面的实例(具有疾病的图像),并且图像标签相当稀疏,这意味着设置的标签中广泛地存在更多'0'而不是'1'。因此,我们引入正负平衡因子,来强化正例的学习。 例如,更改学习权重的损失函数定义如下:
其中,,和分别代表训练过程中批训练集中有病和无病的总数。
3网络框架
在这一节中,我先介绍最近在ChestX-ray14数据集上表现较好的ChexNet网络,借鉴该网络的优势,我将针对胸部CT数据集基于ResNet50网络提出一种具有关注特性的卷积神经网络模型。
3.1网络ChexNet简介
ChexNet网络是由斯坦福大学吴恩达团队提出的一个121层的卷积神经网络,输入胸部X射线图像并输出肺炎的概率以及肺炎可能发生的局部区域热图。网络整体结构简单,ChexNet是在ChestX-ray14数据集上训练的121层密集卷积网络(DenseNet),将胸部X射线图像作为输入,输出病理概率。ChexNet能够较为准确地检测出肺炎,并能在图像中指示出病理的区域。DenseNet通过网络改善信息流和梯度,对非常深的网络进行优化处理。网络最后用一个具有单输出的完全连接层替换,然后应用sigmoid函数做非线性变换。网络的权重通过在ImageNet上预训练模型的权重进行初始化。该网络使用Adam优化器,以标准参数(和)进行端对端训练。模型使用规模为16的最小批量训练模型,使用0.001作为初始学习率,每当验证损失高于之前损失值时,学习率衰减10倍。
肺炎检测任务是二元分类问题,其中输入是胸部X射线图像,输出是标明肺炎存在或不存在的二元标签。 对于训练集中正常和异常类数据差异问题,网络同本文2.4节中的变学习权重方法优化加权二进制交叉熵损失:
其中 是网络判别图片是否为第i种疾病的概率,和 代表着训练集中有病和没有病图片的学习权重,用来加强收敛。实验得到的模型最终能达到0.842的AUC值,已经是目前分类的最好效果。
与此同时,为了解网络预测准确程度,网络还使用类激活映射(CAM)生成热图,以便可视化图像中与疾病最相关的区域[14]。为了生成CAM,将图像送到完全训练的网络中,并提取出最后一层卷积层输出的特征图。假设是第k个特征映射,并且令是第k次特征映射导致疾病c在最终分类层中的权重。模型通过使用相关权重对特征映射进行加权求和得到一个最明显的特征热图,用于将图像分类为疾病c。虽然模型网络最终能得到病理的热图,热值较高的区域即为可能发生疾病的区域,但并没有给出切割区域的准确结果,无法与原始切割效果做对比评判性能。
基于该模型的思想,单独的DenseNet网络能够得到较好的分类效果,并可以通过CAM技术画出网络学习到的热图来对病理区域进行分析。利用与DenseNet具有相似性质不仅模型深,同时复杂度也较低的ResNet网络也会得到类似的结果,其相关模型介绍见下一节。
3.2深度残差网络简介
2015年,在ImageNet视觉大赛上何凯明博士提出的ResNet深度残差网络[3]获得分类任务的第一名。因ResNet网络的原理简单、实用有效,许多模型框架都建立在ResNet50或者ResNet101的基础上拓展延伸,无论是在人脸识别、图像分割还是目标检测等领域都纷纷使用ResNet取得了很好的效果,AlphaZero也使用了ResNet。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。