日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

超像素分割算法研究:SLIC分割算法原理讲解

發布時間:2023/12/31 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超像素分割算法研究:SLIC分割算法原理讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:最近項目使用到了超像素分割,因此順道研究了以下SLIC這一算法。超像素分割這類low-level vision問題已經在CVPR,ICCV這種頂級會議上逐漸銷聲匿跡,越來越流行的learning method漸漸占據了這些頂級會議90%的篇幅。本文講解的SLIC是2010年提出的一種十分簡單的超分辨分割算法,原理簡單、便于實現。

一.SLIC(simple linear iterative clustering)原理分析

  • 初始化種子點(聚類中心):按照設定的超像素個數,在圖像內均勻的分配種子點。假設圖片總共有 N 個像素點,預分割為 K 個相同尺寸的超像素,那么每個超像素的大小為N/ K ,則相鄰種子點的距離(步長)近似為S=sqrt(N/K)。

  • 在種子點的n*n鄰域內重新選擇種子點(一般取n=3)。具體方法為:計算該鄰域內所有像素點的梯度值,將種子點移到該鄰域內梯度最小的地方。這樣做的目的是為了避免種子點落在梯度較大的輪廓邊界上,以免影響后續聚類效果。

  • 在每個種子點周圍的鄰域內為每個像素點分配類標簽(即屬于哪個聚類中心)。和標準的k-means在整張圖中搜索不同,SLIC的搜索范圍限制為2S2S,可以加速算法收斂,如下圖。在此注意一點:期望的超像素尺寸為SS,但是搜索的范圍是2S*2S。

  • 距離度量。包括顏色距離和空間距離。對于每個搜索到的像素點,分別計算它和該種子點的距離。距離計算方法如下:


  • 其中,dc代表顏色距離,ds代表空間距離,Ns是類內最大空間距離,定義為Ns=S=sqrt(N/K),適用于每個聚類。最大的顏色距離Nc既隨圖片不同而不同,也隨聚類不同而不同,所以我們取一個固定常數m(取值范圍[1,40],一般取10)代替。最終的距離度量D’如下:

    由于每個像素點都會被多個種子點搜索到,所以每個像素點都會有一個與周圍種子點的距離,取最小值對應的種子點作為該像素點的聚類中心。

  • 迭代優化。理論上上述步驟不斷迭代直到誤差收斂(可以理解為每個像素點聚類中心不再發生變化為止),實踐發現10次迭代對絕大部分圖片都可以得到較理想效果,所以一般迭代次數取10。

  • 增強連通性。經過上述迭代優化可能出現以下瑕疵:出現多連通情況、超像素尺寸過小,單個超像素被切割成多個不連續超像素等,這些情況可以通過增強連通性解決。主要思路是:新建一張標記表,表內元素均為-1,按照“Z”型走向(從左到右,從上到下順序)將不連續的超像素、尺寸過小超像素重新分配給鄰近的超像素,遍歷過的像素點分配給相應的標簽,直到所有點遍歷完畢為止。

  • 二.偽算法描述

    /? Initialization ?/ Initialize cluster centers Ck = [lk , ak , bk , xk , yk ]T by sampling pixels at regular grid steps S. Move cluster centers to the lowest gradient position in a 3 × 3 neighborhood. Set label l(i) = ?1 for each pixel i. Set distance d(i) =for each pixel i.repeat /? Assignment ?/ for each cluster center Ck dofor each pixel i in a 2S × 2S region around Ck do Compute the distance D between Ck and i.if D < d(i) thenset d(i) = Dset l(i) = k end ifend for end for/? Update ?/ Compute new cluster centers. Compute residual error E. until E ≤ threshold

    三.參考博文

    1.https://github.com/laixintao/slic-python-implementation
    2.https://blog.csdn.net/zhj_matlab/article/details/52986700
    3.https://blog.csdn.net/electech6/article/details/45509779

    總結

    以上是生活随笔為你收集整理的超像素分割算法研究:SLIC分割算法原理讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。