6.26.4.1 基于交叉视角变换的未配准医学图像多视角分析
1. 介绍
许多医学成像任务使用来自多个视图或模式的数据,但很难有效地将这些数据结合起来。虽然多模态图像通常可以在神经网络中作为多个输入通道进行配准和处理,但来自不同视图的图像可能难以正确配准(例如,[2])。因此,大多数多视图模型单独处理视图,只有在全局池化之后才将它们组合起来,这样就消除了视图之间的任何局部相关性。如果这些局部相关性对图像的解释很重要,则可以通过在更早的空间特征级别上链接视图来改进模型。
提出了一种在空间特征图层次上链接未注册视图的方法。受基于注意力的Transformer模型[13]的启发,该模型在序列或图像的遥远部分之间建立连接,模型使用注意力来连接视图之间的相关区域。将此转换器应用于由CNN生成的中间特征映射。基于可训练的注意力机制,该模型从一个视图中检索特征并将其转移到另一个视图中,在那里它们可以用来为原始视图添加额外的上下文。
提出的方法不需要像素对应{它比较视图A的特征映射中的所有像素与视图B的特征映射中的所有像素}但使用可训练的注意力模型组合视图。通过将其应用于特征映射而不是直接应用于输入,允许模型链接更高级别的特征并降低计算复杂性。由于链接所有像素对很昂贵,因此研究了一种替代实现,即在视觉标记中对具有相似特征的像素进行分组 。
提出了这些新颖的基于像素和基于令牌的交叉视图转换方法,并将它们应用于两个公共数据集。尽管在全局池化之后结合特征是处理未注册医学图像的多视图信息的一种相对常见的方法,但据我们所知,还没有方法使用基于变换的方法在空间特征级别上做到这一点。所提出的模型可以很容易地作为一个模块嵌入到基线多视图架构中,这些架构在全局池化后组合视图。在CBIS-DDSM乳房x线摄影数据集[5,7]和CheXpert胸部x线数据集[6]上评估了我们的方法。通过实验认为早期的特征组合可以提高多视图图像的分类能力。
2. 相关工作
大多数方法都是在后期将视图组合起来,通常是通过将从不同视图中获得的特征向量连接起来,然后使用完全连接的部分进行最终预测。 综合全局特征对于乳房x线摄影图像来说很常见,但很难进行配准[2]。例如,Bekker等人[1]结合了来自特定于视图的分类器的二元预测。Carneiro等[2]在全局池化后结合了特定视图CNN分支的特征。Wu等人[16]讨论了在单个网络中组合视图的多种方法,所有方法都具有特定于视图的卷积分支。其他地方也提出了类似的架构(例如,[10,12])。
其他作品则结合了区域层面的观点。Wang等人[14]提出了一种基于区域的三步方法:在从每个视图中提取大量ROI(感兴趣的区域)之后,使用带有注意力驱动方法的CNN从每个ROI中提取特定于视图的特征。最后,通过基于LSTM的融合模型将两个视图的特征与其他临床特征结合起来。同样,Ma等人[9]提出使用Faster R-CNN来检测每个视图中的roi,然后将其转换为特征向量并组合在多视图网络中。
Zhao等人[17]的工作,应用了一种联合注意机制,将两个视图或两个侧面(左和右乳房)结合起来,生成通道和空间注意图,突出不对称区域。注意力加权的、特定于视图的分支的输出被汇集和连接起来,以产生最终的分类。与我们在视图之间传递特征值的方法不同,Zhao等人只使用交叉视图信息来计算交叉视图的注意权重。
Rubin等人[11]评估了一个具有特定视图卷积分支、全局平均池化和共享全连接层的模型,并报告将正面和侧面视图结合起来可以提高分类性能。最近,Hashir等人[3]在大型胸部x射线数据集上比较了几种多视图模型,结果表明,虽然多视图数据对某些诊断任务有用,但正面视图对其他任务可能足够。
3. 方法
3.1 基线模型
单视图基线(图1a)遵循基本的ResNet架构。该网络由具有卷积和池化层的ResNet块堆栈组成,其次是全局平均池化和计算最终输出的完全连接部分。延迟连接基线(图1b)通过对每个视图使用单独的卷积分支,将该模型扩展到多个未注册视图。在全局池化之后,所有视图的特征向量被连接到一个共享的全连接部分来计算预测。这与其他工作中多视图数据的组合方式类似,如[16]。
3.2 跨视图Transformer模型
与传统的transformer中用于单个序列内部信息传输的自注意力机制不同,使用交叉视图注意力来在视图之间传输信息。 该交叉视图transformer在模型的卷积部分的中间层工作。在第三个ResNet块之后应用该模块,并在全局池化之前保留一个ResNet块。
定义了这个模型的两个变体:一个像素级的变体,它将源视图和目标视图的像素连接起来;一个基于令牌的变体,其中目标视图的像素与源视图中的视觉令牌相连接。
跨视图注意力
使用带有缩放点积注意的多头注意模型[13]。对于每个注意头,使用具有特定视图权重的1 × 1卷积来计算源和目标像素的嵌入。将目标视图的嵌入特征映射重塑为查询矩阵,并将源视图的特征映射重塑为键矩阵
,其中d是嵌入的大小,m和n是源和目标像素的数量。我们还将原始源特征映射重塑为值矩阵
,其中f是特征映射的数量。接下来,我们使用缩放后的点积注意函数[13]进行计算
对于每个目标像素,计算源视图特征的加权和,从而产生每个注意头的 f 个新特征。根据目标特征映射的形状将输出重塑为 个特征映射,并应用1 × 1卷积将这些特征映射约简为 f 个基于注意力的特征映射。
将基于注意力的特征映射a与目标数据的原始特征映射x组合,得到组合后的特征映射y:
Linear是一个1×1卷积,将注意力特征映射到x的特征空间。得到的特征映射y用作以下ResNet块的输入。
语义视觉标记
通过分组语义相关的像素,用较少数量的视觉标记替换源像素。 对源特征映射应用了三层标记化过程。在第一层,给定平坦化的特征映射,其中m是源像素的数量,f是特征映射的数量,我们计算令牌T:
空间维度上的softmax使用标记器权重 来计算空间注意图,然后使用它来计算
中每个标记L的加权特征和。
,之后重复
这个过程,在第三个标记化层中获得最终的标记T集合。在基于标记的交叉Vision Transformer中使用这些标记代替源像素。
4. 数据
CBIS-DDSM
在预处理过程中,使用描述的方法裁剪扫描Wu等人[16]使用阈值分割来定位一个固定大小的裁剪窗口,该窗口包括乳房,但不包括大部分空白背景。将裁剪后的图像降采样至原始分辨率的1/16,以获得305 × 188像素的图像。将强度归一化为µ= 0和σ = 1,在每次扫描的非零前景像素上测量。
CheXpert数据集
一个大型的公共数据集,包含正面和侧面胸部x射线扫描,标注了13种不同的观察结果,标记为阴性、阳性、不确定或未知。选择了具有完整的正面和侧面视图的就诊,并将患者随机分组进行训练(23628个样本,16810个独特患者),验证(3915s, 2802p)和测试(3870s, 2802p)。我们将图像归一化为µ= 0和σ = 1,并使用零填充来为每个视图获得一个恒定大小的390×390像素。
5. 实验
比较了四种模型:单视图模型、后连接模型以及基于令牌和基于像素的交叉视图转换器。所有模型都使用相同的ResNet-18架构来处理卷积和池化块,直至全局平均池化层。在ImageNet上使用预训练的权重,由PyTorch提供。在全局平均池化之后,将两个视图的特征向量连接起来,并将其用作计算输出的单个完全连接层的输入。
在交叉视图变压器中,使用双向注意力,并在最终ResNet块之前应用交叉视图变压器,将变压器特征添加到最终卷积和池化层的输入中。对于CBIS-DDSM数据集,评估了具有12或18个注意头和16,32或48个令牌的模型,以及基于像素的转换器。对于CheXpert数据集,使用基于令牌的转换器,具有6或12个注意头和16或32个令牌。在所有情况下,嵌入大小都设置为每个头部32个特征。
“未注册”的双视图图像指的是两个视图之间的像素对应关系是未知的或不确定的。这可能是因为图像是从不同的角度、时间或条件下捕获的,或者经过了某种变换(如旋转、缩放或平移),导致两个视图中的像素不能直接对应。
介绍了一种新的基于特征图的跨视图transformer方法,用于连接未注册的双视图图像,并在两个数据集上展示了其优于全局连接方法的性能。同时,该方法易于集成到现有的多视图模型中。
相关文章:
6.26.4.1 基于交叉视角变换的未配准医学图像多视角分析
1. 介绍 许多医学成像任务使用来自多个视图或模式的数据,但很难有效地将这些数据结合起来。虽然多模态图像通常可以在神经网络中作为多个输入通道进行配准和处理,但来自不同视图的图像可能难以正确配准(例如,[2])。因此,大多数多视…...
62.指针和二维数组(2)
一.指针和二维数组 1.如a是一个二维数组,则数组中的第i行可以看作是一个一维数组,这个一维数组的数组名是a[i]。 2.a[i]代表二维数组中第i行的首个元素的地址,即a[i][0]的地址。 二.进一步思考 二维数组可以看作是数组的数组,本…...
学生表的DDL和DML
DDL -- 创建学生表 CREATE TABLE students (student_id INT PRIMARY KEY AUTO_INCREMENT,studentname VARCHAR(50),age INT,gender VARCHAR(10) );-- 创建课程表 CREATE TABLE courses (course_id INT PRIMARY KEY AUTO_INCREMENT,course_name VARCHAR(50) );-- 创建教师表 CR…...
视觉灵感的探索和分享平台
做设计没灵感?大脑一片空白?灵感是创作的源泉,也是作品的灵魂所在。工作中缺少灵感,这是每个设计师都会经历的苦恼,那当我们灵感匮乏的时候,该怎么办呢?别急,即时设计、SurfCG、Lapa…...
使用 Reqable 在 MuMu 模拟器进行App抓包(https)
1、为什么要抓包? 用开发手机应用时,查看接口数据不能像在浏览器中可以直接通过network查看,只能借助抓包工具来抓包,还有一些线上应用我们也只能通过抓包来排查具体的问题。 2、抓包工具 实现抓包,需要一个抓包工具…...
RedisConnectionException: Unable to connect to localhost/<unresolved>:6379
方法一:删除配置密码选项 一般是因为你在启动redsi服务的时候没有以指定配置文件启动 把application.yml文件中的redis密码注释掉 方法二 以指定配置文件启动 这样就不用删除yml文件中密码的选项了 在redis,windows.conf 中找到requirepass,删除掉前…...
poi word写入图片
直接使用的百度结果,经过测试可行 1.pom增加jar <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.3</version></dependency><dependency><groupId>org.apach…...
【监控】2.Grafana的安装
在 macOS 上部署 Grafana 和 Prometheus 来监控 Java 服务是一个非常实用的操作。以下是详细的步骤,包括如何安装和配置 Prometheus、Grafana 以及在 Java 服务中集成 Prometheus 的客户端库来收集指标数据。 1. 安装 Grafana 1.1 使用 Homebrew 安装 Grafana br…...
Java入门教程(上)
Java入门教程(上) Java是一种流行的面向对象编程语言,以其简洁、可移植和强大的特性,被广泛应用于各种软件开发领域。对于初学者来说,掌握Java的基础知识和编程技巧是非常重要的。本文将带你从零开始学习Java…...
【Linux】Linux下使用套接字进行网络编程
🔥博客主页: 我要成为C领域大神🎥系列专栏:【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 用于网络应用开…...
强化学习-Q-learning、SARSA和PPO等算法
强化学习 强化学习是一种机器学习方法,它关注智能体如何通过与环境的交互来最大化期望的累积奖励。在这个过程中,智能体不断尝试不同的行为策略,并根据结果调整策略,以提高长期的性能。以下是几种常见的强化学习算法:…...
HarmonyOS SDK助力鸿蒙原生应用“易感知、易理解、易操作”
6月21-23日,华为开发者大会(HDC 2024)盛大开幕。6月23日上午,《HarmonyOS开放能力,使能应用原生易用体验》分论坛成功举办,大会邀请了多位华为技术专家深度解读如何通过根技术、开放能力、场景化控件等亮点…...
Java基础入门day72
day72 mybatis mybatis的实现方式 三种实现方式: 纯xml方式,namespace随便写,id随便写,只要保证整个项目namespaceid唯一即可 xml接口的方式,namespace必须是接口的全路径,id必须是接口的方法名…...
文本编辑命令和正则表达式
一、 编辑文本的命令 正则表达式匹配的是文本内容,Linux的文本三剑客,都是针对文本内容。 文本三剑客 grep:过滤文本内容 sed:针对文本内容进行增删改查 (本文不相关) awk:按行取列 &#x…...
云手机群控功能讲解
接触云手机之前,很多企业或者个人卖家都对群控有浓厚的兴趣,云手机群控具体是什么呢?云手机群控,顾名思义,是指能够同时对多台云手机进行集中控制和管理的功能。打破了传统单台手机操作的限制,实现了规模化…...
gdb用法
创建文件 // main.cpp文件 // 稳态误差 void pid_test_wentaiwucha() {float p 1.5;int t 1; // t 1s;int target 5; // 5m/sfloat output 0;float radis 3; // 稳态误差std::cout << "output: " << std::endl;fo…...
聊一聊UDF/UDTF/UDAF是什么,开发要点及如何使用?
背景介绍 UDF来源于Hive,Hive可以允许用户编写自己定义的函数UDF,然后在查询中进行使用。星环Inceptor中的UDF开发规范与Hive相同,目前有3种UDF: A. UDF--以单个数据行为参数,输出单个数据行; UDF&#…...
配置Nginx二级域名
一、环境 (一)配置 1.服务器 linux CentOS 2.反向代理 Nginx 3.开放端口 云服务器开放端口80和443 二、域名备案 (一)腾讯云 1.腾讯云域名备案流程 备注:一级域名备案后,二级域名可以不用再备案&a…...
LeetCode——判断回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 …...
shell:使用结构化语句(for、while循环)
1. for命令 下面是bash shell中for命令的基本格式。 for var in list docommands done每次for命令遍历值列表,它都会将列表中的下个值赋给$test变量。$test变量可以像for 命令语句中的其他脚本变量一样使用。在最后一次迭代后,$test变量的值会在shell脚…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...

