SLIC Superpixels 算法学习笔记

简介:

算法流程梳理如下:

原文下载:http://www.kev-smith.com/papers/SLIC_Superpixels.pdf

1、初始化:

  1. 通过对图像像素进行抽样,初始化k个聚类中心C_k ,步长为初始化聚类大小S,即将图像分为k个网格,取每个网格中心为初始聚类中心;
  2. 初始化每个像素点的标签lable为-1,每个像素点与聚类中心的距离distance为无穷大。

2、对初始化的聚类中心进行移动:

在该聚类中心相邻的8个像素点中,找到最小梯度方向,并将该点设为新的聚类中心,直至聚类中心不再变化。

3、Assignment Step

对每个聚类中心点C_k ,考虑以该点为中心的2S*2S的邻域范围中的所有像素点,计算每个点与C_k的距离D
距离D的计算公式
(其中,m为设置的色彩与空间成分的比重参数)
如果D'<'distance(i),则赋值distance(i)= D,赋值该点标签lable为k值。

4、更新聚类中心

对k个聚类中心点进行更新,找到所有标签lable值为k的点,求其平均值,得到新的聚类中心。

5、计算剩余误差

计算剩余误差E,通过迭代3、4两步,直至E满足条件为止。

6、后处理步骤

用连通性将独立点归至超像素。

理解

在计算某点属于哪一超像素时,第一次考虑时,在C1的域中,会得到它属于超像素C1,但是当在C2的域中考虑时,会得到该点更可能归属于C2,那么该点就应该属于超像素C2。这样,计算完之后,大多数点都归属于最可能的超像素中。

相关文章
|
1月前
|
算法 搜索推荐 测试技术
python排序算法及优化学习笔记1
python实现的简单的排序算法,以及算法优化,学习笔记1
33 1
|
5月前
|
机器学习/深度学习 自然语言处理 算法
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)2
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)
110 0
|
5月前
|
机器学习/深度学习 算法 数据可视化
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)1
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)
71 0
|
7月前
|
存储 算法 关系型数据库
|
7月前
|
机器学习/深度学习 存储 算法
|
7月前
|
算法 前端开发
数据结构和算法的学习笔记(第四部分)
自学的数据结构和算法的学习笔记
数据结构和算法的学习笔记(第四部分)