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

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

为什么CT自动判读饶有趣味又充满挑战?

对于放射科医生来说,为每张CT扫描图像都撰写这么详细的报告是非常耗时的。如果患者接受了多次不同期的CT扫描(例如,首次扫描后的三个月又接受了后续的扫描),这就更加耗时了,因为在这种情况下,放射科医生还要同时比较两次扫描,以了解患者的健康状况产生了什么变化。人们对开发机器学习方法自动判读CT图像非常感兴趣,因为这可以加速放射工作流程并降低放射科医生的实时诊断错误率(目前为3-5%)。

CT扫描图像的自动判读具有挑战性,原因如下:

挑战1:患者的解剖结构根据性别、年龄、体重和正常的解剖变异而自然变化。因此,“变异”并不一定意味着“异常”。

挑战2:胸部CT图像可以显示数百种可能的异常。下图仅显示了几个例子,包括嗜酸性肺炎、空洞性病变、囊肿、肺气肿、气胸和肺纤维化:

![病例]](http://images.deephub.ai/upload/5c699d90697f11ea90cd05de3860c663.png)

挑战3:一张CT图像上常会出现多种不同的异常。平均一张CT图像包含了10±6种不同的异常。下面是几个一张CT扫描切片上存在一个以上异常的例子:

image.png

挑战4:此外,在一次扫描中经常出现多个同一类型的异常。下面,我们可以分别看到一张含有多处肺气肿的图像,一张含有多个肺部结节的图像,以及一张含有多个肿块的图像:

image.png

挑战5:不同种类的异常可能看起来彼此非常相似。在这些情况下,放射科医生必须依靠他们多年的经验和患者的病史来确定异常的性质。下面的图像分别显示肿瘤(“TUM”)和肺不张(“ATL”),两者在这次扫描中看起来十分相似:

image.png

挑战6:同种病变可能在外观上却有所不同。例如,同种类型的病变会因严重程度不同而在外观上出现差异,例如下面的肺炎扫描,左边的扫描显示整个肺部因肺炎而白化,而右边的扫描显示只有一小部分肺部因肺炎而白化:

image.png

同样的异常也可能因其形状和纹理而看起来不同。下图显示了各种外观的肺结节,这些结节根据其形状(如分叶状、尖状、圆形)和纹理(如磨玻璃状、固体状)而不同:

image.png

下图总结了CT图像自动判读面对的挑战:

image.png

如何利用机器学习实现CT自动判读

为了了解如何使用机器学习进行CT自动判读,首先要考虑用什么类型的数据来训练模型。

医疗信息系统将CT图像与相应的CT报告成对保存:

image.png

有些病人只有一张CT图像和报告,如上图中的病人000000。其他病人将有多个CT图像和报告。这些多个CT图像可能是在不同的时间和/或身体的不同部位进行的(尽管本文重点着眼于胸部CT,但也有可能是头部、腹部、骨盆和其他部位的CT)。

我们还需要考虑哪些数据是无法在医疗信息系统中获得的:

image.png

如上图所示,一般来说,我们无法获得:

  • 用于分割的遮罩:这些是像素级的标签(即感兴趣的异常病变的轮廓),用于训练图像分割模型。关于医学图像的分割模型请参阅本文。
  • 边界框:这些是在图像中的异常病变周围绘制的边界框,通常用于训练目标检测模型。严格来说,放射科医生有时确实会直接在图像上画线或做其他注释,通过一些额外工作,这些注释可以变成可用于训练机器学习模型(例如DeepLesion)的边界框注释。然而,放射科医生肯定不会在一张CT图像上注释每一种异常,而且很可能放射科医生只注释一种异常类型的一个典型实例(例如,多个结节中的一个结节)。因此,想要获得所有病变的所有边界框是肯定不现实的。
  • 图像标签:这些标签用于标记整幅图像的属性,用于训练基于整张CT图像的分类器。有人可能认为医院会在CT图像上存储标签,例如显示是否存在肿块(肿块=0 vs. 肿块=1)。然而,医院并不储存这些信息,唯一可用的信息则是文本报告。在以后的文章中,我将描述如何从文本报告中获取结构化的图像标签。
目录
相关文章
|
10天前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
47 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
19天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
19天前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
19天前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
19天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
19天前
|
XML JSON 网络协议
【网络原理】——拥塞控制,延时/捎带应答,面向字节流,异常情况
拥塞控制,延时应答,捎带应答,面向字节流(粘包问题),异常情况(心跳包)
|
21天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
85 1
|
2月前
|
机器学习/深度学习 自然语言处理 数据可视化
【由浅到深】从神经网络原理、Transformer模型演进、到代码工程实现
阅读这个文章可能的收获:理解AI、看懂模型和代码、能够自己搭建模型用于实际任务。
151 11
|
19天前
|
网络协议 算法 Java
【JavaEE】——初始网络原理
局域网,广域网,局域网连接方式,交换机,集线器,路由器,网络通信,五元组(源IP,源端口,目的IP,目的端口,协议),协议分层,TCP/IP五层网络协议,封装和分用,交换机和路由器的封装和分用
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
362 7