SLIC超像素分割

      图像分割是计算机视觉领域的基本问题,而超像素分割是一个预处理的步骤,所谓的超像素,是指具有相似纹理、颜色、亮度等特征的相邻像素构成的图像块(是像素的集合),利用超像素代替像素进行图像处理,能够在很大程度上降低后续图像处理任务的复杂度。超像素生成的算法大致可以分成基于图论的方法和基于梯度下降的方法,SLIC算法属于后者。在目前的超像素分割算法中,SLIC的效果相对比较好。

关于超像素分割算法的介绍,可以参考《超像素分割算法研究综述》一文:

http://wenku.baidu.com/link?url=NLGalCf2j04mcUbD7358Gwu1kknpD9U_8U8SlYCsLFZ5-_knoKnKTEgpuE0JnunR4Obib3CBDEqyEouwEqLhZ1oCr58YJuM8RROTHe8fUHu

关于SLIC的实现,可以参考《SLIC Superpixels》一文:

http://ivrlwww.epfl.ch/supplementary_material/RK_SLICSuperpixels/index.html


本文转载自:http://blog.csdn.net/u014568921/article/details/44588207

以下为转载内容:

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

SLIC算法是simple linear iterative cluster的简称,该算法用来生成超像素(superpixel)。


基本思想

算法大致思想是这样的,将图像从RGB颜色空间转换到CIE-Lab颜色空间,对应每个像素的(L,a,b)颜色值和(x,y)坐标组成一个5维向量V[L,a,b,x,y],两个像素的相似性即可由它们的向量距离来度量,距离越大,相似性越小。

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

该算法接受一个参数K,用于指定生成的超像素数目。设原图有N个像素,则分割后每块超像素大致有N/K个像素,每块超像素的边长大致为S=[N/K]^0.5,开始我们每隔S个像素取一个聚类中心,然后以这个聚类中心的周围2S*2S为其搜索空间,与其最为相似的若干点即在此空间中搜寻。这里有一个问题,为了避免所选的聚类中心是边缘和噪声这样的不合理点,算法做了改进, 在3*3的窗口中将聚类中心移动到梯度最小的区域,梯度定义为

                                                    G(x,y)=[V(x+1,y)-V(x-1,y)]^2+[V(x,y+1)-V(x,y-1)]^2

这样就可以避免上面所说的情况。

因为L,a,b在CIE-Lab颜色空间,L,a,b的大小有限制,而图像尺寸则没有限制,如果图片的尺寸比较大,会造成衡量向量距离时空间距离(x,y)的影响过大,所以需要调制空间距离(x,y)的影响,所以需要对x,y进行normalize。改进向量距离的度量如下:

                                                   d_lab=[(Lk-Li)^2+(ak-ai)^2+(bk-bi)^2]^0.5

                                                   d_xy=[(Xi-Xk)^2+(Yk-Yi)^2]^0.5

                                                   Ds=d_lab+(m/S)*d_xy

m用来调整d_xy的权值,一般为1-20,在算法中设置为10。

最后可能出现一些小的区域d被标记为归属某一块超像素但却与这块超像素没有连接,这就需要把这块小区域d重新归类为与这块小区域d连接的最大的超像素中去,以保证每块超像素的完整。

算法流程



来看看效果吧:



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值