基于ACS-FCM算法的圖像分割研究
(4)
3 acs-fcm算法圖像分割
將上述蟻群聚類算法應用于圖像分割中,可以將每只螞蟻看作具有若干特征的像素[9]。而圖像中像素灰度、鄰域均值灰度、梯度、及區(qū)域紋理、局部能量等均為其重要分割特征,在一幅圖像中,灰度、鄰域均值灰度、梯度表現(xiàn)了目標、背景、邊緣及噪聲的特點。在此算法中,每只螞蟻是以灰度、鄰域均值灰度、梯度為特征的三維向量。
如果采用基本蟻群聚類算法,那么隨著螞蟻的運動,迭代到一定次數(shù)后,螞蟻容易過早限于停滯,蟻群集中在少數(shù)幾條路徑上,如果要得到全局最優(yōu)解,需要對信息素更新方式進行改進[10],避免某些局部最優(yōu)路徑上信息量的增長過快,在加快收斂和防止早熟現(xiàn)象之間取得一個較為合理的平衡點。可按式(5)更新螞蟻到聚類中心的信息素強度
(5)
式中:信息量調節(jié)系數(shù)a為[0,1]間的一個參數(shù),與式(4)中的r系數(shù)相比,可以在對本條路徑t+1時刻信息量更新的同時兼顧時刻的初始信息,避免信息量的過快增長。對上述式中信息素更新方式做進一步的改進
(6)
(7)
式中:lave為一次聚類結束后的路徑平均值,di為每只螞蟻所走的路徑長度。具體算法描述如下:
步驟1 建立模型:
將像素點視為螞蟻,聚類中心視為食物源,則聚類的過程即螞蟻覓食過程。
步驟2 參數(shù)初始化:
給定數(shù)據(jù)樣本集xi=(xi1,xi2,…,xim), i=1,2,…,n, 設置a, b,tij, nc等參數(shù)的初始值,設置初始聚類中心ci,給出一個初始蟻群分配方案,并計算數(shù)據(jù)樣本與聚類中心間的加權歐式距離:
步驟3 螞蟻的移動:
對每一只螞蟻 k(k =1, 2, …, m),根據(jù)轉移概率為其選擇一個新的節(jié)點,并將螞蟻移動到此節(jié)點。
步驟4 更新:
一次蟻群聚類完成后,更新各類的聚類中心ci,重新計算樣本點到該新的聚類中心的加權距離。然后使用更新規(guī)對這兩個聚類中心之間的路徑上的信息素濃度進行更新。
步驟 5 目標函數(shù)及終止:
計算目標函數(shù):
若循環(huán)次數(shù)大于規(guī)定的次數(shù),停止運行并輸出分割所得圖片,否則轉步驟3。
4 仿真結果分析
本實驗測試平臺為genuine intel(r)2140@1.60ghz,1g內存,windowsxp,在matlab 7.0環(huán)境下仿真得到。本實驗中參數(shù)初始參數(shù)設置為:
a=0.40;b =3;r =0.95;(聚類半徑)g =90;nc=500。
原始圖像 canny算子邊緣檢測
fcm算法分割 本文算法分割
圖2 紅細胞圖片的分割效果圖
評論