segment-anything医学影像应用 https://github.com/bowang-lab/MedSAM

天问 f7644eeb03 Update 'README.md' 1 year ago
README.md f7644eeb03 Update 'README.md' 1 year ago

README.md

MedSAM

这是 MedSAM 的官方存储库: 医学图像分割。

安装

  1. 创建一个虚拟环境 'conda create-n medsam python=3.10 -y' 并激活它 'condaa ctivate medsam'
  2. 安装 Pytorch 2.0
  3. 'git克隆 https://github.com/bowang-lab/MedSAM'
  4. 进入 MedSAM 文件夹 'cd MedSAM' 并运行 'pip install -e .'

在定制数据集上微调SAM

我们提供了一个带有小数据集的分步教程,以帮助您快速开始培训过程。

数据准备和预处理

下载 SAM checkpoint,并将其放在 “work_dir/SAM/sam_vit_b_01ec64.pth”。

下载演示 dataset 并解压缩。

该数据集包含50个腹部ct扫描,每个扫描包含一个带有13个器官的注释掩模。器官标签的名称可在 MICCAI FLARE2022 上获得。 在本教程中,我们将微调胆囊分割的SAM。

运行 pre-processing

'''bash python pre_CT.py -i path_to_image_folder -gt path_to_gt_folder -o path_to_output '''

  • 分割数据集: 80% 训练和20% 测试
  • 图像归一化
  • 预计算图像嵌入
  • 将归一化图像、地面真相掩码和图像嵌入保存为 “npz” 文件

注意: 医学图像具有各种数据格式。因此,一个脚本不可能处理所有这些不同的格式。在这里,我们提供了CT和非CT (例如,各种MR序列,PET图像) 图像预处理的两个典型示例。您可以使预处理代码适应您自己的数据集。

模型训练 (视频教程)

请查看分步教程: finetune_and_inference_tutorial_3D_dataset.ipynb

我们还提供了一个关于2D数据集 (png格式) 的教程: finetune_and_inference_tutorial_2D_dataset.ipynb

您还可以在整个数据集上训练模型。

1) 下载训练集 (GoogleDrive)

注意: 为了方便文件共享,我们压缩了 “npz” 文件中的每个图像和蒙版对。预先计算的图像嵌入太大 (需要约1 TB的空间)。您可以使用以下命令生成它

2) 预先计算图像嵌入,并将图像嵌入和地面真相保存为 “.Npy” 文件。

python utils/precompute_img_embed.py -i path_to_train_folder -o ./data/Tr_npy

3) 训练模型

python train -i ./data/Tr_npy --task_name SAM-ViT-B --num_epochs 1000 --batch_size 8 --lr 1e-5

If you find this dataset valuable in your research, kindly acknowledge and credit the original data sources: AMOS, BraTS2021, ACDC, M&Ms, PROMISE12 ABCs, AbdomenCT-1K, MSD, KiTS19, LiTS, COVID-19 CT-Seg, HECKTOR DRIVE, Colon gland, polyp, instruments, Abdomen Ultrasound, Breast Ultrasound, JSRT

推理

下载模型 checkpoint (GoogleDrive) 和测试数据 (GoogleDrive),并将它们分别放入 “data/Test” 和 “work_dir/MedSAM'路径。

运行

python MedSAM_Inference.py -i ./data/Test -o ./ -chk work_dir/MedSAM/medsam_20230423_vit_b_0.0.1.pth

分割结果可在 here

DSC和NSD的实现代码可以得到 这里