苗晟,董建娥,鐘麗輝,謝裕睿
(西南林業(yè)大學(xué)大數(shù)據(jù)與智能工程學(xué)院,昆明 650224)
傳統(tǒng)的植物病害診斷受限于個(gè)人經(jīng)驗(yàn)和主觀意識(shí),實(shí)時(shí)性差,效率低且容易誤判。隨著精準(zhǔn)農(nóng)業(yè)需求的增長(zhǎng)和計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,許多研究者采用圖像處理技術(shù)對(duì)植物病害圖像進(jìn)行識(shí)別分類(lèi),取得了不錯(cuò)的效果[1]。對(duì)植物病害圖像處理的文獻(xiàn)較多,但是近年來(lái)針對(duì)蟲(chóng)害的識(shí)別文獻(xiàn)相對(duì)較少,主要體現(xiàn)在:首先是病蟲(chóng)體型較小且形態(tài)不一,晝伏夜出,隱蔽性極強(qiáng),導(dǎo)致單一算法識(shí)別效果不佳;其次是復(fù)雜環(huán)境下是否能夠準(zhǔn)確地分割病蟲(chóng)害區(qū)域是后續(xù)識(shí)別的關(guān)鍵因素,這也是行業(yè)內(nèi)公認(rèn)的難點(diǎn)[2]。
針對(duì)蟲(chóng)害復(fù)雜區(qū)域分割和定位的困難,本文研究在傳統(tǒng)分水嶺和K-means聚類(lèi)分割基礎(chǔ)上增加蟲(chóng)害色彩先驗(yàn)信息[3],在LAB空間中對(duì)細(xì)小蟲(chóng)害區(qū)域分割,再通過(guò)SIFT特征點(diǎn)匹配對(duì)蚜蟲(chóng)病害圖像進(jìn)行檢測(cè)。
蚜蟲(chóng)(俗稱(chēng)膩蟲(chóng))是全世界農(nóng)林業(yè)中最具破壞性的害蟲(chóng)之一,其特點(diǎn)是繁殖快、傳播廣,對(duì)植物的危害主要是吸食植物葉汁、傳播病毒,造成花、葉、芽的畸形。蚜蟲(chóng)病害的圖像識(shí)別難點(diǎn)在于蚜蟲(chóng)體型較小,其蟲(chóng)卵只有1至10毫米,且種類(lèi)較多,目前已知的蚜蟲(chóng)種類(lèi)有十個(gè)大類(lèi),多達(dá)4700種[4]。
常見(jiàn)的不同植物上的蚜蟲(chóng)病害如圖1所示,病蟲(chóng)斑區(qū)域可能是相互不連通的獨(dú)立區(qū)域,不同蚜蟲(chóng)種類(lèi)有其相對(duì)獨(dú)特的色彩,和葉面背景形成一個(gè)對(duì)比。以不同蚜蟲(chóng)的色彩信息作為先驗(yàn)信息,設(shè)置適當(dāng)閾值分離病斑和葉面背景,通常首先采用分水嶺算法分割病斑,再采用K-means算法進(jìn)一步聚類(lèi)。
在分水嶺算法中,首先將圖片轉(zhuǎn)換為灰度圖,在高度為h的一個(gè)極小區(qū)M(minimum)中,將二維灰度圖像定義為一連通區(qū)域,由高度值為h的點(diǎn)構(gòu)成,從該區(qū)域任一點(diǎn)出發(fā)到達(dá)某一像素點(diǎn)(高度低于h),其路徑中至少存在一點(diǎn)高度大于h。
圖1 常見(jiàn)的蚜蟲(chóng)蟲(chóng)卵和幼蟲(chóng)病害圖片
集水盆地C(M)與極小區(qū)M相關(guān)聯(lián),其特點(diǎn)為:假設(shè)一滴水落到某點(diǎn)P上,由于重力作用,該水滴將沿一條最快下降路徑下滑并最終到達(dá)極小區(qū)M。通過(guò)對(duì)M的分割,達(dá)到整副圖像的分割[5]。
K-means聚類(lèi)算法是最常見(jiàn)的無(wú)監(jiān)督學(xué)習(xí)算法,在一組數(shù)據(jù)集中隨機(jī)選取k個(gè)點(diǎn)作為質(zhì)心,將其余的點(diǎn)歸為離其最近的質(zhì)心一簇。分別計(jì)算被劃分的k個(gè)簇的質(zhì)心(均值),以新的質(zhì)心為依據(jù),重新聚類(lèi)并再次計(jì)算各簇質(zhì)心,直到質(zhì)心不再改變,即分類(lèi)完成[6]。
如果只采用常規(guī)的分水嶺分割和K-means聚類(lèi),難以達(dá)到滿(mǎn)意的效果,因此需要在這個(gè)基礎(chǔ)上在LAB色彩空間中進(jìn)行進(jìn)一步的精細(xì)劃分。
相對(duì)于圖像處理的RGB色彩空間,Lab色彩空間中色域更大,因此圖像處理中一般先將圖像從RGB色彩空間轉(zhuǎn)換至Lab色彩空間。
鑒于蚜蟲(chóng)病斑細(xì)小且顏色與背景相近,為了區(qū)別不同種類(lèi)的蚜蟲(chóng),需要結(jié)合其自身顏色,從細(xì)微的色彩空間中尋找差異[7]。例如草蚜呈黃綠色,其和綠色背景葉片上的區(qū)別主要就在于黃色特征的提取,因此對(duì)該種類(lèi)病蟲(chóng)的檢測(cè)需要在色彩空間中通過(guò)適當(dāng)?shù)拈撝祵?duì)黃色分量進(jìn)行提取,而在葉面中背景一般為綠色,因此黃色和綠色色差就是辨識(shí)的關(guān)鍵,在LAB色彩空間中,綠色和黃色色彩向量過(guò)渡圖示如圖2(a)所示。
圖2 草芽色彩在Lab空間中的示意圖
在圖2(b)中,設(shè)待分析圖像中對(duì)應(yīng)a分量色彩向量為,a分量里面綠色分量是負(fù)值,b分量的色彩向量為B→,亮度分量L對(duì)應(yīng)的向量為L(zhǎng)→,則黃綠色差向量為:
通過(guò)對(duì)色差向量設(shè)置適當(dāng)?shù)拈撝?,?duì)葉面中黃綠色差向量D?進(jìn)行分割,達(dá)到抑制綠色分量、提高黃色分量亮度的目的,這樣可以顯著提取含黃色分離成分較多的病斑區(qū)域。閾值的設(shè)置依靠經(jīng)驗(yàn)值,也可以看作是一個(gè)先驗(yàn)信息,一般需要大量蟲(chóng)害本身的色彩和葉面的圖片對(duì)比度得出。
對(duì)于較為細(xì)小區(qū)域的識(shí)別,尺度不變特征轉(zhuǎn)換(Scale-Invariant Feature Transform,SIFT)[8]是一種比較理想的選擇,一般在計(jì)算機(jī)視覺(jué)算法中用來(lái)偵測(cè)與描述影像的局部性特征,在圖像識(shí)別多個(gè)領(lǐng)域進(jìn)取得了良好的效果。本文提取特征過(guò)程如下:
(1)圖像模糊算法
SIFT算法在不同的尺度空間中尋找關(guān)鍵點(diǎn),采用高斯模糊實(shí)現(xiàn)尺度空間的獲取,唯一線性變換核即為高斯卷積核。高斯模糊作為一種圖像濾波器,使用正態(tài)分布(高斯函數(shù))來(lái)計(jì)算對(duì)應(yīng)的模糊模板,并用該模板與原圖像進(jìn)行卷積運(yùn)算,達(dá)到模糊圖像的效果[9]。N維空間正態(tài)分布方程為:
其中,σ是標(biāo)準(zhǔn)方差,該值越大,平滑度越高,導(dǎo)致圖像越模糊。r為模糊半徑,如果在二維空間中用橫縱坐標(biāo)替代該公式,其生成的曲面等高線是從中心開(kāi)始呈正態(tài)分布的同心圓:
根據(jù)σ值得到高斯模板矩陣的值,并與原圖像做卷積運(yùn)算,即可實(shí)現(xiàn)原圖像的平滑(高斯模糊)效果。將模板矩陣歸一化處理,確保其中的元素均在[0,1]之間。例如5×5的高斯模板如下所示:
得到不同尺度下的高斯核函數(shù),就可以計(jì)算二維圖像I(x,y)不同尺度下的表示,其中G(x,y,σ)是尺度可變高斯核函數(shù),而σ是尺度參數(shù)。
(2)關(guān)鍵點(diǎn)的定位
得到不同尺度空間的圖像后,將中間層的點(diǎn)和周?chē)邢噜忺c(diǎn)進(jìn)行比較,尋找差值較大或者較小的點(diǎn),同時(shí)去除邊緣不穩(wěn)定的響應(yīng)點(diǎn)和對(duì)比度較小的特征點(diǎn),提高抗噪聲能力,增強(qiáng)匹配穩(wěn)定性。
(3)關(guān)鍵點(diǎn)方向分配和局部圖像描述
首先選取關(guān)鍵點(diǎn)周?chē)?6×16的圖像區(qū)域,從中計(jì)算4×4的描述區(qū)域,即八個(gè)方向的描述序列,可以產(chǎn)生128維的特征描述向量,這個(gè)向量就是關(guān)鍵點(diǎn)特征。
(4)SIFT特征匹配
兩幅圖像采用上述算法分別得到SIFT特征向量后,用關(guān)鍵點(diǎn)的特征向量進(jìn)行匹配,匹配方式一般用歐氏距離法,本文中采用歸一化交叉相關(guān)系數(shù)(Normal?ization Cross Correlation,NCC)[10]來(lái)進(jìn)行相關(guān)性計(jì)算。假設(shè)有兩個(gè)矩陣,A∈Rm×n,B∈Rm×n,它們的 NCC 系數(shù)計(jì)算如下:
NCC計(jì)算得到一個(gè)相關(guān)度系數(shù),該值越接近1則表示相關(guān)度越大,越接近0則相關(guān)度越小。
對(duì)蟲(chóng)害圖片的識(shí)別難點(diǎn)在于定位病蟲(chóng)位置。如果分割病害區(qū)域的位置過(guò)小,則容易造成匹配點(diǎn)過(guò)少,無(wú)法檢測(cè)到大量的病蟲(chóng)區(qū)域;如果分割區(qū)域過(guò)大,背景去除不干凈而帶有大量葉面信息,導(dǎo)致匹配點(diǎn)過(guò)多,造成過(guò)檢測(cè),因此葉面病害區(qū)域和背景的分離很重要[11]。為了測(cè)試對(duì)比本文算法具體效果,首先采用幾種傳統(tǒng)圖像邊緣檢測(cè)分割的算法對(duì)蚜蟲(chóng)圖片進(jìn)行分割和提取,分割結(jié)果如圖3所示。
在圖 3 中,圖 3(a)是原始圖片;圖 3(b)是對(duì)應(yīng)的灰度圖片;圖 3(c)和(d)分別對(duì)應(yīng)的 Robert算子[12]和Sobel算子[13]的分割結(jié)果,這兩種算子分割對(duì)邊緣平滑的力度較大,因此分割區(qū)域過(guò)??;圖 3(e)和(f)是 Pre?witt算子[14]和Canny算子[15]的分割結(jié)果,這兩種算子分割的區(qū)域大,尤其是葉面紋路和徑脈留存較多,使得后續(xù)識(shí)別受葉脈干擾較明顯。
本文在分水嶺分割的基礎(chǔ)上,加入LAB色彩空間向量信息進(jìn)行病害區(qū)域的提取和分離,效果如圖4所示。
圖3 幾種常見(jiàn)算子對(duì)蚜蟲(chóng)病斑區(qū)域分割對(duì)比圖
圖4 基于葉面信息的蚜蟲(chóng)病害區(qū)域提取
圖4(a)為原始圖片,圖4(b)是基于分水嶺算法的葉面部分與背景分離后的圖片,圖4(c)是基于LAB色彩空間的蚜蟲(chóng)病害區(qū)域特征提取模板,圖4(d)是基于該模板提取的蚜蟲(chóng)病害區(qū)域圖片。
從圖4(d)中可以看出,經(jīng)過(guò)在LAB分水嶺分割基礎(chǔ)上增加LAB色彩空間中的閾值分割,蚜蟲(chóng)病斑區(qū)域得到了較好的分割,便于后續(xù)特征點(diǎn)匹配。
在草芽特征點(diǎn)匹配中,采用SIFT特征點(diǎn)對(duì)進(jìn)行匹配,圖5給出了兩組匹配示意圖。
圖5 草蚜模板和待識(shí)別圖片SIFT特征匹配圖
在圖5(a)中,模板和待匹配圖片匹配了17對(duì)特征點(diǎn),在圖5(b)中匹配了28對(duì)特征點(diǎn)。本文中不同算子提取的模板參數(shù)對(duì)比結(jié)果如表1所示。
表1 不同算子提取的模板參數(shù)對(duì)比
特征點(diǎn)的匹配不是越多越好,因?yàn)樾枰獙?duì)病蟲(chóng)的匹配,而不是對(duì)葉面的匹配,為了測(cè)試匹配及不同分割算子提取的模板的識(shí)別效果,采集56幅蚜蟲(chóng)病害圖和124幅正常葉面圖進(jìn)行匹配,如果匹配的特征點(diǎn)多于10對(duì)就認(rèn)為是病害圖片,不同分割算子提取的模板匹配識(shí)別結(jié)果如表2所示。
本文在傳統(tǒng)分割算法的基礎(chǔ)上結(jié)合SIFT特征點(diǎn)匹配對(duì)蚜蟲(chóng)病害圖像進(jìn)行檢測(cè),該方法能做到對(duì)旋轉(zhuǎn)、亮度變化、尺度縮放保持不變,對(duì)噪聲、視角變化、仿射變換也有一定程度的穩(wěn)定性,有助于快速查找、實(shí)時(shí)匹配,具有可擴(kuò)展性。
盡管本文提出的算法在蚜蟲(chóng)病害識(shí)別上出現(xiàn)了較好的效果,但仍然有所不足,主要是蚜蟲(chóng)病害圖片數(shù)據(jù)量較少,結(jié)論存在局限性,因此需要更多不同種類(lèi)的蚜蟲(chóng)病害圖片進(jìn)行更加廣泛的測(cè)試。