博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图像超像素(superpixels)分割算法——简单线性迭代聚类(SLIC)
阅读量:5121 次
发布时间:2019-06-13

本文共 741 字,大约阅读时间需要 2 分钟。

原理

  SILC(simple linear iterative clustering)是一种图像分割算法。默认情况下,该算法的唯一参数是k,约等于超像素尺寸的期望数量。对于CIELAB彩色空间的图像,在相隔S像素上采样得到初始聚类中心。为了产生大致相同尺寸的超像素,格点的距离是$S=\sqrt{N/k}$。中心需要被移到3x3领域内的最低梯度处,这样做是为了避免超像素中心在边缘和噪声点上。

  接下来为每一个像素$i$设置最近的聚类中心,该聚类中心的搜索区域要覆盖该像素的位置。这是本算法加速的关键,因为通过限制搜索区域的大小减小了距离计算的数量,并且相对于传统的k-means聚类算法有显著的速度优势,因为后者的每个像素都必须和所有的聚类中心进行比较。一个超像素的预期空间范围是约为SxS的区域,这里对于相似像素的搜索是在超像素中心的2Sx2S区域完成。

  一旦每个像素被关联到最近的聚类中心后,就通过求聚类中心所有像素的均值来执行聚类中心的更新。使用$L_{2}$范数计算前一个聚类中心和当前聚类中心的残差。assignment和update步骤被重复迭代直到误差收敛,但是我们发现对于大多数图像10次迭代就够了。

算法步骤

1)通过在常规网格步长S处采样像素来初始化聚类中心

2)在3x3的领域内移动聚类中心到最低的梯度位置

3)为每一个像素$i$设置标签$l(i)$

4)为每一个像素设置距离$d(i)=\infty$

5)对于每一个聚类中心遍历2Sx2S区域内的每一个像素点,计算距离决定是否更新像素的标签和距离

6)更新聚类中心

7)重复步骤5)6)直到收敛

转载于:https://www.cnblogs.com/majiale/p/9208470.html

你可能感兴趣的文章
Python 模块和包
查看>>
oracle 查询
查看>>
Asp.Net MVC4入门指南(1): 入门介绍
查看>>
安卓版微信开启测试 接入微信运动功能
查看>>
面试题7用两个栈实现队列
查看>>
动静强弱,脚本
查看>>
yum no key
查看>>
【Win10 应用开发】语音命令与App Service集成
查看>>
汇编语言第三章总结
查看>>
windows操作系统屏蔽ip办法
查看>>
nginx基础整理
查看>>
第六篇 flask中session
查看>>
js 数组容易弄混的那些方法
查看>>
block的循环引用
查看>>
vue踩坑(二):跨域以及携带cookie
查看>>
第7弹;数组的排序和查找
查看>>
pat06-图4. Saving James Bond - Hard Version (30)
查看>>
使用Nginx在自己的电脑上实现负载均衡
查看>>
lnmp的安装--php
查看>>
表单相关-文件上传-下载-异步/同步提交
查看>>