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脚…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...