开源项目:vesselFM

https://github.com/bwittmann/vesselFM

conda create -n vesselfm python=3.9 -y # 加-y自动确认 

conda activate vesselfm

cd F:\bzyy\python\vesselFM\vesselFM-main\vesselFM-main

pip install -e .

pip install -e . --force-reinstall -v   (重装)

# 5. 验证模块是否被识别 

python -c "import vesselfm; print('模块导入成功')"

设置分割文件路径

打开 vesselfm/seg/configs/inference.yaml,找到标注#TODO的部分,修改关键参数:

  • 输入数据路径:指定你要分割的 3D 血管数据(如 NIfTI、HDF5 格式);
  • 输出路径:设置分割结果的保存位置;
  • 模型参数(可选):如输入分辨率、批次大小(batch size)、GPU 设备号等。

权重下载地址:
https://hf-mirror.com/bwittmann/vesselFM/tree/main

【运行推理脚本】  

python vesselfm/seg/inference.py

如果你的电脑有 NVIDIA GPU,但 PyTorch 是 CPU 版本,需重新安装 CUDA 版本的 PyTorch:

# 卸载现有PyTorch

pip uninstall torch torchvision torchaudio -y

# 安装适配CUDA 11.8的PyTorch(根据你的CUDA版本调整)

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

我的老显卡:NVIDIA GeForce GTX 1650,居然装了cu118,让GPU跑起来了。

inference.yaml关键参数调整解释

(1)batch_size 从 16→1
  • 原理解释:batch_size=16 意味着同时在 GPU 上处理 16 个 128×128×128 的 3D patch,单 patch 仅数据本身就占约 0.2GB(float32),16 个就是 3.2GB,再加上模型参数(约 1GB),直接超 4GB 显存;
  • 调整后:batch_size=1 仅同时处理 1 个 patch,数据显存占用仅 0.0125GB(64×64×64),大幅释放显存。
(2)patch_size 从 [128,128,128]→[64,64,64]
  • 原理解释:3D patch 的显存占用与体积成正比(体积 = 长 × 宽 × 高),128³=2097152,64³=262144,体积是原来的 1/8,显存占用也同步降至 1/8;
  • 精度说明:64×64×64 是 3D 血管分割的常用小窗口,结合 0.25 的重叠率,分割精度几乎无损失(重叠区会融合结果)。
(3)overlap 从 0.5→0.25
  • 原理解释:重叠率 0.5 意味着每个 patch 有一半区域和相邻 patch 重复计算,会额外占用约 50% 的显存;
  • 调整后:0.25 的重叠率既能保证分割结果的连续性,又能减少重复计算的显存开销,是 4GB GPU 的最优平衡。

最后生成这么个玩意。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐