会飞的鱼 发表于 2024-2-20 21:59:39

MedSAM

本帖最后由 会飞的鱼 于 2024-2-20 22:07 编辑

安装
创建虚拟环境conda create -n medsam python=3.10 -y并激活conda activate medsam
安装Pytorch 2.0
git clone https://github.com/bowang-lab/MedSAM

进入MedSAM文件夹cd MedSAM并运行pip install -e .
开始使用
下载模型检查点并将其放置在例如,work_dir/MedSAM/medsam_vit_b


我们提供三种方法在您的图像上快速测试模型


命令行
python MedSAM_Inference.py # segment the demo image

使用以下标志分割其他图像


-i input_img
-o output path
--box bounding box of the segmentation target

Jupyter笔记本
我们提供有关CoLab的分步教程


您还可以使用 本地运行它tutorial_quickstart.ipynb。


图形用户界面
PyQt5使用pip :pip install PyQt5 或conda安装:conda install -c anaconda pyqt


python gui.py

将图像加载到 GUI 并通过绘制边界框指定分割目标。
模型训练
数据预处理
下载SAM 检查点并将其放置在work_dir/SAM/sam_vit_b_01ec64.pth.


下载演示数据集并将其解压缩为data/FLARE22Train/.


该数据集包含 50 个腹部 CT 扫描,每个扫描包含一个包含 13 个器官的注释掩模。风琴标签的名称可在MICCAI FLARE2022上找到。


运行预处理


安装cc3d:pip install connected-components-3d


python pre_CT_MR.py
分割数据集:80% 用于训练,20% 用于测试
将 CT 扫描调整至软组织窗口水平 (40) 和宽度 (400)
最大最小标准化
将图像大小重新采样为1024x2014
将预处理的图像和标签保存为npy文件
在多个 GPU 上进行训练(推荐)
该模型在 5 个 A100 节点上进行训练,每个节点有 4 个 GPU(80G)(总共 20 个 A100 GPU)。请使用 slurm 脚本开始训练过程。


sbatch train_multi_gpus.sh
训练过程完成后,请将检查点转换为SAM的格式,以便于推理。


python utils/ckpt_convert.py # Please set the corresponding checkpoint path first

在一个 GPU 上训练
python train_one_gpu.py

如果您只想训练掩码解码器,请查看0.1 分支上的教程。


致谢
我们非常感谢所有挑战组织者和数据集所有者向社区提供公共数据集。
我们感谢 Meta AI 公开提供任何分段的源代码。
我们还感谢 Alexandre Bonnet 分享这个精彩的博客
参考
<blockquote>@article{MedSAM,
页: [1]
查看完整版本: MedSAM