小罗碎碎念
今天这期推送,涵盖了从初始切片处理、补丁提取、使用基础模型生成特征嵌入,到最终切片级聚合和分类的完整工作流程。
全切片图像(WSI)处理流程提供了一种系统的方法,通过一系列不同的处理阶段,将十亿像素级的病理切片转化为可行的预测结果。
目前病理AI领域有非常多的基础模型,我们应该如何选择?答案很明显,去测试!
在动手测试之前,我们需要先了解一下,现有的基础模型应该在哪个阶段加入到我们的实验中——简单绘制了一张图,大家通过这张图就能大致清楚了。
流程阶段
- 预处理和补丁提取:将十亿像素的全切片图像(WSIs)转化为可处理的补丁。
- 特征嵌入:使用基础模型从补丁生成嵌入。
- 聚合和分类:将补丁级别的特征组合成切片级别的预测。
交流群
欢迎大家加入【医学AI】交流群,本群设立的初衷是提供交流平台,方便大家后续课题合作。
目前小罗全平台关注量67,000+
,交流群总成员1500+
,大部分来自国内外顶尖院校/医院,期待您的加入!!
由于近期入群推销人员较多,已开启入群验证,扫码添加我的联系方式,备注姓名-单位-科室/专业
,即可邀您入群。
知识星球
对推文中的内容感兴趣,想深入探讨?在处理项目时遇到了问题,无人商量?加入小罗的知识星球,寻找科研道路上的伙伴吧!
一、补丁提取
1-1:流程
流程的第一阶段包括从全切片图像中特定放大倍数(通常为20倍或40倍)下提取补丁。
这是一个关键的预处理步骤,因为它将十亿像素大小的全切片图像转化为可由深度学习模型处理的可管理片段。
- 输入全切片图像(Input WSI):流程起始于输入的全切片图像。
- 读取全切片图像(Read WSI - OpenSlide/ASAP):利用OpenSlide或ASAP工具读取全切片图像数据。
- 组织检测(Tissue Detection - Otsu Thresholding):采用Otsu阈值法对图像中的组织区域进行检测,区分组织与非组织部分。
- 提取参数设定:
- 放大倍数(Magnification Level):一般选择20×或40×,决定图像细节捕捉程度。
- 补丁重叠率(Patch Overlap):常见取值范围0 - 50% ,控制提取补丁间的重叠情况。
- 补丁大小(Patch Size):如256×256像素,平衡细节与计算效率。
- 最小组织百分比(Min Tissue Percentage):如大于50% ,用于过滤掉组织含量低的补丁。
- 组织区域网格采样(Grid Sampling of Tissue Regions):依据设定参数,对检测出的组织区域进行网格采样。
- 提取固定大小补丁(Extract Fixed - Size Patches):按设定大小(如256×256像素)提取补丁。
- 过滤低质量补丁(Filter Low - Quality Patches):去除模糊、属于背景等低质量的补丁。
- 存储补丁或内存处理(Stored Patches or In - Memory Processing):将处理后的补丁存储起来,或者直接在内存中进行后续处理。
该流程是全切片图像处理前期关键步骤,通过合理设置参数提取高质量补丁,为后续特征提取等操作奠定基础 。
1-2:关键考虑因素
参数 | 典型值 | 目的 |
---|---|---|
放大倍数 | 20倍、40倍 | 确定捕获的细节程度 |
补丁大小 | 256×256像素、512×512像素 | 平衡细节和计算效率 |
步长/重叠 | 50%重叠,256像素步长 | 控制补丁覆盖范围的冗余度 |
组织阈值 | 组织含量大于50% | 过滤掉背景/伪影 |
提取的补丁要么存储在磁盘上,要么保存在内存中,以便由特征提取模型立即进行处理。
有效的补丁提取对于捕获相关的组织学模式同时保持计算效率至关重要。
二、使用基础模型进行特征提取
在补丁提取之后,每个补丁都由基础模型进行处理,以生成特征嵌入。这些特征向量以紧凑的、机器可解释的格式捕获基本的视觉信息。
基础模型
该存储库支持用于特征提取的各种基础模型,每个模型都有不同的架构和训练方法:
模型 | 年份 | 关键特征 |
---|---|---|
CTransPath | 2022年 | 基于Transformer的无监督对比学习 |
Virchow | 2023年 | 在百万张切片的数字病理数据集上训练 |
3B-CPath | 2023年 | 在30亿张图像上训练的自监督模型 |
Phikon | 2023年 | 用于自监督学习的掩码图像建模 |
UNI | 2024年 | 用于计算病理学的通用基础模型 |
RudolfV | 2024年 | 由病理学家为病理学家开发 |
Prov-GigaPath | 2024年 | 基于真实世界数据的全切片基础模型 |
从这些模型中提取的特征维度通常在1024到2048之间,并以针对流程下一阶段优化的格式存储。
三、特征聚合和分类
3-1:流程
流程的最后阶段包括将补丁级别的特征聚合为切片级别的表示,并使用这些表示进行分类或预测任务。
- Patch Features(补丁特征):输入是从全切片图像中提取的补丁所对应的特征。
- Aggregation Method(聚合方法):
- 基于多示例学习(MIL - based) :包括CLAM、DSMIL、VarMIL等方法。多示例学习关注实例级注意力,常用于处理一组实例与标签关联不明确的情况 。
- 基于Transformer(Transformer - based) :如TransMIL、DT - MIL、SET - MIL 。Transformer架构通过自注意力机制捕捉补丁间的空间关系等信息。
- 基于图(Graph - based) :像PatchGCN、DeepGraphConv、GTP 。这类方法将补丁间关系建模为图结构,利用图卷积等操作处理信息。
- 经聚合方法处理后,得到Slide - Level Representation(切片级表示),即从切片整体层面表征图像信息。
- Classifier/Predictor(分类器/预测器):将切片级表示输入分类器或预测器,对切片进行分析。
- Final Prediction (Diagnosis/Survival)(最终预测 - 诊断/生存分析):输出最终预测结果,可用于疾病诊断、生存分析等实际应用场景。
该流程是全切片图像分析的关键环节,通过不同聚合方法整合补丁特征,进而实现切片级别的精准预测 。
3-2:聚合方法的实现
该存储库在代码结构中实现了多种聚合方法:
聚合方法的选择取决于:
- 分类任务的性质
- 可用的计算资源
- 所需的可解释性
- 性能要求
每种方法都有不同的特点:
方法类型 | 代表性方法 | 关键特征 |
---|---|---|
基于多示例学习(MIL)的方法 | CLAM、DSMIL、VarMIL | 实例级注意力,双流处理 |
基于Transformer的方法 | TransMIL、PureTransformer | 捕获空间关系,自注意力机制 |
基于图的方法 | PatchGCN、DeepGraphConv | 将补丁间关系建模为图 |
聚合后的特征随后由分类器或预测器用于生成最终的切片级预测,这可能包括二分类/多分类或生存分析。
四、集成的流程工作流
集成的工作流通过一系列明确定义的处理步骤,利用最先进的基础模型和聚合方法来实现最佳性能,将原始的十亿像素全切片图像转化为可行的预测结果。
4-1:预处理
补丁提取(Patch Extraction)
- 组织检测(Tissue Detection):采用一定算法(如Otsu阈值法等)检测全切片图像中的组织区域,区分组织与背景。
- 网格采样(Grid Sampling):对检测出的组织区域进行网格采样。
- 提取补丁(Extract Patches):按照设定参数(如大小、重叠率等)从采样区域提取固定大小的补丁。
4-2:特征提取
- 选择基础模型(Select Foundation Model):从多种基础模型(如CTransPath、Virchow等 )中挑选合适的用于特征提取。
- 批量处理补丁(Batch Process Patches):将提取的补丁批量输入基础模型。
- 存储特征嵌入(Store Feature Embeddings):保存基础模型输出的特征嵌入结果。
4-3:聚合与分类
- 特征聚合(Feature Aggregation):
- 选择聚合方法(Select Aggregation Method):从基于多示例学习(MIL - based)、基于Transformer(Transformer - based)、基于图(Graph - based)等多种聚合方法中选择。
- 聚合特征(Aggregate Features):利用选定方法将补丁级特征聚合成切片级表示。
- 训练/应用分类器(Train/Apply Classifier):使用聚合后的特征训练分类器或直接应用已训练好的分类器。
- 输出预测(Output Prediction):得到并输出切片级别的预测结果(如疾病诊断、生存分析结果等 )。
该流程系统地将全切片图像从原始数据逐步处理,经过特征提取与聚合,最终实现切片级别的有效预测,应用于病理诊断等领域 。
4-4:实现注意事项
在实现或使用全切片图像(WSI)处理流程时,有几个重要的考虑因素:
- 计算要求:全切片图像(WSI)处理计算量很大,特别是对于大切片和复杂的基础模型。通常需要GPU加速。
- 存储管理:该流程会生成大量的中间数据(补丁、嵌入)。高效的存储策略至关重要。
- 批处理:在生成嵌入时,通常使用批处理来优化吞吐量。
- 模型选择:基础模型和聚合方法的选择对性能有重大影响,应根据具体用例进行选择。
- 质量控制:在每个阶段(补丁过滤、嵌入验证)纳入质量控制步骤有助于保持可靠的结果。
这个流程代表了一个模块化框架,其中的组件可以根据特定要求进行选择或替换,以便在有新的基础模型和聚合方法可用时进行定制和扩展。
五、关键预处理步骤
这一部分会描述从全切片图像(WSIs)中提取补丁,并使用基础模型生成特征嵌入的过程。
这是计算病理学流程中的一个关键预处理步骤,将十亿像素大小的全切片图像转换为可由下游聚合方法使用的可管理的特征表示。
补丁提取和特征嵌入过程是全切片图像分析的初始阶段,将原始图像数据转换为适合机器学习算法的数值表示。
补丁提取是将十亿像素大小的全切片图像分割成较小的、固定大小的图像补丁,这些补丁可以单独处理。
5-1:关键考虑因素
考虑因素 | 描述 |
---|---|
放大倍数 | 提取补丁时的缩放级别(例如,20倍、40倍) |
补丁大小 | 每个补丁的尺寸(通常为256×256或512×512像素) |
重叠 | 补丁是否重叠以确保边界区域的覆盖 |
组织检测 | 识别并仅提取包含组织的补丁的方法 |
背景过滤 | 排除组织含量极少或没有组织的补丁的技术 |
颜色归一化 | 标准化染色外观的可选预处理 |
5-2:补丁提取过程
提取的补丁通常以结构化格式组织,以便在特征嵌入期间高效访问:
- 基于文件的存储:将补丁保存为单个图像文件
- HDF5容器:以分层数据格式存储补丁
- 内存映射数组:在处理期间直接访问
- 坐标跟踪:维护每个补丁在原始全切片图像中的空间信息
5-3:特征嵌入
特征嵌入涉及通过基础模型处理每个补丁,以提取有意义的特征,这些特征捕获组织的视觉特征。
基础模型
该存储库支持多种用于特征提取的基础模型:
模型 | 年份 | 描述 |
---|---|---|
CTransPath | 2022年 | 基于Transformer的无监督对比学习模型 |
3B-CPath | 2023年 | 在三十亿张组织病理学图像上训练的自监督模型 |
Virchow | 2023年 | 在一百万张数字病理切片上训练的基础模型 |
Phikon | 2023年 | 使用掩码图像建模的自监督学习模型 |
UNI | 2024年 | 用于计算病理学的通用基础模型 |
RudolfV | 2024年 | 由病理学家开发并为病理学家使用的基础模型 |
Prov-GigaPath | 2024年 | 在真实世界数据上训练的全切片基础模型 |
特征嵌入架构
生成的嵌入具有几个重要属性:
- 维度:每个补丁的特征通常在512到2048之间
- 语义内容:捕获组织学模式、细胞形态和组织结构
- 空间信息:保留在切片内的相对位置
- 兼容性:设计为可由下游聚合方法处理
5-4:与聚合方法的集成
补丁提取和特征嵌入的典型工作流程如下:
- 加载切片(Load slide):“Whole Slide Image”(全切片图像)模块将全切片图像数据加载到“Patch Extraction Module”(补丁提取模块)。
- 补丁提取模块操作:
- 检测组织区域(Detect tissue regions):补丁提取模块检测全切片图像中的组织区域。
- 生成补丁(Generate patches):基于检测到的组织区域生成固定大小的补丁。
- 过滤补丁(Filter patches):对生成的补丁进行过滤,去除低质量或不符合要求的补丁。这几个步骤可能会循环执行,以确保提取到合适的补丁 。
- 处理单个补丁(Process patch):针对每个提取并过滤后的补丁,由“Foundation Model”(基础模型)进行处理,提取特征生成特征嵌入。
- 存储嵌入(Store embedding):将基础模型生成的特征嵌入存储到“Embedding Storage”(嵌入存储)模块。
- 提供嵌入用于聚合(Provide embeddings for aggregation):嵌入存储模块将存储的特征嵌入提供给“Aggregation Method”(聚合方法)模块,用于后续将补丁级特征聚合成切片级表示,以进行分类或预测等任务。
该流程展示了从全切片图像原始数据开始,经过补丁提取、特征嵌入生成,到为聚合操作提供数据的完整过程,是计算病理学图像分析前期的重要环节 。
5-5:最佳实践
在进行补丁提取和特征嵌入时:
- 平衡补丁大小和数量:较小的补丁提供更精细的信息,但会增加计算负载
- 选择合适的放大倍数:较高的放大倍数捕获细胞细节,较低的放大倍数提供组织背景
- 根据任务选择基础模型:不同的模型在不同的组织病理学任务中表现出色
- 保留空间信息:许多聚合方法利用补丁之间的空间关系
- 考虑内存限制:嵌入存储可能需要大量内存资源
5-6:结论
补丁提取和特征嵌入是计算病理学分析中的关键的初始步骤。
这些过程将十亿像素大小的全切片图像转换为结构化的、信息丰富的特征表示,可由下游聚合方法有效处理,以生成切片级预测。
通过将原始图像数据转换为紧凑的、语义的嵌入,基础模型能够在保留准确诊断和预后所需的基本信息的同时,高效处理组织病理学图像。
六、聚合与分类
6-1:聚合和分类流程
聚合和分类构成了全切片图像(WSI)处理流程的最后阶段,在这个阶段,补丁级表示被组合成单个切片级表示,可用于下游任务。
6-2:聚合方法概述
该存储库实现了多种聚合方法,分为三种主要方法和混合技术:
多示例学习(MIL)方法
基于多示例学习(MIL)的方法将切片视为一个“实例(补丁)袋”,目标是聚合来自所有实例的信息以生成切片级预测。
关键实现包括:
- CLAM(聚类约束注意力多示例学习):实现基于注意力的聚合,有单分支(
CLAM_SB
)和多分支(CLAM_MB
)变体 - DSMIL(双流多示例学习):使用两个并行分类器进行实例级和袋级分类
- VarMIL:结合方差池化来捕获肿瘤内异质性
基于Transformer的方法
Transformer架构利用自注意力机制来捕获补丁之间的空间关系。
关键实现包括:
- TransMIL:将Transformer架构应用于多示例学习(MIL)以捕获补丁关系
- PureTransformer:用于全切片图像(WSI)分析的基本Transformer实现
- DTMIL(可变形Transformer多示例学习):使用可变形注意力进行自适应特征聚合(代码中有注释)
有关这些方法的详细解释,请参阅基于Transformer的方法。
基于图的方法
基于图的方法将全切片图像(WSIs)建模为图,其中补丁是具有空间关系的节点。
关键实现包括:
- PatchGCN:将全切片图像(WSIs)建模为二维点云以进行生存预测
- DeepGraphConv:使用图卷积网络进行生存分析
混合方法
混合方法结合了不同方法的元素:
- GTP(图-Transformer):将基于图的补丁表示与Transformer架构相结合
- GMA(图-多头注意力):将图神经网络与多头注意力集成
6-3:聚合方法实现
这是聚合器(Aggregator)相关的类图,展示了不同聚合方法的类结构及其与 Aggregator
接口的关系。
Aggregator
接口
«interface» Aggregator
是一个接口,定义了 forward()
方法。
接口在面向对象编程中用于规范实现类必须具备的方法,这里规定了所有具体聚合器类都要实现 forward()
方法,用于执行聚合操作。
具体聚合器类
- CLAM:基于多示例学习(MIL)的聚合方法,有
CLAM_SB
(单分支)和CLAM_MB
(多分支)两种变体 。还包含instance_eval()
、forward_instance()
、forward_bag()
等方法,可能分别用于实例评估、实例前向传播、“袋”(切片整体)前向传播等操作,以实现基于注意力的聚合。 - TransMIL:基于Transformer的聚合方法,通过
pos_encoding()
方法进行位置编码,处理补丁间的空间关系,forward()
方法用于执行整体的前向传播聚合操作。 - DSMIL:双流多示例学习方法,有
IClassifier
和BClassifier
两个分类器 ,forward()
方法用于结合双流信息进行聚合和前向传播。 - PatchGCN:基于图的聚合方法,有
PatchGCN_Surv
和DeepGraphConv_Surv
等变体,主要用于生存分析相关任务,forward()
方法用于在图结构上进行卷积操作并聚合特征。 - GTP:混合方法(图 - Transformer),通过
forward()
方法融合图结构和Transformer架构进行特征聚合。 - VarAttention:可能是基于可变注意力机制的聚合方法,通过
forward()
方法实现补丁特征的聚合。
这些具体聚合器类都实现了 Aggregator
接口的 forward()
方法,各自依据不同原理和算法,对来自基础模型的补丁嵌入进行聚合处理,为后续的切片级分类等任务提供处理后的特征表示。
6-4:分类技术
聚合后,切片级表示通过分类头进行最终预测。该存储库支持几种分类方法:
标准分类
对于标准分类任务(例如,肿瘤类型识别),全连接层应用于聚合特征:
生存预测
对于生存分析任务,专门的分类头生成风险分数:
6-5:常见聚合模式
多示例学习模式
这是基于注意力机制的补丁嵌入聚合及分类预测流程:
- Patch Embeddings (N × D):输入是从基础模型得到的补丁嵌入,维度为 ( N × D ) (N \times D) (N×D),其中 N N N表示补丁数量, D D D表示每个补丁特征的维度 。
- Attention Network(注意力网络):将补丁嵌入输入注意力网络,该网络用于计算每个补丁的重要程度。
- Attention Scores (N × 1):注意力网络输出注意力分数,维度为 ( N × 1 ) (N \times 1) (N×1) ,每个分数对应一个补丁,反映其在聚合时的权重。
- Weighted Sum(加权求和):根据注意力分数对补丁嵌入进行加权求和操作,将所有补丁的特征按照各自的权重进行整合。
- Aggregated Slide Feature (1 × D):得到聚合后的切片特征,维度为 ( 1 × D ) (1 \times D) (1×D) ,即从切片整体层面得到一个综合特征表示。
- Classification Head(分类头):将聚合后的切片特征输入分类头,分类头通常由全连接层等组成,对特征进行分类处理。
- Prediction(预测):最终输出预测结果,可用于判断切片所属类别等任务,如疾病诊断等。
该流程通过注意力机制聚焦关键补丁,聚合得到切片级特征,进而实现精准分类预测,常用于全切片图像分析等领域。
基于Transformer的模式
- Patch Embeddings (N × D):输入是由基础模型生成的补丁嵌入,维度为 ( N × D ) (N \times D) (N×D) ,其中 N N N代表补丁数量, D D D代表每个补丁特征的维度。
- Position Encoding(位置编码):对补丁嵌入进行位置编码,给每个补丁添加位置信息,以便Transformer架构能捕捉到补丁间的相对位置关系,这对处理具有空间结构的数据很重要。
- Transformer Encoder(Transformer编码器):将经过位置编码的补丁嵌入输入Transformer编码器。Transformer编码器通过自注意力机制等操作,对补丁嵌入进行特征提取和信息整合,输出编码后的特征。
- Encoded Features (N × D):输出的编码特征维度仍为 ( N × D ) (N \times D) (N×D),是经过Transformer编码器处理后的补丁特征表示。
- Pooling Operation(池化操作):对编码后的特征进行池化操作,常见的有最大池化、平均池化等。通过池化操作,将 N N N个补丁的特征聚合为一个切片级别的特征表示,减少数据维度。
- Aggregated Slide Feature (1 × D):得到聚合后的切片特征,维度为 ( 1 × D ) (1 \times D) (1×D),即从切片整体层面得到一个综合特征表示。
- Classification Head(分类头):将聚合后的切片特征输入分类头,分类头一般由全连接层等构成,对特征进行分类处理。
- Prediction(预测):最终输出预测结果,用于判断切片所属类别,比如在病理图像分析中判断疾病类型等。
该流程利用Transformer架构的特性,有效捕捉补丁间关系,聚合得到切片级特征用于分类预测,在全切片图像分析等场景有广泛应用。
基于图的模式
- Patch Embeddings (N × D):输入为由基础模型得到的补丁嵌入,维度为 ( N × D ) (N \times D) (N×D) ,其中 N N N为补丁数量, D D D为每个补丁特征的维度。
- Graph Construction(图构建):将补丁嵌入构建成图结构。在这个图中,节点(Nodes)为各个补丁,边(Edges)表示补丁之间的空间关系,形成Patch Graph 。
- Graph Neural Network(图神经网络):将构建好的图输入图神经网络进行处理。图神经网络通过消息传递等机制,在节点和边之间传播信息,更新节点特征。
- Node Features (N × D’):经图神经网络处理后,得到更新后的节点特征,维度为 ( N × D ′ ) (N \times D') (N×D′) ,这里 D ′ D' D′可能与 D D D不同,是经过图神经网络变换后的特征维度。
- Graph Pooling(图池化):对图进行池化操作,类似于卷积神经网络中的池化,目的是减少图的规模,同时保留重要信息。通过图池化,将多个节点特征聚合为一个切片级别的特征表示。
- Aggregated Slide Feature (1 × D’):得到聚合后的切片特征,维度为 ( 1 × D ′ ) (1 \times D') (1×D′),即从切片整体层面得到一个综合特征表示。
- Classification Head(分类头):将聚合后的切片特征输入分类头,分类头一般由全连接层等构成,对特征进行分类处理。
- Prediction(预测):最终输出预测结果,用于判断切片所属类别,例如在病理图像分析中判断疾病类型等。
该流程利用图结构来建模补丁间的空间关系,借助图神经网络强大的处理能力,聚合得到切片级特征用于分类预测,适用于对空间结构信息敏感的全切片图像分析任务。
6-6:输出格式和解释
该存储库中的大多数聚合方法返回一个字典,包含:
键 | 描述 |
---|---|
logits | 来自分类头的原始输出 |
Y_prob | softmax/sigmoid激活后的概率分数 |
Y_hat | 预测的类别(概率的最大值索引) |
A | 注意力分数(对于基于注意力的方法) |
features | 聚合的切片特征(可选) |
对于生存预测模型,额外的输出包括:
键 | 描述 |
---|---|
hazards | 风险函数值 |
S | 生存函数值 |
risk | 风险分数 |
6-7:总结
聚合和分类阶段是全切片图像(WSI)分析流程的最终阶段,在这个阶段,补丁级特征被组合成有意义的切片级表示,用于诊断或预后任务。
该存储库提供了多种实现策略,每种策略都有不同的优势:
- 基于多示例学习(MIL)的方法擅长处理全切片图像(WSIs)的多示例性质
- 基于Transformer的方法捕获补丁之间的复杂关系
- 基于图的方法利用空间信息和邻域关系
- 混合方法结合了多种范式的优势
聚合方法的选择取决于具体任务、数据集特征和计算约束。
结束语
本期推文的内容就到这里啦,如果需要获取医学AI领域的最新发展动态,请关注小罗的推送!如需进一步深入研究,获取相关资料,欢迎加入我的知识星球!