A Graph-Transformer for Whole SlideImage Classification文献笔记

server/2024/10/22 3:22:55/

基本信息

原文链接:[2205.09671] A graph-transformer for whole slide image classification (arxiv.org)

源码:https://github.com/vkola-lab/tmi2022

提出了一种融合了基于图的WSI表示和用于处理病理图像的视觉转换器,称为GTP,以预测疾病等级。其中使用对比学习框架来生成特征提取器,计算单个WSI补丁的特征向量,表示图的节点,然后构建GTP框架。

正常与LUAD与LSCC:平均准确率= 91.2±2.5%

外部测试数据(TCGA)的平均准确度= 82.3±1.0%。

基本方法

1. Graph-Transformer

(1) 总体

点集G=(V,E),V为表示图像patch的节点集,E为V中表示两个图像patch是否相邻的节点间的边集。

我们将G的邻接矩阵记为A = [Aij],其中如果存在一条边(vi, v j)∈E,则Aij = 1,否则Aij = 0。一个图像patch必须与其他patch相连,并且相邻的patch最多可以被8个相邻的patch包围,因此A的每一行或每一列的和至少为1,最多为8。

一个图可以关联一个节点特征矩阵F,F\in R^{N\times D},其中每一行包含为一个图像patch计算的d维特征向量,即节点。

  • 将每张整张幻灯片图像(WSI)划分为小块。
  • 去除主要包含背景的patch,通过基于对比学习的patch embedding模块将剩余的patch嵌入到feature vector中。
  • 使用特征向量构建图形,将每个选择的patch表示为一个节点,并在整个WSI上使用具有8节点邻接矩阵的节点构建图。使用Transformer将图形作为输入并预测wsi级别的类标签。

(2)patch的特征提取

使用对比学习来训练卷积神经网络(CNN),该网络通过潜在空间中的对比损失最大化同一图像patch的两个不同增强视图之间的一致性来产生嵌入表示。训练开始于将训练集中的wsi平铺成小块,并随机抽取一小批K个小块。对每个patch (p)应用两个不同的数据增强操作,得到两个增强的patch (pi和pj)。

数据增强的方法有:随机颜色失真、随机高斯模糊和随机裁剪

同一patch的两个增广patch对记为正对。对于一个小批量的K个patch,总共有2K个增强patch。给定一个正对,其他2K−1个增广patch被认为是负样本。随后,使用CNN从每个增广patch (pi, pj)中提取有代表性的嵌入向量(fi, fj)。然后通过projector将嵌入向量映射到潜在空间(zi, zj),在潜在空间(zi, zj)中应用对比学习损失。正对增广patch (i, j)的对比学习损失函数定义为:

a.图卷积层

\widetilde{A}为A的对称归一化邻接矩阵,M为图卷积层数,\widetilde{A}=A+I,\widetilde{D}是对角矩阵,且\widetilde{D}_{i,j}=\sum_{j} \widetilde{A}_{i,j}。Hm为第m层GC的输入,H1用节点特征矩阵f初始化。W_m\in R^{C_m\times C_{m+1}}为图卷积层的可学习滤波器矩阵。其中Cm为输入维数,Cm+1为输出维数。

b.Transformer层

以邻接矩阵的形式对图卷积层使用位置嵌入。WSI图的邻接矩阵反映了节点之间的空间信息和连通性,在进行图卷积时保留了这些信息。

c.池化层

在图卷积层和变压器层之间添加了最小池化层,将输入数量从数千个节点减少到数百个节点。min-cut池化在保留相邻节点的局部信息的同时,减少了节点数量。

min-cut池化背后的思想是将min-cut问题通过具有自定义损失函数的池化层来实现。

通过最小化自定义损失,池化层学习在任何给定的图上找到min-cut聚类,并聚类以减小图的大小。

(3)构建图

GTP使用特征节点矩阵F和相邻矩阵A构造一个图来表示每个WSI。

特征节点矩阵F:通过对比学习训练的Resnet得到的d维嵌入向量fi,得到节点特征矩阵F = [f1;f2,……;fN], F\in R^{N\times D}    ,N为来自一个WSI的patch数。注意,N是可变的,因为不同的wsi包含不同数量的补丁。

相邻矩阵A:根据WSI上对应patch的空间位置在F中定义一对节点之间的边。如果补丁i是补丁j在WSI上的邻居,则GTP在节点i和节点j之间创建一条边,并设置Aij = 1, Aji = 1,否则Aij = 0, Aji = 0。

实验

1.实验设置

在20倍放大率下,对每个WSI进行裁剪,形成一个由512 × 512个无重叠斑块组成的袋,丢弃非组织面积> 50%的背景斑块。使用Resnet18作为CNN主干进行特征提取。

采用Adam优化器,初始学习率为0.0001,学习率调度采用余弦退火方案,小批量大小为512。我们使用一个图卷积层,设置Transformer层配置为L = 3, MLP大小= 128,D = 64, k = 8 (Eq.4, Eq.3)。GTP模型在150次迭代中以8个示例为批次进行训练。初始学习率设置为10−3,在第30步和第100步分别衰减为10−4和10−5。

2.实验结果


http://www.ppmy.cn/server/133780.html

相关文章

鸿蒙测试-常见问题记录

文章目录 queuesize:0, msg:error: failed to install bundle. code:9568322 error: signature verification failed due to not trusted app source. queuesize:0, msg:error: failed to install bundle. code:9568322 error: signature verification failed due to not trust…

Vue2的依赖注入(跨级通信)基本使用

provide(提供) &#xff0c;inject(注入) 祖先级组件用provide传递数据,它的所有后代都可以通过inject取到数据 使用演示&#xff1a; //祖先组件 <template><div>父组件传的值&#xff1a;{{num}} </div> </template><script> //导入子组件 i…

工业自动化为什么依赖光耦隔离器 --- 腾恩科技

光耦合器隔离器在工业自动化中必不可少&#xff0c;可确保信号传输&#xff0c;同时保护敏感电子设备和人员免受高压影响。选择合适的光耦合器隔离器取决于对操作环境和隔离要求的了解。本文将重点介绍在为工业应用选择光耦合器隔离器时需要考虑的关键因素。 光耦合器隔离器在工…

QT中的D指针和Q指针

前提&#xff1a;之前在工作当中遇到一个崩溃问题&#xff0c;由于是一套很老的代码配合新的库&#xff0c;所以导致了引用的库和头文件产生了不匹配的问题&#xff0c;最后还是公司的大佬通过阅读汇编定位到的问题&#xff0c;之前也了解过Qt是如何规避这类问题的&#xff0c;…

exchange_proxy exchange 安全代理

1. 软件简介 exchange_proxy 是由小米公司开发并开源的,以 go 语言开发的 exchange 安全代理,可以将内网的 exchange 服务器的 https 服务安全地发布出去, 支持的功能如下: WEB 端增加 OTP 二次认证手机端增加设备激活绑定的功能屏蔽了 PC 端的 EWS 协议(意思就是不支持)…

【图像去噪】论文精读:Simple Baselines for Image Restoration(NAFNet)

请先看【专栏介绍文章】:【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中) 文章目录 前言Abstract1 Introduction2 Related W…

SSM与Springboot是什么关系? -----区别与联系

SSM&#xff08;Spring Spring MVC MyBatis&#xff09;和 Spring Boot 都是基于 Spring 框架的技术栈&#xff0c;但它们在使用方式、配置复杂度以及设计理念上有所不同。下面是 SSM 和 Spring Boot 之间的关系及主要区别&#xff1a; SSM (Spring Spring MVC MyBatis) 定…

WebSocket介绍和入门案例

目录 一、WebSocket 详解1. 定义与特点&#xff1a;2. 工作原理&#xff1a;3. 应用场景&#xff1a; 二、入门案例 一、WebSocket 详解 1. 定义与特点&#xff1a; WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时、双向的数据传…