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

论文研读:ViT-V-Net—用于无监督3D医学图像配准的Vision Transformer

目录

摘要

介绍

方法

VIT-V-Net体系结构

损失函数 

图像相似性度量

变形场正则化

结果与讨论


摘要

在过去的十年里,卷积神经网络(ConvNets)在各种医学成像应用中占据了主导地位并取得了最先进的性能。然而,由于缺乏对图像中远程空间关系的理解,ConvNet的性能仍然受到限制。最近提出的用于图像分类的视觉转换器(VIT)使用了一种纯粹基于自我注意的模型,该模型学习远程空间关系以关注图像的相关部分。然而,由于连续的下采样,VIT强调低分辨率的特征,导致缺乏详细的定位信息,不适合图像配准。最近,几种基于VIT的图像分割方法被与ConvNets相结合,以提高对详细定位信息的恢复。受它们的启发,我们提出了VIT-V-Net,它连接了VIT和ConvNet,以提供3D医学图像配准。

介绍

近年来,由于在自然语言处理方面取得了巨大的成功,人们对开发基于自我注意的体系结构越来越感兴趣。、Dosovitski等人。(Dosovitski等人,2020)提出了视觉转换器(VIT),这是第一个纯粹基于自我注意的网络,并在图像识别方面取得了最先进的性能。在这一进展之后,TransUnet(Chen等人,2021年)是在用于二维(2D)医学图像分割的预先训练的VIT的基础上开发的。

然而,医学成像方式通常产生体积图像(即,3D图像),并且2D图像不能充分利用从3D体积获得的空间对应关系。因此,发展3D方法在医学图像配准中更为可取。在这项工作中,作者提出了一项研究,以研究VIT在体积医学图像配准中的应用。提出了一种采用混合ConvNet-Transformer结构的VIT-V-Net,用于自监督体图像配准。在该方法中,VIT被应用于运动图像和固定图像的高层特征,这需要网络学习图像中点之间的远距离关系。编码级和解码级之间的长跳跃连接被用来保持定位信息流。实验结果表明,简单地将VoxelMorph的网络结构替换为Vit-V-Net,就可以获得优于VoxelMorph和传统注册方法的性能。

方法

设f和m分别为固定图像和运动图像。我们假设f和m是单通道灰度图像,并且它们是仿射对齐的。我们的目标是预测一个变换函数φ,它将m(即m◦φ)翘曲到f,其中φ=Id+u,u表示位移矢量的流场,Id表示恒等式。图1概述了我们的方法。首先,深度神经网络(gθ)使用一组参数θ(即,u=gθ(f,m))为给定图像对f和m生成u。然后,通过空间变换函数执行翘曲(即m◦φ)(Jaderberg等人,2015年)。在网络训练过程中,比较m◦φ和f之间的图像相似度,并将损失反向传播到网络中。

图1 VIT-V-Net的方法概述和网络结构

VIT-V-Net体系结构

VIT-V-Net体系结构VIT在全分辨率体积图像中的应用导致了很大的计算复杂性。在这里,作者并没有将全分辨率图像直接送入VIT。

  • 通过一系列卷积层和最大值池(图1中的蓝框)将图像(即f和m)编码成高级特征表示。在VIT(橙色框)中,高层特征被分成N个矢量化的P^{3}*C块,其中N=\frac{HWL}{P^{3}}P表示块大小,C表示通道大小。
  • 使用可训练的线性投影将这些patch映射到潜在的D维空间。
  • 将可学习的position embedding添加到patch embedding以保留patch的位置信息。
  • 将生成的补丁送入Transformer编码器,该编码器由12个交替的多头自我注意(MSA)和多层感知器(MLP)块组成
  • 最后,对VIT的输出进行整形,然后使用V-Net风格的解码器进行解码。

图2 Vision Transformer模型概述 

(请注意,编码器和解码器之间也使用了长跳过连接。网络的最终输出是一个密集的位移场。然后将其用于空间变压器中,以扭曲m)。

损失函数 

本研究中使用的图像相似性度量是均方误差,以及由加权参数λ控制的扩散正则化,用于在位移场u中施加平滑。

用于训练所提出的网络的损失函数可以写成:

L(f,m,\Phi )=L_{MSE}(f,m,\Phi)+\lambda L_{diffusion}(\Phi)

其中,λ是正则化参数,f和m分别是固定图像和运动图像,φ表示变形场

图像相似性度量

以变形后的运动图像与固定图像之间的均方误差(MSE)作为损失函数。它被定义为:

L_{MES}(f,m,\Phi )=\tfrac{1}{\Omega }\sum_{p\in \omega }^{}[f(p)-m o\Phi]^{2}

变形场正则化

为了增强变形场的光滑性,使用了扩散正则化。它被定义为: 

L_{diffusion}(\Phi )=\sum_{p\in \omega }^{}||\bigtriangledown u(p)||^{2}

结果与讨论

作者在脑部核磁共振图像配准任务中进行了实验法。使用了一个内部数据集,其中包括260个T1加权的脑部MRI扫描。数据集被分成182、26和52(7:1:2)卷,用于训练、验证和测试集。将每个图像体积随机匹配到另外两个体积以形成四对f和m,得到768、104和208个图像对。结构脑MRI的标准前处理步骤,包括颅骨剥离、重采样和仿射变换,使用Freesurfer进行(Fischl,2012)。然后,将得到的体积裁剪成相等大小的160×192×224。使用Freesurfer获得了包括29个解剖结构的标记图以供评估。

将所提出的方法在Dice Score与对称正规化(SYN)NiftyReg以及VoxelMorph-1和-2进行了比较。正则化参数λ被设置为0.02,从结果可以看出,作者提出的VIT-V网络在Dice性能方面产生了0.1的显著收益(p值如表所示)。总之,基于VIT的注册体系结构取得了优于性能最好的注册方法的性能,证明了VIT-V-Net的有效性。

 表1 将所提出的方法与其他方法进行了总体骰子比较

图3 MR冠状切片的配准结果 

相关文章:

论文研读:ViT-V-Net—用于无监督3D医学图像配准的Vision Transformer

目录 摘要 介绍 方法 VIT-V-Net体系结构 损失函数 图像相似性度量 变形场正则化 结果与讨论 摘要 在过去的十年里,卷积神经网络(ConvNets)在各种医学成像应用中占据了主导地位并取得了最先进的性能。然而,由于缺乏对图像中远程空间关系的理解&a…...

C++入门到进阶(图文详解,持续更新中)

C入门到进阶(图文详解,持续更新中) 详解C入门知识到进阶,配合图观看易于理解记录 文章目录 目录 C入门到进阶(图文详解,持续更新中) 文章目录 前言 一、数据 (一)数据类…...

【React Hooks原理 - useRef】

概述 在Function Component项目中当我们需要操作dom的时候,第一时间想到的就是使用useRef这个Hook来绑定dom。但是这个仅仅是使用这个Hook而已,为了更好的学习React Hooks内部实现原理,知其所以然。所以本文根据源码从useRef的基础使用场景一…...

MVC之 IHttpModule管道模型《二》

》》》注意:在http请求的处理过程中,只能调用一个HttpHandler,但可以调用多个HttpModule。 HTTP Modules ASP.NET请求处理过程是基于管道模型的,这个管道模型是由多个HttpModule和HttpHandler组成,当请求到达HttpMod…...

2025上海纺织助剂展会+上海织物整理剂展

2025上海纺织助剂展会上海织物整理剂展 2025第十二届中国(上海)纺织助剂及织物整理剂展览会 时间: 2025年4月23-25日 地点:上海跨国采购会展中心(光复西路2739号) 展会简介: 2025第12届中国(上海&#…...

中科亿海微亮相慕尼黑上海电子展

7月8-10日,备受瞩目的全球电子行业盛会“慕尼黑上海电子展”以空前规模启幕,汇聚了超过1600家参展企业,涵盖了从终端产品制造商到元器件供应商、组装/系统供应商、EMS、ODM/OEM、材料供应商及生产设备供应商的完整产业链。中科亿海微电子科技…...

Spring boot 2.0 升级到 3.3.1 的相关问题 (一)

文章目录 Spring boot 2.0 升级到 3.3.1 的相关问题 (一)拦截器Interceptor的变动问题介绍解决方案 WebMvcConfigurerAdapter 自定义Mvc配置问题介绍解决方案 Spring boot 2.0 升级到 3.3.1 的相关问题 (一) 拦截器Interceptor的…...

数据分析——Python网络爬虫(四){爬虫库的使用}

爬虫库 爬虫的步骤urllib库发送请求两种方法案例 爬虫的步骤 #mermaid-svg-h5azjtPInpsU2ZpP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-h5azjtPInpsU2ZpP .error-icon{fill:#552222;}#mermaid-svg-h5azjtPInps…...

C++客户端Qt开发——信号和槽

三、信号和槽 1.信号和槽概述 在Qt中,用户和控件的每次交互过程称为一个事件。比如"用户点击按钮”是一个事件,"用户关闭窗口”也是一个事件。每个事件都会发出一个信号,例如用户点击按钮会发出"按钮被点击"的信号&…...

基于双向长短期记忆 BiLSTM 实现股票单变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…...

微信小程序毕业设计-汽车维修项目管理系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…...

学习大数据DAY16 PLSQL基础语法5

目录 异常 自定义异常的格式 raise_application_error 处理异常 预定义异常 SQLcode和SQLerrm 非预定义异常 作业 触发器 触发器基本概念 DML触发器 DML触发器使用 instead of 触发器 管理触发器 作业2 函数、过程和包 函数 过程 参数 1. in 参数 2.out 参…...

LabVIEW心电信号自动测试系统

开发了一种基于LabVIEW的心电信号自动测试系统,通过LabVIEW开发的上位机软件,实现对心电信号的实时采集、分析和自动化测试。系统包括心电信号采集模块、信号处理模块和自动化测试模块,能够高效、准确地完成心电信号的测量与分析。 硬件系统…...

最值得推荐的10款Windows软件!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频播放量破百万https://aitools.jurilu.com/1.音乐播放器——Dopamine Dopamine是一款音乐播放器,设计简洁美观。它支持多种音频格式,包括wav、mp3、ogg…...

游戏视频是后期配音好还是边录边配 游戏视频怎么剪辑制作才能火 视频剪辑免费软件

游戏视频后期配音是先配还是先剪?游戏视频后期配音没有统一的准则,可以先配,也可以后配,主要是根据内容而定。游戏视频剪辑在游戏玩家中十分流行,那么,游戏视频怎么剪辑制作?下面让我们以具体的…...

配置 Node.js 内存限制

配置 Node.js 内存限制 Node.js 应用程序通常需要配置堆内存的大小以优化性能和避免内存溢出问题。你可以通过命令行参数、环境变量或系统属性来设置 Node.js 的内存限制。下面将分别介绍在 Windows、Linux 和 macOS 系统下的配置方法。 Windows 系统 1. 命令行参数方式 在…...

ORA-12518: TNS: 监听程序无法分发客户机连接

ORA-12518: TNS: 监听程序无法分发客户机连接 OracleService 服务停止了,启动就好了...

2.5 计算机网络

声明:文章参考的《系统架构设计师教程(第二版)》,如有侵权,本人将立即修改和删除。 利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,并依靠网络软件以及通信协议实现…...

同三维T80004ESL编码器视频使用操作说明书:高清HDMI编码器,高清SDI编码器,4K超清HDMI编码器,双路4K超高清编码器

同三维T80004ESL编码器视频使用操作说明书:高清HDMI编码器,高清SDI编码器,4K超清HDMI编码器,双路4K超高清编码器 同三维T80004ESL编码器视频使用操作说明书:高清HDMI编码器,高清SDI编码器,4K超清…...

「ETL趋势」分区支持PostgreSQL、Greenplum、Gauss200, 定时任务支持Kettle

FineDataLink作为一款市场上的顶尖ETL工具,集实时数据同步、ELT/ETL数据处理、数据服务和系统管理于一体的数据集成工具,进行了新的维护迭代。本文把FDL4.1.9最新功能作了介绍,方便大家对比:(产品更新详情:…...

vue 前端项目调用后端接口记录

axios中不同的类型的请求附带数据使用的关键字 请求类型关键字示例GETparamsaxios({ method: get, url: example.com, params: { key: value } })POSTdataaxios({ method: post, url: example.com, data: { key: value } })PUTdataaxios({ method: put, url: example.com, dat…...

4.10、matlab生成脉冲序列:pulstran()函数

1、matlab生成脉冲序列简介 MATLAB生成脉冲序列通常涉及到使用MATLAB中的函数或编程来创建具有特定时间间隔和幅度的脉冲信号。脉冲序列通常用于数字信号处理、通信系统测试等应用中。 生成脉冲序列可以采用以下方法之一: 使用MATLAB中的函数,例如square()函数生成方波信号…...

【JAVA poi-tl-ext 富文本转word】

富文本转word 环境使用poi-tl-ext的原因富文本转word代码 环境 jdk 1.8 <dependency><groupId>io.github.draco1023</groupId><artifactId>poi-tl-ext</artifactId><version>0.4.16</version> </dependency>poi-tl-ext已经包…...

uniapp 小程序注册全局弹窗组件(无需引入,无需写标签)

由于uniapp没有开放根节点&#xff0c;所以一般情况下通过app.components注册&#xff0c;在需要的页面直接写组件标签&#xff0c;但是如果每个页面都需要的话&#xff0c;再每个都加的话会非常的麻烦 网上的思路都不咋地&#xff1a; 1.通过写一个透明弹窗页面来实现&#…...

python 语法学习 day 7

错题反思 1.九九乘法表 第一次提交的答案是&#xff1a;先把所有输入值放在列表里面 EOF&#xff0c;输入后产生异常-->>捕获异常&#xff0c;结束输入 3. 题意:统计单词的种类以及数量(忽略大小写)&#xff0c;最终以降序输出&#xff08;出现次数相同的单词根据单词的…...

【高中数学/幂函数】比较a=2^0.3,b=3^0.2,c=7^0.1的大小

【问题】 比较a2^0.3,b3^0.2,c7^0.1的大小 【解答】 a2^0.32^3/10(2^3)^1/108^1/10 b3^0.23^2/10(3^2)^1/109^1/10 c7^0.17^1/10 由于yx^1/10在x正半轴是增函数&#xff0c;底数大的得数就大。 因为9>8>7,所以b>a>c 【图像】 在图像上绘出曲线yx^1/10&…...

双向带头循环链表

一、概念 何为双向&#xff1a;此链表每一个节点的指针域由两部分组成&#xff0c;一个指针指向下一个节点&#xff0c;另一个指针指向上一个节点&#xff0c;并且两头的节点也是如此&#xff0c;头节点的下一个节点是尾节点&#xff0c;尾节点的上一个节点是头节点&#xff1b…...

探索TASKCTL和 DataStage 的ETL任务调度协同

在复杂多变的企业环境中&#xff0c;高效、准确的数据处理是支撑业务决策与运营的核心。本文将深入探讨任务调度平台TASKCTL与ETL工具DataStage的深度融合&#xff0c;通过详尽的代码示例、结合细节以及实际案例的具体描述&#xff0c;展示这两个工具如何携手打造企业数据处理生…...

Facebook软体机器人与机器人框架:创新社交互动的未来

随着人工智能技术的不断进步&#xff0c;Facebook正通过软体机器人和先进的机器人框架&#xff0c;重新定义社交互动的未来。这些创新不仅提升了用户体验&#xff0c;也为开发者提供了强大的工具来构建下一代社交应用。 一、Facebook软体机器人&#xff1a;智能化的社交伙伴 …...

掌握音视频转换的艺术:用FFmpeg解锁多媒体的无限可能

在数字时代&#xff0c;音视频内容无处不在&#xff0c;从在线课程、娱乐视频到专业会议&#xff0c;它们都是信息传播的关键载体。然而&#xff0c;随着多媒体格式的不断演进&#xff0c;我们常常会遇到格式不兼容的问题&#xff0c;这成为了享受或处理这些内容的一大障碍。幸…...