陳浩,裴瑞杰,汪鑫
(南陽農(nóng)業(yè)職業(yè)學(xué)院,南陽473000)
農(nóng)作物圖像處理主要是通過計算機技術(shù)對圖像進行去噪、增強、分割、特征提取、融合等操作,從而提取目標區(qū)域,預(yù)測農(nóng)作物生長狀況[1-3],提取農(nóng)作物抗旱性特征[4],識別農(nóng)作物害蟲[5-7]和農(nóng)作物的檢測[8-12]等,分割是圖像處理過程中最重要的步驟之一,分割質(zhì)量的高低直接影響后續(xù)圖像處理的效果。目前圖像分割方法主要有基于閾值分割法[13-15]、基于邊緣分割法[16-17]和基于聚類、區(qū)域及特定理論分割法[18-19]等。其中,K-means算法[20-21]是Mac Queen 提出的一種通過相似性度量進行區(qū)域劃分的聚類算法,原理簡單,便于處理大量數(shù)據(jù),廣泛應(yīng)用于圖像處理領(lǐng)域,然而卻存在對初始化聚類中心比較敏感、不能自適應(yīng)選擇聚類個數(shù)等缺點,有學(xué)者提出將智能優(yōu)化算法運用到圖像分割中[22-24],其中蟻群優(yōu)化算法計算簡單、易于實現(xiàn),得到廣泛應(yīng)用。本文提出一種新的聚類方法應(yīng)用與生菜葉片圖像分割,該方法將ACO 算法與K-means 算法相結(jié)合對圖像進行優(yōu)化聚類。實驗結(jié)果表明該方法在生菜葉片圖像分割中具有更好的性能。
蟻群優(yōu)化算法(Ant Colony Optimization,ACO)[25-26]是一種模擬螞蟻覓食行為的仿生優(yōu)化算法。算法基本思想是螞蟻覓食過程中會在局部范圍內(nèi)測量群體相似性,這些數(shù)據(jù)將轉(zhuǎn)化為是否覓食的概率,常應(yīng)用于圖像處理領(lǐng)域[27-28]。圖像X 中的像素點Xj,j=1,2,…,N 被視做一個螞蟻,該像素點的特征向量由其灰度值表示。螞蟻覓食的過程可以看做圖像分割的過程。計算隨機像素點Xi到Xj之間的歐氏距離:
式中p 為權(quán)重因數(shù)。
計算從Xi到Xj的概率ρij:
式中τij為信息素;ηij(t)為啟發(fā)函數(shù);α 和β 為影響因子;S 為經(jīng)過路徑的集合。隨著螞蟻的移動,每次循環(huán)之后運用式(3)更新每條路徑上的信息素:
式中ρ 為信息素衰減系數(shù);Δτij為當前循環(huán)中每條路徑上的信息素增量。
K-means 聚類算法是一種對類內(nèi)目標進行劃分的方法,其目的使分類后的子集合滿足類內(nèi)誤差平方和最小。通過最小化每個局部子集,該算法將在全局上產(chǎn)生最優(yōu)子集。該算法可應(yīng)用于圖像分割,其基本步驟如下:
(1)定義一個等距離方法初始化聚類中心:
(2)分配各樣本點到相近的聚類集合,樣本分配依據(jù)為:
式中i=1,2,…,K;j=1,2,…,N,Distancei,j為從第j個像素點到第i 個聚類中心的距離,N 為樣本空間中像素點的數(shù)量。
(3)根據(jù)步驟2 的聚類結(jié)果,更新聚類中心:
式中i=1,2,…K,Ni是第步驟2 中被分配到第i類中的像素點的個數(shù)。
(4)若聚類中心發(fā)生變化,重復(fù)步驟2,直到循環(huán)結(jié)束。
(5)第K-1 類和K 類聚類中心的均值被作為分割閾值:
K-means 聚類的收斂速率ACO 算法快,但是聚類結(jié)果很大程度上依賴于初始聚類中心的選擇,ACO 算法的分割結(jié)果比K-means 算法快,但是收斂速率慢。原因是ACO 算法初始化時每條路徑上的信息素是相同的,螞蟻很難在短時間內(nèi)找到合適的路徑。因此在圖像分割中為了達到更高的收斂速率和正確性需要對K-means 算法進行改進。如果在初始化算法時給出了啟發(fā)式信息素,收斂速度可以加快。因此,改進算法的基本思想是通過K-means 算法快速分類,然后通過分類結(jié)果更新信息素,直到其他螞蟻選擇更好的路徑。也就是說聚類中心Centerj由分類結(jié)果估計,如果示例樣本點i 被作為初始聚類中心,從示例樣本點i 到聚類中心Centerj的距離由如下公式計算:
式中δ 為常量。
(1)初始化參數(shù)α、β、ρ、δ。
(2)運用(5)式計算初始聚類中心。
(3)運用(6)式計算每個像素點到初始聚類中心的距離。
(4)開始循環(huán)并計算隸屬度,如果計算值大于一個隨機值λ,通過公式(3)、(4)和(9)更新信息素增量Δτij,同時通過(7)式更新聚類中心,否則此像素點沒有被分類。
(5)如果有像素點沒有被分類,則返回步驟4,否則結(jié)束循環(huán)。
(6)運用(8)式計算閾值,然后分割圖像。
為了驗證本文算法的有效性以單個生菜葉片圖像和生菜冠層圖像為實驗對象。實驗環(huán)境為:Windows 10 操作系統(tǒng),32 位操作系統(tǒng),2.67GHz 處理器,6GB 內(nèi)存,編程環(huán)境為VS2013。本文分別對K-means 算法、ACO 算法以及KACO 算法運行100 次,并記錄每次運行結(jié)果,統(tǒng)計三種算法求得最優(yōu)解的次數(shù),結(jié)果如表1、表2 所示。
表1 單個生菜葉片圖像分割對比
表2 生菜冠層圖像分割對比
從表中可以看出ACO 算法運行時間最多,準確率最低;K-means 算法運行時間最少,準確率排第二;KACO 算法運行時間排第二,準確率最高。
此外,本文分別運用K-means 算法、ACO 算法以及KACO 算法分割單個生菜葉片圖像和生菜冠層圖像,分割結(jié)果如圖1、圖2 所示。
圖1 單個生菜葉片分割對比圖
圖2 生菜冠層分割對比圖
圖1 為單個生菜葉片分割對比圖,從圖中可以看出KACO 算法分割效果較好,它能夠?qū)⒄麄€生菜葉片圖像
分離出來,而ACO 算法以及K-means 算法分離不徹底,存在較多模糊、空洞,且光照將強的區(qū)域沒有被分離。
圖2 為生菜冠層分割對比圖,從圖中可以看出,KACO 算法能夠?qū)⑸斯趯优c地面復(fù)雜背景分離,分割效果較好,而ACO 以及K-means 算法未能將冠層與地面復(fù)雜背景分離,特別是種植盆無法分離。
本文以生菜葉片圖像為測試對象,探索基于ACO和K-means 相結(jié)合的聚類算法在農(nóng)作物圖像分割中的應(yīng)用,提出了KACO 算法。實驗結(jié)果表明,采用本文算法能有效地分割生菜葉片與生菜冠層圖像,為進一步對農(nóng)作物圖像的處理奠定了基礎(chǔ)。