基于Swin Transformer的肝脏肿瘤CT分割

肝脏肿瘤 CT 三类分割(背景 / 肝脏 / 肿瘤):完整实现纯 Transformer 的 Swin-UNet,对照 UNet、Attention-UNet,跑通 LiTS 数据 3D→2D 预处理、HU 窗化、训练评估到分割可视化全链路——一条完整的医学图像分割工程线,代码、文档、配图全配齐。

  • 任务类型计算机视觉
  • 专业方向计算机 · 人工智能 · 医学/生物医学

项目亮点

  • 完整复现 Swin-UNet(Swin Transformer 编码器 + 对称解码器,含 Patch Expanding 上采样)
  • 三类分割:背景 / 肝脏 / 肿瘤
  • 端到端从 3D NIfTI CT 体积到 2D 切片预处理 → 训练 → 评估 → 可视化

数据与任务

样本量LiTS · 4184 张 CT 切片
核心方法Swin-UNet + 混合损失
技术栈PyTorch · einops

如果你想找一个把医学图像分割全流程做扎实、又能讲出 Transformer 技术深度的视觉项目,这个「基于 Swin Transformer 的肝脏肿瘤 CT 分割」很合适。

它面向一个真实的临床场景——在腹部 CT 上把肝脏和其中的肿瘤一像素一像素地勾出来。配套也给你备齐了,帮你真正搞懂它、在面试和答辩里讲明白:带中文注释、能读懂的代码,一份从 CT 影像特性一直讲到模型结构与实验分析的技术文档,一份把面试问题连答案都写好的项目讲解资料,还有一整套能直接做 PPT 的配图。

flowchart LR A["腹部 CT 体积<br/>(3D NIfTI)"] --> B["HU 窗化 + 切片<br/>(3D→2D)"] B --> C["Swin-UNet<br/>窗口注意力编解码"] C --> D["逐像素三分类<br/>背景/肝脏/肿瘤"] D --> E["分割掩码 + 指标评估"] B --> F["UNet / Attention-UNet<br/>CNN 对照"] F --> E

先说清楚,它到底在做什么

肝脏肿瘤分割本质是像素级的三分类语义分割:要给 CT 切片上每个像素判断它属于背景、肝脏还是肿瘤,再依此勾出器官与病灶的轮廓。难点有两层——其一,CT 是 HU 值范围跨 -1000 到 3000+ 的灰度影像,肝脏和周围软组织对比度很低,边界容易糊;其二,肿瘤体素占比常常不到 1%,是典型的极端类别不平衡,模型稍不留神就把肿瘤"漏判"成肝脏或背景。

这个项目以 Swin-UNet(纯 Transformer 的 U 形分割网络)为主角,搭了一条完整的医学分割流水线:先把 28 例 LiTS 三维 CT 体积做 HU 窗化并切成 224×224 的二维切片、只保留含前景的有效切片,再用 CrossEntropy + Dice 混合损失对抗类别不平衡,同时拉上 UNet、Attention-UNet 两个 CNN 经典网络做同条件对照,最后从 Dice、IoU、Sensitivity、Precision 多个角度评估并可视化。

LiTS CT 切片与标签样本
LiTS 数据集样本:上排是原始 CT 切片,下排叠加金标准(红=肝脏,黄=肿瘤)——这张图能直观讲清数据长什么样、为什么肿瘤这么难分。

搞懂它,你能在面试里讲清楚什么

把下面几件事吃透,面试官顺着问下来你都能接得住。

Swin-UNet 的纯 Transformer 结构,窗口注意力是怎么回事。 这是地基,也是这个项目最有技术含量的部分。你要能讲清楚它怎么用 Patch Embedding 把图切成 patch、用 W-MSA / SW-MSA 交替的移位窗口注意力在局部窗口里算自注意力又能跨窗口流通信息,再讲明白编码器侧的 Patch Merging 下采样和解码器侧的 Patch Expanding 上采样怎么对称配合、跳跃连接怎么把浅层细节补回来。

Swin-UNet 编码器-解码器架构
照着这张架构图,能把"Patch Embedding → Swin 编码器 → 瓶颈 → Patch Expanding 解码器 → 分割头"的完整数据流和每一级的分辨率/通道数讲明白。

怎么把一条医学分割流水线从数据讲到落地。 这是项目的骨架。你要能讲清楚 CT 为什么要先做 HU 窗化、3D 体积怎么切成 2D 训练、为什么只保留含前景的切片、85/15 怎么按体积划分避免数据泄露,再到三模型同条件训练、统一指标评估。

整体技术路线流程
从 NIfTI 体积、HU 窗化、切片提取、前景过滤,到三模型训练、混合损失、评估与三类分割输出的完整技术路线——这张图能把项目一次讲清。

为什么用混合损失,以及拿 CNN 做对照的意义。 单 CrossEntropy 是逐像素分类,面对肿瘤这种极小目标会被背景主导;Dice Loss 从区域重叠的角度补上对小目标的梯度信号,两者相加同时管住像素精度和区域一致性。把 Transformer 与 CNN 放在同一套数据、同一套指标下对照,你能讲清楚不同归纳偏置的网络在医学小数据上各自的脾性——这正是答辩里最能体现思考深度的地方。

下面这组分析图也都给你做好了,可以直接放进答辩或面试 PPT

分割结果对比
CT → 真值 → 三模型分割对照
验证 Dice 曲线
肝脏 / 肿瘤验证 Dice 收敛
分割指标对比
三模型逐项指标对比

更关键的是,每张图怎么跑出来的、该怎么解读,技术文档里都讲清楚了——你能说明白每张图到底说明了什么。

面试官会问的,都帮你备好了

随便感受几个这个项目真实会被追问的问题:

  • Swin 的移位窗口(SW-MSA)解决了普通窗口注意力的什么问题?
  • CT 为什么要做 HU 窗化?窗宽窗位是怎么选的?
  • 肿瘤体素占比不到 1%,混合损失里 Dice Loss 具体补了 CrossEntropy 的什么短板?

看到会愣一下?正常。配套的项目讲解资料把这个项目——从整体思路到每个流程细节、各种可能被追问的点——连参考答案都给你写好了。另外还有现成的简历描述,照着改就能写进简历;那套配图也能直接套进 PPT 模板,快速出一份面试 / 答辩 PPT。

配套资料:搞懂一个项目需要的,这里全都有

先看那份技术文档——从 CT 影像特性、HU 窗化、3D→2D 切片,一直讲到 Swin-UNet 结构推导、训练流程、实验结果与分割可视化,图文并茂:

文档封面
封面 + 目录
架构方法页
Swin-UNet 结构详解
结果页
CT 分割结果可视化

代码也给你了——关键部分都带着中文注释,帮你读懂"它到底是怎么实现的"

窗口注意力代码
Swin 窗口注意力 (W-MSA)
编解码前向代码
Swin-UNet 编码—解码前向

技术文档、项目讲解资料、源码注释、整套配图——搞懂一个项目、并在面试里讲清楚它,需要的全都备齐了。

适合谁

不管你是赶毕设、想给简历添个有分量的视觉项目,还是在准备面试,这个题目都接得住。专业上,计算机、人工智能、软件工程、电子信息、生物医学工程方向都很合适。医学图像分割是计算机视觉里又硬核又有应用价值的方向,把这条"读懂 CT 数据 + 搭 Transformer 分割网络 + 多模型对照评估 + 可视化呈现"的完整链路真正搞懂、能讲出来,就是一个能写进简历、撑得起面试的项目。

想把这样的项目做成你简历上的亮点?

这是一套配齐了代码、文档、面试问答和配图的 AI+X 项目,可写进简历、在面试里讲清楚。 想做同类项目、或获取「基于Swin Transformer的肝脏肿瘤CT分割」的完整资料(代码 / 数据处理流程 / 论文文档 / 配图), 请联系为你介绍本页面的老师咨询,按你的情况定一个合适的项目。