一、引言
图像分割(Image Segmentation)是计算机视觉的核心任务之一,其目标是将图像划分为若干具有语义意义的区域。与分类(整个图像一个标签)和目标检测(边界框定位)不同,分割要求像素级的理解——为图像中的每一个像素分配一个类别标签。
按照输出粒度的不同,图像分割通常分为三个层次:
| 类型 | 描述 | 输出示例 |
|---|---|---|
| 语义分割 (Semantic) | 为每个像素分配类别标签,不区分个体 | 所有"人"像素为红色 |
| 实例分割 (Instance) | 区分同一类别的不同个体 | 人1 红色,人2 蓝色 |
| 全景分割 (Panoptic) | 语义 + 实例,覆盖所有像素 | “stuff” 语义 + “thing” 实例 |
过去十年,这一领域经历了三次范式革命:
- CNN 时代(2014–2020)——从全卷积网络到编解码器架构
- Transformer 时代(2020–2023)——自注意力机制捕获全局上下文
- 基础模型时代(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)是深度学习语义分割的奠基之作。核心贡献有二:
- 用卷积层替换全连接层,使网络可以接受任意尺寸的输入
- 跳级连接(Skip Connection),融合浅层细节与深层语义
FCN 将分类网络(VGG、AlexNet)末端改为一连串卷积和上采样,输出与输入同尺寸的热力图。但它的上采样结果仍然比较粗糙,对细节的恢复能力有限。
3.2 U-Net(2015)
U-Net(Ronneberger et al., MICCAI 2015)专为医学图像分割设计,其对称编解码器 + 跳接结构成为后续无数模型的基石。
|
|
为什么 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 式解码器。
|
|
这种混合架构的思路在后续工作中被广泛采用——不是用 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)统一了语义、实例和全景分割,提出了一种通用的掩码分类框架:
- 从 Transformer 解码器学习一组可学习的 query
- 每个 query 预测一个二值掩码 + 类别标签
- 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 的三组件架构:
|
|
- 图像编码器: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 当前挑战
- 标注瓶颈:高质量像素级标注成本极高。半监督、弱监督、自监督方法仍是研究热点
- 边界模糊:在医学图像中,病灶边界往往模糊不清,不同专家的标注也存在差异
- 小目标分割:小物体在深度网络中容易在下采样过程中丢失
- 域迁移:在不同数据集/设备/中心之间,模型性能往往大幅下降
- 开放世界分割:如何分割训练时未见过的类别(open-vocabulary / open-set segmentation)
8.2 未来趋势
- 基础模型 + 适配器(Adapter):不再训练完整模型,而是以 SAM 等为基础,通过轻量适配器适配特定任务
- 多模态融合:整合文本、图像、知识图谱等多模态信息进行分割(如 CLIPSeg、Grounded SAM)
- 3D 与视频分割的融合:从 2D 单帧扩展到 3D 体数据和视频流
- 交互式 + 自动化的结合:用户提供少量点或框提示,模型自动完成精细分割
- 高效推理:将大模型(SAM 等)蒸馏为适合部署的小模型,支持边缘端医疗设备
- 与多模态大语言模型的结合:LISA、LLaVA-Seg 等工作将分割能力集成到大语言模型中,实现"对话式分割"
九、总结
图像分割在过去十年经历了从手工特征到深度学习、从 CNN 到 Transformer、从专门模型到通用基础模型的范式跃迁。U-Net 奠定了编解码器架构的基石,DeepLab 的空洞卷积和 ASPP 推动了多尺度理解,Mask R-CNN 定义了实例分割的范式,而 SAM 开启了分割的基础模型时代。
当前,语义分割在标准基准上的精度已经趋于饱和,但通用性、鲁棒性、交互性和跨模态能力仍是未完全解决的问题。未来的分割模型将不再是孤立的视觉模块,而是多模态智能系统中与语言、知识深度耦合的组成部分。
主要参考:
- Long et al., “Fully Convolutional Networks for Semantic Segmentation”, CVPR 2015
- Ronneberger et al., “U-Net: Convolutional Networks for Biomedical Image Segmentation”, MICCAI 2015
- Chen et al., “DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs”, TPAMI 2017
- He et al., “Mask R-CNN”, ICCV 2017
- Vaswani et al., “Attention Is All You Need”, NeurIPS 2017
- Dosovitskiy et al., “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale”, ICLR 2021
- Xie et al., “SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers”, NeurIPS 2021
- Cheng et al., “Masked-attention Mask Transformer for Universal Image Segmentation”, CVPR 2022
- Kirillov et al., “Segment Anything”, ICCV 2023
- Ravi et al., “SAM 2: Segment Anything Model in Images and Videos”, 2024