DSMIL: 肿瘤检测的双流多实例学习网络
项目介绍
DSMIL(Dual-stream Multiple Instance Learning)是一个用于全切片图像(Whole Slide Image, WSI)中肿瘤检测的双流多实例学习网络。该项目基于PyTorch实现,旨在通过自监督对比学习方法提高肿瘤检测的准确性。DSMIL在CVPR 2021中被接受为口头报告,并展示了其在肿瘤检测任务中的优越性能。
项目快速启动
环境准备
首先,确保你已经安装了Anaconda或Miniconda。然后,创建并激活DSMIL的环境:
conda env create --name dsmil --file env.yml
conda activate dsmil
安装依赖
接下来,安装PyTorch和OpenSlide及其Python接口:
# 安装PyTorch
pip install torch torchvision
# 安装OpenSlide和openslide-python
conda install -c conda-forge openslide
pip install openslide-python
下载预计算特征
下载MIL基准数据集的预计算特征:
python download.py --dataset=mil
训练模型
使用默认数据集训练DSMIL模型:
python train_mil.py
测试和生成检测图
下载测试切片并生成检测图:
python download.py --dataset=tcga-test
python test_crop_single.py --dataset=tcga
python testing_tcga.py
应用案例和最佳实践
应用案例
DSMIL在多个公开数据集上展示了其强大的肿瘤检测能力,特别是在Camelyon16和TCGA Lung Cancer数据集上。以下是一些具体的应用案例:
- Camelyon16数据集:通过5折交叉验证,DSMIL在Camelyon16数据集上的准确率达到了94.9%,AUC为0.961。
- TCGA Lung Cancer数据集:在TCGA Lung Cancer数据集上,DSMIL的准确率为93.78%,AUC为0.981。
最佳实践
- 数据预处理:确保WSI数据经过适当的预处理,包括归一化和切片。
- 模型调优:根据具体任务调整学习率、权重衰减等超参数,以获得最佳性能。
- 多标签任务:对于多标签分类任务,使用适当的评估指标如Hamming Loss和Subset Accuracy。
典型生态项目
OpenSlide
OpenSlide是一个用于读取全切片图像的C库,提供了Python API。DSMIL项目中使用了OpenSlide来处理WSI数据。
PyTorch
PyTorch是DSMIL的主要深度学习框架,提供了灵活的张量计算和自动求导功能,支持高效的模型训练和推理。
SimCLR
SimCLR是一个自监督学习框架,DSMIL项目中使用了SimCLR的变体来增强模型的特征提取能力。
通过这些生态项目的结合,DSMIL在肿瘤检测任务中展现了卓越的性能和广泛的应用前景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考