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

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

来自CVPR的一篇文章,用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等基准方法。实验表格比较多那就不贴了,总之就是超越了这些方法。

相关文章:

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

来自CVPR的一篇文章,用CNNTransformer混合模型做图像配准。可变形图像配准是一种在相同视场内比较或整合单模态或多模态视觉数据的技术,它旨在找到两幅图像之间的非线性映射关系。 1,模型结构 首先,使用类似特征金字塔网络&#…...

【MySQL】(基础篇七) —— 通配符和正则表达式

通配符和正则表达式 本章介绍什么是通配符、如何使用通配符以及怎样使用LIKE操作符进行通配搜索,以便对数据进行复杂过滤;如何使用正则表达式来更好地控制数据过滤。 目录 通配符和正则表达式LIKE操作符百分号(%)通配符下划线(_)通配符 通配符使用技巧正…...

HTML静态网页成品作业(HTML+CSS)—— 名人霍金介绍网页(6个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有6个页面。 二、作品演示 三、代…...

MySQL: 索引与事务

文章目录 1. 索引 (Index)1.1 概念1.2 作用1.3 使用场景1.4 索引的使用1.5 索引的使用案例 (不要轻易尝试)1.6 索引背后的数据结构1.7 重点总结 2.事务2.1 为什么要使用事务2.2 事务的概念2.3 事务的使用2.4 对事务的理解2.5 事务的基本特性 1. 索引 (Index) 1.1 概念 索引是…...

2024年最新Microsoft Edge关闭自动更新的方法分享

这里写自定义目录标题 打开【服务】 打开【服务】 windows中搜索服务,如下图: 打开服务界面,找到“Microsoft Edge Update Service (edgeupdate)” 及 “Microsoft Edge Update Service (edgeupdatem)” 两个服务,设置为禁用...

Unity3D TextMeshPro组件使用及优化详解

在Unity3D游戏开发中,文本渲染是一个不可或缺的部分。而TextMeshPro作为Unity的一个插件,提供了更高质量、更灵活的文本渲染功能,为开发者带来了极大的便利。本文将详细介绍TextMeshPro组件的使用技巧以及优化方法,并通过代码实例…...

react 0至1 【jsx】

1.函数调用 // 项目的根组件 // App -> index.js -> public/index.html(root)const count 100function getName () {return test }function App () {return (<div className"App">this is App{/* 使用引号传递字符串 */}{this is message}{/* 识别js变…...

算法训练营day58

题目1&#xff1a;392. 判断子序列 - 力扣&#xff08;LeetCode&#xff09; 暴力解法 class Solution { public:bool isSubsequence(string s, string t) {if(s.size() > t.size()) return false;if(s.size() < t.size()) {swap(s, t);}bool reslut false;int flag …...

JAVA面试中,面试官最爱问的问题。

解释Java中的抽象类和接口的区别。 在Java中&#xff0c;抽象类和接口都是用来定义类的抽象行为和特性的&#xff0c;但它们有一些关键区别&#xff1a; ### 抽象类 1. **定义**&#xff1a;抽象类是使用abstract关键字修饰的类&#xff0c;不能被实例化&#xff0c;只能被继…...

【机器学习300问】115、对比K近邻(KNN)分类算法与逻辑回归分类算法的差异与特性?

在学习了K近邻&#xff08;KNN&#xff09;和逻辑回归&#xff08;Logistic Regression&#xff09;这两种分类算法后&#xff0c;对它们进行总结和对比很有必要。尽管两者都能有效地执行分类任务&#xff0c;但它们在原理、应用场景和性能特点上存在着显著的差异。本文就是想详…...

Selenium IDE 工具

官网 ## https://blog.csdn.net/weixin_49770443/article/details/129366721## https://www.selenium.dev/selenium-ide/是什么&#xff1f; Selenium IDE是 Selenium Suite 下的开源 Web 自动化测试工具。 Selenium IDE 一个用于火狐 (firefox) 浏览器的插件&#xff0c;打开…...

python的open函数

1.open() 1.1 参数11.2 参数21.3 参数32.with open() as 3.open函数常用的方法 3.1 读3.2 写3.3 获取文件读写类型3.4 指针移动3.5 当前指针位置3.6 truncate在python中使用open函数对文件进行处理。 1.open() python打开文件使用open()函数,返回一个指向文件的指针。该函数常…...

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第六周) - 预训练模型

预训练模型 1. 预训练模型介绍 1.1. ELMo1.2. GPT1.3. BERT 2. Seq2Seq 2.1. T52.2. BART 3. Tokenization 1. 预训练模型介绍 在预训练语言模型出现之前&#xff0c;统计语言模型&#xff08;如N-gram模型&#xff09;是主流方法。这些模型利用统计方法来预测文本中的下一个…...

【Redis】Redis常见问题——缓存更新/内存淘汰机制/缓存一致性

目录 回顾数据库的问题如何提高 mysql 能承担的并发量&#xff1f;缓存解决方案应对的场景 缓存更新问题定期生成如何定期统计定期生成的优缺点 实时生成maxmemory 设置成多少合适呢&#xff1f;项目类型上来说 新的问题 内存淘汰策略Redis淘汰策略为什么redis要内存淘汰内存淘…...

【redis】redis事务

目录 Redis事务四个命令redis事务特性redis事务执行原理 Redis 事务的使用基本使用watch 监控watch 实现原理补充 Redis事务 Redis事务是一种将多个命令打包成一个单独操作的机制&#xff0c;它保证了在执行这些命令期间&#xff0c;其他命令无法插入。 四个命令 Redis事务通…...

编程入门费用:揭开学习成本的神秘面纱

编程入门费用&#xff1a;揭开学习成本的神秘面纱 编程&#xff0c;这一曾被视为专业领域的技能&#xff0c;如今已逐渐走入大众视野。越来越多的人开始尝试学习编程&#xff0c;然而&#xff0c;对于初学者来说&#xff0c;编程入门费用无疑是一个重要的考虑因素。那么&#…...

js/javascript获取时间戳的5种方法

1.获取时间戳精确到秒,13位 const timestamp Date.parse(new Date()); console.log(timestamp);//输出 1591669256000 13位 2.获取时间戳精确到毫秒,13位 const timestamp Math.round(new Date()); console.log(timestamp);//输出 1591669961203 13位 3.获取时间戳精…...

window系统下为django自动绘制模型类关系图

Django 提供第三方包 django-extensions&#xff0c;可以用来将 Django 中的 Models 生成 E-R 图。 1 安装包 pip install django-extensions 2 配置 在 Django settings.py 文件&#xff0c; INSTALLED_APPS 中添加 django_extensions INSTALLED_APPS (django_extension…...

Redis的数据淘汰策略和集群部署

05- Redis的数据淘汰策略有哪些 ? Redis 提供 8 种数据淘汰策略&#xff1a; 淘汰易失数据(具有过期时间的数据) volatile-lru&#xff08;least recently used&#xff09;&#xff1a;从已设置过期时间的数据集&#xff08;server.db[i].expires&#xff09;中挑选最近最少…...

解决CentOS 7无法识别ntfs的问题

解决CentOS 7无法识别ntfs的问题 方式一&#xff1a; Centos默认不支持ntfs文件格式&#xff0c;直接在Centos7上插U盘或移动硬盘无法识别&#xff0c;安装 ntfs-3g即可&#xff1a; # yum install epel-release -y # yum install ntfs-3g -y[rootbogon ~]# rpm -qa | grep nt…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...