1. 医学影像分割任务全景
医学影像分割的本质,是把影像中"我们关心的那部分"逐像素地标出来。它不同于分类(整张图给一个标签)和检测(给一个矩形框),而是要求对每个像素或体素给出类别归属。理解这一点,是后续所有算法开发工作的起点:无论你后面用 U-Net、nnU-Net 还是 Transformer 架构,最终交付的都是一个与输入影像同尺寸的分割掩膜(mask)。
一、分割对象:从解剖结构到病灶
临床需求决定了"分割什么"。常见的分割对象大致可分为四类:
- 器官与解剖结构:如肝脏、肾脏、心脏、脑组织、前列腺。这类目标边界相对清晰、形态稳定,是分割算法最成熟的应用领域,常用于放疗计划、手术导航和器官体积测量。
- 病灶与异常区域:如脑肿瘤、肺结节、肝转移灶、视网膜渗出。这类目标形态多变、边界模糊、大小差异极大,是分割难度的主要来源。
- 管腔与通道结构:如血管、气道、胆管。它们呈细长树状,拓扑连续性比像素精度更重要,断裂会直接影响临床判断。
- 组织与亚结构:如白质/灰质/脑脊液、皮下脂肪与肌肉。这类任务往往需要多类别同时输出。
以脑肿瘤分割(BraTS 数据集)为例,同一份 MRI 需要区分增强肿瘤、肿瘤周围水肿、坏死核心三个子区域,且每个病例包含 T1、T1ce、T2、FLAIR 四个模态。这说明"分割对象"往往不是单一目标,而是一组有临床含义的类别体系。
二、输出形式:掩膜、概率图与多类别编码
分割模型的输出形式直接决定了损失函数与后处理方式。常见有三种:
- 二值掩膜:每个像素为 0 或 1,适用于单目标分割,如"肿瘤 vs 背景"。
- 概率图:每个像素输出 0~1 之间的置信度,通常经过 Sigmoid 得到。概率图保留了不确定性信息,便于设置阈值和做集成。
- 多类别标签图:每个像素取 {0,1,2,...,K} 中的一个整数,0 通常为背景。训练时用 Softmax 输出 K+1 通道,推理时取 argmax。
需要特别注意的是类别不平衡问题。在典型的脑肿瘤切片中,肿瘤区域可能只占全部像素的 1%~5%,背景占绝对多数。如果直接用交叉熵损失,模型会倾向于全部预测为背景也能获得很低的损失。因此实际开发中常采用 Dice Loss、Focal Loss 或加权交叉熵来缓解。
三、评价指标:Dice、IoU 与 HD95
分割任务不能只看准确率(Accuracy)。一个把所有像素都判为背景的模型,在肿瘤占比 2% 的图像上准确率仍高达 98%,但毫无临床价值。因此需要专门的指标:
| 指标 | 含义 | 适用场景 |
|---|---|---|
| Dice 系数 | 2|A∩B| / (|A|+|B|),衡量重叠度 | 最常用,对类别不平衡较鲁棒 |
| IoU(Jaccard) | |A∩B| / |A∪B|,与 Dice 单调相关 | 检测与分割通用 |
| HD95 | 95% 分位的豪斯多夫距离 | 关注边界误差,对细小结构敏感 |
| 敏感度/特异度 | TP/(TP+FN)、TN/(TN+FP) | 临床筛查,关注漏诊与误诊 |
Dice 与 IoU 的关系为 IoU = Dice / (2 − Dice)。当 Dice = 0.8 时,IoU ≈ 0.67。实际项目中,肝脏分割 Dice 通常可达 0.95 以上,而脑肿瘤子区域 Dice 常在 0.7~0.85 之间,这反映了任务难度的差异。
四、典型应用场景与算法目标
不同临床场景对分割的要求并不相同。放疗计划要求器官轮廓精确且可复现,误差需控制在毫米级;手术导航要求实时性,推理时间往往需在秒级以内;病灶随访则更关注体积变化的一致性,而非单次绝对精度。这意味着"算法目标"必须结合场景来定义:是追求 Dice 最大化,还是保证边界距离最小,抑或满足推理速度约束。
五、从需求到算法目标的落地路径
把上述内容串起来,一个分割项目的起点不是选网络,而是回答四个问题:第一,临床要解决什么问题,这决定了分割对象的类别体系;第二,标注数据以什么形式存在,这决定了输出编码方式;第三,验收时用什么指标,这决定了损失函数与训练策略;第四,部署环境有什么约束,这决定了模型规模与推理优化方向。
以肝脏肿瘤分割为例:临床目标是辅助手术切除规划,因此需要同时输出肝脏和肿瘤两个类别;标注采用 ITK-SNAP 逐层勾画,保存为 NIfTI 格式的整数标签图;评价以 Dice 为主、HD95 为辅;部署在科室工作站,允许 10 秒级推理。基于这些约束,可以选择 nnU-Net 作为基线,损失函数用 Dice + 交叉熵组合,输入采用 CT 的窗宽窗位归一化。这样,算法目标就从模糊的"做好分割"变成了可执行、可验证的具体方案。