CTA-GAN:基于生成对抗网络对颈动脉和主动脉的非增强CT影像进行血管增强

写在前面

目前只分析了文章的大体内容和我个人认为的比较重要的细节,代码实现还没仔细看,后续有时间会补充代码细节部分。

文章地址:Generative Adversarial Network-based Noncontrast CT Angiography for Aorta and Carotid Arteries

代码地址:GitHub - yml-bit/CTA-GAN: synthesis CTA using CT base GAN model

PS:代码仓库并未提供详细的环境依赖项说明,但文章在补充材料中说明了环境的主要配置:python3.8 + pytorch1.7.1 + cu110,想要复现的小伙伴可以参考一下。

一、动机

碘对比剂广泛用于CTA成像,但可能会对人体造成不良影响,同时碘对比剂的使用耗时且昂贵。

如果深度神经网络可以根据非增强CT(noncontrast CT,NCCT)生成对应的CTA图像,且生成图像的质量足以用于临床诊断,这将是具有重要意义的。

二、数据和方法

1. 数据:以病人为单位

  • 训练集:1137;
  • 验证集:400;
  • 测试集:212;

1749 例。外部测试集42例。

2. 数据筛选原则

数据筛选对于我们进行相关的研究具有重要的参考价值。本研究存在以下情况的数据不能纳入:

  • CT影像中存在伪影,包括运动伪影或者金属伪影;
  • NCCT和CTA的slice thickness、slice number或者slice location不一致;
  • 由于CTA出现问题导致扫描失败的,包括无对比剂充盈或者对比剂充盈不足,影响临床诊断;
  • 已经进行过手术的动脉,例如动脉瘤手术;

3. 数据类型

生成的CTA影像能用于临床诊断才有意义。文中数据可进一步细分为如下类型:

  • 动脉瘤
  • 动脉粥样硬化
  • 动脉夹层
  • 正常动脉

文中对内部测试集外部测试集各类别的数量进行了说明,并对将生成结果用于临床诊断,绘制了如下所示的混淆矩阵。但并未说明训练集中各类别数据的情况。

4. 模型

文中对模型部分的介绍比较笼统,后续有机会结合代码仔细看一下。文中放置了相对完整的模型结构图,主要分为三部分:

  • 生成器:根据NCCT生成对应的CTA图像
  • 校正器:固定NCCT,将CTA往NCCT配准
  • 判别器:判别真实CTA和生成的CTA(SynCTA)

具体结构如下图所示:

三、结果

1. 定量评估

文中对比了pix2pixReg-GAN 这两种方法,参考的评价指标为NMSE (normalized mean absolute error)、SSIMPSNR,具体结果如下图所示:

2. 视觉质量评估

两名高级放射医师独立评估CTA和SynCTA的图像质量,分为三个分数段:差(1分)、满意(2分)、高(3分)。质量评估的主要方面包括:血管壁清晰度、管腔边缘锐利度以及管腔对比度。

然后对内部测试集和外部测试集的CTA和SynCTA的打分情况进行统计学分析,结果显示两者无明显统计学差异,结果图就不放了。

3. 诊断评估

为了验证SynCTA用于临床诊断的可行性,两名高级放射医师以CTA为金标准,对SynCTA进行临床诊断,并根据诊断结果绘制混淆矩阵,具体诊断结果在2-3数据类型中体现,总体而言诊断准确率还是相当高的。

四、不足

  • 单中心数据,且模型有时会在增强区域出现错误和遗漏;
  • GAN训练过程中仍然可能会出现坍缩或不稳定的情况。
相关推荐
安静读书9 分钟前
Java解析视频FPS(帧率)、分辨率信息
java·python·音视频
古月居GYH17 分钟前
ROS一键安装脚本
人工智能·机器人·ros
z54183830 分钟前
装饰器---python
开发语言·python
蚂蚁没问题s33 分钟前
图像处理 - 色彩空间转换
图像处理·人工智能·算法·机器学习·计算机视觉
forestsea34 分钟前
Spring Boot 与 Java 决策树:构建智能分类系统
java·人工智能·spring boot·深度学习·决策树·机器学习·数据挖掘
Eric.Lee202135 分钟前
图像上显示中文文本 - python 实现
开发语言·python
慕卿扬40 分钟前
基于python的机器学习(三)—— 关联规则与推荐算法
python·学习·机器学习·推荐算法
无脑敲代码,bug漫天飞1 小时前
神经网络的初始化
人工智能·深度学习·神经网络
HP-Patience1 小时前
【机器学习】- 模型复杂度vs模型误差
python·算法·机器学习
努力中的小胖纸1 小时前
python --基础阶段--文件操作(5)
开发语言·python