CTA-GAN:基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影 CT到增强CT的合成技术

Generative Adversarial Network–based Noncontrast CT Angiography for Aorta and Carotid Arteries

  • 基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影
    • 背景
    • 贡献
    • 实验
    • 方法
    • 损失函数
    • Thinking

基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影

https://github.com/ying-fu/CTA-GAN
Radiology 2023

背景

碘造影剂(ICAs)广泛用于CT血管造影术(CTA),可能会对人体产生不良影响,而且使用耗时且成本高昂。研究用平扫CT合成造影剂CT并评价生成的效果很有意义。CTA——Syn-CTA

  • 难点:传统的深度学习模型不能充分解决成对未对准图像的映射翻译问题。此外,先前的医学图像翻译研究集中在单个解剖位置,而临床诊断经常在多个位置进行(14,15)。

贡献

  • 本文:开发一种基于生成对抗性网络(GAN)的CTA成像模型(16-21),以合成独立于ICAs的高质量CTA样图像,并评估使用这些合成CTA(Syn-CTA)图像辅助临床诊断的可行性。使用内部和外部测试数据从定量指标视觉质量和血管疾病诊断准确性方面评估Syn-CTA图像

实验

  • 数据集:收集了17-22年颈部和腹部的成对的CT和CTA图像,1749名患者,1137训练,400验证,212测试,外部验证42名。
  • 数据处理:每个NCCT和CTA扫描被重采样到0.67x0.67x1.25的体积中,由75-490各切片组成,512x512分辨率,CTA造影剂浓度370mg/ml,注射速率4.5ml/s,将-2000-2095的像素值标准化到-1-1,排除手动检查后图像质量较差的扫描。
  • Patient Characteristics(患者特征),在1833名符合条件的患者中,84名图像质量较差的患者被排除在外,1749名患者(中位年龄,60岁[IQR,50-68岁];1057名[60.4%]男性患者和692名[39.6%]女性患者)被纳入分析。1137名患者的CT扫描用于模型训练;来自400名患者的扫描用于模型开发验证;212名患者的扫描用于模型测试(图1)。外部独立验证集包括42名患者(中位年龄67岁[IQR,59–74岁];37名[88.1%]男性患者和5名[11.9%]女性患者)。
  • 评估方法:Quantitative Evaluation(定量评价),正态平均绝对误差(NMAE)、峰值信噪比(PSNR)、结构相似性指数测量(SSIM
  • Visual Quality Evaluation(视觉质量评估),具有10年经验的专家,独立评估了CTA和Syn-CTA图像的图像质量。任何分歧都通过协商一致的方式解决。放射科医生使用主观三点量表(视觉质量评分)(25,26)评估Syn-CTA和真实CTA扫描的图像质量1、质量差;2、质量合格;3、质量好;具体而言,图像质量评估包括血管壁清晰度、管腔边缘清晰度和管腔壁对比度(附录S1,图S1)。
  • Diagnostic Evaluation(诊断评估),对每次扫描的Syn-CTA图像和真实CTA图像进行匿名化,然后将其随机并按序列号呈现给进行独立阅读视觉质量评估的同两名放射科医生。基于每次扫描的血管诊断(动脉瘤、夹层、动脉粥样硬化或健康动脉)由两名放射科医生确定。通过一致阅读解决任何诊断分歧(附录S1)。从真实的CTA图像中读取的血管诊断被视为基本事实。
    在这里插入图片描述
    人工评价:Syn-CTA测试集中的高质量分数(分数=3)的比率均大于90%,高质量分数的总体比率为95%
    在这里插入图片描述
    在这里插入图片描述

方法

在这里插入图片描述
在这里插入图片描述
论文中对方法描述不多,以下是从源代码中简化的训练步骤伪代码

# real_A2是CT,real_B2是Syn_CTA,
# NetG_A2B是生成器,R_A是校准器,spatial_transform是进行采样的一个配准场不是模型,
# netD_B是判别器,target_real = Variable(Tensor(1,1).fill_(1.0), requires_grad=False),
# target_fake = Variable(Tensor(1,1).fill_(0.0), requires_grad=Falseoptimizer_R_A.zero_grad()
optimizer_G.zero_grad()								# 只更新生成器和校准器
fake_B = netG_A2B(real_A2)  						# CT生成的Syn_CTA,fake_B
Trans = R_A(fake_B, real_B2)						# fake_B和real_B校准得到Trans
SysRegist_A2B = spatial_transform(fake_B, Trans)	# fake_B和Trans,配准得到,SysRegist_A2B
pred_fake0 = netD_B(fake_B)							# fake_B输入到判别器得到pred_fake0SM_loss = smoothing_loss(Trans)
SR_loss = L1_loss(SysRegist_A2B, real_B2)			# 配准后的生成图和real_B要长得像
adv_loss = MSE_loss(pred_fake0, target_real)  		# 对抗,fake_B的pred_fake0和1的MSElossloss = SM_loss + SR_loss + adv_loss					# 总损失
loss.backward()										# 梯度回传
optimizer_R_A.step()								# 更新R_A和G
optimizer_G.step()optimizer_D_B.zero_grad()							# 只更新判别器
with torch.no_grad():fake_B = netG_A2B(real_A2)  					# 生成器不更新权重
pred_fake0 = netD_B(fake_B)							# 再算一次pred_fake0
real_BB2 = copy.deepcopy(real_B2)			
pred_real = netD_B(real_BB2)						# 判别real_B得到pred_real
loss_D_B = MSE_loss(pred_fake0, target_fake) 		# 对抗,pred_fake0和0,pred_real和1+ MSE_loss(pred_real, target_real)	
loss_D_B.backward()
optimizer_D_B.step()								# 更新判别器

损失函数

配准后的图像和源图像的L1 loss,对抗loss

Thinking

输入是未配准的成对CT-SynCTA影像,先用CT影像生成SynCTA影像,再对SynCTA影像进行配准,再通过判别器,判别生成的影像和原始SynCTA影像。最终合成配准了的SynCTA影像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/166413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可自行DIY单TYPE-C接口设备实现DRP+OTG功能芯片

随着USB-C接口的普及,欧盟的法律法规强制越来越多的设备开始采用这种接口。由于 USB-C接口的高效性和便携性,使各种设备之间的连接和数据传输变得非常方便快捷,它们不仅提供了强大的功能,还为我们的日常生活和工作带来了极大的便利…

ssm+vue的企业文档管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的企业文档管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

Talk | 牛津大学博士后研究员边佳旺:SC-DepthV3-动态场景中的自监督单目深度估计

本期为TechBeat人工智能社区第550期线上Talk。 北京时间11月23日(周四)20:00,牛津大学博士后研究员—边佳旺的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “SC-DepthV3:动态场景中的自监督单目深度估计”,介绍…

Vocoder,声码器详解——语音信号处理学习(十)

参考文献: [1] Vocoder (由助教許博竣同學講授)哔哩哔哩bilibili [2] Oord A, Dieleman S, Zen H, et al. Wavenet: A generative model for raw audio[J]. arXiv preprint arXiv:1609.03499, 2016. [3] https://deepmind.com/blog/article/wavenet-generative-mode…

window.requestAnimationFrame+localStorage+canvas实现跨窗口小球连线效果

文章目录 前言效果代码后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端系列文章 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家…

FPGA----ZCU106使用petalinux 2019.1的第一个app开发

1、petalinux在zcu106上的构建参见前文 FPGA----ZCU106使用petalinux 2019.1(全网最详)-CSDN博客文章浏览阅读31次。本文完成了Vivado 2019.1版本下的基于ZCU106的全部linux系统移植https://blog.csdn.net/qq_37912811/article/details/1345197352、我们…

Vatee万腾科技的未来探险:Vatee数字创新的独特发现

在科技的浩瀚海洋中,Vatee万腾科技如一艘探险船般,勇敢地驶向未知的数字化领域。这次未来的探险,不仅是一场科技创新的冒险,更是对数字化时代的独特发现和深刻探讨。 Vatee万腾科技视科技创新为一座高峰,而他们的未来探…

基于亚马逊云科技大语言模型等服务打造企业知识库

背景 大语言模型是自然语言处理领域的一项重要技术,能够通过学习大量的文本数据,生成具有语法和意义的自然语言文本。目前大语言模型已经成为了自然语言处理领域的一个热门话题,引起了广泛的关注和研究。 知识库需求在各行各业中普遍存在&a…

《洛谷深入浅出基础篇》P4715淘汰赛——二叉树

上链接:【深基16.例1】淘汰赛 - 洛谷https://www.luogu.com.cn/problem/P4715 上题干: 题目描述 有 2^n(n≤7)个国家参加世界杯决赛圈且进入淘汰赛环节。已经知道各个国家的能力值,且都不相等。能力值高的国家和能力值…

从裸机启动开始运行一个C++程序(十三)

前序文章请看: 从裸机启动开始运行一个C程序(十二) 从裸机启动开始运行一个C程序(十一) 从裸机启动开始运行一个C程序(十) 从裸机启动开始运行一个C程序(九) 从裸机启动开…

uniapp打包的ipa上架到appstore的傻瓜式教程

​ 转载:uniapp打包的ipa上架到appstore的傻瓜式教程 uniapp打包 在HBuilder X编辑器中打开需要打包的项目,然后点击上面菜单栏中 发行 > 原生App-云打包,对以下弹出的弹窗进行内容填写 ​ 填写完成以后,点击打包操作 ​ ​ …

修改mysql的密码(每一步都图文解释哦)

当你想要连接本机数据库时,是不是有可能突然忘记了自己的数据库密码? 在此文中,我们来详细解决一下如何去修改自己的数据库密码,并使用Navicat来连接测试 1.停止mysql服务 打开终端,键入命令,将mysql服务先停止掉,…

设置滚动条样式

滚动条样式&#xff1a; 下面是代码&#xff1a; <!doctype html> <html lang"en"><head><meta charset"UTF-8"><title>CSS3自定义滚动条</title><style>header {font-family: Lobster, cursive;text-align: c…

亚马逊云科技向量数据库助力生成式AI成功落地实践探秘(二)

向量数据库选择哪种近似搜索算法&#xff0c;选择合适的集群规模以及集群设置调优对于知识库的读写性能也十分关键&#xff0c;主要需要考虑以下几个方面&#xff1a; 向量数据库算法选择 在 OpenSearch 里&#xff0c;提供了两种 k-NN 的算法&#xff1a;HNSW (Hierarchical…

技术分享 | 在 IDE 插件开发中接入 JCEF 框架

项目背景 当前的开发环境存在多种不同语言的 IDE&#xff0c;如 JetBrains 全家桶、Eclipse、Android Studio 和 VS Code 等等。由于每个 IDE 各有其特定的语言和平台要求&#xff0c;因此开发 IDE 插件时&#xff0c;需要投入大量资源才能尽可能覆盖大部分工具。同时&#xf…

数据结构算法-贪心算法

引言 贪心&#xff1a;人只要有 “需求“ &#xff0c;都会有有点“贪“&#xff0c; 这种“贪“是一种选择&#xff0c;或者“”取舍“ RTS&#xff08;即时战略&#xff09;游戏&#xff1a; 帝国时代里 首先确保拥有足够的人口 足够的粮食&#xff0c;足够的战略资源 足够的…

干货科普 | 不同类型的机器人及其在工作中的应用

原创 | 文 BFT机器人 制造商在其操作中使用各种类型的机器人&#xff0c;每种机器人都具有特定的能力和功能。我们将讨论制造业中使用的一些最常见类型的机器人&#xff0c;以及哪种机器人可能最适合您的应用。 01 关节机器人 关节式机器人是一种工业机器人&#xff0c;具有一…

关于easy-es的聚合问题

es实体类&#xff1a; public class ChemicalES {IndexId(type IdType.CUSTOMIZE)private Long id;HighLightIndexField(fieldType FieldType.TEXT, analyzer "ik_max_word")private String name;IndexField(fieldType FieldType.KEYWORD)private List<Stri…

“土味出海”,屡试不爽!短剧出海引来新一轮爆发?

土味和“钱途”并存的短剧不仅在国内迅猛爆发&#xff0c;今年下半年以来海外市场多部爆火短剧出现&#xff0c;“短剧出海”的话题热度不断攀升&#xff0c;丝毫不差2021年网文出海的盛况。 “霸总的爱&#xff0c;日入千万刀”&#xff0c;是真实存在的&#xff01; 据统计…

tp8 使用rabbitMQ(1)简单队列

php8.0 使用 rabbitmq 要使用 3.6版本以上的&#xff0c; 并且还要开启 php.ini中的 socket 扩展 php think make:command SimpleMQProduce //创建一个生产者命令行 php think make:command SimpleMQConsumer //创建一个消费者命令行 代码中的消息持久化的说明 RabbitMQ 消息持…