第 10 章 图像分割 (Image Segmentation)

      +

      核心结论

      • 基础(§10.1):分割定义 / 像素邻接 / 区域 / 边界。

      • 点 / 线 / 边缘检测(§10.2):孤立点 / 线检测;边缘检测(Canny / Marr-Hildreth)。

      • 阈值处理(§10.3):全局 / 局部 / 自适应阈值;Otsu。

      • 基于区域的分割(§10.4):区域生长 / 区域分裂合并 / 分水岭。

      • 使用运动的分水岭(§10.5):分水岭变换;过分割问题。

      • 聚类与超像素(§10.6):K-means / mean-shift / SLIC 超像素。

      • 图割分割(§10.7):Graph Cut / GrabCut;交互式分割。

      • 深度学习分割(§10.8):FCN / U-Net / DeepLab / SAM。

      本章主旨

      本章是 DIP 核心任务——图像分割。理解后才能做目标检测 / 识别 / 跟踪的前处理;现代用深度学习(SAM / U-Net)实现 SOTA。

      一、核心概念

      本章围绕 8 个核心概念展开:基础 → 边缘 → 阈值 → 区域 → 分水岭 → 聚类 → 图割 → 深度学习。

      概念 定义 + 重要性 实现提示

      基础

      分割定义 / 邻接 / 区域 / 边界。

      §10.1;理解分割任务。

      点 / 线 / 边缘

      孤立点检测;Canny 边缘。

      §10.2;传统边缘方法。

      阈值处理

      全局 / 局部 / Otsu 自适应。

      §10.3;简单快速分割。

      基于区域

      区域生长 / 分裂合并 / 分水岭。

      §10.4-§10.5;连通区域分割。

      聚类与超像素

      K-means / mean-shift / SLIC。

      §10.6;预处理 + 后处理。

      图割分割

      Graph Cut / GrabCut;交互式。

      §10.7;交互式分割。

      深度学习分割

      FCN / U-Net / DeepLab / SAM。

      §10.8;当前 SOTA。

      二、详细笔记

      2.1 基础 (Fundamentals)

      What:分割定义 / 邻接 / 区域 / 边界。

      Why:理解分割任务的基础。

      How

      • 分割:把图像分成有意义的区域。

      • 像素邻接:4 / 8 / m-邻接。

      • 区域:连通像素集。

      • 边界:区域的"边缘"。

      When:所有分割算法。

      Example:医学影像分割(病灶 vs 正常组织)。

      2.2 点 / 线 / 边缘检测 (Point / Line / Edge Detection)

      What:孤立点 / 线检测;边缘检测。

      Why:传统边缘方法;理解后续深度学习。

      How

      • 孤立点:邻域差异大 → 点。

      • 线:方向性差异大 → 线。

      • Canny 边缘:高斯平滑 + 梯度 + 非极大值抑制 + 双阈值。

      • Marr-Hildreth:高斯-拉普拉斯(LoG)。

      When:边缘检测;预处理。

      Example*:cv2.Canny(img, 50, 150)cv2.Sobel

      2.3 阈值处理 (Thresholding)

      What:全局 / 局部 / 自适应阈值。

      Why:简单快速;最常用分割。

      How

      • 全局T 固定。

      • 局部:每个像素邻域计算阈值。

      • Otsu:自动找最优全局阈值(最大化类间方差)。

      • 自适应:局部均值 / 高斯加权。

      When:文档 OCR;简单目标分割。

      Example*:cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

      2.4 基于区域的分割 (Region-Based Segmentation)

      What:区域生长 / 区域分裂合并。

      Why:连通区域分割。

      How

      • 区域生长:从种子像素合并相似邻域。

      • 区域分裂合并:先分裂再合并。

      • 分水岭:拓扑学方法;易过分割。

      When:医学影像;纹理分割。

      Example*:skimage.segmentation.floodskimage.segmentation.watershed

      2.5 使用运动的分水岭 (Watershed with Motion)

      What:分水岭 + 运动信息。

      Why:解决过分割问题。

      How:用帧间运动信息约束分水岭。

      When:视频分割;运动目标分割。

      Example*:cv2.createBackgroundSubtractorMOG2 + 分水岭。

      2.6 聚类与超像素 (Clustering & Superpixels)

      What:K-means / mean-shift / SLIC。

      Why:预处理 / 后处理;减少超分割。

      How

      • K-means:最小化簇内距离。

      • mean-shift:基于密度梯度。

      • SLIC:K-means 在 CIELab 空间 + 空间约束。

      When:预处理;超像素后用分类器。

      Example*:skimage.segmentation.slic(img, n_segments=100)sklearn.cluster.KMeans

      2.7 图割分割 (Graph Cut Segmentation)

      What:Graph Cut / GrabCut;交互式分割。

      Why:交互式分割;高准确性。

      How

      • Graph Cut:图论最小割;能量是子模时全局最优。

      • GrabCut:迭代 EM + Graph Cut;少量交互。

      When:交互式分割;Photoshop 抠图。

      Example*:cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT)

      2.8 深度学习分割 (Deep Learning Segmentation)

      What:FCN / U-Net / DeepLab / SAM。

      Why:当前 SOTA。

      How

      • FCN(2014):全卷积;上采样恢复分辨率。

      • U-Net(2015):encoder-decoder + 跳跃连接;医学影像标准。

      • DeepLab(2017):atrous convolution + CRF。

      • SAM(2023):基础模型 + promptable。

      When:语义分割;实例分割;交互式分割。

      Example*:torchvision.models.segmentation.deeplabv3_resnet50segment-anything 仓库。

      三、关键图表

      视觉图表

      图 10-1
      Figure 1. 图 10-1:分割任务示意
      图 10-2
      Figure 2. 图 10-2:分水岭算法

      非可视化条目

      非可视化条目(表 / 算法)
      编号 内容摘要

      表 10.1

      分割算法对比(阈值 / 区域 / 聚类 / 图割 / 深度学习)。

      式 10-1 至 10-30

      Otsu / 分水岭 / 图割公式。

      核心公式对照表

      核心公式对照表
      概念 公式

      Otsu 类间方差

      \(\sigma_B^2(t) = w_0 w_1 (\mu_0 - \mu_1)^2\)

      分水岭(简)

      latexmath:[W(A) = \{x

      四、思维导图

      mindmap
        root((第 10 章 图像分割))
          基础
            邻接
            区域
          点线边缘
            Canny
            MarrHildreth
          阈值
            全局局部
            Otsu
          区域
            区域生长
            分水岭
          聚类
            Kmeans
            SLIC超像素
          图割
            GraphCut
            GrabCut
          深度学习
            FCNUNet
            SAM

      五、重点与易错点

      • Otsu 自动阈值最常用:无需手工调参;适合双峰直方图。

      • 分水岭易过分割:用 marker-controlled 分水岭抑制过分割。

      • GrabCut 交互式分割:框选前景 + 少量修正;高准确性。

      • U-Net 是医学影像标准:encoder-decoder + 跳跃;小数据也能训练。

      • SAM 是分割基础模型:零样本 + promptable;2023 SOTA。

      • 超像素是预处理工具:SLIC 把图像分成 ~100 块;后续分类器效率更高。

      • 跨章衔接:第 3 章滤波 + 第 9 章形态学是分割预处理;第 11 章特征基于分割结果;第 12 章分类输入是分割区域。