CADS-python版:在一分钟内分割全身147个器官(可批量)
CADS-python版:在一分钟内分割全身147个器官(可批量)
之前我们分享过python版的TotalSegmentator,可在一分钟内分割全是117个器官,今天,我们介绍一个新的模型CADS,它能分割 ts 未覆盖的部分器官与结构,两者结合可实现更完整的全身解剖分割。

CADS 简介
CADS(Comprehensive Anatomical Dataset & Segmentation)是一个针对全身 CT(从头部到膝部)影像的开源自动分割框架。其核心特点与亮点如下:
-
覆盖丰富、结构全面
CADS 涵盖 167 个解剖结构,远超多数现有模型的覆盖范围。
-
大规模数据支撑
CADS 包含 22,022 例带完整标注的 CT 体数据集(CADS-dataset),数据来源覆盖 16 个国家、100 多个成像中心,具备很强的异质性和泛化能力。
-
自动化流程与质量控制
数据集构建过程中使用伪标注(pseudo-labeling)与无监督质量控制机制,以保证标注的完整性与一致性。
-
模块化模型设计
CADS 的模型套件可分任务运行,每个子模型对应一类结构(如脊椎、胸腹器官、头颈部结构等),用户可选择运行全部任务或按需运行部分任务。
-
便捷使用方式
提供命令行 Python 脚本接口,用于批量推理。
还提供 3D Slicer 插件 实现一键界面式调用,便于非编程背景用户使用。 -
开源许可与模型权重
代码采用 Apache-2.0 许可开源;模型权重以 CC BY 4.0 许可发布。
-
验证与应用
CADS 在公开竞赛和真实医院数据中均展示了良好性能,适用于科研、辅助诊断、影像处理平台整合等场景。
安装python版CADS
- step1: 创建虚拟环境
conda create -n cads python=3.10
- step2: 克隆官方库
git clone https://github.com/murong-xu/CADS.git
注意:记住克隆后的地址,我的默认下载到C:\Users\Administrator\CADS
- step3: 安装python包
cd CADS
conda activate cads
pip install -e .
- step4:安装torch
pip install torch==2.7.1+cu128 torchvision==0.22.1+cu128 torchaudio==2.7.1+cu128 --index-url https://download.pytorch.org/whl/cu128
这是基于我电脑GPU(5090)的版本,不一定适合所有人

显示带cuda的torch表示GPU可用,也可以用下面的方法进行检验, torch.cuda.is_available()=True如果等于False就表明torch没安装对版本。

分割demo
调用脚本格式:
python cads/scripts/predict_images.py -in <输入目录> -out <输出目录> -task <任务ID或all> [其他选项]
例如,我要分割demo文件夹下所有的图像
conda activate cads #(确保激活环境)
cd CADS # 进入克隆的cads目标
python cads/scripts/predict_images.py -in C:\Users\Administrator\Desktop\demo -out C:\Users\Administrator\Desktop\mask -task all
参数解析
-in:必须指定,输入 CT NIfTI((.nii 或 .nii.gz)) 影像所在目录。-out:必须指定,输出分割结果(掩码文件)的保存目录,若目录不存在会自动创建。-task:指定分割任务,可为all或以下任一任务 ID:[551, 552, 553, 554, 555, 556, 557, 558, 559]。具体每个ID分割哪些器官见文末。--cpu:使用 CPU 进行推理,默认使用 GPU。--no-preprocessing:禁用预处理(默认启用,包括重采样、去旋转平移等)。--no-postprocessing:禁用后处理(默认启用)。-np / --nr_thr_preprocess:设置预处理线程数,默认 4。-ns / --nr_thr_saving:设置保存结果线程数,默认 6。--verbose:显示详细日志信息,默认关闭。
第一次使用时,会去下载模型,请确保网络通畅(必要时用魔法)。提取的模型权重存放在( c:\users\administrator\cads\cads\model_weights\Dataset551_Totalseg251)。因此,你也可以手动去官网下载并存放在这个目录。


好,我们来看一下效果

肉眼所见,几乎每个器官都被分割了。但是我们从图片左边也可以看到,他的分割文件数量为9个,是从551-559。也就意味着他的全身分割使用了9个模型,每个模型一个分割结果,并没有合并文件。如果需要将这所有器官分割在一个文件,后续自己写一个合并代码即可。
总的来说,他的分割准确度和TotalSegmentator(ts)是相当的,但是两个模型分割的器官有一些区别,ts做批量任务会更灵活一些。总之,各有千秋。
CADS可以分割哪些器官
cads一共提供9个模型,ID(551-559).分别分割如下器官
-
任务 551:主要腹部器官、主要胸部器官(肺)和主要腹部脉管系统 脾脏、肾脏 R/L、胆囊、肝脏、胃、主动脉、下腔静脉、门静脉和脾静脉、胰腺、肾上腺 R/L、左肺上叶/下叶、右肺上叶/中叶/下叶。
-
任务 552:从颈椎到腰椎区域的完整单个椎骨, 椎骨 C1-C7、T1-T12、L1-L5。
-
任务 553:各种胸腹部器官、大脑、主要盆腔血管和面部 食道、气管、心肌、心房 R/L、心室 R/L、肺动脉、大脑、髂总动脉 R/L、髂总静脉 R/L、小肠、十二指肠、结肠、膀胱、面部。
-
任务 554:附肢骨架的主要骨骼、骶骨和相关的大肌肉群 肱骨 R/L、肩胛骨 R/L、锁骨 R/L、股骨 R/L、髋骨 R/L、骶骨、臀大肌/中肌/小肌 R/L、背部深层肌肉 R/L、髂腰肌 R/L。
-
任务 555:完成单根肋骨,包括左、右 肋骨 1-12 R/L。
-
任务 556:放射治疗的各种结构 脊椎管、喉头、心脏、结肠造口袋、乙状结肠、直肠、前列腺、精囊、乳腺 R/L、胸骨、腰大肌 R/L、腹直肌 R/L。
-
任务 557:大脑和头部组织 白质、灰质、脑脊液、头皮、眼球、密质骨、松质骨、血液、头部肌肉。
-
任务 558:头部和颈部结构 颈动脉 R/L、杓状软骨、下颌骨、脑干、颊粘膜、口腔、耳蜗 R/L、环咽肌、颈食管、眼球前/后节 R/L、泪腺 R/L、颌下腺 R/L、甲状腺、声门、声门上、双唇、视交叉、视神经 R/L、腮腺 R/L、脑垂体。
-
任务 559:一般组织类型、主要体腔、广泛的解剖类别 皮下组织、肌肉、腹腔、胸腔、骨骼、腺体结构、心包、假体乳房植入物、纵隔、脊髓。
以及每个模型器官对应的数字标签
模型 551| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 脾脏 |
| 2 | 右肾 |
| 3 | 左肾 |
| 4 | 胆囊 |
| 5 | 肝脏 |
| 6 | 胃 |
| 7 | 主动脉 |
| 8 | 下腔静脉 |
| 9 | 门静脉与脾静脉 |
| 10 | 胰腺 |
| 11 | 右肾上腺 |
| 12 | 左肾上腺 |
| 13 | 左肺上叶 |
| 14 | 左肺下叶 |
| 15 | 右肺上叶 |
| 16 | 右肺中叶 |
| 17 | 右肺下叶 |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 第五腰椎(L5) |
| 2 | 第四腰椎(L4) |
| 3 | 第三腰椎(L3) |
| 4 | 第二腰椎(L2) |
| 5 | 第一腰椎(L1) |
| 6 | 第十二胸椎(T12) |
| 7 | 第十一胸椎(T11) |
| 8 | 第十胸椎(T10) |
| 9 | 第九胸椎(T9) |
| 10 | 第八胸椎(T8) |
| 11 | 第七胸椎(T7) |
| 12 | 第六胸椎(T6) |
| 13 | 第五胸椎(T5) |
| 14 | 第四胸椎(T4) |
| 15 | 第三胸椎(T3) |
| 16 | 第二胸椎(T2) |
| 17 | 第一胸椎(T1) |
| 18 | 第七颈椎(C7) |
| 19 | 第六颈椎(C6) |
| 20 | 第五颈椎(C5) |
| 21 | 第四颈椎(C4) |
| 22 | 第三颈椎(C3) |
| 23 | 第二颈椎(C2) |
| 24 | 第一颈椎(C1) |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 食管 |
| 2 | 气管 |
| 3 | 心肌 |
| 4 | 左心房 |
| 5 | 左心室 |
| 6 | 右心房 |
| 7 | 右心室 |
| 8 | 肺动脉 |
| 9 | 大脑 |
| 10 | 左髂总动脉 |
| 11 | 右髂总动脉 |
| 12 | 左髂总静脉 |
| 13 | 右髂总静脉 |
| 14 | 小肠 |
| 15 | 十二指肠 |
| 16 | 结肠 |
| 17 | 膀胱 |
| 18 | 面部 |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 左肱骨 |
| 2 | 右肱骨 |
| 3 | 左肩胛骨 |
| 4 | 右肩胛骨 |
| 5 | 左锁骨 |
| 6 | 右锁骨 |
| 7 | 左股骨 |
| 8 | 右股骨 |
| 9 | 左髋关节 |
| 10 | 右髋关节 |
| 11 | 骶骨 |
| 12 | 左臀大肌 |
| 13 | 右臀大肌 |
| 14 | 左臀中肌 |
| 15 | 右臀中肌 |
| 16 | 左臀小肌 |
| 17 | 右臀小肌 |
| 18 | 左背深肌群 |
| 19 | 右背深肌群 |
| 20 | 左髂腰肌 |
| 21 | 右髂腰肌 |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 左第1肋骨 |
| 2 | 左第2肋骨 |
| 3 | 左第3肋骨 |
| 4 | 左第4肋骨 |
| 5 | 左第5肋骨 |
| 6 | 左第6肋骨 |
| 7 | 左第7肋骨 |
| 8 | 左第8肋骨 |
| 9 | 左第9肋骨 |
| 10 | 左第10肋骨 |
| 11 | 左第11肋骨 |
| 12 | 左第12肋骨 |
| 13 | 右第1肋骨 |
| 14 | 右第2肋骨 |
| 15 | 右第3肋骨 |
| 16 | 右第4肋骨 |
| 17 | 右第5肋骨 |
| 18 | 右第6肋骨 |
| 19 | 右第7肋骨 |
| 20 | 右第8肋骨 |
| 21 | 右第9肋骨 |
| 22 | 右第10肋骨 |
| 23 | 右第11肋骨 |
| 24 | 右第12肋骨 |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 脊髓管 |
| 2 | 喉部 |
| 3 | 心脏 |
| 4 | 结肠造口袋 |
| 5 | 乙状结肠 |
| 6 | 直肠 |
| 7 | 前列腺 |
| 8 | 精囊腺 |
| 9 | 左乳腺 |
| 10 | 右乳腺 |
| 11 | 胸骨 |
| 12 | 右腰大肌 |
| 13 | 左腰大肌 |
| 14 | 右腹直肌 |
| 15 | 左腹直肌 |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 白质 |
| 2 | 灰质 |
| 3 | 脑脊液 |
| 4 | 头皮 |
| 5 | 眼球 |
| 6 | 致密骨 |
| 7 | 松质骨 |
| 8 | 血液 |
| 9 | 头部肌肉 |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 左颈动脉 |
| 2 | 右颈动脉 |
| 3 | 杓状软骨 |
| 4 | 下颌骨 |
| 5 | 脑干 |
| 6 | 颊黏膜 |
| 7 | 口腔 |
| 8 | 左耳蜗 |
| 9 | 右耳蜗 |
| 10 | 环咽肌 |
| 11 | 颈段食管 |
| 12 | 左眼球前节 |
| 13 | 右眼球前节 |
| 14 | 左眼球后节 |
| 15 | 右眼球后节 |
| 16 | 左泪腺 |
| 17 | 右泪腺 |
| 18 | 左颌下腺 |
| 19 | 右颌下腺 |
| 20 | 甲状腺 |
| 21 | 声门 |
| 22 | 上声门 |
| 23 | 双唇 |
| 24 | 视交叉 |
| 25 | 左视神经 |
| 26 | 右视神经 |
| 27 | 左腮腺 |
| 28 | 右腮腺 |
| 29 | 垂体 |
| 索引 | 解剖结构名称 |
|---|---|
| 0 | 背景 |
| 1 | 皮下组织 |
| 2 | 肌肉 |
| 3 | 腹腔 |
| 4 | 胸腔 |
| 5 | 骨骼 |
| 6 | 腺体结构 |
| 7 | 心包 |
| 8 | 乳房假体 |
| 9 | 纵隔 |
| 10 | 脊髓 |
参考资料:
https://github.com/murong-xu/CADS
https://github.com/murong-xu/CADS/blob/main/resources/info/labelmap.md
文章持续更新,可以关注微公【Radiology AI Camp】获取最新动态。人手有限,文中涉及的链接前往微公对应文章查看。关注Tina姐,一起学习进步~
我是Tina, 我们下篇博客见~
白天工作晚上写文,呕心沥血
觉得写的不错的话最后,求点赞,评论,收藏。或者一键三连
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)