DYING4EVER

NOTES

第07章_图像分割

第 7 章 图像分割

本章概括

本章讨论把图像划分为目标区域的基本方法,包括分割定义、点线边缘检测、Canny 边缘检测、阈值处理、区域生长、区域分裂合并和分水岭算法。重点是理解边缘型分割、阈值型分割和区域型分割的适用条件。

7.1 基础知识

图像分割的目标是把图像区域 $R$ 划分为若干互不重叠的子区域:

$$ R=\bigcup_{i=1}^{n}R_i,\qquad R_i\cap R_j=\varnothing\ (i\ne j) $$

每个区域内部应满足某种一致性准则 $P(R_i)=\text{TRUE}$,而不同相邻区域合并后不再满足该准则:

$$ P(R_i\cup R_j)=\text{FALSE} $$

这里的一致性可以是灰度、颜色、纹理、边缘或语义类别。

7.2 点、线和边缘检测

7.2.1 背景知识

点、线和边缘检测本质上都是寻找灰度突变。模板响应可写为:

$$ R=\sum_{k=1}^{9}w_k z_k $$

其中 $w_k$ 是模板系数,$z_k$ 是邻域像素值。不同模板对孤立点、线段或边缘有不同响应。

7.2.2 孤立点检测

孤立点检测常使用拉普拉斯类模板。若模板响应绝对值超过阈值,则认为该点与邻域差异明显。

7.2.3 线检测

线检测使用方向性模板,如水平、垂直、$45^\circ$ 和 $-45^\circ$ 模板。某方向模板响应最大,说明图像中可能存在该方向线结构。

7.2.4 边缘模型

常见边缘包括阶跃边缘、斜坡边缘和屋顶边缘。实际图像中由于成像模糊和噪声,理想阶跃边缘常表现为斜坡边缘。

一阶导数在边缘处出现峰值,二阶导数在边缘附近出现零交叉。边缘检测常利用梯度幅值和方向。

7.2.5 基本边缘检测算子

Sobel 模板为:

$$ S_x= \begin{bmatrix} -1 & 0 & 1\ -2 & 0 & 2\ -1 & 0 & 1 \end{bmatrix}, \quad S_y= \begin{bmatrix} -1 & -2 & -1\ 0 & 0 & 0\ 1 & 2 & 1 \end{bmatrix} $$

$S_x$ 对垂直边缘响应强,$S_y$ 对水平边缘响应强。

Laplacian 离散形式为:

$$ \nabla^2 f(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) $$

它对灰度突变敏感,但也容易放大噪声。

7.2.6 Canny 边缘检测

Canny 是常用的最优边缘检测方法,目标是低错误率、边缘定位准确、单边缘响应。

算法步骤:

  1. 用高斯滤波平滑图像,降低噪声。
  2. 计算梯度幅值和方向。
  3. 进行非最大抑制,保留局部梯度最大点。
  4. 使用双阈值区分强边缘和弱边缘。
  5. 通过边缘连接保留与强边缘相连的弱边缘。

高斯平滑为:

$$ f_s(x,y)=G(x,y)*f(x,y) $$

梯度幅值和方向为:

$$ M(x,y)=\sqrt{g_x^2+g_y^2},\qquad \alpha(x,y)=\arctan\frac{g_y}{g_x} $$

双阈值中,高阈值 $T_H$ 保留可靠边缘,低阈值 $T_L$ 保留候选边缘。$T_H$ 过高会漏检,$T_L$ 过低会引入噪声边缘。

7.3 阈值处理

阈值分割根据灰度值把像素分为目标和背景:

$$ g(x,y)= \begin{cases} 1,&f(x,y)\ge T\ 0,&f(x,y)<T \end{cases} $$

$T$ 为阈值。全局阈值适合光照均匀且目标/背景灰度差异明显的图像;局部阈值适合光照不均或背景变化明显的图像。

多阈值分割可把图像划分为多个灰度区域,适合多个目标类别或多层结构图像。

7.4 基于区域的分割

区域生长

区域生长从种子点开始,把满足相似性条件的邻域像素加入区域。关键是选择种子点和相似性准则,如灰度差、颜色距离或纹理相似度。

算法流程:

  1. 选取一个或多个种子点。
  2. 检查种子邻域像素。
  3. 若满足相似性准则,则加入区域。
  4. 重复扩展直到没有新像素可加入。

区域生长能得到连通区域,但对种子选择和噪声敏感。

区域分裂与合并

分裂合并先把图像划分为较大区域,若区域不满足一致性则继续分裂;相邻区域若合并后满足一致性则合并。它适合区域内部性质较稳定但目标位置未知的情况。

7.5 分水岭分割算法

分水岭把灰度图像看成地形表面,灰度值表示高度。局部极小值形成集水盆地,盆地边界即分水岭线。

水坝构建

水从局部极小值开始上涨,不同盆地即将合并时修建水坝,水坝位置形成分割边界。

标记控制分水岭

直接分水岭容易过分割,因此常使用标记控制:

  1. 对图像预处理,去噪并增强边界。
  2. 生成前景标记和背景标记。
  3. 修改梯度图,使标记位置成为极小值。
  4. 在修改后的梯度图上执行分水岭。

标记控制可以显著减少过分割,使分割结果更符合目标区域。