K-means 将图像分割视为一个无监督聚类问题:每个像素被视为特征空间中的一个点,K-means 将这些点聚成 个簇,同一簇的像素被赋予相同的分割标签。
特征空间
图像分割中特征向量的选择直接决定了分割结果的含义。三种常见的特征设计:
| 特征 | 维度 | 分割依据 | 局限性 |
|---|---|---|---|
| 3 | 颜色相似性 | 受光照影响大,RGB 通道相关性强 | |
| 3 | 感知均匀的颜色 | 比 RGB 更适合聚类,但 通道包含光照信息 | |
| 5 | 颜色+空间邻近性 | 需要归一化坐标尺度, 的选择更敏感 |
CIELAB 色彩空间()将颜色分解到感知均匀的轴上, 为亮度, 为红-绿轴, 为黄-蓝轴。欧几里得距离在 LAB 空间中与人类感知的色差近似线性对应,是 K-means 在图像上的常用选择。
加入空间坐标 后,颜色相近但空间分离的区域不会被聚到同一类。代价是坐标尺度和颜色尺度需要归一化——通常用参数 控制空间项的权重。
K-means 算法
给定 个像素的特征向量 ,K-means 寻找 个聚类中心 ,使每个像素到其最近中心的距离平方和最小:
其中 是像素 所属的簇编号。
算法流程
-
初始化:选择 个初始聚类中心。常用方法:
- 随机从像素中选取 个。
- K-means++:以与已选中心距离成比例的概率采样新中心,减少初始敏感性。
-
分配(Assignment):将每个像素分配到距离最近的中心:
-
更新(Update):重新计算每个簇的均值作为新中心:
-
迭代:重复 2–3 直到中心不再变化(或变化小于阈值 ),或达到最大迭代次数。
收敛性
K-means 保证在有限步内收敛到局部最优(每次迭代代价函数单调非增),但不保证全局最优。多次随机初始化取最优结果是实践中常用的策略。
K 值选择
是用户指定的参数,选取不当会严重影响分割质量。肘部法(Elbow Method) 是一个常用指导:对不同 绘制代价函数 , 随 增加单调递减,在”拐点”(elbow)之后下降速度骤减,这个拐点对应的 被认为是合理的选择。
局限与改进
空间一致性缺失:K-means 在特征空间中只考虑颜色距离,完全不考虑像素的邻域关系。一张黑白棋盘中的黑白棋子因为距离远小于同一个黑白格子的距离(黑白颜色差距大),会被聚在一起。即分割结果在空间上是散乱的,缺乏区域连续性。
改进思路:
- SLIC 超像素:在五维 空间做 K-means,并将搜索范围限制在 邻域内( 为超像素间距),获得紧凑的空间区域。
- K-means + 后处理:K-means 输出后,用形态学操作或图割去除孤立像素。
- 自适应 :用 Mean-shift 或 DBSCAN 自动确定类别数。
K-means 分割的优势在于简单和快速(),适合作为分割流程的初始步骤或预处理。