TarGAN:多模态医学图像转换GAN

TarGAN

    • 核心思想
      • 网络结构

 


核心思想

论文:https://arxiv.org/abs/2105.08993

代码:https://github.com/2165998/TarGAN

  1. 解决的问题:传统多模态医学图像转换通常,在生成高质量图像方面存在问题,特别是在关键目标区域或兴趣区域(ROI)如特定器官等。这些图像可能模糊、变形或包含不现实的纹理。

  2. TarGAN的特色

    • 无需配对数据的多模态图像转换学习:TarGAN 能够学习多模态医学图像的转换,而不依赖于成对的数据,毕竟获取成对的多模态医学图像(如CT和MRI图像)成本高且困难
    • 借助目标区域标签提高目标区域生成质量:TarGAN 通过特定的目标区域标签,来增强图像中关键部位的生成质量,同时保持整体图像质量。

这是通过将全局和局部映射整合到,一个跨损失(crossing loss)中实现的。

  1. 创新点
    • 双层次映射学习:TarGAN 的生成器同时学习两种映射 —— 整体图像转换映射、目标区域转换映射。
    • 交叉损失:这两种映射通过交叉损失相互关联,以优化目标区域的转换效果。

关键方法 - 跨损失(Crossing Loss):这是一个新颖的概念,它允许模型在转换整个图像时同时专注于目标区域。

这样做可以显著提高目标区域的图像质量,而不会牺牲整体图像的质量。

网络结构

双输入-输出流的生成器,结合多种损失函数

  • 双输入-输出流:允许同时处理整体图像和目标区域的转换。
  • 使用循环一致性损失(cycle-consistency loss)、形状一致性损失(shape-consistency loss)和跨损失(crossing loss)来优化生成的图像质量,优化生成图像的质量。

对应上图:

  1. 生成器结构(图a):生成器G的结构,它包括两个编码器(Encoder_s, Encoder_t)和两个解码器(Decoder_x, Decoder_r),以及一个共享模块(Shared Block)。

    生成器接收源模态图像xs和对应的目标区域图像rs,这两个输入通过深度级联(Depth-wise concatenation)与目标模态标签t结合。

    共享块使得生成器能够在转换整体图像的同时也专注于目标区域。

  2. TarGAN框架(图b):这部分展示了整个 TarGAN 框架,包括四个主要模块:生成器G,形状控制器S,以及两个判别器 Dx 和 Dr。

    生成器 G 负责将源图像 xs 和目标区域图像 rs 转换为目标模态图像 xt 和 rt。

    形状控制器 S 生成一个二进制掩码以表示合成图像的前景区域。

    判别器 Dx 和 Dr 分别判断整个图像和目标区域图像是否真实,以及它们来自哪种模态。

整个框架使用多种损失函数来训练和优化:

  • 对抗损失( L a d v − x 和 L a d v − r L_{adv-x} 和 L_{adv-r} LadvxLadvr
  • 形状一致性损失( L s h a p e − x 和 L s h a p e − r L_{shape-x} 和 L_{shape-r} LshapexLshaper
  • 重建损失( L r e c − x 和 L r e c − r L_{rec-x} 和 L_{rec-r} LrecxLrecr
  • 模态分类损失(实际图像的 L c l s − x r 和 L c l s − r r L_{cls-x}^{r} 和 L_{cls-r}^{r} LclsxrLclsrr,合成图像的 L c l s − x f 和 L c l s − r f L_{cls-x}^{f} 和 L_{cls-r}^{f} LclsxfLclsrf
  • 交叉损失( L c r o s s L_{cross} Lcross

这些损失函数共同工作,帮助模型在转换图像时保持目标区域的特征,同时也保证整体图像的质量。

每一行代表一种模态到其他模态的转换:

  • 第一行显示的是CT 到 T1w和T2w的转换
  • 第二行显示的是T1w 到 T2w和CT的转换

StarGAN 和 CSGAN 、ReMIC 方法在某些转换中引入了额外的纹理(红框标记)和结构变形(蓝框标记)。

StarGAN:

  • 不适用于CT到T1w的图像转换,因为它在MRI到CT转换中产生许多伪影。
  • 原因 - StarGAN在处理不同模态间的复杂转换时存在局限性。

CSGAN:

  • 在目标区域有时会添加多余的纹理,但保留目标形状。
  • 原因 - CSGAN在保留形状的同时,可能会在纹理细节上过度处理。

ReMIC:

  • 能够生成相对真实的合成图像,但在大多数情况下会改变目标区域的结构。
  • 原因 - ReMIC在追求图像真实性时,可能会牺牲目标区域的结构完整性。

TarGAN:

  • 生成高视觉质量的翻译结果,并妥善保留目标结构。其提出的交叉损失有助于联合学习目标区域和整个图像的映射,从而提高目标区域的质量。

  • 原因 - TarGAN通过交叉损失在不同模态之间学习,同时专注于改善目标区域,从而在综合性能上优于其他方法

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

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

相关文章

NC65中间件能启动,前端客户端启动失败,加载异常,卡住(org.owasp.esapi)

控制台输出错误 ESAPI.properties could not be loaded by any means. Fail.SecurityConfiguration class(org.owasp.esapi.reference.DefaultSecurityConfiguration) CTOR threw exception.效果图: 解决方案 添加如下参数: -Dorg.owasp.esapi.resou…

信创UOS

信创UOS 国产操作系统 文章目录 信创UOS前言一、信创UOS是什么二、信创UOS的特点与局限性1. 信创UOS的特点2. 信创UOS的局限性三、信创UOS常见故障总结前言 信创UOS(Union Operating System)是由中国软件与技术服务股份有限公司(CS&S)开发的一款操作系统。它是中国政府…

用k8s私有化部署docsify做开放API平台

文章目录 1、API开放平台2、实现思路3、用docsify实现4、一些坑坑1:nginx转发实现跳转坑2:点击跳转不能精准跳坑3:md文档页内跳转与跨文档跳转坑4:插件做目录的折叠收起坑5:统一目录 做完了一个API开放平台的需求&…

Higress 开源一周年:新版本,新标准,新工具,新征程

作者:Higress 团队 历程回顾 Higress 开源一年时间,一共发布了 18 个 release 版本,收获了 40 多位社区贡献者和 1800 star,上图是这一年过来达成的一些关键的里程碑。 前面半年通过集成开源生态,打磨开源版本稳定性…

文件操作---C++

文件操作目录 1.文本文件1.1写文件1.2读文件1.2.1第一种方式:流输入方式1.2.2第二种方式:getline成员函数1.2.3第三种方式:getline全局函数1.2.4第四种方式:按一个一个字符读取 2.二进制文件2.1写文件2.2读文件 程序运行时产生的数…

LabVIEW电缆检修系统

在电力系统中,合理选择电缆检修策略是保障电网稳定运行的关键。现有的电缆检修策略往往忽视了电缆的技术和经济双重指标,导致检修效率低下和维护成本高昂。为此,开发了一种基于风险评估模型和全寿命周期成本(LCC)的电缆…

【论文笔记】Learning Deconvolution Network for Semantic Segmentation

重要说明:严格来说,论文所指的反卷积并不是真正的 deconvolution network 。 关于 deconvolution network 的详细介绍,请参考另一篇博客:什么是Deconvolutional Network? 一、参考资料 Learning Deconvolution Netwo…

在IDEA中创建SpringBoot项目

概述 SpringBoot是由Pivotal团队提供的全新的框架,其设计的目的是用来简化Spring应用的初始搭建以及开发过程。 传统方式构建Spring应用程序 导入依赖繁琐 依赖冲突 项目配置繁琐 SpringBoot特性 1、起步依赖 本质上就行一个Maven坐标,整合了完成一…

【C++进阶】STL容器--list使用迭代器问题分析

目录 前言 1. list的基本使用 1.1 list构造函数 1.2 list迭代器 1.3 list capacity 1.4 list元素访问 1.5 list 修改操作 insert erase swap resize clear 2. list失效迭代器问题 3. list使用算法库函数问题 总结 前言 list(链表)在C中非常重要…

【创建vue项目的两种方式】

Vue环境搭建 NodeJs安装包安装淘宝镜像 环境搭建webpack安装全局安装vue/cli查看模板创建项目1.webpack2. vue-cli NodeJs安装包 下载链接:官网链接 下载下来后,直接傻瓜式的安装即可。 通过在cmd控制台输入以下命令查看是否安装成功 node -v因为适配某…

RK3399平台开发系列讲解(PCIE篇)PCIE体系结构有哪些知识

🚀返回专栏总目录 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、PCI/PCIe拓扑结构 PCI Express (PCIe) 拓扑结构是指 PCI Express 总线中各个设备之间的连接和通信方式。PCI Express 是一种高速串行总线标准,用于连接计算机内部的各种硬件设备,如图形卡、网络适配…

vue3---inputRef.value.focus()报错Cannot read properties of null (reading ‘focus‘)

问题描述&#xff1a;点击编辑按钮&#xff0c;出现el-input框&#xff08;el-input显示隐藏通过v-if控制&#xff09; <el-input ref"inputRef" v-if"isEdit" v-model"modelName" blur"isEdit false" /> <el-button text …

python小项目:口令保管箱

代码&#xff1a; #! python3 # python 编程-----口令保管箱passwords{emails: F7minlBDDuvMJuxESSKHFhTxFtjVB6,blog:VmALvQyKAxiVH5G8v01if1MLZF3sdt,luggage:12345,} import sys,pyperclip if len(sys.argv)<2:print(usage:python python3文件[accout]-copy accout pass…

shell 脚本4

循环语句 echo命令 1.标准输出 2.用来调整脚本里面的格式 echo -e \b 删除b前面的数字 echo -e \t &#xff08;横向制表符 横向tab键&#xff09; echo -e \c 删除c后面的字符&#xff0c;并且不换行 echo -e \n 换行 自动硬盘分区 新建一块磁盘/dev/sdb 可以…

循环测试之旅——深度解析Pytest插件 pytest-repeat

在软件开发中,测试的重要性不言而喻。而为了提高测试的鲁棒性和可靠性,Pytest插件 pytest-repeat 应运而生。这个插件可以帮助你轻松实现测试用例的循环运行,以更全面地评估代码的稳定性。本文将深入介绍 pytest-repeat 插件的基本用法和实际案例,助你更好地利用循环测试,…

chaper data writting

在大气科学领域的期刊论文中&#xff0c;这个章节应该清晰地说明数据的来源、获取方式、处理过程和分析方法&#xff0c;以便其他研究人员能够理解和验证研究结果。 示例结构 数据来源 描述数据的来源&#xff0c;包括观测、实验或模拟数据。说明数据的获取途径和原始数据集的…

Vue自定义成功弹窗H5实现类似于小程序的效果

效果图&#xff1a; <div class"father"><div class"success-box" v-if"isSuccess"><img src"../../assets/insure/success-logo.png" alt""><span>{{ successTitle }}</span></div> &…

安全防御第三次作业

作业&#xff1a;拓扑图及要求如下图 注&#xff1a;server1是ftp服务器&#xff0c;server2是http服务器 lsw1&#xff1a; 其中g0/0/0口为trunk 实现 1&#xff0c;生产区在工作时间内可以访问服务器区&#xff0c;仅可以访问http服务器 验证&#xff1a; 2&#xff0c;办公…

【DDD】学习笔记-领域驱动设计

领域驱动设计&#xff08;Domain Driven Design&#xff0c;DDD&#xff09;是由 Eric Evans 最早提出的综合软件系统分析和设计的面向对象建模方法&#xff0c;如今已经发展成为了一种针对大型复杂系统的领域建模与分析方法。它完全改变了传统软件开发工程师针对数据库进行的建…

跨平台Recorder录音插件:支持多种格式、音频可视化、实时上传、语音识别

视频教程地址&#xff1a;【跨平台Recorder录音插件&#xff1a;支持多种格式、音频可视化、实时上传、语音识别】 https://www.bilibili.com/video/BV1jQ4y1c7e4/?share_sourcecopy_web&vd_sourcee66c0e33402a09ca7ae1f0ed3d5ecf7c /** 先引入Recorder &#xff08; 需先…