第 13 章 语义分割
本章概括
本章介绍语义分割任务、常用数据集、评价指标和典型网络,包括 FCN、U-Net、SegNet 和 DeepLab 系列。重点是理解语义分割是像素级分类任务,以及编码器-解码器结构如何恢复空间分辨率。
概述
语义分割为图像中每个像素分配类别标签。与目标检测只输出边界框不同,语义分割输出像素级区域;与实例分割不同,语义分割不区分同一类别的不同实例。
数据集
常见语义分割数据集包括 PASCAL VOC、Cityscapes、ADE20K 和 COCO-Stuff。不同数据集关注场景不同:Cityscapes 适合自动驾驶街景,ADE20K 场景类别更丰富,VOC 常用于基础算法比较。
评价指标
像素准确率为:
$$ PA=\frac{\sum_i n_{ii}}{\sum_i\sum_j n_{ij}} $$
$n_{ij}$ 表示真实类别为 $i$、预测为 $j$ 的像素数。
类别 IoU 为:
$$ IoU_i=\frac{n_{ii}}{\sum_j n_{ij}+\sum_j n_{ji}-n_{ii}} $$
mIoU 为所有类别 IoU 的平均:
$$ mIoU=\frac{1}{C}\sum_{i=1}^{C}IoU_i $$
mIoU 同时考虑误分和漏分,是语义分割最常用指标。
FCN
FCN 将分类网络中的全连接层改为卷积层,使网络能够输出空间特征图。通过反卷积或上采样恢复分辨率,并利用跳跃连接融合浅层细节和深层语义。
U-Net
U-Net 采用编码器-解码器结构,并通过跳跃连接把编码器的高分辨率特征传给解码器。它在医学图像分割中应用广泛,适合数据量相对较少的场景。
SegNet
SegNet 也是编码器-解码器结构。它在上采样时使用池化索引恢复空间位置,减少参数量,同时保留边界定位信息。
DeepLab 系列
DeepLab 的核心思想包括空洞卷积、ASPP 和条件随机场后处理。
空洞卷积通过空洞率扩大感受野:
$$ y[i]=\sum_k x[i+r\cdot k]w[k] $$
其中 $r$ 是空洞率。$r$ 越大,感受野越大,但过大可能导致栅格效应。
ASPP 使用多个不同空洞率的并行卷积捕获多尺度上下文。DeepLabv3+ 进一步结合编码器-解码器结构,改善边界细节。
图示说明
PPT 中网络结构图可按“编码器提取语义、解码器恢复分辨率、跳跃连接补充细节”理解。分割结果图中,好的模型应同时做到类别判断正确、边界贴合准确、小目标不丢失。