一文带你解读:卷积神经网络自动判读胸部CT图像的机器学习原理(三)

简介: 一文带你解读:卷积神经网络自动判读胸部CT图像的机器学习原理(三)

可能方案:从CT生成文本

考虑到我们只有成对的图像与检查报告,一种直观的方法是尝试直接从图像生成文本。在这一方案中,我们首先将CT图像处理为低维表示(例如使用卷积神经网络),然后从该低维表示生成文本(例如使用LSTM):

image.png

截至目前为止,我还没有看到任何关于从CT影像直接生成诊断报告的研究。然而,我倒是发现了几项关于从胸部X光片自动生成报告的研究,相比之下这一课题看起来更加可行,因为胸部X光片的大小相对CT影像要小得多(小1000倍左右),而诊断报告的长度要短得多(短6倍)。然而,即使在这项更直接简单的任务中,模型也难以生成准确的报告。我怀疑一部分原因在于模型生成的句子中,有很多是描述病人的某些健康生理指标的句子。生成大量这种语句的模型可能获得一个不错的模型分数,然而这个模型却很有可能在描述病人的病理与异常的时候糟糕得一塌糊涂——而这恰好是医生最关心的部分!

尽管从CT图像生成文本可能是一项有趣的学术研究,但是这个课题有很多实际缺陷,包括:

  • 文本生成模型必须达到非常可观的正确率才可能在商业上使用。如果每10个自动生成的报告中就有一个出错,没有人敢使用这个系统,因为医疗错误的潜在成本太高,而且检查每个报告的正确性所需的时间比从头开始生成报告还要多。
  • 文本生成模型本身并不能直接体现模型对每一类病变的检测效果,然而这是放射科医生需要看到的,这样他们才能信任这个系统。有些病变比其他病变更难检测,而放射科医生想知道模型在检测不同种类的病变时分别有怎样的表现。

一个更实际的方法是建立一个机器学习系统,它可以以结构化的方式预测病变类型与位置。然后,我们可以评估模型对每一类病变的检测效果,同时,我们还可以在原始影像上高亮标记出现病变的位置。这种系统可用于自动分类(例如,“将显示气胸的所有CT影像移动到放射科医生队列的顶部”),并且结合放射科医生人工看片,以提高诊断准确性。此外,一个良好的病变类型/位置的预测模型也可以用来生成文本(如果这是人们期望的目标之一)。因为给定影像中出现的病变类型与病变位置的列表,按照特定规则生成基本的文本报告是很简单的,因为放射学语言是高度结构化的。

单一病变CT分类

由于前一节所列的原因,基于CT影像的病变分类引起了人们的极大兴趣。在单一病变CT分类中,一个模型(通常是卷积神经网络)处理一幅CT图像,并根据所关注的某种特定病变是否存在产生0或1(即二分类):

image.png

这些工作都着眼于于一次预测一种异常或一类异常,它们依赖手工制作的小型数据集,这些数据集已经由人类专家在切块或切片级别上精心标记。

这是一张我整理的表格,总结了一些先前的工作,这些工作集中于从胸部CT影像预测间质性肺病。此处显示的模型通常对每张切片指定一个类别标签,显示影像中的患者是否罹患间质性肺病:

image.png

下面是我整理的另一张表,总结了先前基于CT影像预测其他病变(包括肺癌、颅内出血和气胸)的其他工作:

image.png

训练基于切块或切片的模型的一个优点是训练好的模型可以轻易地在切块或切片水平上预测病变。而缺点在于,训练模型自然也需要切块或切片的模型标注,这在现实的医疗卫生系统中是获取不到的,这将会导致:

  • 数据集中含有的影像数量严重受限(除了Ardila与Kuo等人的研究外,其他上文所述研究使用的数据集包含的CT影像数量均不足1200张);
  • 可以同时研究的病灶数量受限(所有研究均考虑<8处病灶)。

多病变CT分类

尽管单一病变分类模型可以获得很高的性能,但是这一研究方向受限于其固有的局限性。要进行全面的CT判读,需要数百个独立的二分类器。CT自动判读的另一个研究路线是多标签分类,可以实现在一张CT图像上同时预测多种病变类型。有关多类别分类与多标签分类的综述,请参阅这篇文章。

多标签病变分类如下图所示:

image.png

直到我最近的工作之前,多标签胸部CT分类的问题还没有被深入探讨。然而,多标签胸部X光片分类已经被深入研究,这得益于多个公开的大型胸部X光片公共数据集:

image.png

受之前胸部X光片多标签分类的启发,我最近研究了胸部CT的多标签分类。我在多标签胸部CT分类方面的工作分为三个部分:

  • 生成19993例患者的36316张胸部CT影像的数据集。据我所知,这是世界上最大的多注释三维医学成像数据集。
  • 提出一种基于规则的方法,用于从平均F值为0.976的自由文本放射报告中自动提取结构化的异常标签。这些结构化异常标签是训练分类器所必需的。
  • 多器官、多疾病卷积神经网络分类器的训练和评估,该分类器可分析整张CT图像,同时预测83类病变。该模型对其中的18种病变实现了高于0.90的平均AUC,而83类病变的平均AUC为0.773。

在以后的文章中,我将更详细地分别探讨我的工作的三个方面:如何准备一个包含成对的CT图像和诊断报告的大型CT数据集;如何从报告中提取结构化标签;如何构建一个完整的CT分类器。

基于CT数据的其他任务

基于CT影像数据的其他任务包括:

  • 目标检测,即训练模型来预测感兴趣的病变点的边界框的坐标。在这一任务中,我们需要感兴趣的病变点的边界框,用于训练与评估模型。在CT影像的目标检测这一方面,这项任务的一个例子可以在DeepLesion论文中找到。
  • 图像分割,训练模型来生成像素级的分割遮罩(也即病变的轮廓)。
  • 图像配准,训练模型来对齐两张不同的扫描图像,使解剖结构处于大致相同的位置。

小结

  • 胸部CT是由大约512 x 512 x 1000灰度像素组成的三维医学图像,通过X射线源和围绕患者身体旋转的探测器获得。
  • 放射科医生从CT影像中确定病变的种类与数量,这一过程称为CT的判读;放射科医生通常会写一份诊断报告记录他们的发现。
  • 医院存储成对的CT图像与诊断报告,但是不存储目标边界框、像素级别的掩模以及图像标签。
  • 先前有关CT图像自动判读的工作集中于一次识别一种病变,例如间质性肺病或颅内出血。
  • 最近,我建立了一个含有36316张胸部CT图像的数据集,并建立了一个多标签分类模型,从单张图像上预测83类病变的数量与位置。
  • 基于CT的其他任务包括目标检测、图像分割和图像配准等。
目录
相关文章
|
3天前
|
网络协议 程序员 网络性能优化
【网络原理】TCP 协议中比较重要的一些特性(三)
【网络原理】TCP 协议中比较重要的一些特性(三)
10 0
|
3天前
|
缓存 网络协议
【网络原理】TCP 协议中比较重要的一些特性(二)
【网络原理】TCP 协议中比较重要的一些特性(二)
10 0
|
3天前
|
网络协议
【网络原理】TCP 协议中比较重要的一些特性(一)
【网络原理】TCP 协议中比较重要的一些特性(一)
8 0
|
3天前
|
负载均衡 网络协议 安全
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
10 0
|
4天前
|
缓存 安全 算法
网络原理 HTTP _ HTTPS
网络原理 HTTP _ HTTPS
10 0
|
4天前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】各大模型原理简介
【机器学习】各大模型原理简介
|
10天前
|
机器学习/深度学习 自然语言处理 算法
机器学习算法原理与应用:深入探索与实战
【5月更文挑战第2天】本文深入探讨机器学习算法原理,包括监督学习(如线性回归、SVM、神经网络)、非监督学习(聚类、PCA)和强化学习。通过案例展示了机器学习在图像识别(CNN)、自然语言处理(RNN/LSTM)和推荐系统(协同过滤)的应用。随着技术发展,机器学习正广泛影响各领域,但也带来隐私和算法偏见问题,需关注解决。
|
12天前
|
机器学习/深度学习 PyTorch TensorFlow
【Python机器学习专栏】卷积神经网络(CNN)的原理与应用
【4月更文挑战第30天】本文介绍了卷积神经网络(CNN)的基本原理和结构组成,包括卷积层、激活函数、池化层和全连接层。CNN在图像识别等领域表现出色,其层次结构能逐步提取特征。在Python中,可利用TensorFlow或PyTorch构建CNN模型,示例代码展示了使用TensorFlow Keras API创建简单CNN的过程。CNN作为强大深度学习模型,未来仍有广阔发展空间。
|
12天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】层次聚类算法的原理与应用
【4月更文挑战第30天】层次聚类是数据挖掘中的聚类技术,无需预设簇数量,能生成数据的层次结构。分为凝聚(自下而上)和分裂(自上而下)两类,常用凝聚层次聚类有最短/最长距离、群集平均和Ward方法。优点是自动确定簇数、提供层次结构,适合小到中型数据集;缺点是计算成本高、过程不可逆且对异常值敏感。在Python中可使用`scipy.cluster.hierarchy`进行实现。尽管有局限,层次聚类仍是各领域强大的分析工具。
|
12天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。