一文带你解读:卷积神经网络自动判读胸部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的其他任务包括目标检测、图像分割和图像配准等。
目录
相关文章
|
1天前
|
机器学习/深度学习 计算机视觉 Python
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力本文提出了一种简单且高效的卷积神经网络(ConvNets)注意力模块——SimAM。与现有模块不同,SimAM通过优化能量函数推断特征图的3D注意力权重,无需添加额外参数。SimAM基于空间抑制理论设计,通过简单的解决方案实现高效计算,提升卷积神经网络的表征能力。代码已在Pytorch-SimAM开源。
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
15天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
49 1
|
20天前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
43 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
82 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
机器学习/深度学习 人工智能 算法
深入理解卷积神经网络:从理论到实践
【9月更文挑战第31天】在深度学习的众多模型之中,卷积神经网络(CNN)以其在图像处理领域的出色表现而闻名。本文将通过浅显易懂的语言和直观的比喻,带领读者了解CNN的核心原理和结构,并通过一个简化的代码示例,展示如何实现一个简单的CNN模型。我们将从CNN的基本组成出发,逐步深入到其在现实世界中的应用,最后探讨其未来的可能性。文章旨在为初学者提供一个清晰的CNN入门指南,同时为有经验的开发者提供一些深入思考的视角。
|
14天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
本项目展示了贝叶斯优化在CNN中的应用,包括优化过程、训练与识别效果对比,以及标准CNN的识别结果。使用Matlab2022a开发,提供完整代码及视频教程。贝叶斯优化通过构建代理模型指导超参数优化,显著提升模型性能,适用于复杂数据分类任务。
|
2月前
|
机器学习/深度学习 安全 网络安全
利用机器学习优化网络安全威胁检测
【9月更文挑战第20天】在数字时代,网络安全成为企业和个人面临的重大挑战。传统的安全措施往往无法有效应对日益复杂的网络攻击手段。本文将探讨如何通过机器学习技术来提升威胁检测的效率和准确性,旨在为读者提供一种创新的视角,以理解和实施机器学习在网络安全中的应用,从而更好地保护数据和系统免受侵害。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)入门与实践
【8月更文挑战第62天】本文以浅显易懂的方式介绍了深度学习领域中的核心技术之一——卷积神经网络(CNN)。文章通过生动的比喻和直观的图示,逐步揭示了CNN的工作原理和应用场景。同时,结合具体的代码示例,引导读者从零开始构建一个简单的CNN模型,实现对图像数据的分类任务。无论你是深度学习的初学者还是希望巩固理解的开发者,这篇文章都将为你打开一扇通往深度学习世界的大门。
|
20天前
|
机器学习/深度学习 人工智能 算法
#如何看待诺贝尔物理学奖颁给了机器学习与神经网络?#
2024年诺贝尔物理学奖首次颁发给机器学习与神经网络领域的研究者,标志着这一技术对物理学及多领域应用的深远影响。机器学习和神经网络不仅在生产、金融、医疗等行业展现出高效实用性,还在物理学研究中发挥了重要作用,如数据分析、模型优化和物理量预测等,促进了物理学与人工智能的深度融合与发展。
17 0