賀風婷,劉彥隆,劉鑫晶
(太原理工大學信息與計算機學院,山西晉中 030600)
海量的圖片是計算機與外部世界溝通的橋梁,圖像分割作為圖像處理的第一步,也是最為重要的一步,是之后圖像處理的基礎,分割效果的好壞決定了后續(xù)步驟的質量。圖像分割本質上是將像素進行分類,將具有相似特征的像素劃分到一類,具有差異性的像素則被劃分到不同類別[1]。FCM 算法是一種常用的聚類方法,由Dunn 首先提出,是對早期K 均值聚類算法的一種改進,其由于簡單有效的特點得到了廣泛的使用[2]。
近幾年來,針對FCM 算法對初始聚類中心較為敏感的問題,許多群智能優(yōu)化算法被應用于確定FCM 算法的聚類中心。其中,人工魚群算法(AFSA)具備優(yōu)秀的全局尋優(yōu)性能,同時對初始參數的要求較低,魯棒性較強[3]。研究學者針對人工魚群算法做出了很多改進,文獻[4]將通信行為引入人工魚群算法中,并與FCM 算法進行結合;文獻[5]利用最速下降法對公告板中適應度最好的人工魚進行更新,提高了算法的收斂速度;文獻[6]將反向學習機制引入到人工魚群算法中,避免了算法的早熟;文獻[7]利用體能變換模型確定算法搜索過程中的步長,使得算法的尋優(yōu)精度得以提高;文獻[8]為了防止算法陷入局部最優(yōu),在人工魚的行為中加入了游動行為;文獻[9]將跳躍行為加入到工魚群算法中,以改善算法后期易陷入局部最優(yōu)解的缺陷。雖然國內外學者針對標準AFSA 算法進行了不同程度的改進,并且用于各個領域的研究,但仍存在不足。
為了更好地改進標準AFSA 算法存在的后期尋優(yōu)效果較差以及FCM 算法對初始聚類中心敏感導致的圖像分割速率和精度較低的問題,文中提出了基于改進教學優(yōu)化的人工魚群算法(ITLBO-AFSA)實現FCM 圖像分割的方法。算法利用AFSA 較強的全局搜索能力,同時將改進之后的教學優(yōu)化算法(TLBO)融入尋優(yōu)過程,充分利用人工魚群算法尋優(yōu)過程中每一次的最優(yōu)值,進行正向引導。通過仿真實驗數據證明,將優(yōu)化后的算法應用于尋找FCM 算法的聚類中心,算法容易跳出局部極值,圖像分割的速度和精確度均有較明顯的提升。
基本的人工魚群算法(AFSA)[10]是模仿魚類尋找食物過程中的各種行為特點而提出的一種動物體的智能全局優(yōu)化算法。用向量X={x1,x2,x3…xn}表示人工魚個體的狀態(tài),每條人工魚代表了問題的一個解,食物濃度則代表了目標函數的值,為Y=f(X),算法通過不斷地進行行為選擇來執(zhí)行魚群的基本行為,通過更新人工魚的位置來找到食物濃度最高的地方,尋得最優(yōu)解。魚群的基本行為有以下4 種:
1)聚群行為:人工魚根據所確定的視野范圍搜索此范圍內的所有人工魚,令所有人工魚的數目為s,其中心位置表示為Xc,如果Yc>Yi并且s/N<δ,說明Xc處的食物濃度較高并且擁擠度較低,則人工魚按照下式向Xc前進一步:
否則執(zhí)行覓食行為。
2)追尾行為:人工魚根據所確定的視野范圍,搜索此范圍內食物濃度最高的位置Xh,鄰域內所有人工魚的數目為s,如果探測到s/N<δ,則人工魚按照下式向Xh前進一步:
否則執(zhí)行覓食行為。
3)覓食行為:人工魚根據確定的視野范圍隨機搜索一個位置Xj,如果Yj>Yi,則說明Xj處的食物濃度比當前位置Xi處的更高,則人工魚按照下式向Xj前進一步:
否則執(zhí)行隨機行為。
4)隨機行為:如果人工魚在覓食行為進行了try_number次之后,在視野范圍內還是沒有發(fā)現食物濃度更高的位置,則按照下式隨機移動一步,以免解陷入局部最優(yōu):
5)公告板:用來記錄人工魚群的最優(yōu)解,包括食物濃度及位置,它是一個根據人工魚行為動態(tài)變化的值。
1.2.1 自適應確定視野和步長的值
在基本的AFSA 中,visual和step的值均為固定的值。如果初始化的visual值過大,那么在人工魚群算法的前期可以提高收斂速度,但是在后期,逐漸逼近最優(yōu)解,這時過大的visual值會導致算法錯過最優(yōu)解,得到的僅僅是局部最優(yōu)解,反之,如果初始化的visual值過小,則收斂速度過慢,效率下降。如果步長較大,則在算法初期,人工魚的聚集速度很快,但是在后期,較大的步長將會使人工魚很難精確地到達極值點,從而產生振蕩現象,而此時較小的步長會獲得更加精確的極值。如果采用隨機值,則將會增加計算的時間。所以文中采用自適應視野和步長的策略[11],具體的視野和步長取決于人工魚當前的位置和距最優(yōu)人工魚位置的距離,方法如下:
每進行一次迭代之前,每條人工魚都要計算自身Xi與公告板中保存的最優(yōu)個體Xm的距離,并將這個距離值作為其視野,而步長通過聯合系數a(0<a≤1)和視野聯系起來,即
因此,視野和步長不再是一個固定不變的值,而是會隨著最優(yōu)個體的改變而不斷地進行更新,從而避免盲目尋找。隨著算法的進行,選擇合適的視野和步長值,從而改善算法的整體性能。
1.2.2 引入改進的教學優(yōu)化算法
雖然AFSA 算法超初收斂速度快,效果較好,但是當算法進行到后期時,如果繼續(xù)在全局范圍內盲目搜索,將會導致時間的浪費,而如果充分利用公告板中所保存的歷史解[12],對其余人工魚個體的尋優(yōu)過程進行正向指引,則會加快尋優(yōu)速度。
基本的教學優(yōu)化算法[13]主要包括教師教學和學生交流兩個階段,整個人工魚群是一個“班級”,公告板上記錄的個體是班級中的“教師”,為當前最優(yōu)個體,每個人工魚除自身以外的個體都看作是“學生”。具體實現如下:
1)自適應教學因子的教學過程
教師通過不斷地向學生傳授知識,提高學生的整體水平。經過教學過程產生的解為:
在基本的教學算法中,教學因子TF隨機取值為1 或2,這就導致了學生學習過程中要么不向老師汲取知識,要么汲取全部知識,所以令
其中,Xinew為經過教學過程后人工魚Xi的新位置,rand 為[0,1]的隨機數,Xm為公告板上的最優(yōu)人工魚個體位置,i為當前的迭代次數。從式(7)可看出,隨著迭代次數的增加,TF的值從2 逐漸減小,直到最后減為0,這符合前期學生與教師之間水平差距較大,學習能力較強,后期掌握的知識逐漸增多,學習能力減弱的客觀事實。經過教學過程后,如果Yinew<Yi,則將人工魚位置更新為Xinew,否則不更新。
2)基于差分進化的交流過程
在人工魚群算法的前期,學生之間可以相互交流,此時充分利用人工魚個體的多樣性,可以進一步提升尋優(yōu)結果的全局性。在基本的教學算法中,交流過程只與兩個學生有關,在改進后的交流過程中,學生之間不僅可以內部交流,同時也可以和教師進行交流,經過此過程所得到的解為:
其中,Xinew為經過交流過程后人工魚Xi的新位置,Xm為公告板上的最優(yōu)人工魚個體位置,Xa、Xb為當前迭代次數中不同于Xi的兩個互異的學生。經過交流過程后,如果Yinew<Yi,則將人工魚位置更新為Xinew,否則不更新。
假設一個數據集中有n個元素,用X={x1,x2,x3…xn}表示,如果把這些元素分為c類,則會有c個聚類中心[14],每個類對應的類中心為Vi(1<i≤c),數據集中的每個樣本xi屬于每一類別j的隸屬度為uij,FCM 的目標函數定義如下:
利用拉格朗日乘數法得到以下兩個方程:
可以發(fā)現,uij和Vi屬于相互包含、相互影響的關系,FCM 算法就是不斷地對隸屬度uij和聚類中心Vi進行調整,迭代之后使目標函數的值最小,最終求解最優(yōu)值的過程。
FCM 算法的具體步驟如下:
1)初始化模糊指數m、聚類個數c、最大迭代次數T、迭代停止閾值ε等參數以及隸屬度矩陣U;
2)根據式(10)計算聚類中心Vi;
3)根據式(11)更新隸屬度uij;
4)重復步驟2)、3),直到達到最大迭代次數或者收斂閾值ε。
文中算法流程如圖1所示。
圖1 文中算法流程圖
步驟1 初始化參數:初始化人工魚群數目N、覓食行為的試探次數try_number、最大迭代次數max_inter、擁擠度因子δ、最大停滯次數Tm等各項參數;
步驟2 更新公告板:在該算法中,人工魚個體的適應度值即為FCM 聚類算法的目標函數,根據式(9)計算每個人工魚個體的適應度值,在公告板上保存最優(yōu)個體的信息;
步驟3 計算視野和步長:計算每條人工魚與公告板中記錄的人工魚個體的距離,將其作為visual值,并根據式(1)計算出相應的step值;
步驟4 更新人工魚個體的位置:按照式(1)~(4)執(zhí)行人工魚群的4 種基本行為,更新人工魚個體的位置,得到更新后的人工魚;
步驟5 交流過程:根據式(8),每條人工魚分別執(zhí)行交流過程得到Xinew,如果Yinew<Yi,則更新人工魚的位置為Xinew,否則不更新,再與公告板中的狀態(tài)進行比較,如果Yinew<Ym,則更新公告板,否則不更新;
步驟6 檢查公告板:如果公告板沒有更新,則T=T+1,判斷是否T=Tm,如果成立,則轉到步驟8,否則轉到步驟7,如果公告板更新,則T=0;
步驟7 教學過程:利用公告板中記錄的最優(yōu)人工魚對每條人工魚個體執(zhí)行教學過程,得到Xinew,如果Yinew<Ym,則更新公告板,否則不更新;
步驟8 判斷是否結束迭代:如果當前迭代次數i<max_inter,則迭代次數i=i+1,轉到步驟3,否則轉到步驟9;
步驟9 輸出尋優(yōu)結果,即為聚類中心;
步驟10 根據尋優(yōu)結果進行FCM 圖像分割。
為了驗證提出算法的有效性,文中選取了MatlabR2015b 中的5 張典型圖片(rice、circuit、tire、cameraman 和mri),將改進后的算法用于圖像分割,進行了5 次實驗,并將文中算法與傳統(tǒng)FCM 算法和人工魚優(yōu)化FCM 算法(AFSA_FCM)進行圖像分割的分割效果進行對比,5 次實驗的結果分別如圖2~6所示。
圖2 rice圖像運行結果
文中的實驗環(huán)境為2.2G CPU,4GB RAM,Windows10.0 操作系統(tǒng)。實驗所使用的工具是MatlabR2015b。實驗中的相關參數設置如下:人工魚數目N=20,覓食行為的試探次數try_number=3,最大迭代次數max_inter=100,最大停滯次數Tm=10,擁擠度因子σ=0.618,視野和步長的相關系數a=0.5,迭代停止閾值ε=10-3。
圖3 circuit圖像運行結果
圖4 tire圖像運行結果
圖5 cameraman圖像運行結果
圖6 mri圖像運行結果
首先,從分割效果圖上來看,針對實驗1,文中算法的分割過程減少了無關信息的干擾,得到了較為清晰的分割結果;針對實驗2,文中算法分割出了較為清晰的線路紋路;針對實驗3,文中算法將輪胎邊緣的線條保留得較為完整細致,更接近原始圖像;針對實驗4,文中算法將cameraman 圖像中人物的衣服、臉部、手部分割得較為清楚,更加注重細節(jié)的體現;針對實驗5,文中算法分割的核磁共振圖像保留了較多的細節(jié)信息,分割線條更加清晰,具有一定的現實意義。
其次,為了驗證文中算法的收斂速度優(yōu)于其他兩種算法,將3 種算法的迭代次數和運行時間進行對比,結果如表1 所示。從表1 數據可以看出,與標準的FCM 算法進行比較,文中算法的迭代次數明顯減少,原因就在于提出的算法利用改進的人工魚群算法,同時在算法后期提高了魚群的收斂速度,對FCM算法進行優(yōu)化,提高了整體的運行速度,平均運行時間下降了50%~55%,與AFSA_FCM 算法相比,運行時間也下降了15%~30%,圖像分割的速率大幅提升。
表1 3種算法迭代次數和運行時間對比
最后,為了對文中算法的收斂精度進行說明,選取了評價聚類分割效果常用的兩種指標Vpc和Vpe以及對圖像分割效果進行評價的評價準則分類正確率SA,對3 種算法進行了對比:
1)Bezdek 劃分系數Vpc[15],定義為:
2)劃分熵Vpe[16],定義為:
3)分類正確率SA定義為:
其中,正確率SA越高,說明分割效果越好。Vpc和Vpe反映了分割矩陣的模糊程度。一般來說,如果目標圖像中的每個像素點屬于其中一類的隸屬度值越大,屬于其他類的隸屬度值越小,說明聚類算法的效果越好,則Vpc的值越大,而Vpe的值越小。
各個實驗圖像的指標如表2 所示。劃分系數Vpc的值越接近1,說明聚類的程度越強,劃分熵Vpe的值越接近于0,說明聚類的結構越清晰。從表2 的數據可以看出,文中算法的Vpc值比標準FCM 算法分割圖像提升了7%左右,而Vpe值下降了57%左右,與AFSA_FCM 算法相比,Vpc值提升了3%左右,Vpe值下降了10%左右。同時,文中算法比標準FCM 算法的圖像分割正確率平均提升了10%,比AFSA_FCM 算法平均提升了7%。因此,綜合看來,文中算法相對于其他兩種算法,顯然聚類效果更優(yōu)。
表2 3種算法的聚類有效性指標和正確率對比
為了進一步體現文中算法的優(yōu)越性,再次從目標函數值變化的方面對3 種算法的速度與精度進行說明。圖7 為對cameraman 圖像進行分割時目標函數值隨迭代次數的變化曲線,從圖7 可看出,提出的算法在剛開始時就能得到一個比較小的目標函數值,與標準FCM 算法和AFSA_FCM 算法相比,收斂速度更快,并且從最終結果來看,目標函數值最小,避免算法陷入局部最優(yōu)值,聚類效果更好[17-19]。
圖7 對cameraman圖像進行分割時目標函數值隨迭代次數的變化曲線
綜上所述,提出的基于ITLBO-AFSA 算法實現FCM 圖像分割的方法,在保證分割效果提升的同時,能夠快速地對圖像進行分割,滿足了圖像分割的實時性要求,尤其是對復雜圖像的分割,相比于其他兩種算法,更能體現出其優(yōu)勢。
文中提出了一種基于改進教學算法優(yōu)化人工魚算法(ITLBO-AFSA)進行FCM 圖像分割的方法,通過改進AFSA 算法尋優(yōu)過程中后期搜索速度較慢的缺陷,得到更精確的最優(yōu)解,將其作為FCM 的聚類中心,改進了FCM 算法對初始聚類中心較為敏感的不足,提高了FCM 算法分割圖像的準確度和速率。同時,通過觀察Vpc、Vpe、正確率和運行時間等數據,直觀地表明了文中算法的可行性,該方法已經應用于各類型的分割圖像,如簡單圖像(rice 圖)、人物圖像(cameraman 圖)、醫(yī)學圖像(mri 圖)、生活圖像(tire圖、circuit 圖),具有現實意義。但是,如何降低噪聲的影響,將是未來的一個研究方向。