跨模态图像翻译:使用具有感知监督的多生成网络合成MR脑图像的CT图像

Cross-modality image translation: CT image synthesis of MR brain images using multi generative network with perceptual supervision

  • 跨模态图像翻译:使用具有感知监督的多生成网络合成MR脑图像的CT图像
    • 背景
    • 贡献
    • 实验
    • 方法
    • 损失函数
    • Thinking

跨模态图像翻译:使用具有感知监督的多生成网络合成MR脑图像的CT图像

Computer Methods and Programs in Biomedicine 237 (2023) 107571

背景

  • 背景:计算机断层扫描(CT)和磁共振成像(MRI)是临床上的主流成像技术。CT成像可以揭示高质量的解剖和病理生理结构,尤其是骨组织,用于临床诊断。MRI在软组织中提供高分辨率,并且对病变敏感。CT结合MRI诊断已成为常规的影像引导放射治疗方案。但是由于额外的CT检查会增加电离辐射,给患者带来风险。如果能够将磁共振图像转换为CT图像,则可以避免不必要的辐射,并且可以提高诊断价值。
  • 方法:在本文中,为了减少CT检查中的辐射暴露剂量,改善传统虚拟成像技术的局限性,我们提出了一种具有结构感知监督的生成MRI到CT的转换方法。即使结构重建在MRI-CT数据集配准中在结构上不对齐,我们提出的方法也可以更好地将合成CT(sCT)图像的结构信息与输入MRI图像对齐同时在MRI到CT的跨模态转换中模拟CT的模态
  • 结果:我们总共检索了3416张大脑MRI-CT配对图像作为训练/测试数据集,包括10名患者的1366张训练图像和15名患者的2050张测试图像。通过HU差异图、HU分布和各种相似性指标,包括平均绝对误差(MAE)、结构相似性指数(SSIM)、峰值信噪比(PSNR)和归一化互相关(NCC),对几种方法(基线方法和所提出的方法)进行了评估。在我们的定量实验结果中,所提出的方法在整个CT测试数据集中实现了最低的MAE平均值0.147,最高的PSNR平均值19.27和NCC平均值0.431。
  • 结论:总之,合成CT的定性和定量结果都验证了所提出的方法比基线方法能够保持更高的目标CT骨组织结构信息的相似性。此外,所提出的方法为模拟CT模态的分布提供了更好的HU强度重建。实验估计表明,该方法值得进一步研究。

贡献

我们提出了一个跨模态生成网络。为了平衡成对MRI和CT图像的结构对齐,我们在先前工作的基础上使用了结构感知损失重建方法[21]。Johnson等人的论文[22]通过计算特征提取器输出的感知损失,增强了对目标风格的监督。在CT重建任务中,我们采用了多层ImageNet预训练的ResNet-50的感知损失。我们的工作验证了所提出的方法可以在模态转换中保持MRI图像和CT图像之间的结构一致性。
CT-MRI变换中的结构对准结构对准是跨模态图像生成的关键因素,先前的研究表明,成对的CT-MRI图像中的逐像素结构错位会导致重建失败。为了应对CT-MRI配准中结构不相似的挑战,我们提出了一种新的训练方法,该方法能够从结构不一致的CT-MRI数据集进行重建,同时保留输入域的原始组织和结构信息。我们的方法为解决临床实践中CT-MRI配准结果中的像素错位提供了一种潜在的解决方案。
受CycleGAN和风格转移方法的启发,我们的工作提出了一个统一的三种损失(感知、CycleGAN和风格损失)目标函数,以解决跨域转换中内容重构的收敛问题。与普通的循环一致性损失相比,联合目标函数对内容重建的体素保持了更高的保真度。

[21] X. Gu, Z. Liu, J. Zhou, H. Luo, C. Che, Q. Yang, L. Liu, Y. Yang, X. Liu, H. Zheng, D. Liang, D. Luo, Z. Hu, Contrast-enhanced to noncontrast CT transformation via an adjacency content-transfer-based deep subtraction residual neural network, Phys. Med. Biol. 66 (14) (2021) 145017, doi:10.1088/1361-6560/ac0758.

实验

热图图评估了配对CT图像和合成CT图像之间的结构差异,热图是通过Hounsfield单位(HU)值的强度差异计算的。因此,我们使用核密度估计(KDE)曲线在CT头部测试图像的整个区域上分析了CT图像的HU分布。我们通过对标记线中像素位置对应的HU值进行采样来评估测试图像的HU轮廓。
数据集:私有CT、MRI数据集,25例,3416对,体素大小为0.5 mm×0.5 mm×1.0 mm,使用刚性配准算法对每个患者的CT和MR图像进行刚性对齐,并将它们重新采样到相同的体素大小和视野,以形成数据集。为了避免我们提出的模型中的过拟合和数据泄露,我们将数据集划分为来自10名患者的1366个CT/MR切片的训练集和来自15名患者的2050个CT/MR切片的测试集
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

方法

引入了一种感知提取方法,该方法在我们之前与CT重建相关的工作中提出[21]。在这项工作中,我们实现了一个预训练的具有冻结参数的ResNet-50作为损失网络
参考CycleGAN,我们提出的方法初始化用于MRI到CT转换CT到MRI转换的两个生成器。对应于MRI到CT发生器和CT到MRI发生器,该方法构造了两个鉴别器网络来识别真实目标的模拟。此外,我们的方法利用特征提取方法来保留结构未对准的输入到目标变换中的重要结构信息。为了捕捉特征图整个区域中目标特征的一致性,我们引入了一种感知提取方法,该方法在我们之前与CT重建相关的工作中提出[21]。在这项工作中,我们实现了一个预训练的具有冻结参数的ResNet-50作为损失网络。此外,我们使用鉴别器网络的主干来提取目标域中的身份特征。这两个特征提取器都有助于生成器网络的损失计算。图1显示了生成器网络的架构,包括上采样和下采样残差块的架构。
在这里插入图片描述
在这里插入图片描述

损失函数

为了解决未配对MRI-CT数据中MRI图像和CT图像的低结构一致性问题,我们提出的方法包括五个损失函数:风格传递损失、感知损失、循环损失、一致性损失和对抗性损失。

  • style loss 风格损失函数,使用gram矩阵的欧几里得距离作为ImageNet预训练的ResNet-50模型的输出层中的风格损失
    在这里插入图片描述
  • perceptual loss 感知损失是从没有梯度的预训练损失网络的第4层和判别损失网络的4层计算的
    在这里插入图片描述
  • 循环损失来控制输出映射循环到原始图像的重构
    在这里插入图片描述
  • 一致性损失是为了鼓励目标图像的映射,以保持从目标到输入的G投影中的像素一致性
    在这里插入图片描述
  • 与WGAN网络类似,我们将L1损失计算应用于MRI到CT发生器/鉴别器和CT到MRI发生器/鉴别器的对抗性损失,无需对数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Thinking

即使未配准的影像也能获取较好的效果

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【已解决】Cannot find project Scala library 2.11.8 for module XXX

问题描述 在 flink 示例程序调试过程中,reload project 报错 Cannot find project Scala library 2.11.8 for module HbasePrint 报错如下图所示: 问题解决 经过搜索,初步判定是 pom 文件中 Scala 版本配置和项目中实际使用的版本不一致导…

java+springboot停车场小区车库租赁预订系统ssm+jsp

该平台为客户和业主提供等信息服务平台的运营方,管理方,如何通过车库平台建立实现优化管理的方法提供参考。能够实现在一个相对广阔的地域内(例如一座城市)的多个停车场的随意停车。管理平台会统一调度车位资源,自动进行交易结算。…

【开源】基于JAVA的大病保险管理系统

项目编号: S 031 ,文末获取源码。 \color{red}{项目编号:S031,文末获取源码。} 项目编号:S031,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统配置维护2.2 系统参保管理2.3 大…

Go语言 值传递

官方说法,Go中只有值传递,没有引用传递 而Go语言中的一些让你觉得它是引用传递的原因,是因为Go语言有值类型和引用类型,但是它们都是值传递。 值类型 有int、float、bool、string、array、sturct等 引用类型有slice&#xff0c…

掌握自动化测试必要的几种技能?

1.自动化测试员技能——编程语言 当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。 对编程有一点了解&a…

MinkowskiEngine安装

pip install torch ninjagit clone https://github.com/NVIDIA/MinkowskiEngine.git cd MinkowskiEngine安装之前先把并行安装的thread数降低,否则会导致进程卡死。 打开setup.py文件内位于142行的MAX_COMPILATION_THREADS变量值从12改成4。 export CXXg-7 python…

挖掘新兴市场:跨境电商中的战略机会

随着全球化进程的不断推进,跨境电商作为连接世界的桥梁,为企业提供了探索新兴市场的机遇。在这个充满活力和竞争的环境中,企业需要制定切实可行的战略,善于把握新兴市场的机会,实现可持续发展。 新兴市场的潜力与机遇 …

matlab基于线性二次调节器(LQR)法实现机器人路径规划可变轨迹跟踪

1、内容简介 略 可以交流、咨询、答疑 2、内容说明 基于线性二次调节器(LQR)法实现机器人路径规划可变轨迹跟踪 3、仿真分析 略 load path.mat %% 轨迹处理 % 定义参考轨迹 refPos_x path(:,1); refPos_y path(:,2); refPos [refPos_x, refPos_y];% 计算航向角和曲率 …

文字识别(OCR)专题——基于NCNN轻量级PaddleOCRv4模型C++推理

前言 PaddleOCR 提供了基于深度学习的文本检测、识别和方向检测等功能。其主要推荐的 PP-OCR 算法在国内外的企业开发者中得到广泛应用。在短短的几年时间里,PP-OCR 的累计 Star 数已经超过了32.2k,常常出现在 GitHub Trending 和 Paperswithcode 的日榜…

python简单进阶之web框架:fastapi使用教程

原文:python简单进阶之web框架:fastapi使用教程 - 知乎 这是简单进阶教程系列第四篇,本系列文章主要介绍那些可以很快上手的进阶库。 我其实学过一段时间Django框架,但是半途而废了,我觉得可能还是简单一点的框架比较适…

nc 传输目录

使用nc命令进行目录传输 接收方发送方 使用TCP连接进行文件传输,不提供数据加密或身份验证 接收方 -ip 192.168.1.200 nc -l -p 2222 | tar -xvf -发送方 发送目录 lotus tar -cf - lotus | nc 192.168.1.200 2222

Python+Requests对图片验证码的处理

Requests对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过request做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用; 通过request对图片验…

LINUX 嵌入式C编程--信号编程

基本概念 信号是事件发生时对进程的通知机制,也可以把它称为软件中断。信号与硬件中断的相似之处在于能够打断程序当前执行的正常流程,其实是在软件层次上对中断机制的一种模拟。信号提供了一种处理异步事件的方法。 信号目的 **信号的目的是用来通信…

shell编程系列(9)-使用cut选择列

文章目录 前言使用cut选择列选择特定的列 结语 前言 前面的文章介绍了sed命令,sed可以帮我们处理文本列,这边文章介绍cut命令,cut命令可以帮我们选择想要的列,在文本处理时候结合sed命令,就可以精准定位了。 cut命令是…

HuggingFace学习笔记--Model的使用

1--Model介绍 Transformer的 model 一般可以分为:编码器类型(自编码)、解码器类型(自回归)和编码器解码器类型(序列到序列); Model Head(任务头)是在base模型…

java正则表达式字母开头后面跟12位数字

字母开头后面跟12位数字 ^[A-Za-z]\d{12}$ 验证: 验证工具地址: Java正则表达式测试

学习感悟一己之言

学习感悟一己之言 学习上克服困难实际上是克服心理上或认识上的障碍的过程。所谓的理解,就是化陌生为熟悉。看不懂,一方面是因为接触的材料太陌生,即远离你当前的背景知识;另一方面是材料或讲述者的描述刻画不准确或晦涩不当。有了…

修改sublime配置让其显示文件编码格式

1、下载sublime并安装 2、点击菜单栏Preferences,然后在Preferences里面点击Setting 3、然后在跳出来的窗口添加: "show_enconding":true, 4、随便打开一个文件就可以在底部查看文件编码格式:

openbabel 安装 生成指纹方法

今日踩坑小结: openbabel 安装: 可以装,但是得在 Linux 环境下,win 环境装会报错(安装不会报错,但是生成指纹的时候会) 指纹: 在下面这个链接里,官方给出了命令行调用 o…

一篇博客带你认识泛型

目录 泛型类(Generic Class): 泛型方法(Generic Method): Java 中的泛型是一种编程机制,允许你编写可以与多种数据类型一起工作的代码,同时提供编译时类型检查以确保类型的安全性。泛型的主要目的是提高代…