SAM-Med3D: 高效可提示三维医学影像分割模型安装及使用指南
一、项目介绍
背景
Segment Anything Model (SAM) 在二维自然图像分割领域展现出了卓越的能力, 然而面对3D体积医学影像时, 其性能受到了限制, 表现出次优表现且预测不稳定, 需要大量提示点才能达到满意的效果. 这些问题仅仅通过在医疗数据上微调SAM难以解决, 因为其原有的2D结构忽视了3D特征.
SAM-Med3D概览
为了弥补这一差距, 我们引入了SAM-Med3D, 它是针对3D医学图像优化设计的新一代模型, 强化了原SAM的2D架构以适应三维空间特性, 并显著减少了所需提示点的数量(最多减少100倍), 提升了分割精度与效率. SAM-Med3D在目前最全面的三维医学影像数据集上进行了训练, 拥有超过131千个3D掩模和247种不同分类, 能够高效地处理广泛的应用场景.
二、项目快速启动
环境准备
确保你的系统中已安装Python及相关依赖库.
步骤1: 创建虚拟环境
python3 -m venv sam_med3d_env
source sam_med3d_env/bin/activate # 对于Unix或macOS
sam_med3d_env\Scripts\activate # 对于Windows
步骤2: 克隆SAM-Med3D仓库
git clone https://github.com/uni-medical/SAM-Med3D.git
cd SAM-Med3D
步骤3: 安装依赖包
pip install -r requirements.txt
三、应用案例与最佳实践
应用案例
器官与大脑分割
使用预训练的SAM-Med3D-turbo检查器官和大脑分割任务的具体改进效果:
python inference.py --checkpoint <path_to_sam_med3d_turbo_ckpt> --config-file configs/sam_med3d_turbo.yml
替换 <path_to_sam_med3d_turbo_ckpt>
为你下载的checkpoint路径.
最佳实践
利用最少的提示点完成高精度分割. 如下示例展示了如何使用一个提示点进行分割:
import torch
from sam_med3d import build_model_from_config
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model = build_model_from_config(config_file='configs/sam_med3d_turbo.yml', device=device)
model.eval()
image = ... # 加载并准备您的3D医学图像
prompt_point = ... # 准备一个提示点
mask, _, _ = model.predict(image, point=prompt_point)
四、典型生态项目
SAM-Med3D 生态中的相关项目包括:
- OpenGVLab: 探索更多计算机视觉项目如 SAM-Med2D.
- General Vision Group: 上海 AI 实验室的研究者工程师招聘, 关注医疗基础模型和通用医疗AI, 包括基准数据集设计、通用模型评估体系等.
- Zhihu Official Account: 分享更多医疗影像相关信息, 推荐关注.
以上步骤和指导将帮助您成功入门SAM-Med3D, 开启在3D医学影像分析领域的探索之旅.