无需细胞级标注,这个医学AI模型就能通过病理切片实现基因突变的预测

小罗碎碎念

在医学AI领域,急性髓系白血病(AML)的基因检测意义重大。

目前,AML的精准风险分层依赖基因检测,像NPM1和FLT3-ITD突变的检测至关重要,但传统检测方法受资源限制,而基于全切片图像(WSI)的深度学习虽有潜力,却面临图像复杂和标注困难等问题。

为突破困境,研究团队构建了基于多实例学习(MIL)和集成技术的深度学习模型。

https://doi.org/10.1038/s41698-025-00804-0

他们从572例患者获取WSI和基因数据,通过独特的数据处理流程,如三步细胞图像生成、数据上采样平衡数据等,训练模型。

Overview of the proposed method

结果显示,该模型在预测NPM1和FLT3-ITD突变上表现出色,AUC分别达到0.90 ± 0.08和0.80 ± 0.10,且发现blasts细胞对突变预测意义关键。

这一研究成果为医学AI研究提供了新思路。其方法在无需细胞级手动标注下实现高精度预测,节省人力。

Overview of the proposed method

不过,模型仍有提升空间,如降低FLT3-ITD突变的假阳性率。后续研究可从嵌入更多基因特征、提升图像分辨率着手,这将推动医学AI在白血病诊断领域进一步发展,助力实现更精准的临床诊断和治疗。


交流群

欢迎大家加入【医学AI】交流群,本群设立的初衷是提供交流平台,方便大家后续课题合作。

目前小罗全平台关注量61,000+,交流群总成员1400+,大部分来自国内外顶尖院校/医院,期待您的加入!!

由于近期入群推销人员较多,已开启入群验证,扫码添加我的联系方式,备注姓名-单位-科室/专业,即可邀您入群


知识星球

对推文中的内容感兴趣,想深入探讨?在处理项目时遇到了问题,无人商量?加入小罗的知识星球,寻找科研道路上的伙伴吧!


一、文献概述

文章提出一种基于多实例学习(MIL)和集成技术的深度学习模型,可从急性髓系白血病(AML)的全切片图像(WSI)预测基因突变,为临床诊断提供支持。

作者信息

1-1:研究背景

AML是一种侵袭性血液恶性肿瘤,NPM1和FLT3-ITD突变常见且对治疗意义重大,但现有分子检测存在资源不均和耗时久的问题。

深度学习虽在医学图像处理有进展,但分析骨髓穿刺液WSI面临细胞结构复杂、手动标注繁琐等挑战


1-2:研究方法

  • 数据集:纳入572例AML患者的WSI和基因突变数据,经染色和扫描处理,确定基因突变状态。
  • 细胞图像生成:对WSI骨髓涂片经三步处理获取细胞图像,依次是用PyHIST工具生成补丁、用基于DenseNet121的模型选择ROI补丁、用基于YOLOv4的模型检测白细胞。
  • 数据增强:针对数据不平衡,将突变WSI细胞分成多组(袋),每组2000个细胞;标准WSI随机选2000个细胞为一袋,平衡数据集并加速训练。
  • 多实例学习:MIL将二进制分类任务转化为基于“袋”的学习问题,训练分推理和学习阶段,用交叉熵损失函数更新模型权重。
  • 集成学习:采用损失加权法,选取损失值最低的前三个MIL模型组合,增强模型预测能力。

1-3:研究结果

  • ROI选择和白细胞检测:开发的管道能有效选择ROI补丁,减少后续处理数据量。YOLOv4模型检测白细胞,设置相关参数确保选到高质量细胞。
  • 模型性能:细胞级上采样结合集成学习提升模型性能,NPM1突变和FLT3-ITD预测的AUC分别达0.90±0.08和0.80±0.10,且降低了假阳性率。
  • 细胞特征重要性:blasts是预测基因突变的关键指标,突变样本中blasts比例高,非突变样本中比例低。

二、建模思路

这是从急性髓系白血病骨髓涂片全切片图像(WSI)中处理图像块(Patches)的部分流程,主要步骤如下:

2-1:WSI掩膜处理

原始全切片图像(Original WSIs)经过WSI掩膜操作,生成一系列图像块(Patches in WSIs) 。

(WSI Masking)

在这个过程中,对生成的图像块进行筛选,决定保留(keep)或丢弃(drop)某些图像块,以获取合适的图像块集合用于后续分析。


2-2:感兴趣区域检测

将一个WSI中的图像块(Patches in a WSI)输入到基于先前工作[32]微调过的预训练DenseNet121模型中。

(ROI Detection)

该模型结合Softmax分类器,对输入的图像块进行分类,从而区分出感兴趣区域(ROI)图像块和非ROI图像块 。

这一步有助于聚焦于对后续分析更有价值的图像区域,去除无关或干扰性的图像部分。


2-3:细胞检测

将之前得到的感兴趣区域图像块(ROI Patches)输入到基于先前工作[32]微调过的预训练YOLOv4模型。

(Cell Detection)

该模型由Backbone、Neck和Dense Prediction等部分构成,能检测出ROI Patches中的白细胞细胞,得到单个图像块中的细胞(Cells in Single Patch),进而获取全切片图像中的细胞集合(Cells in a WSI) 。


2-4:数据上采样及成袋处理

针对全切片图像中的细胞(Cells in WSIs) ,由于突变WSI(Mutated WSI)和标准WSI(Standard WSI)数量可能不均衡,为平衡数据,将突变WSI随机选取细胞组成多个“袋”(Bag),即一个突变WSI被划分成多个突变袋 。

(Upsampling Mutated WSIs to Bags)

同时,从标准WSI中也随机选取细胞组成袋。

这些袋(Bags for Training)将用于后续的多实例学习训练,袋分为带有突变标签(Mutated Label)的袋和带有标准标签(Standard Label)的袋 。


2-5:模型训练及预测

(Multiple Instance Learning Training)+(Ensemble Learning)

多实例学习训练

  • 细胞推理(Cell Inference):将训练用的“袋”(Bags for Training ,含突变袋和标准袋)输入到预训练的CNN模型中。模型计算每个细胞的突变概率(Cell Probability),并依据概率对细胞进行排名,选取排名前K的细胞(Top K Cells) 。
  • 学习(Learning):针对每个“袋”,基于选取出的前K个细胞,通过对数据集的全推理过程,依据细胞突变概率排名来学习这些细胞,进而更新模型权重 。

集成学习

训练得到多个不同参数设置(如MIL 1, K = 1;MIL 2, K = 2等 )的多实例学习(MIL)模型。

通过对这些模型预测结果按照一定权重(W1、W2、…、Wk )进行加权组合,综合各模型优势,最终输出样本是突变(Mutated)或标准(Standard)状态的预测结果 。


三、方法

3-1:数据集

1994年至2015年间,572例在国立台湾大学医院(NTUH)确诊为新发急性髓系白血病(AML)的患者被纳入本研究。

骨髓涂片和外周血涂片经改良Romanowsky染色后,使用配备40x NA 0.75物镜的滨松NanoZoomer数字玻片扫描仪扫描成全切片图像(WSIs),分辨率约为0.23 μm/像素。

在HiSeq平台(Illumina,加利福尼亚州圣地亚哥)上使用TruSight骨髓检测组确定基因突变状态 ,突变标注为1(表示存在致病性或可能致病性突变)或0(表示不存在此类突变) 。

在本队列中,共发现34个基因经常发生突变,本研究列出突变频率超过10%的基因,并选择突变频率最高的前两个作为研究目标(表1)。

Table 1 | Number ofWSIs with mutation frequencies exceeding 10% in our cohort


3-2:细胞图像生成

WSIs的骨髓涂片需经过三步过滤过程来识别细胞,以供后续模型训练。

首先,使用PyHIST工具生成图像块 。该工具用于过滤掉WSIs中的背景区域和非涂片区域(图1a)。

image-20250426100101782

以最高分辨率(40倍放大)提取512×512像素的图像块,在PyHIST中使用基于图的分割方法 作为“生成方法”参数,内容阈值设为0.05。

“tilecross-downsample”和“mask-downsample”参数采用默认值,“output-downsample”参数设为1,以获取原始分辨率的图像块。

其次,由PyHIST工具生成的图像块进一步分为感兴趣区域(ROI)和非ROI图像块。由于缺乏手动标注的ROI和非ROI数据,作者使用从先前研究获得训练权重的ROI检测模型 。该模型基于DenseNet121 ,在参考文献[31]中标记的图像块(ROI/非ROI)上进行预训练和微调。

在此步骤(图1b)中,去除含有密集白细胞或无白细胞的图像块,显著减少了后续细胞检测建模步骤的输入数据量。

image-20250426100317000

在ROI选择之后,每个WSI中的ROI图像块将用于第三步获取细胞。作者应用从同一研究获得训练权重的细胞检测模型 。

该模型基于YOLOv4 ,在参考文献[31]中经过训练以预测白细胞目标的边界框。在此步骤中,检测骨髓穿刺液每个ROI图像块中的所有白细胞(图1c)。

image-20250426100356911


3-3:数据上采样

WSI队列存在显著的类别不平衡,与大量标准样本相比,突变样本相对较少。

这种不平衡可能影响训练结果,因为模型可能会偏向于将所有WSIs预测为“标准”,从而忽略突变病例。

为解决这种不平衡,作者引入上采样策略,将突变WSI的细胞划分为多个集合(袋),每个集合包含固定数量的细胞(图1d)。

image-20250426100451792

先前研究表明,500个细胞的集合足以捕捉骨髓细节 。在本研究中,作者将此数量增加四倍至2000个细胞,以增强每个WSI的代表性。

在多实例学习(MIL)训练期间,这些袋被视为独立样本,有效增加了训练数据中的突变类别,使数据集更加平衡。

除了解决数据不平衡问题,作者还面临标准WSIs的挑战,这些样本未进行上采样且每个包含数万个细胞,大量的输入数据会显著减慢模型训练速度。

为解决此问题,作者从每个标准WSI中随机选择固定数量(2000个)的细胞作为一个袋,通过减少输入量来加快训练过程


阳性全切片图像(WSIs)至少包含一个阳性实例,而阴性WSIs不包含任何阳性实例。

在本研究中,“袋(bags)”指上采样后创建的袋,“实例(instances)”表示袋中的单个细胞。

经过上述细胞检测过程,生成袋 B = { B i ; i = 1 , 2 , … , n } B = \{B_i; i = 1, 2, \ldots, n\} B={Bi;i=1,2,,n} ,其中 B i = { c i , 1 , c i , 2 , … , c i , m i } B_i = \{c_{i,1}, c_{i,2}, \ldots, c_{i,m_i}\} Bi={ci,1,ci,2,,ci,mi} 是包含 m i m_i mi 个细胞的袋(图1e)。

image-20250426100523888

大多数袋中 m i = 2000 m_i = 2000 mi=2000 ,但来自突变WSI的单个袋可能包含少于2000个细胞,因为WSI的细胞总数通常不是2000的精确倍数。

作者根据袋来源WSI的标签将袋标记为“突变”或“标准”。在一个袋中,使用嵌入模型对所有细胞进行分类,其训练过程在以下段落详细说明。然后根据细胞的突变概率对细胞进行排名。MIL任务涉及学习一种细胞级嵌入,以有效识别并区分突变袋中的特征细胞与标准细胞


在训练过程中(图1e),MIL训练过程由两个交替阶段组成:推理阶段和学习阶段

首先,采用DenseNet121模型并进行微调作为嵌入模型。它使用PyTorch库提供的预训练权重初始化,这些权重先前在ImageNet数据集上进行过训练。

该模型表示为函数 f θ f_\theta fθ ,当前参数 θ \theta θ 将输入细胞 c i , j c_{i,j} ci,j 映射到“突变”概率。在MIL训练的细胞推理阶段,为袋 B i B_i Bi 导出向量列表 P i = { p i , 1 , p i , 2 , … , p i , m i } P_i = \{p_{i,1}, p_{i,2}, \ldots, p_{i,m_i}\} Pi={pi,1,pi,2,,pi,mi} ,表示细胞 c i , j c_{i,j} ci,j j = 1 , 2 , … , m i j = 1, 2, \ldots, m_i j=1,2,,mi )属于“突变”类别的概率。

在此阶段,模型函数 f θ f_\theta fθ 的权重被冻结,确保在生成估计概率时参数保持固定。

在MIL训练的学习阶段,作者引入超参数 K K K ,从每个袋中选择概率 ( p i , j ) (p_{i,j}) (pi,j) 最高的前 K K K 个细胞作为嵌入模型的训练数据。这些选定细胞的真实标签 ( y i , j ) (y_{i,j}) (yi,j) 根据其所在袋的标签确定:每个突变袋中的前 K K K 个细胞标记为突变细胞,标准袋中的前 K K K 个细胞标记为标准细胞。

然后,使用交叉熵损失函数 l l l (如公式(1)所示)将网络输出 y ~ i , j = f θ ( c i , j ) = p i , j \widetilde{y}_{i,j} = f_\theta(c_{i,j}) = p_{i,j} y i,j=fθ(ci,j)=pi,j 与标签 y i , j y_{i,j} yi,j 进行比较:
l = ∑ y ~ i , j − w 1 [ y i , j log ⁡ ( y ~ i , j ) ] − w 0 [ ( 1 − y i , j ) log ⁡ ( 1 − y ~ i , j ) ] l = \sum_{\widetilde{y}_{i,j}} -w_1[y_{i,j} \log(\widetilde{y}_{i,j})] - w_0[(1 - y_{i,j}) \log(1 - \widetilde{y}_{i,j})] l=y i,jw1[yi,jlog(y i,j)]w0[(1yi,j)log(1y i,j)]
其中 w 1 w_1 w1 是突变袋数量除以总袋数量, w 0 = 1 − w 1 w_0 = 1 - w_1 w0=1w1

因此,基于损失函数公式(1) ,更新 f θ f_\theta fθ 的权重,以最小化预测输出与实际标签之间的差异。


3-4:集成学习

集成方法是一种强大的手段,涉及训练并组合多个模型以解决复杂问题。

集成方法的核心思想是多个单个的“弱学习器”协同工作,形成一个“强学习器” 。每个模型通过投票贡献自己的判断,集成方法则将这些输入结合起来生成最终预测。

集成的总体目标是通过利用多个模型的综合能力,而非仅依赖单个模型,来减少预测中的偏差和方差。

在本研究中,作者采用了一种基于损失的加权集成方法。在这种方法里,集成中每个模型的贡献由其单个损失函数 l M K l_{M_K} lMK(如公式(1)所示)决定 。

这种加权策略赋予损失值更低的模型更大的影响力,从而增强集成中更准确模型对最终概率 ( P e n s e m b l e ) (P_{ensemble}) (Pensemble)的影响 。仅选取根据损失值确定的前三个多实例学习(MIL)模型作为集成中的弱学习器。

此方法旨在优化基础模型的组合 { M K 1 , M K 2 , M K 3 } = a r g m i n K ∈ { M 1 , … , M 30 } \{M_{K_1}, M_{K_2}, M_{K_3}\} = argmin_{K \in \{M_1, \ldots, M_{30}\}} {MK1,MK2,MK3}=argminK{M1,,M30},其中 K 1 K_1 K1 K 2 K_2 K2 K 3 K_3 K3对应于 { M 1 , … , M 30 } \{M_1, \ldots, M_{30}\} {M1,,M30}中损失值最低的三个MIL模型 。

集成中的每个基础模型被赋予一个权重 W i W_i Wi,由其性能按公式(2)确定:
W i = e x p ( − l i ) ∑ i ∈ { M K 1 , M K 2 , M K 3 } e x p ( − l i ) W_i = \frac{exp(-l_i)}{\sum_{i \in \{M_{K_1}, M_{K_2}, M_{K_3}\}} exp(-l_i)} Wi=i{MK1,MK2,MK3}exp(li)exp(li)
集成模型根据这三个模型各自的权重 ( W M K ) (W_{M_K}) (WMK),将它们的概率 ( m a x P i ) (max P_i) (maxPi)进行组合,如公式(3)所示:
P e n s e m b l e = ∑ i ∈ { M K 1 , M K 2 , M K 3 } W i × m a x P i P_{ensemble} = \sum_{i \in \{M_{K_1}, M_{K_2}, M_{K_3}\}} W_i \times max P_i Pensemble=i{MK1,MK2,MK3}Wi×maxPi


四、结果

4-1:感兴趣区域(ROI)图像块的自动选择

在数字病理学中,骨髓穿刺涂片的玻片通过数字玻片扫描仪扫描,生成高分辨率的全切片图像(WSIs),供血液病理学家分析(图2a)。

image-20250426103115889

为启动该过程,从国立台湾大学医院获取的572例骨髓穿刺WSIs中采样数据集。为解决检测ROI图像块的问题,作者开发了一个分阶段选择ROI图像块的流程,自动识别骨髓穿刺WSIs中适合细胞学分析的区域

单个WSI可能仅包含少数适合细胞学分析的区域。这些区域分布稀疏,细胞重叠和染色伪影极少,且具有细胞分类所需的细微复杂细胞学特征。

为高效获取此类区域,首先使用PyHIST工具 ,采用默认图形方法去除空白背景区域,仅保留染色部分。随后,作者采用微调的DenseNet121架构,利用先前研究的预训练权重 将单个图像块分类为ROI图像块或非ROI图像块(图2b)。

image-20250426103159276

作者观察到分类结果符合预期,即在实际情况中,通常WSI中只有10 - 20%的区域可能是细胞学分析的ROI区域

应用DenseNet121后的结果显示,对于大多数WSIs,经过此选择过程后,ROI图像块数量减少到原始数量的10 - 25%左右,表明图像块数量大幅减少(补充图1)。

image-20250426103335191

此筛选过程显著减少了后续细胞检测过程所需的时间,在去除指定范围内细胞过度重叠、组织伪影过多或无血细胞的区域方面,展现出出色的过滤效果。

这些有问题的图像块被有效去除,同时如补充图2所示,细胞数量少的图像块未被错误丢弃。

image-20250426103348415

这种方法确保保留细胞数量少的图像块,支持数据完整性,避免不必要地丢失有价值信息(图2b)。


4-2:白细胞检测

在ROI选择过程之后,作者采用YOLOv4模型自动检测和分类所选ROI图像块中的细胞和非细胞物体。

在缺乏手动标注细胞的情况下,作者使用在同一研究中针对选择ROI图像块已预训练和微调过的训练权重 ,直接应用于该检测模型。

以ROI检测模型识别的ROI图像块作为输入,此YOLOv4模型旨在自动检测和分类骨髓样本中的所有细胞和非细胞物体

作者进一步设置置信度阈值为0.5。置信度得分低于此阈值的细胞不被选取,确保为后续MIL模型训练选择高质量细胞。除管理置信度水平外,作者在过程中考虑了细胞大小。

在波长为400 nm的紫外光下,理论分辨率约为325.33 nm。作者将细胞大小范围设置为51×51像素到80×80像素。这意味着51像素的细胞大小约为16.6 μm,而80像素对应约25.6 μm。此范围是根据白细胞(WBCs)的典型大小(约10 - 25 μm)以及原始细胞(blasts,通常约15 - 20 μm)选择的。

通过将选择阈值设置在51到80像素之间,作者旨在捕获最具代表性、完整且与特征提取相关的细胞。所选细胞直接调整为64×64像素,以标准化输入大小用于MIL训练,避免其他填充方法可能引入的如相邻细胞或过多背景等无关特征(图2c)。

image-20250426103448850

每个WSI剩余的细胞数量在100到100,000之间变化,大多数细胞数量低于20,000,平均为11,273(图3)。

这一结果在保持所有输入细胞最佳质量的同时,有效减少了MIL模型的输入量,加快了训练时间且不影响准确性。

因此,作者将包括嗜碱性粒细胞、原始细胞、嗜酸性粒细胞、淋巴细胞、晚幼粒细胞、单核细胞、中幼粒细胞、中性粒细胞和早幼粒细胞在内的白细胞作为MIL训练的输入,称为“所有细胞”。

在这些细胞中,MIL随机选择2000个细胞作为一个WSI的代表性细胞,即一个袋。在选择期间,作者对突变WSIs应用上采样技术以平衡数据。通过将每个突变WSI分离成多个袋,作者可以生成许多包含2000个细胞的突变袋。


4-3:细胞级多实例学习

将572例WSIs的总数据集在玻片层面按约7:1:2(400:56:116个WSIs)的比例划分为训练集、验证集和测试集。

作者使用DenseNet121作为基础嵌入模型,用PyTorch库基于ImageNet数据集训练提供的预训练权重进行初始化 。

MIL模型训练100个轮次,学习率设为0.0001。通过使用Adam优化器的随机梯度下降(SGD)实现损失最小化。

批量大小由每个袋内的细胞数量决定,限制为每批最多2000个实例(细胞)。由于上采样后训练数据仍存在轻微类别不平衡,对于NPM1突变,作者将权重 ( w 0 , w 1 ) (w_0, w_1) (w0,w1)设为 ( 0.51 , 0.29 ) (0.51, 0.29) (0.51,0.29) ,对于FLT3 - ITD设为 ( 0.37 , 0.63 ) (0.37, 0.63) (0.37,0.63)


为模拟真实场景,验证集和测试集不进行上采样。

每个轮次使用包含56个WSIs的不平衡验证集进行评估,即标准WSIs多于突变WSIs 。

采用提前终止策略防止过拟合。单独的测试集包括96个标准和20个NPM1突变WSIs ,以及95个标准和21个FLT3 - ITD WSIs。

除既定的MIL训练外,作者利用集成学习,在MIL中使用不同的 K K K值(从 K = 1 K = 1 K=1 K = 30 K = 30 K=30 ),使模型对数据有不同视角。每个 K K K代表MIL训练过程中一个袋内考虑的正实例数量,从而创建对不同数据子集关注重点各异的模型。

基于公式(2)和公式(3) ,作者计算损失值最低的前3个MIL模型各自的权重 W i W_i Wi ,然后估计最终预测结果。模型在训练集、验证集和测试集上的预测性能见补充图4。

image-20250426103741136


为阐明在MIL学习过程中细胞特征对预测的重要性,作者比较了九种细胞类型的比例表示。

在应用MIL模型前,每个WSI中的所有细胞类型数量除以该WSI中所有类型细胞的总数,以获得每种细胞类型的比例。

预测后,作者列出模型预测为与每个袋中突变相关性最高的概率前100的细胞图像。然后,根据细胞类型计算MIL预测的所有代表性细胞在原始WSI中的比例(图4)。


这张图(图4)展示了多实例学习(MIL)前后细胞类型比例的比较,通过箱线图呈现,分别针对NPM1突变数据(图a)和FLT3 - ITD数据(图b) 。

图4

图a(NPM1突变数据)

  • 在MIL预测前,计算每个袋中各类细胞的比例(即“all cells - NPM1 (mutated)”和“all cells - NPM1 (standard)” ,分别代表NPM1突变和标准袋中的所有细胞比例) 。
  • 预测后,选取每个袋中突变概率最高的前100个细胞(即“top100 cells - NPM1 (mutated)”和“top100 cells - NPM1 (standard)” ,分别对应NPM1突变和标准袋中的前100个细胞比例) ,计算其比例并按细胞类型绘制分布。
  • 对于突变袋(紫色相关),原始细胞(Blast)在MIL预测后的前100个细胞中比例显著增加,而其他细胞类型比例相对下降;
  • 对于标准袋(青绿色相关),原始细胞在MIL预测后的前100个细胞中比例明显降低,其他细胞类型比例有不同程度上升。
  • 这表明原始细胞在NPM1突变预测中具有重要指示作用。

图b(FLT3 - ITD数据)

  • 先计算MIL预测前每个袋中各类细胞比例(“all cells - FLT3-ITD (mutated)”和“all cells - FLT3-ITD (standard)” ,分别为FLT3 - ITD突变和标准袋中的所有细胞比例) 。
  • 预测后,对每个袋中突变概率最高的前100个细胞(“top100 cells - FLT3-ITD (mutated)”和“top100 cells - FLT3-ITD (standard)” ,分别对应FLT3 - ITD突变和标准袋中的前100个细胞比例) 进行比例计算和按细胞类型绘制分布。
  • 结果显示,对于突变袋(紫色相关),原始细胞在MIL预测后的前100个细胞中占比大幅升高,其他细胞类型比例相应减少;
  • 对于标准袋(青绿色相关),原始细胞在MIL预测后的前100个细胞中比例明显下降,其他细胞类型比例有所上升。这说明原始细胞在FLT3 - ITD突变预测中也是关键指示细胞类型。

总体而言,这两张图共同表明原始细胞(Blast)在MIL模型预测基因突变(无论是NPM1突变还是FLT3 - ITD突变)时是重要的指示细胞类型,突变袋中原始细胞比例在预测后增加,标准袋中原始细胞比例在预测后减少,凸显了原始细胞在区分突变和标准状态中的重要性 。


这可揭示即使仅使用玻片级标注,哪些细胞对MIL预测基因突变更有意义

可以观察到,无论对于NPM1还是FLT3 - ITD模型,原始细胞(blasts)的趋势保持一致。在存在任一种基因突变的袋中,应用MIL后,前100个代表性细胞中blasts的比例显著增加。

另一方面,在无基因突变的袋中,应用MIL后,前100个代表性细胞中blasts的比例下降。这一趋势表明blasts的存在是深度学习中确定是否存在突变的重要指标

此外,在存在基因突变的袋中,其他细胞类型的比例下降,表明机器学习中用于确定突变存在的大多数特征属于blasts类别。

因此,在无突变的袋中,由于在blasts细胞中找不到这些特征,其他细胞类型的比例增加,而blasts的比例显著下降。


五、项目复现流程

5-1:系统要求与环境配置

  1. Python版本: 3.9
  2. 依赖安装:
    git clone https://github.com/c4lab/AML-WSI.git  # 假设项目仓库地址
    pip install -r requirement.txt  # 安装依赖包
    
  3. 其他工具: 确保已安装Jupyter Notebook以运行集成学习模块。

5-2:使用PyHIST生成图像补丁

  • 目的:将WSI分割为小补丁,过滤无组织区域。
  • 输入:原始WSI文件(.svs, .tiff等)。
  • 输出:包含有效组织的补丁图像。

单张WSI处理

python pyhist.py \
  --content-threshold 0.05 \          # 组织区域阈值(低于此值视为背景)
  --output /path/to/output_patches \  # 补丁保存路径
  --output-downsample 1 \             # 下采样率(1为原始分辨率)
  --save-patches \                   # 保存补丁
  --save-tilecrossed-image \         # 保存拼接预览图
  --info "verbose" \                 # 输出详细信息
  /path/to/your/WSI.svs              # 输入WSI路径

批量处理整个WSI目录

python /run/run_pyHIST.py  # 需在脚本内配置输入/输出路径

注意:编辑run_pyHIST.py以指定输入目录和参数。


5-3:ROI检测(基于DenseNet121)

  • 目的:筛选出包含肿瘤区域的补丁。
  • 输入:PyHIST生成的补丁目录。
  • 输出:分类为ROI的补丁及概率文件。

单张WSI的补丁检测

python ROI_detection/main.py \
  --predict-mode \                     # 预测模式
  --report-excel \                     # 生成Excel报告
  --data-path /path/to/pyhist_output \ # PyHIST补丁路径
  --threshold 0.8 \                    # ROI置信度阈值
  --output-dir /path/to/roi_output \   # 结果保存路径
  --down-scale 1 \                    # 下采样率(与PyHIST一致)
  --batch-size 32                     # 批量大小(根据GPU调整)

批量处理所有WSI

python /run/run_ROI_detection.py  # 需在脚本内配置路径和参数

5-4:细胞检测(基于预训练模型)

  • 目的:在ROI补丁中定位单个细胞。
  • 输入:ROI检测输出的补丁图像。
  • 输出:细胞坐标及分类结果。

下载预训练权重

Zenodo 下载best_weights.pth

检测单个补丁中的细胞

python cell_detection/cell_detection.py \
  --input_patch /path/to/roi_patch.png \  # ROI补丁路径
  --model_weights /path/to/best_weights.pth \  # 权重文件路径
  --out_dir /path/to/cell_output  # 结果保存路径

输出文件

cell_detection.csv:包含细胞坐标、类型(如肿瘤细胞、淋巴细胞)及置信度。


5-5:MIL训练(多示例学习模型)

目的

基于补丁和细胞特征预测基因突变状态。

输入

• 训练/验证库文件(描述补丁与WSI的对应关系及标签)

• 原始WSI图像路径(用于特征提取)

训练命令

python MIL/MIL_train.py \
  --output /path/to/mil_model \    # 模型保存路径
  --train_lib /path/to/train_lib.pt \  # 训练库文件(需预先准备)
  --val_lib /path/to/val_lib.pt \      # 验证库文件
  --slide_path /path/to/wsi_images \   # WSI原始图像目录
  --model densenet121 \                # 选择预训练模型(如resnet50)
  --lr 0.0001 \                       # 学习率
  --epochs 50                        # 训练轮次

关键参数说明

train_lib/val_lib: 需通过自定义脚本生成,包含补丁路径、WSI标签及元数据。

slide_path: 原始WSI路径,用于提取高分辨率特征。


5-6:集成学习

  • 目的:结合多个模型预测结果提升性能。
  • 输入:多个MIL模型的预测结果。

操作

  1. 运行Jupyter Notebook ensemble.ipynb
  2. 设置参数:
    ensemble_lib = "/path/to/predictions"  # 各模型预测结果目录
    gene = "FLT3"                          # 目标基因名称
    
  3. 执行全部单元格生成集成结果。

注意事项

  1. 路径一致性:确保各步骤输入/输出路径匹配。

  2. 数据准备:
    • 训练库/验证库需预先处理,建议参考项目文档生成。

  3. 硬件配置:
    • ROI检测和MIL训练需GPU加速(推荐NVIDIA GPU + CUDA)。

  4. 模型选择:在MIL训练中尝试不同预训练模型(如ResNet、EfficientNet)以优化效果。

通过以上步骤,可完成从WSI处理到基因突变预测的全流程。如有环境或依赖问题,请检查requirement.txt并确保Python版本匹配。


结束语

本期推文的内容就到这里啦,如果需要获取医学AI领域的最新发展动态,请关注小罗的推送!如需进一步深入研究,获取相关资料,欢迎加入我的知识星球!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值