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