SLIC分割方法

来源:互联网 发布:淘宝爱平台 编辑:程序博客网 时间:2024/05/16 01:49
SLIC Superpixels》
    SLIC: simple linear iterative clustering的简称,即简单的线性迭代聚类。
    这是一个基于聚类算法的超像素分割,由LAB空间以及x、y像素坐标共5维空间来计算。不仅可以分割彩色图,也可以兼容分割灰度图,它还有一个优点就是可以人为的设置需要分割的超像素的数量。
    实现方法:
1)初始化聚类中心:按照设定的超像素个数,在图像内均匀的分配聚类中心
2)在n*n邻域内打乱聚类中心(n作者取3),讲聚类中心移到邻域内梯度最小的地方,这样是为了防止聚类中心落在边界上。
3)在聚类中心的2S*2S的邻域内为每个聚类中心分配匹配点,按照各点与聚类中心的设定距离来计算(距离由labxy计算得出,具体公式见文章)。(对于这一点我有点不太理解,在这个邻域内,不比较怎样知道哪个点属于自己,哪个点不属于?我的理解是,该邻域内的点的到该聚类中心的距离,与该点属于其他邻域时到其他聚类中心的距离做比较,该点最后应该聚类到离其距离最近的聚类中心。)(S为步长,根据要分割的超像素的个数决定。)
4)计算新的聚类中心与之前聚类中心的L1距离,根据阈值判断是否需要重新打乱聚类中心(即一直进行迭代运算,知道近两次的聚类中心之间的距离小于某一阈值)。
5)结束运算

附:步长S:假设像素总数为N,要分成K个超像素,则S=sqrt(N/K)
0 0
原创粉丝点击