当前位置: 首页 > news >正文

深度学习无监督磁共振重建方法调研(二)

深度学习无监督磁共振重建方法调研(二)

  • Self-supervised learning of physics-guided reconstruction neural networks without fully sampled reference data(Magnetic Resonance in Medicine 2020)
    • 模型设计
    • 实验结果
  • PARCEL: Physics-based Unsupervised Contrastive Representation Learning for Multi-coil MR Imaging(IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS)
    • 问题定义与模型设计
    • 损失函数
      • Undersample Calibration Loss
      • Reconstructed Calibration Loss
      • Contrastive Representaion Loss
    • 实验结果

Self-supervised learning of physics-guided reconstruction neural networks without fully sampled reference data(Magnetic Resonance in Medicine 2020)

本文提出了一种基于自监督方式训练神经网络用于磁共振重建的方式,并通过在公开数据集(fastMRI multi-coil knee)以及前瞻性加速脑成像图(没有GT数据的?)上的数值和人工衡量,证明了方法的有效性。

模型设计

对于完整采样的mask Ω\OmegaΩ,作者将其划分成为了两个mask,Θ\ThetaΘΛ\LambdaΛ,其中Θ\ThetaΘ用于训练(生成输入的降采样数据和应用数据一致层),Λ\LambdaΛ用于定义损失函数,即衡量输出结果在Λ\LambdaΛ采样的部分是否和真实数据一致。注意测试时会将所有采样点全部输入生成结果。
模型设计
作者采用了normalized l2-l1损失进行训练,模型方法和对标的有监督方法都在K空间定义损失:
损失函数
在Mask选择上,作者定义ρ=∣Λ∣/∣Ω∣\rho=|\Lambda|/|\Omega|ρ=∣Λ∣/∣Ω∣,选择了表现最好的值(膝盖数据集是0.4),并且做了三个变体,主要区别是Λ\LambdaΛΘ\ThetaΘ的重叠:

  • 无重叠(原始设定)
  • 重叠50%
  • 重叠100%

最后发现原始设定最好。作者还在不同的ρ\rhoρ下验证了不同的随机降采样方式,发现高斯比均匀降采样好,因此选择高斯降采样。

实验结果

作者在fastMRI的多线圈Knee上做了实验(4倍降采样),对比了有监督方法,无监督方法和传统CS重建方法,看起来提出的方法好于传统方法,和有监督方法相当。
fastMRI_knee实验
其它实验结果就不赘述了。

PARCEL: Physics-based Unsupervised Contrastive Representation Learning for Multi-coil MR Imaging(IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS)

同样是王珊珊团队的工作,可以看作是SelfCoLearn的进阶版,对多线圈成像做了更多的讨论。

问题定义与模型设计

和单线圈磁共振成像不同的是,除了降采样矩阵Ω\mathbf{\Omega}Ω和傅里叶变换FFF外,还包括了线圈敏感度信息SSS,下式中ϵ\epsilonϵ表示噪声,下标iii表示线圈,CCC为线圈数:
PARCEL:多线圈成像

和SelfCoLearn一样,模型也分为了两个子网络,输入的数据经过了re-降采样(AjA_jAj),求解的问题的表示如下所示:
PAECEL:问题定义
其中Aj=ΩiFSA_j=\mathbf{\Omega_i}FSAj=ΩiFSjjj用于表示两个子网络。网络用DwD_wDw表示,采用MoDL结构(因为是在每次迭代中共享权重,所以DwD_wDw也可以用来表示整个网络),输出为x1x_1x1x2x_2x2
PARCEL:模型结构

损失函数

模型设计了精巧的co-training loss,包含三个部分,总公式如下,LLL为样本总数,不过根据代码,三种损失并不是1:1:1,而是1:0.1:0.1。
PARCEL:损失函数

Undersample Calibration Loss

表示为lucl_{uc}luc,主要是确保重建后的结果在所有采样位置(未经过re-降采样)和已知的结果一致:
PARCEL:UC损失函数

Reconstructed Calibration Loss

表示为lrcl_{rc}lrc,其将xxx(这里只是表示损失函数的输入,实际使用中的输入就是两个子网络的输出x1x_1x1或者x2x_2x2),EEE表示FSFSFSEHE^HEH表示SF−1SF^{-1}SF1
PARCEL:RC损失
从式子上看,是希望将输出的重建结果的真实采样部分替换为真实值yyy后得到的图像,和不替换也尽可能相似。不过这样的话似乎和lucl_{uc}luc没什么区别?只不过一个比的是零填充其余部分,一个比的是用重建值填充其余部分的图像的MSE损失,这有影响吗?

Contrastive Representaion Loss

表示为lcll_{cl}lcl,用来尽可能增加两个自网络输出结果的相似性:
PARCEL:CL损失
特别注意的是这里的zzz是输出经过额外一个1024大小的全连接层+ReLU的expander来实现的,z1=h1(x1)z_1=h_1(x_1)z1=h1(x1)z2=h2(x2)z_2=h_2(x_2)z2=h2(x2)sim()sim()sim()采用余弦相似度,作者通过该损失函数最大化两个网络输出的相似。不过从代码上来看h1=h2h_1=h_2h1=h2

实验结果

作者在fastMRI的多线圈膝盖数据集和一个自己的大脑数据集上做了实验,尝试了三种不容的降采样mask。对比了SENSE,Variational-Net,U-Net-256,SSDU(上一篇文章),Supervised-MoDL。反正结果基本是仅次于Supervised MoDL。

作者验证了Contrastive Loss的作用,使用只使用单个网络自监督Single-Net(没说什么方法,应该是UC损失),只使用UC的PARCEL模型Parallel-Net,加入了CL损失的PARCEL模型CL,对比如下:
Contrastive损失的作用
下一节中进行了更详细的比较,如下:
PARCEL:消融实验

相关文章:

深度学习无监督磁共振重建方法调研(二)

深度学习无监督磁共振重建方法调研(二)Self-supervised learning of physics-guided reconstruction neural networks without fully sampled reference data(Magnetic Resonance in Medicine 2020)模型设计实验结果PARCEL: Physi…...

蓝桥杯入门即劝退(十九)两两交换链表

-----持续更新蓝桥杯入门系列算法实例-------- 如果你也喜欢Java和算法,欢迎订阅专栏共同学习交流! 你的点赞、关注、评论、是我创作的动力! -------希望我的文章对你有所帮助-------- 一、题目描述 给你一个链表,两两交换其中…...

【Java 面试合集】接口以及抽象类

接口以及抽象类 1. 概述 嗨,【Java 面试合集】又来了,今天给大家分享的内容是接口以及抽象类。一看这个概念很多人都知道,但是方方面面的细节不一定知道哦,今天我们就从方方面面的细节来讲讲 2. 相同点: 都是上层的抽…...

LeetCode 2391. 收集垃圾的最少总时间

给你一个下标从 0 开始的字符串数组 garbage ,其中 garbage[i] 表示第 i 个房子的垃圾集合。garbage[i] 只包含字符 ‘M’ ,‘P’ 和 ‘G’ ,但可能包含多个相同字符,每个字符分别表示一单位的金属、纸和玻璃。垃圾车收拾 一 单位…...

【PMP考试最新解读】第七版《PMBOK》应该如何备考?(含最新资料)

PMP新版大纲加入了ACP敏捷管理的内容,而且还不少,敏捷混合题型占到了 50%,前不久官方也发了通知8月启用第七版《PMBOK》,大家都觉得考试难度提升了,我从新考纲考完下来,最开始也被折磨过一段时间&#xff0…...

金三银四软件测试面试如何拿捏面试官?【接口测试篇】

九、接口测试 9.1 接口测试怎么测 (jmeter版本) 首先开发会给我们一个接口文档,我们根据开发给的接口文档,进行测试点的分析,主要是考虑正常场景与异常场景,正常场景,条件的组合,…...

Hive基操

数据交换 //hive导出到hdfs /outstudentpt 目录 0: jdbc:hive2://guo146:10000> export table student_pt to /outstudentpt; //从hdfs导入到hive 0: jdbc:hive2://guo146:10000> import table studentpt from /outstudentpt; 数据排序 Order by会对所给的全部数据进行…...

CSS(配合html的网页编程)

续上一篇博客,CSS是前端三大将中其中的一位,主要负责前端的皮,也就是负责html的装饰.一、基本语法规则也就是:选择器若干属性声明(选中一个元素然然后进行属性声明)CSS代码是放在style标签中,它可以放在head中也可以放在body中 ,可以放到代码的任意位置.color也就是设置想要输入…...

MATLAB/Simulink 通信原理及仿真学习(三)

文章目录MATLAB/Simulink 通信原理及仿真学习(三)3. 通信信号与系统分析3.1 离散信号和系统3.1.1 离散信号3.1.2 离散时间信号3.1.3 信号的能量和功率3.2 傅里叶(Fourier)分析3.2.1 连续时间信号的Fourier变换3.2.2 离散时间信号的…...

如何解决过拟合与欠拟合,及理解k折交叉验证

模型欠拟合:在训练集以及测试集上同时具有较⾼的误差,此时模型的偏差较⼤; 模型过拟合:在训练集上具有较低的误差,在测试集上具有较⾼的误差,此时模型的⽅差较⼤。 如何解决⽋拟合: 添加其他特…...

Kotlin 34. recyclerView 案例:显示列表

Kotlin 案例1. recyclerView:显示列表 这里,我们将通过几个案例来介绍如何使用recyclerView。RecyclerView 是 ListView 的高级版本。 当我们有很长的项目列表需要显示的时候,我们就可以使用 RecyclerView。 它具有重用其视图的能力。 在 Re…...

JAVA练习58-汉明距离、颠倒二进制位

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、题目1-汉明距离 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 二、题目2-颠倒二进制位 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示…...

优炫数据库百城巡展,成都首站圆满举行

2月17日,由四川省大数据发展研究会、北京优炫软件股份有限公司联合举办的“首届四川省推进信息技术应用创新产业服务研讨会暨优炫数据库百城巡展成都首站隆重举行。此次活动是优炫数据库百城巡展的起点站,更是国产数据库市场美好乐章的一次强力鸣奏。 来…...

【20230210】二叉树小结

二叉树的种类二叉树的主要形式:满二叉树和完全二叉树。满二叉树深度为k,有2^k-1个节点的二叉树完全二叉树除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。二叉搜索树…...

openCV—图像入门(python)

目录 目标 使用OpenCV 显示图像 写入图像 总结使用 使用Matplotlib 注:图片后续补充 目标 在这里,你将了解如何使用Python编程语言中的OpenCV库,实现读取、显示和保存图像的功能。具体来说,你将学习以下函数的用法&#xf…...

关于一个Java程序员马上要笔试了,临时抱佛脚,一晚上恶补45道简单SQL题,希望笔试能通过

MySQL随手练 / DQL篇 MySQL随手练——DQL篇 题目网盘下载:https://pan.baidu.com/s/1Ky-RJRNyfvlEJldNL_yQEQ?pwdlana 初始数据 表 course 表 student 表 teacher 表 sc 答案 :) —> :( —> :) 1. 查询 "01"课程比"02"课程成绩高的学生…...

PyTorch深度学习实战

本专栏分为两大部分,专栏内容如下: 第1部分 探讨PyTorch与其他深度学习框架的区别。 如何在PyTorch Hub中下载和运行模型。 PyTorch的基本构建组件——张量 展示不同类型的数据如何被表示为张量,以及深度学习模型期望构造什么样的张量。 梯度…...

leetcode 1011. Capacity To Ship Packages Within D Days(D天内运送包裹的容量)

数组的每个元素代表每个货物的重量,注意这个货物是有先后顺序的,先来的要先运输,所以不能改变这些元素的顺序。 要days天内把这些货物全部运输出去,问所需船的最小载重量。 思路: 数组内数字顺序不能变,就…...

支持向量机SVM详细原理,Libsvm工具箱详解,svm参数说明,svm应用实例,神经网络1000案例之15

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的股票价格预测 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型&a…...

Mac 上搭建 iOS WebDriverAgent 环境

文章目录Mac环境搭建配置 Xcode 生成 WDA常见问题brew 安装失败Mac环境搭建 macOS 系统电脑:12.6.2 Xcode:14.0.1(xcodebuild -version) appium Desktop:1.21.0 (下载链接) Appium Desktop 1.22.0 ,从该版…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...