跳到主要内容

图像分割

图像分割(Image Segmentation)是比目标检测更精细的视觉理解任务:不再用矩形框标注目标,而是对图像中的每个像素赋予语义标签或实例 ID,从而获得目标的精确轮廓。

三类分割任务

图像分割根据目标的不同分为三大类,各有不同的应用场景和技术挑战:

语义分割(Semantic Segmentation)

对每个像素分配一个类别标签,同类别的所有像素标注相同颜色,但不区分同类别的不同实例。

  • 示例:道路场景中,所有像素被标为"道路"、"人行道"、"汽车"、"行人"、"天空"等类别
  • 问题:图中有三辆车,语义分割只告诉你哪些像素是"车",不区分是第一辆还是第三辆

实例分割(Instance Segmentation)

在语义分割基础上进一步区分同类别的不同个体,每个目标实例有独立的掩码(Mask)。

  • 示例:对三辆车分别生成三个独立的像素级掩码
  • 比目标检测更精细(精确到像素),比全景分割处理的类别更少

全景分割(Panoptic Segmentation)

融合语义分割和实例分割:对"可数目标"(Stuff,如树木、草地、天空)做语义标注,对"可数目标"(Things,如人、车、动物)做实例标注,实现完整的场景理解。

语义分割经典方法

FCN(全卷积网络,2015)

FCN(Fully Convolutional Network) 是将 CNN 用于语义分割的开创性工作:

  • 用卷积层替换全连接层,保留空间位置信息
  • 使用**反卷积(转置卷积)**将低分辨率特征图上采样至原图大小
  • 引入**跳跃连接(Skip Connection)**融合浅层细节特征和深层语义特征
输入 → [下采样特征提取] → [上采样还原] → 逐像素分类输出

U-Net(2015)

U-Net 最初为医学图像分割设计,现已成为通用分割架构,其对称的编码器-解码器结构配合长跳跃连接是核心设计:

编码器(下采样路径):
输入 → Conv Block → MaxPool → ... (特征压缩,感受野增大)

解码器(上采样路径):
... → 转置卷积 → 拼接编码器同级特征 → Conv Block → 输出

优点:在小数据集上也能取得良好效果;跳跃连接保留了高分辨率的位置细节,非常适合边界精度要求高的医学分割任务。

DeepLab 系列

DeepLab 系列(v1→v4)是语义分割领域精度最高的方法之一,关键创新包括:

  • 空洞卷积(Atrous Convolution):在不增加参数的情况下扩大感受野,保留更高分辨率的特征图
  • ASPP(Atrous Spatial Pyramid Pooling):用不同膨胀率的空洞卷积并行捕获多尺度上下文
  • 条件随机场(CRF)后处理:(早期版本)精细化边界预测

DeepLabv3+ 将 Xception 作为 backbone,配合 ASPP 和解码器,在多个基准上取得顶尖精度。

实例分割:Mask R-CNN

Mask R-CNN(2017) 在 Faster R-CNN 的基础上新增了一个掩码预测分支,以极小的额外开销实现了实例分割:

输入图像
→ ResNet + FPN(多尺度特征)
→ RPN(候选区域)
→ RoIAlign(精确特征提取,改善边界精度)
→ 并行三个头部:
分类头(类别)
回归头(边界框)
掩码头(28×28 二值掩码)

RoIAlign 是 Mask R-CNN 相比 Faster R-CNN 的重要改进:使用双线性插值替代 RoI Pooling 的整数量化,消除了空间对齐误差,对掩码预测至关重要。

Mask R-CNN 是实例分割领域最广泛使用的基线,后续工作(CondInst、SOLOv2 等)在此基础上进一步改进。

全景分割

全景分割将语义分割(背景类别)和实例分割(前景目标)统一到一个框架:

  • Panoptic FPN(2019):在 Mask R-CNN 框架上加入语义分割分支,共享 FPN 特征
  • Panoptic-DeepLab:全底向上的全景分割方法
  • MaskFormer / Mask2Former(2022):将所有三类分割统一为"掩码分类"问题,用 Transformer 解码器生成掩码,成为目前的主流方法

SAM:Segment Anything Model

2023 年 Meta 发布的 SAM(Segment Anything Model) 是图像分割领域的重大突破,旨在构建分割领域的"基础模型"。

核心能力

SAM 支持多种交互提示方式,实现高质量分割:

  • 点提示:在目标上点击一个或多个点
  • 框提示:提供一个大致的边界框
  • 掩码提示:提供粗糙的初始掩码
  • 文本提示(扩展版):通过自然语言描述目标

架构设计

图像 → Image Encoder(MAE 预训练的 ViT-H)→ 图像 Embedding
提示 → Prompt Encoder → 提示 Embedding
→ Mask Decoder(双向 Transformer)→ 三个候选掩码 + 置信度分数

SAM 在 1100 万张图像、11 亿个掩码的 SA-1B 数据集上训练,展现出强大的零样本泛化能力:无需针对特定场景微调即可分割医学影像、航拍图像、水下场景等各类图像。

SAM 2:视频分割

2024 年 Meta 发布 SAM 2,将 SAM 的能力扩展到视频域:

  • 内存模块(Memory Bank):存储历史帧的目标状态,实现时序一致的跨帧分割
  • 流式处理:支持实时视频流中的交互式目标跟踪与分割
  • 用户只需在视频第一帧点击目标,SAM 2 自动在后续帧中追踪并分割

零样本分割能力

SAM 和 SAM 2 的核心优势在于零样本能力:

  • 不需要针对新的目标类别重新训练
  • 在从未见过的场景和目标上依然有效
  • 可作为下游任务的"分割工具"被调用,结合 CLIP 等模型实现开放词汇分割

应用场景

医疗影像

  • 病灶分割:肿瘤、结节、器官的精确轮廓提取,辅助外科规划和放疗计划
  • 细胞分割:显微镜图像中的细胞计数和形态分析
  • SAM 在医疗影像的应用:Med-SAM 等医疗专用版本,针对医学图像特点微调

自动驾驶

  • 行车场景理解:区分可行驶区域、行人、骑手、路标
  • 激光雷达+相机融合:将分割结果与 3D 点云结合,构建精确环境模型
  • 数据标注自动化:用 SAM 辅助自动驾驶数据集的像素级标注,降低人工成本

其他场景

  • 遥感图像:建筑物提取、植被覆盖统计、灾害评估
  • 视频编辑:精确抠像、背景替换(需要实例分割支持)
  • 工业质检:产品表面缺陷的精确定位和面积统计