陳浩,裴瑞杰,汪鑫
(南陽農業職業學院,南陽473000)
農作物圖像處理主要是通過計算機技術對圖像進行去噪、增強、分割、特征提取、融合等操作,從而提取目標區域,預測農作物生長狀況[1-3],提取農作物抗旱性特征[4],識別農作物害蟲[5-7]和農作物的檢測[8-12]等,分割是圖像處理過程中最重要的步驟之一,分割質量的高低直接影響后續圖像處理的效果。目前圖像分割方法主要有基于閾值分割法[13-15]、基于邊緣分割法[16-17]和基于聚類、區域及特定理論分割法[18-19]等。其中,K-means算法[20-21]是Mac Queen 提出的一種通過相似性度量進行區域劃分的聚類算法,原理簡單,便于處理大量數據,廣泛應用于圖像處理領域,然而卻存在對初始化聚類中心比較敏感、不能自適應選擇聚類個數等缺點,有學者提出將智能優化算法運用到圖像分割中[22-24],其中蟻群優化算法計算簡單、易于實現,得到廣泛應用。本文提出一種新的聚類方法應用與生菜葉片圖像分割,該方法將ACO 算法與K-means 算法相結合對圖像進行優化聚類。實驗結果表明該方法在生菜葉片圖像分割中具有更好的性能。
蟻群優化算法(Ant Colony Optimization,ACO)[25-26]是一種模擬螞蟻覓食行為的仿生優化算法。算法基本思想是螞蟻覓食過程中會在局部范圍內測量群體相似性,這些數據將轉化為是否覓食的概率,常應用于圖像處理領域[27-28]。圖像X 中的像素點Xj,j=1,2,…,N 被視做一個螞蟻,該像素點的特征向量由其灰度值表示。螞蟻覓食的過程可以看做圖像分割的過程。計算隨機像素點Xi到Xj之間的歐氏距離:

式中p 為權重因數。
計算從Xi到Xj的概率ρij:

式中τij為信息素;ηij(t)為啟發函數;α 和β 為影響因子;S 為經過路徑的集合。隨著螞蟻的移動,每次循環之后運用式(3)更新每條路徑上的信息素:

式中ρ 為信息素衰減系數;Δτij為當前循環中每條路徑上的信息素增量。

K-means 聚類算法是一種對類內目標進行劃分的方法,其目的使分類后的子集合滿足類內誤差平方和最小。通過最小化每個局部子集,該算法將在全局上產生最優子集。該算法可應用于圖像分割,其基本步驟如下:
(1)定義一個等距離方法初始化聚類中心:

(2)分配各樣本點到相近的聚類集合,樣本分配依據為:

式中i=1,2,…,K;j=1,2,…,N,Distancei,j為從第j個像素點到第i 個聚類中心的距離,N 為樣本空間中像素點的數量。
(3)根據步驟2 的聚類結果,更新聚類中心:

式中i=1,2,…K,Ni是第步驟2 中被分配到第i類中的像素點的個數。
(4)若聚類中心發生變化,重復步驟2,直到循環結束。
(5)第K-1 類和K 類聚類中心的均值被作為分割閾值:

K-means 聚類的收斂速率ACO 算法快,但是聚類結果很大程度上依賴于初始聚類中心的選擇,ACO 算法的分割結果比K-means 算法快,但是收斂速率慢。原因是ACO 算法初始化時每條路徑上的信息素是相同的,螞蟻很難在短時間內找到合適的路徑。因此在圖像分割中為了達到更高的收斂速率和正確性需要對K-means 算法進行改進。如果在初始化算法時給出了啟發式信息素,收斂速度可以加快。因此,改進算法的基本思想是通過K-means 算法快速分類,然后通過分類結果更新信息素,直到其他螞蟻選擇更好的路徑。也就是說聚類中心Centerj由分類結果估計,如果示例樣本點i 被作為初始聚類中心,從示例樣本點i 到聚類中心Centerj的距離由如下公式計算:

式中δ 為常量。
(1)初始化參數α、β、ρ、δ。
(2)運用(5)式計算初始聚類中心。
(3)運用(6)式計算每個像素點到初始聚類中心的距離。
(4)開始循環并計算隸屬度,如果計算值大于一個隨機值λ,通過公式(3)、(4)和(9)更新信息素增量Δτij,同時通過(7)式更新聚類中心,否則此像素點沒有被分類。
(5)如果有像素點沒有被分類,則返回步驟4,否則結束循環。
(6)運用(8)式計算閾值,然后分割圖像。
為了驗證本文算法的有效性以單個生菜葉片圖像和生菜冠層圖像為實驗對象。實驗環境為:Windows 10 操作系統,32 位操作系統,2.67GHz 處理器,6GB 內存,編程環境為VS2013。本文分別對K-means 算法、ACO 算法以及KACO 算法運行100 次,并記錄每次運行結果,統計三種算法求得最優解的次數,結果如表1、表2 所示。

表1 單個生菜葉片圖像分割對比

表2 生菜冠層圖像分割對比
從表中可以看出ACO 算法運行時間最多,準確率最低;K-means 算法運行時間最少,準確率排第二;KACO 算法運行時間排第二,準確率最高。
此外,本文分別運用K-means 算法、ACO 算法以及KACO 算法分割單個生菜葉片圖像和生菜冠層圖像,分割結果如圖1、圖2 所示。

圖1 單個生菜葉片分割對比圖

圖2 生菜冠層分割對比圖
圖1 為單個生菜葉片分割對比圖,從圖中可以看出KACO 算法分割效果較好,它能夠將整個生菜葉片圖像
分離出來,而ACO 算法以及K-means 算法分離不徹底,存在較多模糊、空洞,且光照將強的區域沒有被分離。
圖2 為生菜冠層分割對比圖,從圖中可以看出,KACO 算法能夠將生菜冠層與地面復雜背景分離,分割效果較好,而ACO 以及K-means 算法未能將冠層與地面復雜背景分離,特別是種植盆無法分離。
本文以生菜葉片圖像為測試對象,探索基于ACO和K-means 相結合的聚類算法在農作物圖像分割中的應用,提出了KACO 算法。實驗結果表明,采用本文算法能有效地分割生菜葉片與生菜冠層圖像,為進一步對農作物圖像的處理奠定了基礎。