下载此文档

SLIC算法学习-20170116.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
SLIC 超像素分割算法研究(代码可下载) 超像素概念是 2003 年 Xiaofeng Ren [1] 提出和发展起来的图像分割技术,是指具有相似纹理、颜色、亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块。它利用像素之间特征的相似性将像素分组, 用少量的超像素代替大量的像素来表达图片特征, 很大程度上降低了图像后处理的复杂度,所以通常作为分割算法的预处理步骤。已经广泛用于图像分割、姿势估计、目标跟踪、目标识别等计算机视觉应用[2] ,而目前, OpenCV 关于超像素生成, 没有发现网上有相关代码, 但其实在 opencv_contrib 目录下面的未稳定功能模块有 SLIC , SEEDS , LSC 算法相关实现,如果想要使用这个目录的功能,需要自己重新进行 OpenC V 的编译[8] , 有关编译和配置方法可参考[8 ,9] 。一些常用的超像素分割算法和性能对比如下表[3]: 本文介绍 SLIC ( simple linear iterativeclustering )超像素分割算法, 即简单的线性迭代聚类,该算法是目前执行速度最快的超像素分割方法[3], 2015 年实现并行执行速度达 250 FPS [4,5]。 SLIC 算法是 2010 年 Achanta[6] 提出的一种思想简单、实现方便的算法, 将彩***像转化为 CIELA B 颜色空间和XY 坐标下的5 维特征向量, 然后对5 维特征向量构造距离度量标准, 对图像像素进行局部聚类的过程[2], 算法基本思路与 Kmeans 聚类算法类似。算法具体实现过程如下[ 6,2 ]: 1. 初始化种子点(聚类中心) :按照设定的超像素个数,在图像内均匀的分配种子点。假设图片总共有 N 个像素点,预分割为 K 个相同尺寸的超像素,那么每个超像素的大小为 N/K ,则相邻种子点的距离(步长)近似为 S=sqrt(N/K) 。 2. 在种子点的 n*n 邻域内重新选择种子点(一般取 n=3 ) 。具体方法为:计算该邻域内所有像素点的梯度值, 将种子点移到该邻域内梯度最小的地方。这样做的目的是为了避免种子点落在梯度较大的轮廓边界上,以免影响后续聚类效果。 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 次迭代对

SLIC算法学习-20170116 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小433 KB
  • 时间2017-05-29