7.10 图像分割:像素级的理解
分类告诉你”图片里有猫”,检测告诉你”猫在 (100, 200) 到 (300, 400) 这个框里”,分割告诉你每个像素属于什么——猫的每一根毛、背景的每一片叶子都被精确标注。
7.10.1 语义分割(Semantic Segmentation):每个像素一个类别
FCN(Fully Convolutional Network,2015):第一次用全卷积网络做分割——去掉全连接层,全部用卷积层,输入任意尺寸的图片,输出同尺寸的分割图。核心创新是”跳跃连接”——将浅层的高分辨率特征和深层的低分辨率语义特征融合,既保留空间细节又有语义理解。
U-Net(2015):为医学影像分割设计,结构像一个”U”——左边是编码器(逐层降采样提取特征),右边是解码器(逐层上采样恢复分辨率),中间有跳跃连接将编码器和解码器的对应层连接起来。U-Net 用极少的训练数据(几十张医学影像)就能达到很好的分割效果,是医学影像分割的事实标准。
DeepLab 系列:Google 的分割方案,核心创新包括:
- DeepLabv1/v2:空洞卷积(Atrous Convolution)在不损失分辨率的情况下扩大感受野
- DeepLabv3:空洞空间金字塔池化(ASPP)——用不同 dilation rate 的并行空洞卷积捕获多尺度上下文
- DeepLabv3+:加入编码器-解码器结构,进一步恢复边界细节
7.10.2 实例分割(Instance Segmentation):区分同一个类别的不同个体
语义分割把所有”人”标记为同一个类别——你分不出”张三”和”李四”。实例分割把每个个体分开。
Mask R-CNN(2017):在 Faster R-CNN 的基础上加了一个”掩码分支”——在检测框内预测一个二值掩码(哪些像素属于这个物体)。Mask R-CNN 同时做检测和分割,是实例分割的里程碑。
关键创新:RoI Align(替代 RoI Pooling)——用双线性插值精确对齐特征,解决了 RoI Pooling 的量化误差问题。这对分割精度至关重要(检测允许几个像素的误差,分割不行)。
YOLOv8-seg(2023):YOLO 系列的分割版本,将实例分割集成到 YOLO 框架中,在保持实时速度的同时做分割。
7.10.3 全景分割(Panoptic Segmentation):语义 + 实例的统一
全景分割同时做语义分割(背景类:天空、道路、草地)和实例分割(前景类:人、车、动物)。每个像素要么属于某个”东西”(thing,可数的个体),要么属于某个”东西”(stuff,不可数的背景)。
7.10.4 SAM(Segment Anything Model,2023):分割的 ChatGPT 时刻
Meta 发布的 SAM 是一个”分割基础模型”——在 1100 万张图片、11 亿个掩码上训练,可以用点、框、文字提示来分割任意物体。SAM 的关键突破:零样本分割——不需要在你自己的数据上训练,直接用提示就能分割。
SAM 2(2024):扩展到视频分割,支持在视频中跟踪和分割物体。SAM 2 的内存机制让它可以记住之前帧中的物体,在后续帧中持续跟踪。
2026 年的分割格局:SAM 系列成为分割的基础设施——医疗、遥感、自动驾驶等领域都在 SAM 基础上微调。分割不再是一个”需要大量标注数据”的任务,而是”用 SAM 先预分割,再人工修正”。
← 上一节:7.9 目标检测 — 从 R-CNN 到 YOLO | 下一节:7.11 CNN vs ViT vs 混合架构:2026 年 CV 领域格局 →