zoukankan      html  css  js  c++  java
  • SLIC聚类算法

    参考博客:图像处理: 超像素(superpixels)分割 SLIC算法

    原理

    超像素概念是2003年Xiaofeng Ren提出和发展起来的图像分割技术,是指具有相似纹理、颜色、亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块。它利用像素之间特征的相似性将像素分组,用少量的超像素代替大量的像素来表达图片特征,很大程度上降低了图像后处理的复杂度,所以通常作为分割算法的预处理步骤。

    常见的超像素分割方法包括: Graph-based 、NCut 、Turbopixel 、 Quick-shift 、 Graph-cut a、Graph-cut b 以及 SLIC 。

    SLIC算法

    其中,SLIC(simple linear iterativeclustering),即 简单线性迭代聚类 。 它是2010年提出的一种思想简单、实现方便的算法,将彩色图像转化为CIELAB颜色空间和XY坐标下的5维特征向量,然后对5维特征向量构造距离度量标准,对图像像素进行局部聚类的过程。SLIC聚类不但可以处理RGB图像,还能兼容处理灰度图.

    SLIC主要优点:

    1. 生成的超像素如同细胞一般紧凑整齐,邻域特征比较容易表达。这样基于像素的方法可以比较容易的改造为基于超像素的方法。
    2. 不仅可以分割彩色图,也可以兼容分割灰度图。
    3. 需要设置的参数非常少,默认情况下只需要设置一个预分割的超像素的数量。
    4. 相比其他的超像素分割方法,SLIC在运行速度、生成超像素的紧凑度、轮廓保持方面都比较理想。

    效果图

    经过观察发现,在迭代至第10轮后,分割效果基本不再发生变化。

    核心思想**

    利用CIE-Lab 颜色空间来表示图像颜色信息,需要颜色空间转换。对应着图像中的每个像素,将其用一个由CIE-Lab 颜色空间和像素坐标组成的 5 维向量{ L,a,b,x,y} 表示。通过向量距离来度量两个像素的相似性.

    其中,像素相似性将与向量距离成反比。

    算法步骤

    基本流程

    算法首先生成K个种子点,然后在每个种子点的周围空间里搜索距离该种子点最近的若干像素,将他们归为与该种子点一类,直到所有像素点都归类完毕。然后计算这K个超像素里所有像素点的平均向量值,重新得到K个聚类中心,然后再以这K个中心去搜索其周围与其最为相似的若干像素,所有像素都归类完后重新得到K个超像素,更新聚类中心,再次迭代,如此反复直到收敛。

    具体步骤

    1. 初始化图像分割块。根据超参数生成K个种子点,计算种子点到所有像素的梯度值,搜索每个种子点周围空间里距离该点的最近的像素点。将各个像素分类。

      步距设置为:(S=sqrt{frac{N}{K}}) 。N是像素边,K是种子点个数

    2. 初始化聚类中心。将所有像素归类,计算领域内像素与种子间的距离,取最小距离作为聚类中心。

    距离计算公式如下:

    [d_c=sqrt{(l_j-l_i)^2+(a_j-a_i)^2+(b_j-b_i)^2} ]

    [d_s=sqrt{(x_j-x_i)^2+(y_j-y_i)^2} ]

    [D'=sqrt{(frac{d_c}{N_c})^2+(frac{d_s}{N_s})^2} ]

    其中,(N_S=S=sqrt{frac{N}{K}})。最后一步有一个归一化的作用。因为LAB是图像的空间信息,而XY表示的是像素的空间信息,因此我们需要归一化以统一量纲。

    1. 计算聚类中心到领域内所有像素点的距离。刷新原有的K个聚类重心点,再以刷新后的收敛中心点去搜索其周围与其相似度最高的点。

    2. 重新聚类,更新每个像素点所属的图像块,将同一个图像块的像素点取平均,得到新的聚类中心。

    3. 重复前面的步骤,直到两次聚类中心的距离小于某个阈值。

    算法评价

    优点:

    1. 聚类结果紧凑整齐且邻域特征明显。

    2. 可处理彩色图和灰度图

    3. 只需一个超参数。

    4. 运行速度较快。

    缺点:

    因为对边缘的保持使用位置限制,导致超像素和图像边缘的契合度变差。

  • 相关阅读:
    mysql 按出现次数排序
    拼接sql
    java 操作 excel
    jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
    android压力测试命令monkey详解
    java css
    iss 默认上传大小为30 M
    PHP自动生成后台导航网址的最佳方法
    PHP 文件上传的综合实例
    php字符串首字母转换大小写的实例
  • 原文地址:https://www.cnblogs.com/guoben/p/12913657.html
Copyright © 2011-2022 走看看