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

基本信息

原文链接:[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.实验结果

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

听说现在二建不值钱了,还有必要考吗?

面对这样的现状,新手们都会不禁要问:考证真的有用吗?它是否值得我们投入时间和精力?首先,我觉得我们需要对自己有一个清晰的认识,包括你的就业状况。 ①如果你已经在事业单位工作,那么考证可能对你来说并不是那么必要 在事业单…

图片写入GPS经纬高信息

近期项目中需要往java平台传输图片,直接使用QNetworkAccessManager和QHttpMultipart类即可,其他博文中有分享。 主要是平台接口对所传输图片有要求:需要包含GPS信息(经度、纬度、高度)。 Qt无法直接实现,…

【React】React18核心源码解读

前言 本文使用 React18.2.0 的源码,如果想回退到某一版本执行git checkout tags/v18.2.0即可。如果打开源码发现js文件报ts类型错误请看本人另一篇文章:VsCode查看React源码全是类型报错如何解决。 阅读源码的过程: 下载源码 观察 package…

智源重磅发布 Emu3:颠覆AI多模态领域的革命性多模态大模型

在2024年10月21日,智源研究院正式发布了新一代的革命性多模态大模型——Emu3。这一突破标志着AI生成技术进入一个全新阶段,它不仅颠覆了当前的主流扩散模型(例如Stable Diffusion),还为图像、文本和视频生成任务带来了…

HTML+CSS实现点赞效果

效果演示 HTMLCSS实现点赞效果 HTML <div class"heart-container" title"Like"><input type"checkbox" class"checkbox" id"Give-It-An-Id"><div class"svg-container"><svg viewBox&qu…

1.前提配置 关防火墙 关selinux

1.前提配置 关防火墙 关selinux 2.安装web服务程序nginx 未安装则需重新设置挂载点 若已安装&#xff0c;则查看系统中是否存在 3.当前主机添加多地址&#xff08;ip a&#xff09; 配置了三个IP地址 查看IP地址是否配置成功 4.自定义nginx配置文件通过多地址区分多网站 /…

MySQL中的优先规则

在图片的例子中&#xff0c;有两个条件&#xff1a; 第一个条件是job_id是AD_PRES并且薪水高于15,000。 第二个条件是job_id是SA_REP。 在图片中的例子有两个条件&#xff1a; 第一个条件是job_id是AD_PRES或者SA_REP。 第二个条件是薪水高于$15,000。

java如何部署web后端服务

java如何部署web后端服务 简单记录一下&#xff0c;方便后续使用。 部署流程 1.web打包 2.关掉需要升级的运行中的服务 /microservice/hedgingcustomer-0.0.1-SNAPSHOT/conf/bin/ 执行脚本 sh shutdown.sh 3.解压文件 返回到/microservice 将升级包上传到该路径&#x…

分布式ID多种生成方式

分布式ID 雪花算法&#xff08;时间戳41机器编号10自增序列号10&#xff09; 作用&#xff1a;希望ID按照时间进行有序生成 原理&#xff1a; 即一台带有编号的服务器在毫秒级时间戳内生成带有自增序号的ID,这个ID保证了自增性和唯一性 雪花算法根据结构的生成ID个数的上线时…

数字图像处理:图像分割应用

数字图像处理&#xff1a;图像分割应用 图像分割是图像处理中的一个关键步骤&#xff0c;其目的是将图像分成具有不同特征的区域&#xff0c;以便进一步的分析和处理。 1.1 阈值分割法 阈值分割法&#xff08;Thresholding&#xff09;是一种基于图像灰度级或颜色的分割方法&…

PHP短视频实训平台系统小程序源码

&#x1f3a5;短视频新纪元&#xff01;短视频实训平台系统&#xff0c;解锁创作新技能&#x1f511; &#x1f680;一键入门&#xff0c;创作无界&#x1f310; 想要玩转短视频&#xff0c;却不知从何下手&#xff1f;短视频实训平台系统是你的创意启航站&#xff01;平台内…

「C/C++」C++11 之 std::bitset 二进制数据处理模板库

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

python爬虫-爬取蛋白晶体和分子结构

文章目录 前言一、环境准备二、爬取PDB蛋白结构1.下载指定数量的随机PDB2.下载指定靶标的PDB二、从ZINC爬取小分子mol2结构1.下载指定数量的随机分子2.下载指定分子三、从ChEMBL爬取小分子信息1.下载指定ID的SMILES(测试不成功,网站变成readonly了)四、总结爬虫1.查看对应的…

【Vue】Vue3.0(十)toRefs()和toRef()的区别及使用示例

上篇文章&#xff1a;Vue】Vue&#xff08;九&#xff09;OptionsAPI与CompositionAPI的区别 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Vue专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年10月15日11点13分 文章目录 toRefs()和toRe…

生成模型初认识

生成模型初认识 参考学习资料&#xff1a;李宏毅-机器学习 以下为课程过程中的简易笔记 生成模型 为什么要用生成模型&#xff1f;——创造力&#xff1a;同一个输入&#xff0c;产生不同的输出&#xff08;distribution&#xff09;&#xff0c;有一定概率发生某种随机事件…

2024 OSCAR|《开源体系建设路径模式洞察与建议》即将发布

近年来&#xff0c;开源体系建设受到高度重视&#xff0c;国家软件发展战略和“十四五”规划纲要均对开源作出重要部署&#xff0c;为我国开源体系建设和发展指明了方向。9月25日&#xff0c;工业和信息化部党组书记、部长金壮指出要加强开源体系建设&#xff0c;助推产业高质量…

大语言模型(LLM)入门级选手初学教程

链接&#xff1a;https://llmbook-zh.github.io/ 前言&#xff1a; GPT发展&#xff1a;GPT-1 2018 -->GPT-2&GPT-3&#xff08;扩大预训练数据和模型参数规模&#xff09;–> GPT-3.5&#xff08;代码训练、人类对齐、工具使用等&#xff09;–> 2022.11 ChatG…

c++初阶--string类(使用)

大家好&#xff0c;许久不见&#xff0c;今天我们来学习c中的string类&#xff0c;在这一部分&#xff0c;我们首先应该学习一下string类的用法&#xff0c;然后再试着自己去实现一下string类。 在这里&#xff0c;我使用的是这个网站来查找的string类&#xff0c;这里面的内容…

mysql--基本查询

目录 搞定mysql--CURD操作&#xff0c;细节比较多&#xff0c;不难&#xff0c;贵在多多练 1、Create--创建 &#xff08;1&#xff09;单行插入 / 全列插入 &#xff08;2&#xff09;插入否则替换 &#xff08;3&#xff09;替换 2、Retuieve--select 1&#xff09;全…

Android系統Audio hal

一.Android系統Audio hal简介 Android系统的音频硬件抽象层(HAL)是系统与硬件之间的桥梁,允许音频应用和服务访问底层音频硬件,而无需直接与硬件交互。 主要组件: 音频 HAL 接口:定义了应用和服务如何调用音频硬件的规范。典型的音频操作包括播放、录制、音量控制等。 …