论文阅读:H-ViT,一种用于医学图像配准的层级化ViT

来自CVPR的一篇文章,https://openaccess.thecvf.com/content/CVPR2024/papers/Ghahremani_H-ViT_A_Hierarchical_Vision_Transformer_for_Deformable_Image_Registration_CVPR_2024_paper.pdf

用CNN+Transformer混合模型做图像配准。可变形图像配准是一种在相同视场内比较或整合单模态或多模态视觉数据的技术,它旨在找到两幅图像之间的非线性映射关系。

1,模型结构

首先,使用类似特征金字塔网络(FPN)的CNN作为主干网络,用于从输入图像中提取多尺度的特征图。顶层的Sh个CNN特征被用来生成Transformer特征。这些特征首先会被映射成通道数量为fe,然后做embedding。然后输入双注意力模块。双注意力模块会生成变形场,最后网格采样器根据变形场生成目标图像。

2,双注意力模块

双注意力模块由自注意力和交叉注意力组成,

如图展示了双注意力模块在不同尺度上应用自注意力和交叉注意力的过程。交叉注意力和自注意力都是QKV结构。

其中第一部分是自注意力,QKV均来自同一尺度特征。下面两个部分是交叉注意力,Q和KV来自不同尺度的特征。

3,损失函数

本文模型使用的损失函数包含两个部分:相似性损失和平滑性损失。

相似性损失的公式如下:

平滑性损失的作用是为了防止产生不连续的变形场,公式如下:

平滑性损失计算的是变形场的空间梯度的L2范数,这样可以更强烈地惩罚那些梯度较大的区域。

整体损失函数公式如下:

其中λ是预定义的系数。

4,变形场和网格采样器

4.1 变形场

变形场(Deformation Field)是图像配准中的一个重要概念,是一个从移动图像(源图像)到目标图像的映射。它定义了移动图像中每个点在目标图像空间中的新位置。数学上,变形场可以表示为一个向量场,其中每个向量指向源图像中相应点在目标图像中的位置偏移。

4.2网格采样器

它的作用是根据一个给定的变形场来重新采样图像的像素网格,从而实现图像的变形或映射。变形场通常是一个向量场,网格采样器根据变形场中的向量,计算出原始图像中每个像素点的新位置。如果新位置是子像素位置,则需要使用插值方法来计算这个新位置的像素值。

5,实验

5.1 使用的度量

为了量化模型的性能,使用了多种度量标准,如Dice分数、HD95、SDlogJ等。

其中,HD95:是Hausdorff距离的95%分位数,意味着在95%的情况下,配准误差不会超过这个值。这是一种衡量两组几何对象之间相似度的方法,常用于评估图像配准算法的性能。Hausdorff距离是度量两个点集A和B之间最大距离的度量。计算公式为:H(A,B) = max(h(A,B), h(B,A)),其中h(A,B)表示集合A中的点到集合B中最近点的最大距离,h(B,A)表示集合B中的点到集合A中最近点的最大距离。

SDlogJ:Standard Deviation of the Logarithm of the Jacobian Determinant,是一个统计量,用于度量变形场中雅可比行列式对数值的标准差。雅可比行列式描述了一个点从一个坐标系统映射到另一个坐标系统时体积变化的比率。简单来说,它反映了变换过程中局部体积的膨胀或收缩情况。由于雅可比行列式值可能非常大或非常小,为了方便数学处理和比较,通常会取其对数值。这样做可以使得数据更加平稳。

5.2 实验结果

实验使用了五个公开可用的T1 MRI数据库,包括OASIS、IXI、ADNI、LPBA和Mindboggle。对比了VoxelMorph、MIDIR、CycleMorph、ViT-V-Net和TransMorph等基准方法。实验表格比较多那就不贴了,总之就是超越了这些方法。

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

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

相关文章

奇思妙想:多头RAG

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技(Mamba,xLSTM,KAN)则提…

c语言利用openssl实现简单客户端和服务端(观察记录层最大长度)

文章目录 前言一、客户端实现二、服务端实现总结 前言 本文是使用openssl111w实现的简单客户端和服务端&#xff0c;主要用于观察openssl一个记录层数据包的大小。 一、客户端实现 #include <stdio.h> #include <stdlib.h> #include <string.h> #inc…

bugku---misc---赛博朋克

1、下载附件解压之后是一个txt文本&#xff0c;查看文本的时候看到头部有NG的字样 2、把txt改为png后缀得到一张图片 3、binwalk没发现奇怪的地方&#xff0c;分离出来还是图片 4、stegslove分析&#xff0c;切换图片没有发现奇怪地方 5、将通道rgb置为0。出现了flag但是flag不…

6.13长难句打卡

Hard times may hold you down at what usually seems like the most inopportune time, but you should remember that they won’t last forever. 艰难时刻可能会在你最不顺心的时刻让你低迷&#xff0c;但请相信&#xff0c;它们不会永远持续下去。

179.二叉树:合并二叉树(力扣)

代码解决 /*** 二叉树节点的定义。* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, Tre…

opencv 通过滑动条调整阈值处理、边缘检测、轮廓检测、模糊、色调调整和对比度增强参数 并实时预览效果

使用PySimpleGUI库创建了一个图形用户界面(GUI),用于实时处理来自OpenCV摄像头的图像。它允许用户应用不同的图像处理效果,如阈值处理、边缘检测、轮廓检测、模糊、色调调整和对比度增强。用户可以通过滑动条调整相关参数。 完整代码在文章最后,可以运行已经测试; 代码的…

第3章 Unity 3D着色器系统

3.1 从一个外观着色器程序谈起 新建名为basic_diffuse.shader的文件&#xff0c;被一个名为basic_diffuse.mat的材质文件所引用&#xff0c;而basic_diffuse.mat文件则被场景中名为Sphere的game object的MeshRenderer组件所使用。 basic_diffuse.shader代码文件的内容如下所示…

【GIS】全球范围气象站点的逐年平均气温数据(1929-2023年)

数据简介&#xff1a;气象数据包括气象站点温度、湿度、光照等等。提供自1929-2023年以来的全球逐年平均气温数据气象数据下载。数据源为NCDC&#xff08;美国国家气候数据中心&#xff0c;National Climatic Data Center&#xff09;&#xff0c;隶属于NOAA&#xff08;美国国…

探索JavaScript逆向工程与风控等级

探索JavaScript逆向工程与风控等级 在当今的网络安全领域&#xff0c;JavaScript逆向工程&#xff08;简称JS逆向&#xff09;已成为许多开发者和安全专家关注的焦点。JS逆向主要涉及对JavaScript代码的分析与理解&#xff0c;以发现其内部逻辑、数据流及潜在漏洞。这种技术常用…

大型语言模型(LLMs)的后门攻击和防御技术

大型语言模型&#xff08;LLMs&#xff09;通过训练在大量文本语料库上&#xff0c;展示了在多种自然语言处理&#xff08;NLP&#xff09;应用中取得最先进性能的能力。与基础语言模型相比&#xff0c;LLMs在少样本学习和零样本学习场景中取得了显著的性能提升&#xff0c;这得…

SCI二区|鲸鱼优化算法(WOA)原理及实现【附完整Matlab代码】

目录 1.背景2.算法原理2.1算法思想 3.结果展示4.参考文献5.代码获取 1.背景 2016年&#xff0c;S Mirjalili受到自然界座头鲸社会行为启发&#xff0c;提出了鲸鱼优化算法&#xff08;Whale Optimization Algorithm, WOA&#xff09;。 2.算法原理 WOA模拟了座头鲸的社会行为…

桌面应用开发框架比较:Electron、Flutter、Tauri、React Native 与 Qt

在当今快速发展的技术环境中&#xff0c;对跨平台桌面应用程序的需求正在不断激增。 开发人员面临着选择正确框架之挑战&#xff0c;以便可以高效构建可在 Windows、macOS 和 Linux 上无缝运行的应用程序。 在本文中&#xff0c;我们将比较五种流行的桌面应用程序开发框架&…

Excel中如何用公式列出包含特定文本的所有单元格?

如下图&#xff0c;希望用公式得到“以分布式开始”的G列数据。 一、高版本公式 FILTER(E2:E9,LEFT(E2:E9,3)"分布式") 用LEFT函数提取数据的左侧3个字符&#xff0c;是“分布式”的就是以它开始的数据了&#xff0c;用FILTER函数筛选出来即可。 二、低版本公式 如…

Nginx+KeepAlived高可用负载均衡集群的部署

目录 一.KeepAlived补充知识 1.一个合格的群集应该具备的特点 2.健康检查&#xff08;探针&#xff09;常用的工作方式 3.相关面试问题 问题1 问题2 二.Keepealived脑裂现象 1.现象 2.原因 硬件原因 运用配置原因 3.解决 4.预防 方法1 方法2 方法3 方法4 三.…

CXL协议中 Register Locator DVSEC详解

✨ 前言&#xff1a; Register Locator DVSEC&#xff08;Designated Vendor-Specific Extended Capability&#xff09;是一种PCI Express&#xff08;PCIe&#xff09;配置空间的能力&#xff0c;专为CXL&#xff08;Compute Express Link&#xff09;技术中的设备设计。这包…

[DDR5 Jedec] 读操作 Read Command 精讲

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解DDR》 Read 读取命令也可以视为列读取命令。当与正确的bank地址和列地址结合使用时&#xff0c;通过激活命令&#xff08;行访问&#xff09;移动到检测放大器中的数据&#xff0c; 现在被推送到数…

python 基础--数据类型、基本数据类型之间的相互转换

文章目录 一、python 数据类型介绍二、基本数据类型2.1 Numbers&#xff08;数字类型&#xff09;2.2 String&#xff08;字符串类型&#xff09;2.2.1 不同引号字符串之间的区别2.2.2 转义字符和 python 输出函数2.2.3 字符串的相关操作&#xff08;字符串拼接、占位符、字符串…

用Python代码锁定Excel单元格以及行和列

Excel能够帮助用户高效地组织数据&#xff0c;还支持复杂的公式计算和数据分析。而随着团队协作的日益频繁&#xff0c;保护数据的准确性和完整性变得尤为重要。在Excel表格中&#xff0c;我们可以通过锁定特定的单元格或区域&#xff0c;防止对单元格内容进行随意修改&#xf…

pycharm上传文件到服务器python代码部署到服务器

文章目录 step1&#xff1a;【Tools】—-【Deployment】—-【Configuration】step2&#xff1a;【 】—-【SFTP】—-【输入服务器名称】step3&#xff1a;【 Deployment path】—-【输入相对地址】step4&#xff1a;【 选中项目右击】—-【Deployment】—-【upload to xxxxx】…

css实现优惠券样式

实现优惠券效果&#xff1a; 实现思路&#xff1a; 需要三个盒子元素&#xff0c;使用 css 剪裁&#xff0c;利用 ellipse 属性&#xff0c;将两个盒子分别裁剪成两个半圆&#xff0c;位置固定在另一个盒子元素左右两边适当位置上。为另一个盒子设置想要的样式&#xff0c;圆角…