项目介绍:DSMIL — 用于全视野图像肿瘤检测的双流多实例学习网络
DSMIL项目是一个基于PyTorch的实现,用于处理全视野图像(Whole Slide Image, WSI)的肿瘤检测。该项目的多实例学习网络通过自监督对比学习来提高WSI分类的能力。项目的背景论文发表于2021年的计算机视觉与模式识别会议(CVPR)。
项目亮点
- 2024年的更新提高了训练速度,达到了10倍的加速。
- 在训练脚本中加入了交叉验证和独立测试集的选项。
- 提供了一个更稳定的模型初始化方法。
- 针对多标签任务提供了更好的评估指标。
- 修复了生成色彩图脚本中的若干Bug。
安装步骤
- 安装Anaconda或Miniconda。
- 创建并激活DSMIL的虚拟环境:
conda env create --name dsmil --file env.yml conda activate dsmil
- 安装PyTorch、OpenSlide和openslide-python。
数据集下载
该项目提供了多实例学习(MIL)基准数据集、TCGA肺癌数据集和Camelyon16数据集的特征向量下载选项。
- MIL基准数据集:
python download.py --dataset=mil
- TCGA肺癌数据集:
python download.py --dataset=tcga
- Camelyon16数据集(需要30GB的可用磁盘空间):
python download.py --dataset=c16
模型训练
DSMIL提供了在标准MIL基准数据集和WSI数据集(如TCGA肺癌和Camelyon16数据集)上的训练选项。
在MIL基准数据集上训练
python train_mil.py
可以通过选项来切换数据集和设置学习率、交叉验证折数、权重衰减和训练轮数等参数。
在WSI数据集上训练
在TCGA和Camelyon16数据集上训练的命令分别为:
python train_tcga.py --dataset=TCGA-lung-default
python train_tcga.py --dataset=Camelyon16 --num_classes=1
模型评估
DSMIL提供多种不同的评估方案,比如5折交叉验证和独立测试集。这些方案计算AUC和准确率,并针对二分类和多标签分类任务提供不同的指标。
使用说明
DSMIL还可以处理原始WSI数据,通过下载WSI文件、使用OpenSlide进行图像切割、训练嵌入器以及计算特征等步骤进行处理。
python deepzoom_tiler.py -m 0 2 -b 20
针对自定义数据集,也需要进行WSI文件准备、图像切割、嵌入器训练和特征计算,具体使用步骤请参见项目文档。
文件结构
项目的数据组织在WSI
和datasets
两个文件夹中,包含了原始图像和计算的特征。数据文件以特定的CSV格式保存,详细信息可在项目文件结构说明中查询。
项目引用
如果您在研究中使用了DSMIL代码或结果,请使用以下BibTeX条目进行引用:
@inproceedings{li2021dual,
title={Dual-stream multiple instance learning network for whole slide image classification with self-supervised contrastive learning},
author={Li, Bin and Li, Yin and Eliceiri, Kevin W},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={14318--14328},
year={2021}
}
这一项目为了提高病理图像的分析精度提供了一个强大的工具,对生物信息学领域的研究有着重要的推动作用。通过DSMIL,研究人员可以更高效地检测和分类肿瘤,提高诊断过程的准确性和可靠性。