论文解读之A General-Purpose Self-Supervised Model for Computational Pathology

news2025/1/16 13:49:33

一、前言

目前,有很多无知者认为计算机在疾病诊断上超过了人类,他们的理解是计算机在美丽国的某个什么医师测评上得分超过了人类。这比较可笑和无知。

笔者认为:病理图像的病症复杂、种类繁多,同时数据集很少并且标注极为困难。故而,能用于训练的高质量数据很少,并且模型的可解释性还不足。

因此,AI在疾病诊断上的表现想要接近和超过人类专家还很遥远。故而目前火热的名词只是辅助诊断,并不是AI诊断。

本次讲解的文章是出自麻省总医院和哈佛医学院发表在Nature Medicine期刊上的病理图像基础模型。

其主要研究内容是一种用于解决计算病理学方向问题的自监督模型基础模型——UNI

据笔者理解:计算病理学是使用AI以及其他计算库从而通过计算机系统解决疾病机理方面研究的领域。


二、模型架构

总的来说,UNI是基于ViT-Large的在较大规模的病例图像数据集预训练的一个编码器,可以理解为是对病例图像进行特征提取,然后从而能够将提前到的特征图接到下游的分类或分割模型中执行下游任务。

附带附录中对于几个感兴趣区域的不同维度的注意力热图:

也就是说,模型对病理图片中的小部分区域的处理后的内部是这样的.

这图是分别四种治病等级,从上图的正常知道入侵,内皮的注意力增高,而背景和基质对于诊断没什么帮助,注意力值很低。

三、训练

所用的病例图片数据集:10万张左右,包含20个器官的病理图片:

在预训练阶段,本模型使用了一种自监督算法:DINOv2,这种算法能够提取到鲁棒并且即用的

特征.

这种DINOv2算法是一种判别自监督方法。判别自监督方法使用图片或图片组之间的区别信号来学习特征,但是,在DINOv2之前的这类方法很难扩展到大规模的数据。

这种自监督的训练方法使用了一种从NLP中的聚簇方法受启发而实现的流程,以这种流程去利用数据相似性来进行数据的优化。以此能够去解决数据不平衡和因此导致的在少数领域过拟合的现象。

具体的做法,使用在Image-Net-22K预训练过的自监督ViT-H/16计算图像嵌入,然后使用余弦相似度来衡量图片之间的距离,再使用k-means对未优化过的图片进行聚簇。

DINOv2借鉴了很多在图片和批次水平进行特征学习的判别自监督方法,总的来说是DINO和iBOT方法的结合,聚焦于较大规模的数据,使得这种方法更加快速并且占用内存更少。以下是这种流程的示意图:

下图是DINOv2的示意图:

这里的主要流程是:使用ViT对同一张图片,但是不同裁剪(指的是UNI和UNI Teacher的两边)分别提取特征,这两种特征都来自ViT的类别token(不熟悉ViT的读者可以关注博主,近期也会出一期讲解这个模型的),然后将两个token分别输入到各自的可学习MLP头中,得出两个分数,即然后用softmax函数处理后,以cross-entropy loss的形式计算得出DINO损失(图像级目标):

第二个Loss(块级别目标Patch-level objective):

这里很相似,但是不同的是学生的块要随机mask,但是递给教师的patch的token不mask。在原算法即DINOv2的文章中交代了这两个级别的目标头参数是不共享的,在原文章中得出的结论是不共享效果更好,默认本文章使用的这个算法也没有共享,即这两个token是分别传给教师和学生的iBOT头(区别于上述的可学习MLP头),然后类似上一个损失函数

这里的i对应patch的角标

然后,通过这两个Loss更新学生头的参数,使用上一个迭代的指数移动平均值建立教师头。

预训练(在10万张左右HE染色的病理图片上)使用的是4卡80G A100;下游任务是在单卡3090上执行。

三、可执行的下游任务

加入到分割模型(mask2former)进行微调从而执行分割任务,在这个任务上的微调数据集是感兴趣区域级别的细胞分割数据集SegPath,这个任务是先用UNI对silde或者roi进行处理后,经过转化之后,再经过ViT-Adapter后,输入到mask2former模型中进行下游的分割任务,也是本模型所做的唯一的分割任务,还有很多很多的分类任务。

进行少次分类(few shot classification):即每个类别数据使用固定的少量数据集进行下游的微调。

基于类别原型使用提示词激励的半监督学习来检验其检索能力和少次分类学习的能力。

A class prototype is constructed by averaging the extracted features from ROIs of the same class. For a test ROI, SimpleShot assigns the class of the most similar class prototype (smallest Euclidean distance) as the predicted ROI label.

类别原型是使用对感兴趣区域提取的特征进行平均池化后得到;而SimpleShot则对具有和原型最小的欧式距离的感兴趣的区域赋予类别。

其过程入下图:

对几个原型计算了相似度,选取对某一原型中的图片具有平均相似度最大的类别为预测结果。

欢迎关注无神,一起学习CV以及医工交叉相关知识

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MT3049 区间按位与

思路: 使用ST表。ST表模板可参考MT3024 maxmin 注意点:此题范围较大,所以要避免超时。 ①使用 ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 加快输入输出速度。 ②换行使用\n而不是endl 代码: 1.暴力6/8 #…

通过花生壳对git服务器做内网穿透

很长一段时间内公司的git服务器只能够在公司内网访问,最近出差的同事比较多,通过外网访问git服务器的需求也迫在眉睫,于是选择了贝锐“花生壳”做内网穿透处理。 首先去贝锐官网购买花生壳映射,我选择的是个人标准版本&#xff0c…

JVS-智能BI、逻辑引擎5.28功能更新说明

项目介绍 JVS是企业级数字化服务构建的基础脚手架,主要解决企业信息化项目交付难、实施效率低、开发成本高的问题,采用微服务配置化的方式,提供了 低代码数据分析物联网的核心能力产品,并构建了协同办公、企业常用的管理工具等&am…

5分钟教你APP变现,让商业浪潮为你助力!

在这个数字时代,几乎每个人都有一个或多个应用程序(APP)的想法,它们可能是为了解决特定问题,提供娱乐或简化日常任务。然而,许多开发者面临的最大挑战之一是如何将这些创意转化为盈利的商业模式。本文将探讨…

Android framework修改,禁止指定包名的apk安装到设备上(基于Android10.0.0-r41)

文章目录 Android framework修改,禁止指定包名的apk安装到设备上(基于Android10.0.0-r41)1.新增接口提供给上层调用2.在pms中实现新增的接口3.找到preparePackageLI方法。4.测试验证 Android framework修改,禁止指定包名的apk安装到设备上(基于Android10…

易基因:Adv Sci:NSUN2介导m5C修饰代谢重编程促进肿瘤进展 揭示治疗新选择|项目文章

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 喜讯!易基因表观转录组学RNA-BS技术服务见刊《ADVANCED SCIENCE》 表观遗传修饰包括有丝分裂遗传和稳定的修饰,这些修饰在不改变基础DNA序列的情况下调控基因表达…

Java 阻塞队列与生产者消费者模型

一、阻塞队列 阻塞队列是⼀种特殊的队列,其也遵守队列 "先进先出" 的原则; 阻塞队列是⼀种线程安全的数据结构,并且具有以下特性: 当队列满的时候,继续入队列就会阻塞,直到有其他线程从队列中…

cesium 添加点位弹窗跟随场景移动

cesium 添加点位弹窗并跟随场景移动 完整代码演示可直接copy使用 1 效果图&#xff1a; 2 深入理解 就是原始点位的数据 id>property 点位真实渲染到球体上的笛卡尔坐标系 id>_polyline 的路径下 可以通过 3 代码示例 <!DOCTYPE html> <html lang"en&q…

天若OCR 识别 (本地文字识别转换工具)

前言 天若OCR文字识别本地版是一款在天若OCR文字识别工具v5.0免费开源版的基础上采用Chinese-lite框架和Paddle-ocr框架本地化识别接口编译而成,无需联网也无需申请密钥&#xff0c;纯本地运算&#xff0c;识别准确度和速度很快&#xff0c;操作和天若OCR免费版一样&#xff0…

工业工程师日子越来越受不了?IE们都在做什么?

有一位工业工程师&#xff08;IE&#xff09;毕业在一家工厂工作&#xff0c;入职一年了&#xff0c;本科读的是工业工程&#xff0c;他说理想很美好现实很骨感&#xff0c;以为做和本科一样的职业就能够大展宏图&#xff0c;结果上司天天让他盯生产线&#xff0c;在厂房一站就…

【FL Studio至尊版:音乐制作界的“瑞士军刀”】

​ 导语&#xff1a;在音乐制作领域&#xff0c;有一款软件被誉为“瑞士军刀”&#xff0c;它就是FL Studio。本文将为您揭示FL Studio的四大爆点&#xff0c;带您领略这款软件的独特魅力。 一、FL Studio&#xff1a;音乐制作界的“瑞士军刀” FL Studio&#xff0c;全称F…

Redis基础篇二

Redis基础篇二 Redis线程Redis之后为什么引进了多线程 Redis持久化Redis如何实现数据不丢失AOF日志是如何实现的为什么先执行命令&#xff0c;再把数据写入日志呢&#xff1f;AOF 写回策略有几种&#xff1f;AOF日志过大&#xff0c;会触发什么操作重写 AOF 日志的过程是怎样的…

LeetCode72:编辑距离

题目描述 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符 删除一个字符 替换一个字符 解题思想 删除&#xff1a;dp[i][j] dp[i-1][j]1 增加&#xff1a;对word1增…

word-商务报告排版,规格尺寸,版面设置,调整事项

一、规格尺寸 布局-纸张大小 设计出血区域&#xff0c;在上下左右增加3毫米 网格&#xff1a;布局-对齐-网格设置-打开垂直间隔 可自定义网格起点 调整网格间距 通过网格来调整页边距&#xff0c;按alt键进行微细调整&#xff0c;左边距和右边距通过标尺调 二、设置主题字体和…

kafka-守护启动

文章目录 1、kafka守护启动1.1、先启动zookeeper1.1.1、查看 zookeeper-server-start.sh 的地址1.1.2、查看 zookeeper.properties 的地址 1.2、查看 jps -l1.3、再启动kafka1.3.1、查看 kafka-server-start.sh 地址1.3.2、查看 server.properties 地址 1.4、再次查看 jps -l 1…

word如何快速查看某段字数

在底部的状态栏上找到【字数】部分&#xff1b; 单击【字数】部分&#xff0c;Word将显示包括字符数、字数和段落数在内的详细统计信息。

基于Spring Cloud微服务架构的Java CRM客户关系管理系统源码

在当今竞争激烈的市场环境中&#xff0c;企业要想保持持续的增长和稳定的客户基础&#xff0c;高效管理客户关系显得尤为重要。CRM&#xff08;客户关系管理&#xff09;系统作为一种先进的管理工具&#xff0c;正逐渐成为企业不可或缺的一部分。该系统通过集成销售、市场、服务…

1个月备考PMP拿到3A,拒绝无效努力

考完PMP已经是去年的事情&#xff0c;近期好多姐妹也要考PMP&#xff0c;分享 一下我1个月备考PMP拿到3A通过经历。 为什么想考PMP&#xff1f; PMP认证价值在于它整体的一套项目管理知识体系&#xff0c;掌握课学项目管理的基本术语和它的一个知识框架&#xff0c;我主要是为…

人工智能在乳腺癌领域的最新进展|【医学AI·文献速递·05-29】

小罗碎碎念 2024-05-29&#xff5c;文献速递 今天分享的文章&#xff0c;主题是AI乳腺癌。 第三篇文章&#xff0c;个人觉得是今天最有借鉴价值的——临床故事接地气&#xff0c;工科算法赶潮流。这篇文章主要做的事情是利用多模态多组学&#xff0c;去区分乳腺腺病和乳腺癌&a…

C#中结构struct能否继承于一个类class,类class能否继承于一个struct

C#中结构struct能否继承于一个类class&#xff0c;类class能否继承于一个struct 答案是&#xff1a;都不能。 第一种情行&#xff0c;尝试结构继承类 报错&#xff1a;接口列表中的类型"XX"不是接口interface。 一般来说&#xff0c;都是结构只能实现接口&#x…