图像分割综述:从传统方法到基础模型的演进之路

系统回顾图像分割领域的发展历程:从传统方法到深度学习(FCN、U-Net、DeepLab、Mask R-CNN),再到 Transformer 时代(ViT、SegFormer、Mask2Former),以及以 SAM 为代表的基础模型。涵盖核心思想、关键突破与未来趋势。

一、引言

图像分割(Image Segmentation)是计算机视觉的核心任务之一,其目标是将图像划分为若干具有语义意义的区域。与分类(整个图像一个标签)和目标检测(边界框定位)不同,分割要求像素级的理解——为图像中的每一个像素分配一个类别标签。

按照输出粒度的不同,图像分割通常分为三个层次:

类型 描述 输出示例
语义分割 (Semantic) 为每个像素分配类别标签,不区分个体 所有"人"像素为红色
实例分割 (Instance) 区分同一类别的不同个体 人1 红色,人2 蓝色
全景分割 (Panoptic) 语义 + 实例,覆盖所有像素 “stuff” 语义 + “thing” 实例

过去十年,这一领域经历了三次范式革命:

  1. CNN 时代(2014–2020)——从全卷积网络到编解码器架构
  2. Transformer 时代(2020–2023)——自注意力机制捕获全局上下文
  3. 基础模型时代(2023–至今)——大规模预训练 + 提示工程

本文将从传统方法出发,系统梳理这一演进脉络,重点剖析关键模型的核心思想和设计权衡。

二、传统分割方法(深度学习之前)

在深度学习普及之前,图像分割主要依赖手工设计的特征和经典图像处理算法。尽管这些方法在今天已被深度学习超越,但其中的许多思想——如条件随机场(CRF)、图割(Graph Cut)——在后来的深度模型中得到了复兴和融合。

2.1 基于阈值的方法

Otsu 算法(1979)是最经典的自动阈值分割方法。它通过最大化类间方差来自动选择最优阈值:

$$ \sigma^2_B(t) = \omega_1(t)\omega_2(t)[\mu_1(t) - \mu_2(t)]^2 $$

其中 $\omega_1, \omega_2$ 是两类像素占比,$\mu_1, \mu_2$ 是两类均值。Otsu 对双峰直方图的图像效果很好,但对光照不均、噪声敏感。

2.2 基于边缘的方法

检测图像中的边缘(Canny、Sobel、LoG),然后闭合边缘形成区域。核心假设是:语义边界对应着像素值的剧烈变化。但实际中,边缘往往不连续,且纹理区域会产生大量伪边缘。

2.3 基于区域的方法

  • 区域生长:从种子点开始,合并满足相似性条件的邻域像素
  • 分水岭算法:将梯度图像视为地形图,“水"从局部极小值开始上涨,不同"水域"相遇处即为分割边界。容易过分割,通常需要预处理或后处理标记控制。

2.4 聚类方法

  • K-means:在颜色/特征空间中聚类像素。简单高效,但需要预设 $K$ 值,且缺乏空间一致性
  • 均值漂移(Mean Shift):非参数密度估计,不需要预设类别数,但计算量大

2.5 图割与条件随机场

Graph Cut(Boykov & Kolmogorov, 2001)将分割建模为能量最小化问题:

$$ E(L) = \sum_i D_i(l_i) + \lambda \sum_{(i,j) \in \mathcal{N}} V_{ij}(l_i, l_j) $$

数据项 $D_i$ 衡量像素 $i$ 分配标签 $l_i$ 的代价,平滑项 $V_{ij}$ 惩罚相邻像素的标签不一致。CRF 作为后处理在早期深度学习分割模型中广泛使用(如 DeepLab v1/v2),用来锐化分割边界。

三、CNN 时代:从像素到语义

3.1 全卷积网络(FCN, 2015)

Fully Convolutional Network(Long et al., CVPR 2015)是深度学习语义分割的奠基之作。核心贡献有二:

  1. 用卷积层替换全连接层,使网络可以接受任意尺寸的输入
  2. 跳级连接(Skip Connection),融合浅层细节与深层语义

FCN 将分类网络(VGG、AlexNet)末端改为一连串卷积和上采样,输出与输入同尺寸的热力图。但它的上采样结果仍然比较粗糙,对细节的恢复能力有限。

3.2 U-Net(2015)

U-Net(Ronneberger et al., MICCAI 2015)专为医学图像分割设计,其对称编解码器 + 跳接结构成为后续无数模型的基石。

1
2
3
输入 → [Conv × 2 → Down] × 4 → Bottleneck → [Up → Conv × 2] × 4 → 输出
                ↓                      ↑
              跳接 --------------------→

为什么 U-Net 如此成功?

  • 编码器逐步下采样,扩大感受野提取语义
  • 解码器逐步上采样,恢复空间分辨率
  • **跳接(Skip Connection)**将编码器的浅层细节直接传给解码器,缓解信息损失

U-Net 的变体数不胜数:UNet++(密集跳接)、Attention U-Net(门控注意力)、nnU-Net(自适应配置框架),它们在医学分割领域长期占据主导地位。

3.3 DeepLab 系列(2016–2018)

DeepLab 系列由 Google 团队开发,核心创新是空洞卷积(Atrous/Dilated Convolution)

$$ y[i] = \sum_k x[i + r \cdot k] \cdot w[k] $$

空洞率 $r$ 控制卷积核的采样间隔。相比池化下采样,空洞卷积在不增加参数量的前提下指数级扩大感受野。

  • DeepLab v1(2015):VGG-16 + 空洞卷积 + CRF 后处理
  • DeepLab v2(2017):ASPP(Atrous Spatial Pyramid Pooling)——以不同空洞率并行采样,捕获多尺度上下文
  • DeepLab v3(2017):改进 ASPP,加入全局平均池化分支,去掉 CRF
  • DeepLab v3+(2018):加入编解码器结构,Xception 作为骨干

3.4 PSPNet(2017)

Pyramid Scene Parsing Network(Zhao et al., CVPR 2017)提出了金字塔池化模块(PPM):将特征图划分为不同尺度的网格(1×1、2×2、3×3、6×6),分别池化后再上采样拼接。PPM 的核心问题是处理场景中物体的尺度差异——同一个类别在近处和远处可能尺寸相差数十倍。

3.5 Mask R-CNN(2017)

Mask R-CNN(He et al., ICCV 2017)将 Faster R-CNN 扩展为实例分割模型,在检测分支之外增加了一个并行的掩码预测分支:

  • ROI Align:解决 ROI Pooling 的量化误差,使用双线性插值保持空间对应
  • 多任务损失:分类 + 边界框回归 + 二值掩码

Mask R-CNN 是两阶段实例分割的标杆,后来的很多工作(Cascade Mask R-CNN、Hybrid Task Cascade)都是在其基础上的改进。

四、Transformer 时代:全局上下文的新范式

4.1 ViT 带来的冲击

Vision Transformer(Dosovitskiy et al., ICLR 2021)证明:将图像分割为固定大小的 Patch(如 16×16),线性投影后送入标准 Transformer Encoder,在图像分类上可以超越 CNN。

这对分割领域的启示是深远的:CNN 受限于局部感受野,而 Transformer 的自注意力机制可以直接建模任意两个像素之间的关系。研究者迅速跟进,试图将 Transformer 引入分割架构。

4.2 SETR(2021)

SETR(SEgmentation TRansformer)(Zheng et al., CVPR 2021)是最早的纯 Transformer 分割模型之一。它使用 ViT 作为编码器提取特征,然后通过渐进式上采样解码器恢复分辨率。

但 SETR 的问题也很明显:ViT 的 self-attention 计算量与输入尺寸平方相关,高分辨率的医学图像或高清街景图在计算上不可行。

4.3 TransUNet(2021)

TransUNet(Chen et al., 2021)采取了更务实的策略:CNN 作为底层特征提取器,Transformer 在瓶颈处处理特征序列,再接 U-Net 式解码器。

1
CNN 编码器 → Transformer 瓶颈 → CNN 解码器 + 跳接

这种混合架构的思路在后续工作中被广泛采用——不是用 Transformer 完全替代 CNN,而是在需要全局建模的地方引入注意力机制。

4.4 SegFormer(2021)

SegFormer(Xie et al., NeurIPS 2021)将分层 Transformer 编码器与轻量级 MLP 解码器结合:

  • 分层 Transformer 编码器:输出多尺度特征(类似 ResNet 的层次结构),且位置编码是零初始化的条件位置编码,适应任意分辨率
  • MLP 解码器:简单地将多尺度特征上采样到同一尺寸,拼接后通过 MLP 预测分割图

SegFormer 在多个基准上达到了当时最优(SOTA),且速度远超 DeepLab 等模型。它代表了 Transformer 分割模型的成熟——简洁、高效、无需位置编码微调。

4.5 Mask2Former(2021–2022)

Mask2Former(Cheng et al., CVPR 2022)统一了语义、实例和全景分割,提出了一种通用的掩码分类框架:

  1. 从 Transformer 解码器学习一组可学习的 query
  2. 每个 query 预测一个二值掩码 + 类别标签
  3. Masked Attention:只让 query 关注预测掩码区域内的特征,大幅降低计算量

Mask2Former 的关键创新是 masked attention,它解决了 Transformer 解码器中 query 需要关注全图的低效问题。一个 query 只关注其感兴趣的区域,计算复杂度从 $\mathcal{O}(N^2)$ 降至 $\mathcal{O}(N \cdot M)$($M \ll N$)。

五、基础模型时代:SAM 与提示分割

5.1 Segment Anything Model(SAM, 2023)

SAM(Kirillov et al., ICCV 2023)是图像分割领域的 GPT 时刻。它在大规模数据集 SA-1B(11亿掩码,1100万图像)上训练,具有强大的零样本泛化能力。

SAM 的三组件架构:

1
2
3
4
┌──────────┐    ┌──────────┐    ┌──────────┐
│ 图像编码器 │───→│ 提示编码器 │───→│ 掩码解码器 │
│ (ViT-H)   │    │ (点/框/文本)│    │ (轻量级)  │
└──────────┘    └──────────┘    └──────────┘
  • 图像编码器:MAE 预训练的 ViT-Huge,每张图只需推理一次
  • 提示编码器:支持点(prompt points)、边界框、文本(通过 CLIP 或 Grounding DINO)作为提示
  • 掩码解码器:轻量级 Transformer,运行提示和图像特征之间的交叉注意力

SAM 的设计体现了 “提示工程” 的革命性理念:不再是训练一个模型做特定任务,而是训练一个通用模型,用户通过提示(prompt)指定要分割什么。一次图像编码,多次提示查询的架构使其具有极高的交互效率。

5.2 SAM 2(2024)

SAM 2(Ravi et al., 2024)将 SAM 扩展到了视频分割领域:

  • 引入记忆机制(Memory Attention),在帧之间传递分割信息
  • 支持流式处理:对新帧自动传播上一帧的掩码
  • 在 SA-V 数据集(35K 视频,53K 掩码)上训练

SAM 2 的架构统一了图像和视频分割——图像可以视为单帧视频。这一统一意味着一个模型可以完成交互式分割、自动分割、视频对象跟踪等多个任务

5.3 医学领域的 SAM 变体

  • SAM-Med2D:在 SAM 基础上使用 46K 医学图像、460 万掩码微调,大幅提升医学场景的精度
  • SAM-Med3D:扩展到 CT/MRI 体数据(三维)
  • MedSAM:一个统一的医学图像分割模型,覆盖 10+ 模态

基础模型的出现改变了研究范式:从"设计特定任务的架构"转向"如何高效地适配/微调通用模型”。

六、评估指标

6.1 IoU / Jaccard Index

最广泛使用的分割评估指标:

$$ \text{IoU} = \frac{|A \cap B|}{|A \cup B|} $$

6.2 Dice Similarity Coefficient

医学分割领域偏好 Dice,因为它对类别不平衡更鲁棒:

$$ \text{Dice} = \frac{2|A \cap B|}{|A| + |B|} $$

两者之间的关系:$\text{Dice} = \frac{2 \cdot \text{IoU}}{1 + \text{IoU}}$

6.3 其他指标

  • Pixel Accuracy:正确分类的像素占比。简单但容易被大区域主导
  • Mean Accuracy:逐类计算准确率后取平均,缓解类别不平衡
  • Precision / Recall / F1:在掩码级别(实例分割)评估
  • Hausdorff Distance:评估分割边界与标注边界的最大偏差,在医学分割中常用

七、应用领域

7.1 医学图像分析

图像分割在医学领域的应用最为广泛且深入:

  • 器官分割:CT 中的肝脏/肾脏/肺分割、MRI 中的脑组织分割
  • 病灶分割:肿瘤、病变区域的分割(脑肿瘤、肺结节、视网膜病变)
  • 细胞分割:显微镜图像中的细胞核/膜分割
  • 手术导航:实时分割指导机器人手术

医学图像分割面临的独特挑战:标注昂贵(需要专家知识)、模态多样(CT/MRI/超声/PET)、类别极度不平衡。

7.2 自动驾驶

  • 道路理解:车道线、可行驶区域、路面障碍物分割
  • 语义场景解析:Cityscapes、BDD100K 数据集上的街景分割
  • 实例分割:车辆、行人等独立个体的分割

7.3 遥感与地理空间

  • 土地利用分类(建筑、植被、水体)
  • 道路提取
  • 变化检测

7.4 工业与农业

  • 产品质检:缺陷检测分割
  • 农作物长势监测
  • 机器人抓取:物体分割 + 姿态估计

八、挑战与未来方向

8.1 当前挑战

  1. 标注瓶颈:高质量像素级标注成本极高。半监督、弱监督、自监督方法仍是研究热点
  2. 边界模糊:在医学图像中,病灶边界往往模糊不清,不同专家的标注也存在差异
  3. 小目标分割:小物体在深度网络中容易在下采样过程中丢失
  4. 域迁移:在不同数据集/设备/中心之间,模型性能往往大幅下降
  5. 开放世界分割:如何分割训练时未见过的类别(open-vocabulary / open-set segmentation)

8.2 未来趋势

  1. 基础模型 + 适配器(Adapter):不再训练完整模型,而是以 SAM 等为基础,通过轻量适配器适配特定任务
  2. 多模态融合:整合文本、图像、知识图谱等多模态信息进行分割(如 CLIPSeg、Grounded SAM)
  3. 3D 与视频分割的融合:从 2D 单帧扩展到 3D 体数据和视频流
  4. 交互式 + 自动化的结合:用户提供少量点或框提示,模型自动完成精细分割
  5. 高效推理:将大模型(SAM 等)蒸馏为适合部署的小模型,支持边缘端医疗设备
  6. 与多模态大语言模型的结合:LISA、LLaVA-Seg 等工作将分割能力集成到大语言模型中,实现"对话式分割"

九、总结

图像分割在过去十年经历了从手工特征到深度学习、从 CNN 到 Transformer、从专门模型到通用基础模型的范式跃迁。U-Net 奠定了编解码器架构的基石,DeepLab 的空洞卷积和 ASPP 推动了多尺度理解,Mask R-CNN 定义了实例分割的范式,而 SAM 开启了分割的基础模型时代。

当前,语义分割在标准基准上的精度已经趋于饱和,但通用性、鲁棒性、交互性和跨模态能力仍是未完全解决的问题。未来的分割模型将不再是孤立的视觉模块,而是多模态智能系统中与语言、知识深度耦合的组成部分。


主要参考:

  1. Long et al., “Fully Convolutional Networks for Semantic Segmentation”, CVPR 2015
  2. Ronneberger et al., “U-Net: Convolutional Networks for Biomedical Image Segmentation”, MICCAI 2015
  3. Chen et al., “DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs”, TPAMI 2017
  4. He et al., “Mask R-CNN”, ICCV 2017
  5. Vaswani et al., “Attention Is All You Need”, NeurIPS 2017
  6. Dosovitskiy et al., “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale”, ICLR 2021
  7. Xie et al., “SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers”, NeurIPS 2021
  8. Cheng et al., “Masked-attention Mask Transformer for Universal Image Segmentation”, CVPR 2022
  9. Kirillov et al., “Segment Anything”, ICCV 2023
  10. Ravi et al., “SAM 2: Segment Anything Model in Images and Videos”, 2024
使用 Hugo 构建
主题 StackJimmy 设计