摘要:腹部CT多器官分割一直是医学影像分割中极具挑战性的任务。腹腔内部器官种类多、软组织对比度低、不同器官边界模糊,器官形态、大小个体差异巨大。传统U‑Net依靠跳跃连接融合多尺度特征,但跳跃连接会无差别传递背景噪声;Attention‑U‑Net引入注意力门控模块,在几乎不增加大量参数量前提下,让网络“重点关注”目标脏器区域。本文结合完整开源工程代码,从数据集设计、网络原理、模块拆解、训练策略、评估指标、推理可视化、实验对比、工程坑点全方位解析2D腹部CT多类别器官分割方案,并给出可直接渲染的Mermaid网络结构图。 
1 研究背景与任务难点
在临床放射治疗、计算机辅助诊断流程中,腹部各个脏器的轮廓分割是基础环节。放疗靶区规划需要精准识别肝、肾、胃、胰腺等危及器官,避免射线对正常组织造成损伤。完全依靠医生手动逐切片勾画,一千多张CT切片需要耗费数小时人力,重复性差,不同医生标注结果存在差异。因此基于深度学习实现腹部多脏器自动分割具备很高临床应用价值。
腹部CT分割主要难点:
本项目数据集包含1000+腹部CT二维切片,分割目标:背景、主动脉、胆囊、脾、左肾、右肾、肝、胰腺、胃。项目实现两套基线模型:原生U‑Net,以及加入注意力门控的AttU‑Net,完整覆盖dataset、model、train、predict、utils工具模块,实现训练、验证、评估、推理可视化闭环。 
2 网络架构原理与Mermaid结构图
2.1 U‑Net网络结构
U‑Net由编码器(下采样路径)和解码器(上采样路径)组成。编码器使用重复卷积块+最大池化,不断降低特征图尺寸、提升通道数,捕获全局上下文语义;解码器通过上采样逐步恢复分辨率,通过跳跃连接把编码器同尺度特征直接拼接,弥补下采样丢失的细节信息,最后1×1卷积输出分类通道数,得到每个像素的类别得分图。
2.2 Attention‑U‑Net(AttU‑Net)改进点
AttU‑Net核心创新是Attention Gate注意力门控模块,插入到U‑Net每一个跳跃连接的拼接之前。
- 输入两个特征:g来自解码器上采样后的粗粒度门控特征;x来自编码器浅层高分辨率特征;
- 分别对g、x做1×1卷积降维,相加后经过ReLU、1×1卷积、Sigmoid生成0‑1之间注意力权重图;
- 将权重图与编码器特征x逐像素相乘,抑制背景无关区域,增强器官目标区域;
- 加权之后的编码器特征再和解码器上采样特征进行concat拼接。
优势:不需要额外预训练定位网络;前向传播抑制背景特征,反向传播时背景区域梯度被抑制,参数更新主要聚焦目标器官;计算开销可控,适合医学影像任务。
Mermaid:AttU‑Net整体网络结构图

Mermaid:注意力门控Attention Block内部子结构

3 数据集工程实现细节(MyDataset)
CT医学分割数据集存在一个特殊工程问题:mask保存为灰度图片,不同器官对应任意离散灰度,不是0,1,2…连续标签。如果直接送入CrossEntropyLoss会报错。
项目解决方案:
数据预处理流水线:
注意坑点:mask缩放必须使用INTER_NEAREST最近邻插值,不能用双三次插值,避免产生无效中间灰度值。
4 训练配置、损失函数与全套评估指标
- 损失函数:CrossEntropyLoss多分类交叉熵;
- 优化器:AdamW,weight‑decay=0.01;
- 学习率策略:余弦退火LambdaLR;
- 输入大小224×224;batch_size可调;
- 评价指标基于混淆矩阵ConfusionMatrix:Pixel‑Accuracy、Precision、Recall、F1‑Score、Dice、IoU,统计除背景外各个器官类别,同时计算mDice、mIoU均值,作为保存最优模型依据。
训练循环逻辑:
5 推理模块predict.py功能
推理流程:读取CT图像 → resize、窗处理、归一化、维度变换送入模型;model.eval()+torch.no_grad推理;argmax获取类别索引;依据grayList映射回原始mask灰度;resize还原原始图像分辨率;保存预测mask灰度图;绘制原图、轮廓叠加掩膜可视化三拼接对比图,输出至inference文件夹。
6 U‑Net与AttU‑Net对比分析
在本腹部CT数据集场景,AttU‑Net预期mDice、mIoU整体优于原生U‑Net,尤其对形态较小的胆囊、胰腺提升更明显。
基于 U‑Net 与 Attention‑U‑Net 的腹部 CT 多脏器自动分割实现




