重点是绿色背景部分
MedSAM
这是MedSAM的官方存储库:分割医学图像中的任何内容。
安装
创建一个虚拟环境
conda create -n medsam python=3.10 -y
并激活它
conda activate medsam
安装Pytorch 2.0
git克隆https://github.com/bowang-lab/MedSAM
进入MedSAM文件夹cd MedSAM并运行
pip install -e .
在自定义数据集上微调SAM
我们提供了一个小数据集的分步教程,帮助您快速开始培训过程。
数据准备和预处理
下载SAM检查点并将其放置在work_dir/SAM/SAM_vit_b_01ec64.pth。
下载演示数据集并解压缩。
该数据集包含50次腹部CT扫描,每次扫描都包含一个带有13个器官的注释掩码。器官标签的名称可在MICCAI FLARE2022上找到。在本教程中,我们将对胆囊分割的SAM进行微调。
运行预处理
python pre_CT.py -i path_to_image_folder -gt path_to_gt_folder -o path_to_output
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图像)图像预处理的两个典型示例。您可以根据自己的数据集调整预处理代码。
Model Training(视频教程)
请查看分步教程:finetune_and_expression _tutorial_3D_dataset.ipynb
我们还提供了一个关于2D数据集(png格式)的教程:finetune_and_expression _tutorial_2D_dataset.ipynb
您也可以在整个数据集上训练模型。
下载培训套装(GoogleDrive)
注意:为了文件共享的方便,我们将每个图像和掩码对压缩到一个npz文件中。预先计算的图像嵌入太大(需要大约1TB的空间)。您可以使用以下命令生成它
预先计算图像嵌入,并将图像嵌入和地面实况保存为.npy文件。
python utils/precompute_img_embed.py -i path_to_train_folder -o ./data/Tr_npy
训练模型
python train -i ./data/Tr_npy --task_name -SAMViT-B --num_epochs 1000 --batch_size 8 --lr 1e-5
如果您发现此数据集在您的研究中有价值,请确认并相信原始数据源:AMOS、BraTS2021、ACDC、M&M、PROMISE12 ABC、腹部CT-1K、MSD、KiTS19、LiTS、新冠肺炎CT-Seg、HECKTOR DRIVE、结肠腺、息肉、器械、腹部超声、乳房超声、JSRT
Inference
下载模型检查点(GoogleDrive)和测试数据(Google Drive),并将它们分别放入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