论文研读: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冠状切片的配准结果 

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

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

相关文章

Gitlab CI/CD介绍

基本概念 GitLab CI/CD(持续集成/持续部署)流水线是GitLab平台提供的一项强大功能,旨在通过自动化构建、测试和部署过程,提高开发团队的效率和软件发布的质量。 CI(Continuous Integration):持续…

QT5.12.9 通过MinGW64 / MinGW32 cmake编译Opencv4.5.1

一、安装前准备: 1.安装QT,QT5.12.9官方下载链接:https://download.qt.io/archive/qt/5.12/5.12.9/ QT安装教程:https://blog.csdn.net/Mark_md/article/details/108614209 如果电脑是64位就编译器选择MinGW64,32位就选择MinGW32,我的是MinGW64。 2.opencv源码下载:h…

linux登入提示信息

目录 1.Linux 登录提示信息在操作系统中扮演着重要的角色 安全性提醒 欢迎信息 系统状态通知 政策和使用条款 技术支持信息 更新和变更通知 2.配置文件介绍 3.编辑配置文件 4.效果展示 修改前 修改后 “如果您在解决类似问题时也遇到了困难,希望我的经…

ActiViz实战:基于ActiViz 9.2的医学影像三维重建MPR的简单示例

文章目录 效果预览核心代码源码地址总结效果预览 基于ActiViz 9.2的医学影像三维重建之MPR重建 核心代码 vtkProperty ipwProp = vtkProperty.New(); vtkImagePlaneWidget[] planeWidget = new vtkImagePlaneWidget

面试题 14- I. 剪绳子

剪绳子 题目描述示例 题解 题目描述 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0] * k[1] *...* k[m-1] 可能的最大乘积…

14-50 剑和诗人24 - 开源 AI 的下一个重大飞跃:多个小模型与大模型相媲美

介绍 大型语言模型 (LLM) 领域最近取得了快速进展,GPT-4、PaLM-2、Llama-2 等模型正在突破 AI 对语言处理能力的界限。然而,只有少数几家大型科技公司拥有训练包含数千亿个参数的模型所需的大量计算资源,才能使用最大的模型。 作为回应&…

鼠标怎么挑选

我们平时工作中经常要用到鼠标,那么哪种鼠标比较好。我们今天就来研究下。 手感要好 鼠标最重要的就是手感。这个看参数看不出来。最好能到实体店里面去体验一下,自己上手试一下。 如果现在都是在网上买了,去实体店过于麻烦,并且…

[题解]P1115 最大子段和

本蒟蒻太菜了&#xff0c;还不太能理解为什么&#xff0c;先存一下题解&#xff0c;有时间再来研究。 分治法 O ( n log ⁡ n ) O(n\log n) O(nlogn) #include<bits/stdc.h>using namespace std; using lllong long; int n; vector<int>v; int Find(int l,int r)…

[Yii] 实战开发微信服务号+Yii 2.0构建商城系统全栈应用

YII 实战开发微信服务号Yii 2.0构建商城系统全栈应用 课程地址&#xff1a;http://ityuanke.com/thread-14-1-1.html 微信服务号Yii2.0构建商城系统全栈应用 依托微信服务号高级特性及Yii 2.0技术为核心&#xff0c;手把手带你从零开发一个带完整PC后台的微信图书商城的全栈应用…

centos 安装vnc,配置图形界面

centos 安装vnc,配置图形界面 在CentOS上安装和配置VNC服务以使用图形用户界面&#xff0c;你可以按照以下步骤操作&#xff1a; 安装VNC服务器 sudo yum install -y tigervnc-server 复制VNC配置模板文件 cp /lib/systemd/system/vncserver.service /etc/systemd/system/…

各个系统配置端口转发

iptables配置脚本 记得提前安装iptables # Centos/Redhat ~# yum install iptables-services # Ubuntu/Debian ~# apt-get install iptables-persistent#!/bin/bash# 启用 IP 转发 echo 1 > /proc/sys/net/ipv4/ip_forward# 配置 iptables 规则 iptables -t nat -A PREROU…

Git 详解(原理、使用)

git 快速上手请看这篇博客 Git 快速上手 1. 什么是 Git Git 是目前最主流的一个版本控制器&#xff0c;并且是分布式版本控制系统&#xff0c;可以控制电脑上所有格式的文档 版本控制器&#xff1a;记录每次修改以及版本迭代的管理系统 对于文本文件&#xff0c;可以记录每次…

安全防御-用户认证综合实验

一、拓扑图 二、实验要求 1、DMZ区的服务器&#xff0c;办公区仅能在办公时间内&#xff08;9:00-18:00&#xff09;可以访问&#xff0c;生产区设备全天都是可以访问的 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3、办公区设备10.0.2.20不允许访…

iMazing 3.0.3.1Mac中文破解版下载安装激活

今天&#xff0c;小编要分享的是Mac下一款可以帮助用户管理IOS设备的软件——iMazing&#xff0c;之前&#xff0c;小编也分享的过类似的软件&#xff0c;iMazing却有独特之处。小子这次带来的是3.0.3.1版本。 iMazing 3是一款iOS设备管理软件&#xff0c;该软件支持对基于iOS…

从代理模式到注解开发(一)

代理模式 package org.example.proxy;public class ProxyClient {public static void main(String[] args) {ProxyBuilder proxyBuilder new ProxyBuilder();proxyBuilder.build();} }interface BuildDream {void build(); }class CustomBuilder implements BuildDream {Over…

MetaGPT和LangGraph对比

MetaGPT和LangGraph是两个不同的AI Agent框架&#xff0c;各有其特点和优势:MetaGPT: MetaGPT是一个多Agent协作框架&#xff0c;模拟软件公司的运作方式。它包含多个角色如产品经理、架构师、项目经理和工程师&#xff0c;每个角色都有特定的职责。MetaGPT采用对话模式&#…

你也想做一个Element-ui吧!!!——Blueの前端路(一)

目录 前言&#xff1a; 父子组件 button组件 使用vue脚手架初始化一个项目 如何封装&#xff0c;注册和使用一个组件 main.js中将组件设置为全局 使用 此组件我们所需实现的内容 type 父组件组件传递type属性 子组件接收负组件传递的数据 通过绑定类名的方法动态控制…

MP4怎么转为MP3?超多人都在用的四种转换方法!

MP4怎么转为MP3&#xff1f;MP4&#xff0c;这一风靡全球的多媒体容器格式&#xff0c;无疑是数字时代的一枚璀璨明珠&#xff0c;深深烙印在每个人的数字生活之中&#xff0c;那么&#xff0c;它究竟是如何在众多格式中脱颖而出&#xff0c;赢得如此广泛认可的呢&#xff1f;首…

【qt】TCP服务端发消息给客户端

在使用Qt的网络编程中&#xff0c;数据的传输通常使用QByteArray来进行. 可以用toUtf8() 来进行转换. 用write() 来写入数据 运行结果:

高通平台android的Framework开发遇到的一些问题总结

涉及到framwork的修改一般都在QSSI文件夹下。 1、Android设备&#xff0c;发现耳机插入了设备&#xff0c;但是设备statusbar并没有显示耳机插入的状态。 frameworks/base/packages/SystemUI/res/values/config.xml 下修改&#xff1a; <string-array name"config_s…