SLIC超像素分割详解(一):简介

SLIC超像素分割详解(一)php

超像素概念是2003年Xiaofeng Ren提出和发展起来的图像分割技术,是指具备类似纹理、颜色、亮度等特征的相邻像素构成的有必定视觉意义的不规则像素块。它利用像素之间特征的类似性将像素分组,用少许的超像素代替大量的像素来表达图片特征,很大程度上下降了图像后处理的复杂度,因此一般做为分割算法的预处理步骤。已经普遍用于图像分割、姿式估计、目标跟踪、目标识别等计算机视觉应用。几种常见的超像素分割方法及其效果对好比下:算法


   Graph-based           NCut            Turbopixel          Quick-shift        Graph-cut a        Graph-cut b         SLIC微信

这里主要介绍的是SLIC(simple linear iterativeclustering),即简单的线性迭代聚类。它是2010年提出的一种思想简单、实现方便的算法,将彩色图像转化为CIELAB颜色空间和XY坐标下的5维特征向量,而后对5维特征向量构造距离度量标准,对图像像素进行局部聚类的过程。SLIC算法能生成紧凑、近似均匀的超像素,在运算速度,物体轮廓保持、超像素形状方面具备较高的综合评价,比较符合人们指望的分割效果。机器学习

SLIC主要优势总结以下:1)生成的超像素如同细胞通常紧凑整齐,邻域特征比较容易表达。这样基于像素的方法能够比较容易的改造为基于超像素的方法。2)不只能够分割彩色图,也能够兼容分割灰度图。3)须要设置的参数很是少,默认状况下只须要设置一个预分割的超像素的数量。4)相比其余的超像素分割方法,SLIC在运行速度、生成超像素的紧凑度、轮廓保持方面都比较理想。学习

在介绍SLIC以前,插播一下Lab颜色空间的介绍。Lab色彩模型是由亮度(L)和有关色彩的a, b三个要素组成。L表示亮度(Luminosity),L的值域由0(黑色)到100(白色)。a表示从洋红色至绿色的范围(a为负值指示绿色而正值指示品红),b表示从黄色至蓝色的范围(b为负值指示蓝色而正值指示黄色)。Lab颜色空间的优势:1)不像RGBCMYK色彩空间,Lab 颜色被设计来接近人类生理视觉。它致力于感知均匀性,它的 L 份量密切匹配人类亮度感知。所以能够被用来经过修改 a 和 b 份量的输出色阶来作精确的颜色平衡,或使用 L 份量来调整亮度对比。这些变换在 RGB 或 CMYK 中是困难或不可能的。2)由于 Lab 描述的是颜色的显示方式,而不是设备(如显示器、打印机或数码相机)生成颜色所需的特定色料的数量,因此 Lab 被视为与设备无关的颜色模型。3)色域宽阔。它不只包含了RGB,CMYK的全部色域,还能表现它们不能表现的色彩。人的肉眼能感知的色彩,都能经过Lab模型表现出来。另外,Lab色彩模型的绝妙之处还在于它弥补了RGB色彩模型色彩分布不均的不足,由于RGB模型在蓝色到绿色之间的过渡色彩过多,而在绿色到红色之间又缺乏黄色和其余色彩。若是咱们想在数字图形的处理中保留尽可能宽阔的色域和丰富的色彩,最好选择Lab。优化

下面描述一下SLIC具体实现的步骤:ui

1.  初始化种子点(聚类中心):按照设定的超像素个数,在图像内均匀的分配种子点。假设图片总共有 N 个像素点,预分割为 K 个相同尺寸的超像素,那么每一个超像素的大小为N/ K ,则相邻种子点的距离(步长)近似为S=sqrt(N/K)人工智能

2.  在种子点的n*n邻域内从新选择种子点(通常取n=3)。具体方法为:计算该邻域内全部像素点的梯度值,将种子点移到该邻域内梯度最小的地方。这样作的目的是为了不种子点落在梯度较大的轮廓边界上,以避免影响后续聚类效果。spa

3.  在每一个种子点周围的邻域内为每一个像素点分配类标签(即属于哪一个聚类中心)。和标准的k-means在整张图中搜索不一样,SLIC的搜索范围限制为2S*2S,能够加速算法收敛,以下图。在此注意一点:指望的超像素尺寸为S*S,可是搜索的范围是2S*2S。设计


4.  距离度量。包括颜色距离和空间距离。对于每一个搜索到的像素点,分别计算它和该种子点的距离。距离计算方法以下:


其中,dc表明颜色距离,ds表明空间距离,Ns是类内最大空间距离,定义为Ns=S=sqrt(N/K),适用于每一个聚类。最大的颜色距离Nc既随图片不一样而不一样,也随聚类不一样而不一样,因此咱们取一个固定常数m(取值范围[1,40],通常取10)代替。最终的距离度量D'以下:


因为每一个像素点都会被多个种子点搜索到,因此每一个像素点都会有一个与周围种子点的距离,取最小值对应的种子点做为该像素点的聚类中心。

5.  迭代优化。理论上上述步骤不断迭代直到偏差收敛(能够理解为每一个像素点聚类中心再也不发生变化为止),实践发现10次迭代对绝大部分图片均可以获得较理想效果,因此通常迭代次数取10。

6.  加强连通性。通过上述迭代优化可能出现如下瑕疵:出现多连通状况、超像素尺寸太小,单个超像素被切割成多个不连续超像素等,这些状况能够经过加强连通性解决。主要思路是:新建一张标记表,表内元素均为-1,按照“Z”型走向(从左到右,从上到下顺序)将不连续的超像素、尺寸太小超像素从新分配给邻近的超像素,遍历过的像素点分配给相应的标签,直到全部点遍历完毕为止。

 

参考文献:

[1]  Achanta,Radhakrishna, et al. Slic superpixels. No. EPFL REPORT 149300. 2010.

[2] Achanta,Radhakrishna, et al. "SLIC superpixels compared to state-of-the-artsuperpixel methods." Pattern Analysis and Machine Intelligence, IEEETransactions on 34.11 (2012): 2274-2282.

 -------------------------

欢迎志同道合的朋友关注 微信公共号:计算机视觉life,分享【算机视觉\机器学习\人工智能】领域的信息、技术;分享生活中的感悟。新的一年,一块儿成长~