885 字
4 分钟
图像分割:K均值聚类分割
2026-06-30
无标签

K-means 将图像分割视为一个无监督聚类问题:每个像素被视为特征空间中的一个点,K-means 将这些点聚成 KK 个簇,同一簇的像素被赋予相同的分割标签。

特征空间#

图像分割中特征向量的选择直接决定了分割结果的含义。三种常见的特征设计:

特征维度分割依据局限性
(R,G,B)(R, G, B)3颜色相似性受光照影响大,RGB 通道相关性强
(L,a,b)(L, a, b)3感知均匀的颜色比 RGB 更适合聚类,但 LL 通道包含光照信息
(L,a,b,x,y)(L, a, b, x, y)5颜色+空间邻近性需要归一化坐标尺度,KK 的选择更敏感

CIELAB 色彩空间(LabL*a*b*)将颜色分解到感知均匀的轴上,LL 为亮度,aa 为红-绿轴,bb 为黄-蓝轴。欧几里得距离在 LAB 空间中与人类感知的色差近似线性对应,是 K-means 在图像上的常用选择。

加入空间坐标 (x,y)(x,y) 后,颜色相近但空间分离的区域不会被聚到同一类。代价是坐标尺度和颜色尺度需要归一化——通常用参数 λ\lambda 控制空间项的权重。

K-means 算法#

给定 NN 个像素的特征向量 {x1,,xN}\{\mathbf{x}_1, \dots, \mathbf{x}_N\},K-means 寻找 KK 个聚类中心 {m1,,mK}\{\mathbf{m}_1, \dots, \mathbf{m}_K\},使每个像素到其最近中心的距离平方和最小:

min{mk}, {ci}i=1Nximci2\min_{\{\mathbf{m}_k\},\ \{c_i\}} \sum_{i=1}^{N} \|\mathbf{x}_i - \mathbf{m}_{c_i}\|^2

其中 ci{1,,K}c_i \in \{1,\dots,K\} 是像素 ii 所属的簇编号。

算法流程#

  1. 初始化:选择 KK 个初始聚类中心。常用方法:

    • 随机从像素中选取 KK 个。
    • K-means++:以与已选中心距离成比例的概率采样新中心,减少初始敏感性。
  2. 分配(Assignment):将每个像素分配到距离最近的中心:

    ci(t)=arg minkximk(t)2c_i^{(t)} = \argmin_{k} \|\mathbf{x}_i - \mathbf{m}_k^{(t)}\|^2
  3. 更新(Update):重新计算每个簇的均值作为新中心:

    mk(t+1)=1CkiCkxi\mathbf{m}_k^{(t+1)} = \frac{1}{|C_k|} \sum_{i \in C_k} \mathbf{x}_i
  4. 迭代:重复 2–3 直到中心不再变化(或变化小于阈值 ε\varepsilon),或达到最大迭代次数。

收敛性#

K-means 保证在有限步内收敛到局部最优(每次迭代代价函数单调非增),但不保证全局最优。多次随机初始化取最优结果是实践中常用的策略。

K 值选择#

KK 是用户指定的参数,选取不当会严重影响分割质量。肘部法(Elbow Method) 是一个常用指导:对不同 KK 绘制代价函数 J(K)=ximci2J(K) = \sum \|\mathbf{x}_i - \mathbf{m}_{c_i}\|^2JJKK 增加单调递减,在”拐点”(elbow)之后下降速度骤减,这个拐点对应的 KK 被认为是合理的选择。

局限与改进#

空间一致性缺失:K-means 在特征空间中只考虑颜色距离,完全不考虑像素的邻域关系。一张黑白棋盘中的黑白棋子因为距离远小于同一个黑白格子的距离(黑白颜色差距大),会被聚在一起。即分割结果在空间上是散乱的,缺乏区域连续性。

改进思路

  • SLIC 超像素:在五维 (l,a,b,x,y)(l,a,b,x,y) 空间做 K-means,并将搜索范围限制在 2S×2S2S \times 2S 邻域内(SS 为超像素间距),获得紧凑的空间区域。
  • K-means + 后处理:K-means 输出后,用形态学操作或图割去除孤立像素。
  • 自适应 KK:用 Mean-shift 或 DBSCAN 自动确定类别数。

K-means 分割的优势在于简单和快速(O(NKI)O(NKI)),适合作为分割流程的初始步骤或预处理。

图像分割:K均值聚类分割
https://biscuit0613.github.io/posts/cv/cv-seg-kmeans/
作者
Biscuit
发布于
2026-06-30
许可协议
CC BY-NC-SA 4.0
图像分割:阈值分割与Otsu大津法
图像分割:分水岭算法