1474 字
7 分钟
图像分割:深度学习方法概述
2026-07-01
无标签

前几篇介绍的阈值分割、分水岭、K-means 等方法依赖手工设计的底层特征(灰度、梯度、边缘),对复杂场景和语义理解力不从心。深度学习将分割提升到了语义层次——不再只回答”这个地方和旁边的亮度不同”,而是回答”这个像素属于哪个物体类别”。

三个层次的图像分割#

深度分割任务通常按输出粒度分为三个层次:

任务输出粒度代表方法
语义分割每个像素一个类别标签(所有”人”像素共享一类)像素级FCN、U-Net、DeepLab
实例分割每个像素一个类别 + 每个实例独立编号(人A vs 人B)物体级Mask R-CNN
全景分割语义+实例的统一输出(stuff + things)统一Panoptic FPN

FCN:全卷积网络(2015)#

FCN(Fully Convolutional Network)是深度学习语义分割的奠基工作。核心思想是将分类网络最后的全连接层替换为卷积层,使网络可以接受任意尺寸的输入并输出与输入同尺寸的像素级预测。

反卷积上采样#

FCN 通过反卷积(转置卷积)将特征图恢复到输入分辨率。反卷积本质上是前向传播与反向传播交换了位置的卷积——它在数学上可以理解为:对输入做稀疏化填充后执行标准卷积,使输出尺寸大于输入尺寸。

跳跃连接#

直接用最后一层特征图做 32×32\times 上采样(FCN-32s)得到的分割结果很粗糙。FCN 引入跳跃连接,将深层的语义特征与浅层的高分辨率特征融合:

  • FCN-32s:仅用最后一层,32×32\times 上采样。
  • FCN-16s:最后一层 2×2\times 上采样后与 pool4 特征相加,再 16×16\times 上采样。
  • FCN-8s:在 FCN-16s 基础上再融合 pool3 特征,8×8\times 上采样。

浅层特征提供了精细的空间定位,深层特征提供了全局语义。这一思想直接影响了后续所有语义分割架构。

U-Net:编码器-解码器(2015)#

U-Net 将 FCN 的跳跃连接推向极致,构建了完全对称的编码器-解码器结构。

  • 编码器(收缩路径):重复 两次 3×3 卷积 + ReLU → 2×2 最大池化,提取多尺度语义特征。
  • 解码器(扩张路径):2×2 反卷积上采样 → 与编码器对应层 拼接(concatenation) → 两次 3×3 卷积 + ReLU。拼接操作保留了编码器的高分辨率特征,使解码器兼具细节定位和语义理解能力。
  • 最后一层:1×1 卷积将通道数映射到类别数 CC,输出 H×W×CH \times W \times C 的逐像素分类结果。

U-Net 在医学图像分割中尤其成功,因为医学影像数据量小、边界精细,U-Net 的跳跃连接使得小样本场景也能稳定训练。

TIP

U-Net 的架构详细说明(转置卷积 vs 上采样+卷积、Dice loss、弹性变形数据增强)参见 ML 篇:CNN-SC-Unet.md

DeepLab 系列:空洞卷积与 ASPP#

空洞卷积(Atrous/Dilated Convolution)#

标准卷积在连续像素上采样。空洞卷积在卷积核元素之间插入间隔(dilation rate rr),在不增加参数量的情况下扩大感受野。

以 3×3 卷积为例,r=1r=1 是标准卷积(感受野 3×33\times3),r=2r=2 是隔一个像素采样(感受野等效 5×55\times5 但参数不变,仍为 9 个),r=4r=4 感受野等效 9×99\times9。空洞卷积避免了为增大感受野而必须下采样→上采样的过程,减少了分辨率损失。

ASPP(Atrous Spatial Pyramid Pooling)#

DeepLab v2 提出 ASPP,用多个不同 dilation rate 的空洞卷积并联,提取多尺度特征:

ASPP(x)=[Convr=1(x);Convr=6(x);Convr=12(x);Convr=18(x)]\text{ASPP}(x) = [\text{Conv}_{r=1}(x); \text{Conv}_{r=6}(x); \text{Conv}_{r=12}(x); \text{Conv}_{r=18}(x)]

[][\cdot] 表示通道拼接。不同尺度的空洞卷积捕获不同大小的上下文,并联融合后能同时感知小物体和大物体的特征。DeepLab v3 进一步加入全局池化分支和批量归一化。

Mask R-CNN:实例分割(2017)#

Mask R-CNN 在 Faster R-CNN 的检测分支旁并行添加了一个分割分支,用 RoI Align 解决了 RoI Pooling 的量化误差问题。

RoI Align#

Faster R-CNN 的 RoI Pooling 在将候选框映射到特征图时做了两次量化(坐标取整),导致框偏移 1–2 个像素——对检测影响不大,但对逐像素的分割是致命的。

RoI Align 取消量化:将候选框均匀划分为 K×KK \times K 个 bin,每个 bin 内用双线性插值采样 4 个点再平均,得到浮点数精度的特征。这一改动使分割掩码的准确度提升了约 10–50% AP。

分割分支#

在 RoI Align 后的 14×1414\times14 特征图上,经过 4 个连续的 3×3 卷积 → 1 个 2×2 反卷积 → 1 个 1×1 卷积,输出 28×28×C28\times28\times C 的分割掩码。CC 为类别数,每个通道输出一个二值掩码(像素是否属于该类)。

近期发展与 SAM#

Transformer 进入视觉领域后,分割架构也出现了新的范式:

  • SETR:用 ViT 替代 CNN 作为编码器,全局自注意力捕获长距离依赖。
  • MaskFormer / Mask2Former:将语义和实例分割统一为”掩码分类”框架。
  • SAM(Segment Anything Model):Meta 于 2023 年发布的基础分割模型,使用 prompt(点、框、文本)引导分割,零样本能力极强。SAM 的出现标志着分割从”任务特定模型”向”通用分割基础模型”的转变。

:::tip 深度分割方法速查

方法年份关键贡献任务层级
FCN2015全卷积化 + 跳跃连接语义
U-Net2015对称编解码 + 密集拼接语义
DeepLab v22017空洞卷积 + ASPP语义
Mask R-CNN2017RoI Align + 并行分割分支实例
SETR2021ViT 编码器取代 CNN语义
SAM2023通用 promptable 分割基础模型通用

:::

图像分割:深度学习方法概述
https://biscuit0613.github.io/posts/cv/cv-seg-deeplearning/
作者
Biscuit
发布于
2026-07-01
许可协议
CC BY-NC-SA 4.0
GAN变体:DCGAN与条件GAN
图像分割:Canny边缘检测