定义
一种基于超像素的图像分割算法。
超像素就是把图像的像素分成颜色相似的区域,用区域代替像素点的方法。这也是一类常见的图像分割方法。它消除了图像中的一部分冗余信息。SLIC全称为线性迭代聚类法(simple linear iterative clustering)。采用简单的k-means聚类策略高效地生成超像素,加上梯度等图像信息的约束,使得此方法虽然朴素但能更好地贴近图像边界,而且速度更快。
下图展示了超像素分割的一个示例,图像中有三种不同尺寸的超像素,分别是64,256和1024个像素组成的。超像素越大,分割效果越粗糙。
算法在LAB色彩空间进行,对应每个像素的颜色值和坐标组成一个5维向量V [ l, a, b, x, y ],两个像素的相似性即可由它们的向量距离来度量,距离越大,相似性越小。算法主要分为如下5步:
第一步,在原始图像上均匀撒点,作为聚类的基准点;
第二步,在每个原始基准点的小邻域内找到自身梯度变化最小的点,作为新的基准点(原始图像上梯度变化大的位置往往可能包含图片内的物体边缘信息,这一步的目的是防止聚类的基准点刚好落在原始图像物体边缘上,而影响聚类效果);
第三步,计算图片内每个小体素与周围的新基准点距离,找到距离最近的新基准点,将其聚类到这个新基准点下;
第四步,根据聚类结果,找到每个聚类的中心,作为又一个新的聚类基准点;
第五步,迭代,直到新的基准点不再变化位置。
其中,为了避免所选的聚类中心是边缘和噪声这样的不合理点,更新时需要将聚类中心移动到梯度最小的区域。最后可能出现一些没有连接的小的区域,这就需要把这块小区域 重新归类为与之连接的最大的超像素中去,以保证每块超像素的完整。
SLIC与其它超像素分割方法一样,分割的超像素越多,标准边界就会更有可能落在两个超像素的交界处。
参考文献
[1] Achanta R, Shaji A, Smith K, et al. SLIC superpixels compared to state-of-the-art superpixel methods[J]. IEEE transactions on pattern analysis and machine intelligence, 2012, 34(11): 2274-2282.
参阅:K-Means聚类、超像素