BiomedParse

GitHub
652 98 中等 1 次阅读 今天Apache-2.0图像其他
AI 解读 由 AI 自动生成,仅供参考

BiomedParse 是一款专为生物医学图像分析打造的通用基础模型,能够跨九种成像模态(如 CT、MRI、病理切片等)统一执行分割、检测与识别任务。它有效解决了传统工具往往只能处理单一模态或特定任务的局限,帮助研究人员从复杂多样的医疗影像中高效提取关键信息,大幅降低多任务分析的门槛。

该工具特别适合生物医学领域的研究人员、临床医生及 AI 开发者使用,尤其是那些需要处理大规模、多模态影像数据的专业团队。BiomedParse 的最新 v2 版本引入了独特的 BoltzFormer 架构,显著提升了微小目标的分割精度,并支持端到端的 3D 体积推理,在相关国际挑战赛中荣获榜首。此外,它还内置了对象存在性检测模块,能自动过滤误报,无需额外的后处理步骤。无论是进行科研探索还是开发辅助诊断应用,BiomedParse 都提供了一个灵活且强大的技术基座。

使用场景

某三甲医院影像科团队正致力于构建一套自动化系统,用于从海量 3D CT 和 MRI 扫描数据中精准定位并识别微小肿瘤病灶及周围解剖结构。

没有 BiomedParse 时

  • 多模型堆砌繁琐:研究人员需分别训练分割、检测和分类三个独立模型,代码维护复杂且推理流程冗长。
  • 微小病灶漏检率高:传统架构难以捕捉 3D 体积数据中的细微特征,导致早期微小结节经常被忽略或误判。
  • 假阳性过滤困难:模型常将正常组织误识别为病灶,后续必须编写额外的脚本进行统计检验(如 K-S 检验)来剔除假阳性结果。
  • 3D 推理效率低下:缺乏端到端的体积推断能力,往往需要将 3D 数据切片处理后再重组,不仅耗时还容易丢失空间上下文信息。

使用 BiomedParse 后

  • 统一架构高效集成:BiomedParse 单个模型即可同时完成分割、检测和识别任务,大幅简化了部署流程并提升了开发效率。
  • 小目标检测显著提升:得益于内置的 BoltzFormer 架构,BiomedParse 能精准捕捉微小病灶,显著降低了漏检率。
  • 内置假阳性抑制:利用其独有的 ISD 模块,BiomedParse 在推理阶段自动判断物体是否存在,无需额外后处理即可有效过滤误报。
  • 原生 3D 端到端推断:BiomedParse 支持直接对 3D volumetric 数据进行推理,完整保留空间结构信息,将分析速度提升至秒级。

BiomedParse 通过统一的 foundation model 架构,彻底解决了多模态 3D biomedical 图像分析中流程割裂、小目标难识别及假阳性高的核心痛点。

运行环境要求

操作系统
  • Linux
GPU

需要 NVIDIA GPU (CUDA 12.4),支持端到端 3D 推理,显存需求未明确说明(建议大显存以处理 3D 体积数据)

内存

未说明

依赖
notes1. 该工具主要针对 3D 生物医学图像(CT, MRI, PET 等),v2 版本专为 3D 模态设计。 2. 安装 detectron2 需要从 GitHub 源码安装。 3. 推理前必须对图像进行特定的预处理:转换为 npz 格式并将强度范围归一化到 [0, 255];CT 图像需根据解剖部位使用特定的窗宽窗位(如软组织 W:400, L:40)进行归一化。 4. 模型权重可通过 HuggingFace Hub 下载或直接 wget 获取。 5. 代码示例显示使用 hydra 进行配置管理,且依赖 azureml 相关组件进行评估。
python3.10.14
torch
detectron2
opencv-python
azureml-automl-core
huggingface_hub
hydra-core
scikit-image
numpy
BiomedParse hero image

快速开始

BiomedParse

【通知】这是 BiomedParse 模型的 v2 版本,采用了基于 BoltzFormer 的改进代码和模型架构,支持端到端的 3D 推理。如果您需要原始版本,请查看 v1

[论文] [演示] [模型] [数据] [BibTeX]

本仓库托管了 BiomedParse 的代码与资源,即“用于跨九种模态的生物医学对象联合分割、检测与识别的基础模型”(Nature Methods)。BiomedParse 专为全面的生物医学图像分析而设计。它提供了一种统一的方法,可在多种生物医学成像模态中执行 分割检测识别 任务。通过整合这些任务,BiomedParse 为研究人员和从业者提供了一款高效且灵活的工具,有助于解析和分析复杂的生物医学数据。

示例预测

v2 有哪些新特性?

自 BiomedParse 发表以来,我们不断收集社区反馈,并持续努力提升其功能与易用性。v2 版本提供了:

  • 更大规模的 预训练数据,数量达百万级,涵盖不同模态下的 200 多个解剖结构
  • 使用 BoltzFormer 架构,显著提升了小物体的分割性能。
  • 实现了 SOTA 级别的 3D 分割性能,支持端到端的体素级推理(CVPR 挑战赛)。
  • 内置目标存在性检测功能,可有效减少假阳性(无需额外的掩码检查)。

我应该使用 v1 还是 v2?

简短回答:对于 3D 模态请使用 v2,其他情况则使用 v1。

版本 图像类型 模态 任务数量 存在性检测
v1 2D CT、MRI、超声、X 射线、病理学、内窥镜、皮肤镜、眼底照相、OCT 100+ 推理后 K-S 检验
v2 3D CT、MRI、超声、PET、3D 显微镜(EM、光片显微镜) 200+ 内置 ISD 模块

最新动态

  • 2025 年 10 月 15 日:BiomedParse v2 正式发布,全面支持推理与微调!
  • 2025 年 6 月 11 日:BiomedParse 在 CVPR 2025: 文本引导的 3D 生物医学图像分割基础模型挑战赛 中荣获第一名!我们升级了模型,并基于该挑战赛的 数据集 进行了微调,覆盖范围更广、更全面的 3D 生物医学影像数据。您可以通过容器化的 [docker 镜像] 直接进行推理。使用此版本模型时,请务必注明原挑战赛来源。
  • 2025 年 1 月 9 日:优化了所有目标识别脚本,并新增包含示例的笔记本。
  • 2024 年 12 月 12 日:上传了用于微调的额外数据集至 [数据]。增加了随机旋转增强功能。
  • 2024 年 12 月 5 日:优化了 target_dist.json 文件的加载流程,改为从 HuggingFace 自动下载。
  • 2024 年 12 月 3 日:新增了推理笔记本示例,分别位于 inference_example_RGB.ipynb 和 inference_example_NIFTI.ipynb。
  • 2024 年 11 月 22 日:在 inference_example_DICOM.ipynb 中添加了负预测 p 值示例。
  • 2024 年 11 月 18 日:BiomedParse 正式发表于 Nature Methods

安装说明

git clone https://github.com/microsoft/BiomedParse.git

Conda 环境搭建

conda create -n biomedparse_v2 python=3.10.14
conda activate biomedparse_v2

安装依赖项:

pip install -r assets/requirements/requirements.txt 

# 上述要求文件假设您的环境使用 cuda12.4。请根据您的系统/环境相应调整。

pip install azureml-automl-core
pip install opencv-python
pip install git+https://github.com/facebookresearch/detectron2.git

模型权重

我们提供了在 CVPR 2025 文本引导的 3D 分割挑战赛 数据集 上训练的模型权重。使用此版本模型时,请务必注明原挑战赛来源。此外,必要的图像预处理也参考了原始数据集。

方法一:HuggingFace Hub

您可以直接从 HuggingFace Hub 下载预训练模型权重。

首先安装所需包:

pip install huggingface_hub

然后使用 HuggingFace Hub API 下载检查点文件:

from huggingface_hub import hf_hub_download

# 下载检查点文件
file_path = hf_hub_download(
    repo_id="microsoft/BiomedParse",
    filename="biomedparse_v2.ckpt"
)

print("模型权重已下载至:", file_path)

方法二:命令行直接下载

您也可以使用 wgetcurl 直接下载文件:

wget https://huggingface.co/microsoft/BiomedParse/resolve/main/biomedparse_v2.ckpt

curl -L -o biomedparse_v2.ckpt https://huggingface.co/microsoft/BiomedParse/resolve/main/biomedparse_v2.ckpt

💡 提示: 如果仓库为私有,请先使用以下命令登录 HuggingFace 账号并获取令牌:

huggingface-cli login

再尝试下载。

现在您已经准备好使用模型权重了!

模型推理

BiomedParse v2 支持以逐层方式对 3D 体积进行分割,每层周围会编码相邻的 3D 上下文信息,并以 RGB 格式呈现。

推理3D 示例

import numpy as np
import torch
import torch.nn.functional as F
import hydra
from hydra import compose
from hydra.core.global_hydra import GlobalHydra
from utils import process_input, process_output, slice_nms
from inference import postprocess, merge_multiclass_masks
from skimage import segmentation
from huggingface_hub import hf_hub_download

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print("使用设备:", device)

GlobalHydra.instance().clear()
hydra.initialize(config_path="configs/model", job_name="example_prediction")
cfg = compose(config_name="biomedparse_3D")
model = hydra.utils.instantiate(cfg, _convert_="object")
model.load_pretrained(hf_hub_download(
  repo_id="microsoft/BiomedParse", filename="biomedparse_v2.ckpt"))
model = model.to(device).eval()

# 示例图像和提示
file_path = "examples/imgs/CT_AMOS_amos_0018.npz"

npz_data = np.load(file_path, allow_pickle=True)
imgs = npz_data["imgs"]
text_prompts = npz_data["text_prompts"].item()

print("加载的图像形状:", imgs.shape)
print("文本提示:", text_prompts)

ids = [int(_) for _ in text_prompts.keys() if _ != "instance_label"]
ids.sort()
text = "[SEP]".join([text_prompts[str(i)] for i in ids])

imgs, pad_width, padded_size, valid_axis = process_input(imgs, 512)

imgs = imgs.to(device).int()

input_tensor = {
    "image": imgs.unsqueeze(0),  # 添加批次维度
    "text": [text],
}

with torch.no_grad():
    output = model(input_tensor, mode="eval", slice_batch_size=4)

mask_preds = output["predictions"]["pred_gmasks"]
mask_preds = F.interpolate(mask_preds, size=(512, 512), mode="bicubic", align_corners=False, antialias=True)

mask_preds = postprocess(mask_preds, output["predictions"]["object_existence"])
mask_preds = merge_multiclass_masks(mask_preds, ids)
mask_preds = process_output(mask_preds, pad_width, padded_size, valid_axis)
print("处理后的掩码形状:", mask_preds.shape)

更多示例请参阅 推理笔记本

评估

您需要在 <YOUR MODEL AND DATA DIR> 下准备公开模型检查点和评估数据,并将其放入 evaluate_biomedparse.yaml 中,如下所示:

mounts:
  external: <YOUR MODEL AND DATA DIR>

将模型检查点保存在 <YOUR MODEL AND DATA DIR> 下。下载 CVPR 2025 文本引导 3D 分割挑战赛的验证集 dataset。将 验证图像 保存到 <YOUR MODEL AND DATA DIR>/data/test 目录下,将 验证掩码 保存到 <YOUR MODEL AND DATA DIR>/data/test_mask 目录下。然后运行以下命令:

python -m azureml.acft.image.components.olympus.app.main \
  --config-path <YOUR ABSOLUTE CONFIG DIRECTORY PATH> \
  --config-name evaluate_biomedparse

微调

想为您的特定任务提升性能吗?以下是关于在您自己的数据上进行端到端微调的详细说明:FINETUNING

推荐预处理(重要!)

BiomedParse v2 的训练涵盖了五种常用的 3D 生物医学图像模态:CT、MR、PET、超声和显微镜。为了获得合理的性能,务必对推理图像进行与模型训练时相同的预处理。请将所有图像处理成 npz 格式,且强度范围为 [0, 255]。具体来说,对于 CT 图像,请根据部位/解剖结构使用典型的窗宽和窗位值归一化 Hounsfield 单位:

  • 软组织(W:400, L:40)
  • 肺(W:1500, L:-160)
  • 脑(W:80, L:40)
  • 骨骼(W:1800, L:400)。

对于其他所有图像,将强度值裁剪到第 0.5 百分位数和第 99.5 百分位数之间。最后,将强度值重新缩放到 [0, 255] 范围内。如果原始强度范围已在 [0, 255] 之内,则无需进行任何预处理。

支持的任务

  • CT:肿瘤学/病理学(肾上腺皮质癌、左右肾病变/囊肿、肝脏肿瘤、肺部病变、胰腺肿瘤、头颈部癌症、结肠癌原发灶、COVID-19、全身性病变、淋巴结);胸部(左右肺、左上叶/左下叶/右上叶/右中叶/右下叶、气管、气道树);腹部/盆腔(脾脏、肝脏、胆囊、胃、胰腺、十二指肠、小肠、结肠、食管);泌尿生殖系统/内分泌系统(左右肾、左右肾上腺、膀胱、前列腺、子宫);血管系统(主动脉/分支、上腔静脉、下腔静脉、肺静脉、头臂干、左右锁骨下动脉/颈动脉、左右头臂静脉、左心耳、门静脉/脾静脉、左右髂动脉/静脉);心脏(心脏);头颈部(左右颈动脉、左右下颌下腺/腮腺/泪腺、甲状腺、喉部声门区/声门上区、嘴唇、颊黏膜、口腔、颈段食管、环咽肌入口、杓状软骨、左右眼球前后节、视交叉、左右视神经、左右耳蜗、垂体、脑干、脊髓);神经/颅脑(大脑、颅骨、Willis环CTA);脊柱/肌肉骨骼系统(骶骨、C1–S1椎体、左右肱骨/肩胛骨/锁骨、左右股骨/髋关节、左右臀大肌/中肌/小肌、左右固有肌、左右髂腰肌)。
  • MRI:腹部/盆腔(脾脏、肝脏、胆囊、胃、胰腺、十二指肠、小肠全段、结肠全段、食管、膀胱、前列腺、子宫);结肠各段(盲肠、阑尾、升结肠、横结肠、降结肠、乙状结肠、直肠);泌尿生殖系统(前列腺移行带、前列腺病灶);心脏CMR(左心室、右心室、心肌、左心房、右心房);胸部(左右肺);血管系统(主动脉、肺动脉、上腔静脉、下腔静脉、门静脉/脾静脉、左右髂动脉/静脉、左右颈动脉、左右颈内静脉);神经肿瘤/缺血(大脑、脑肿瘤、脑卒中病灶、GTVp/GTVn肿瘤、鼓室内/外的前庭神经鞘瘤、左右耳蜗);胶质瘤成分(非增强肿瘤核心、FLAIR高信号非增强区域、增强组织、切除腔);白质病变(FLAIR/T1高信号白质病变);神经血管(Willis环MRA);脊柱/肌肉骨骼系统(骶骨、局部椎体、椎间盘、椎管/脊髓、左右肱骨/股骨/髋关节、左右臀大肌/中肌/小肌、左右固有肌、左右髂腰肌)。
  • 超声:心脏(左心室、心肌、左心房)、颈部(甲状腺、颈动脉、颈内静脉)、神经(脑肿瘤)、小腿肌肉骨骼系统(比目鱼肌、腓肠肌内侧/外侧)。
  • PET:全身性病变。
  • 电子显微镜:内溶酶体、线粒体、细胞核、神经元超微结构、突触间隙、轴突。
  • 光片显微镜:大脑神经活动、阿尔茨海默病斑块、细胞核、血管。

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|1周前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|1周前
开发框架图像Agent