李警波,李密生,唐 博,李瑞東
(河北科技師范學院數學與信息科技學院,河北秦皇島,066004)
隨著計算機技術的不斷發展,蔬菜葉片的病害識別和診斷已成為現代化農業發展的重要環節。郭小清等[1]提取番茄葉部病害的圖像,通過選擇HSV模型中的色調分量H值作為顏色特征,按照灰度等級的順序,將能量、對比度、熵等特征參數作為紋理特征,通過粒子群算法(POS)來分類訓練SVM模型,結果表明,番茄幾種葉片病害識別率達到90%。王利偉等[2]提取葡萄葉部常見的3種病害圖像,將病斑數量、面積、周長等參數作為形狀特征;提取R,G,B每個通道一階矩和二階矩的分量作為顏色特征;將能量、熵、對比度、相關性等參數作為紋理特征,利用SVM分類器對葡萄葉部常見病害進行分類識別,病害識別率達到95%。郭青等[3]提取小麥葉部白粉病和條銹病等兩種主要病害,通過在試驗基地的小麥兩種病害的采集,利用最大類間方差法對圖像葉片病害區域進行分割,將方向一致特征描述作為特征提取的依據,再利用DKC和EOH特征算法的比較應用到識別分類中,結果小麥白粉病和條銹病病斑的識別率達到99%。張云龍等[4]通過采集蘋果葉部常見的落葉病、花葉病和銹病為主要研究對象,通過mean-shift方法對蘋果葉部斑病進行分割,提取蘋果葉部3種主要病害的顏色特征及和差直方圖特征,最后利用顏色特征與和差直方圖的蘋果病害識別方法,通過驗證這個識別方法的可行性,最終識別率達到96%以上。田凱等[5]以茄子葉部最常見的褐紋病為研究對象,通過Grabcut算法對茄子葉部斑病進行分割,將提取茄子葉部斑病的顏色、形狀及紋理特征參數,利用Fisher判別函數對茄子葉部褐紋病進行分類識別,結果識別率達到90%以上。以上的研究都取得了較好的識別效果,但是所研究的病害都是基于簡單背景或局部病害區域,對基于復雜背景下白菜葉部病害的研究還很少,也尚未形成一個通用的模式識別系統。因此本次研究采用計算機視覺技術、數字圖像處理等技術應用到白菜葉部病害的識別中,對霜霉病、炭疽病和白斑病進行預處理、病害提取有效特征,最后利用支持向量機技術對白菜3種主要病害進行識別,以彌補人工識別的缺陷和不足,提高病害識別的準確率,為實現白菜葉片常見斑病的高效、準確快速的診斷具有重要的意義。
支持向量機是一種新的模式識別方法,它在解決小樣本問題上有著獨特的優勢,而且在現在農業領域有著非常廣泛的應用。張芳等[6]以黃瓜葉部最常見的白粉病和霜霉病為研究對象,采用分水嶺等算法對斑病進行分割,將提取的顏色、形狀、紋理3個方面的特征參數,利用支持向量機技術有效地進行黃瓜白粉病和霜霉病的識別,結果識別率達到95%。
OTSU算法在1979年首次由日本研究人員大津提出,根據灰度特征,將圖像分為兩部分:目標和背景。目標和背景之間的差異越大,圖像的兩個部分之間的差異越大。因此,選取類間方差最大時的閾值將目標和背景分離[7]。
基于上述學者的研究成果,本次研究擬采用支持向量機技術對白菜葉部常見病害檢測,將提取白菜葉部常見斑病的顏色、形狀和紋理特征作為特征參數,利用SVM分類器對白菜主要病害分類識別,期望得到更好的病害分類識別效果,快速診斷識別白菜葉部常見的病害。
將白菜病害葉片作為主要研究對象,到試驗田里通過攝像機對白菜的病害葉片進行大量的采集,收集了900張白菜3種常見葉片斑病圖片,主要包含3種病害:白菜炭疽病、白菜霜霉病、白菜白斑病(圖1)。

a 炭疽病 b 霜霉病 c 白斑病圖1 白菜葉片常見的3種病害
白菜的生長時期主要包含發芽期、幼苗期、蓮座期、結球期和休眠期,每個時期出現的斑病都有不同的癥狀,經過調查一般的病斑出現在蓮座期,這個時期的白菜葉片需要適宜的水分和光照條件等,同時這個時期是形成大白菜的關鍵時期,會出現各種斑病影響白菜的生長,所以本次研究對白菜處于蓮座期出現的常見3種病害進行研究。
炭疽病:屬真菌病害,病菌隨病株殘體在土壤里或在種子上越冬,病原主要從植株傷口入侵,靠雨水和昆蟲傳播蔓延。一般在4~9月份隨著溫度的升高和雨水量的增加,適合炭疽病的發生。
霜霉病:屬真菌病害,病菌主要通過氣流、澆水、農事及昆蟲傳播,春末夏初或秋季連續陰雨天氣最易發生。
白斑病:屬真菌病害,病菌主要通過田間借風雨傳播,有再侵染,8~10月份氣溫偏低、連陰雨天氣可促進病害的發生,氣溫下降、相對濕度增高、夜露增多的條件下產生。
由于采集出來的圖片會受光照等條件的影響,所以要對白菜主要葉片病斑進行預處理的操作,白菜3種常見葉片斑病的識別主要采取的是平滑、濾波等處理方式。可以減少無關噪聲對所有用信息的干擾。同時,為后期的白菜3種病害識別提供有利的條件。
圖像分割就是按照圖像中記錄內容的特點把圖像分割成不同的區域,以便后期方便對其加工、分析、處理[8]。圖像的分割對后期病害提取和計算的準確度至關重要。本次研究選用OTSU算法來對圖像進行分割處理。
基本原理如下:
前景比例:w0=N0/M×N
(1)
背景比例:w1=N1/M×N
(2)
像素點總數:N0+N1=M×N
(3)
前景和背景概率之和:w0+w1=1
(4)
平均灰度值:μ=w0×μ0+w1×μ1
(5)
類間方差:g=w0(μ0-μ)2+w1(μ1-μ)2
(6)
將上述公式(4)和(5)帶入(6)中可以得到等價公式:
g=w0×w1(μ0-μ)2
其中,w0為背景比例,其均值為μ0;w1為前景比例,其均值為μ1;μ為均值;g為類間方差;圖像大小為M×N。[9]
經過預處理的白菜葉部病害圖像見圖2。

a 炭疽病 b 霜霉病 c 白斑病圖2 白菜葉片常見3種病害的圖像預處理
不同病害的白菜葉部斑病的顏色也各不相同,如白菜炭疽病的病斑呈灰褐色至灰白色,葉片表面出現稍凹陷的圓斑,嚴重時病斑為半透明狀,易穿孔;白菜霜霉病的病斑呈淡黃色。當空氣中的濕度高時,白菜葉片的背面出現白色至灰白色霜狀的霉層;白菜白斑病的病斑呈灰褐色至灰白色,其邊緣部分有淡黃綠色的圈。空氣中濕度越高,則白菜葉片的背面出現一層淡灰色霉層,嚴重時可使整株白菜葉片干枯死亡。
本次研究的圖像處理環節是將RGB模型轉化為HIS模型,轉化過程中提取的各通道白菜葉部常見病害顏色特征。
通過歸一化直方圖分別計算顏色直方圖分別提取R,G,B,H通道的均值、方差等。
(1)均值:首先求出圖像各通道的灰度值
p(b)=H(b)/M
上式中的b為白菜圖像的灰度值,H(b)是當灰度值為b時的像素數,M為白菜圖像的總像素數。最后,得到的均值為:

(2)方差:
紋理特征主要是通過圖像灰度等級的變化,進而提取相應的參數作為屬性。而實現紋理特征的提取的一般方法是灰度共生矩陣,因為它能夠很好的反映圖像的粗糙程度,深淺程度及相似度等等。通過能量、對比度、熵、相關性作為白菜葉部常見病害的紋理特征。
(1)能量:主要反映圖像紋理的精細程度和圖像分布的紋理粗糙程度。
(2)對比度:可以將圖像很逼真地呈現出來,同時,還可以將圖像分布的紋理深淺程度表現出來。
(3)熵:主要反映圖像所有的信息大小。
(4)相關性:主要反映圖像的相似度。
形狀特征主要通過矩形度、圓形度、形狀復雜度、內接圓半徑、伸長度等參數作為形狀特征。
(1)矩形度:主要描述白菜葉部病害區域與最小外接矩形的偏離程度。
R1=A/(H×W)
(2)圓形度:主要描述白菜病斑區域與圓形的近似程度。
R2=4πA/L2
(3)形狀復雜度:主要描述整個白菜病斑區域的離散程度。
R3=L2/A
(4)內接圓半徑:
R4=2A/L
(5)伸長度:主要描述白菜病斑區域擴展程度。
R5=H/W
上述計算式中,A-面積,L-周長,W-長軸,H-短軸。
支持向量機(SVM)是基于統計學原理的一種分類識別方法。在解決非線性、小樣本及高維模式識別的問題上有著獨特的優勢,因此將SVM應用到白菜病害分類識別中。
支持向量機通過構造函數的引入分為可分線性和不可分線性支持向量機,本次研究將引入一個合適的核函數來解決線性不可分的問題。常用的核函數有:
(1)線性核函數
(2)多項式核函數
(3)徑向基核函數
K(Xi,Xj)=exp(-γ‖Xi-Xj‖2)
(4)Sigmoid核函數
通過MATLAB軟件編程,對SVM分類器進行編譯。對上一節的常用的核函數進行比較,最后使用徑向基核函數,通過提取白菜葉部常見斑病的顏色特征、紋理特征和形狀特征作為數據集,使用300幅訓練集樣本進行SVM訓練。
徑向基核函數主要通過函數svmtrain()和svmclassify()來實現SVM訓練集和分類。當γ=1的時候,實現3種病害的分類效果最佳,從數據集中隨機選取200幅作為白菜3種常見葉片病害樣本訓練集,其中白菜健康的葉片、白菜炭疽病葉片、白菜白斑病葉片、白菜霜霉病葉片各選取50幅圖片;剩下的100幅作為白菜3種主要病害的測試樣本,其中白菜健康的葉片、白菜炭疽病葉片、白菜白斑病葉片、白菜霜霉病葉片各選取25幅進行分類識別試驗。
試驗結果表明,利用SVM分類器,對隨機選取的測試樣本和訓練樣本,通過提取斑病的顏色特征、紋理特征和形狀特征作為特征參數,可以得到白菜3種病害的平均識別率達到96%(表1)。可以看出,利用徑向基核函數對白菜的3種病害分類識別效果最好。
通過上述試驗可以看出,提取的顏色、紋理和形狀作為特征參數,每一個單一的特征種類的正確識別率低于3個特征參數組合的識別正確率,所以通過3個參數組合起來利用SVM分類器識別率達到96%(表2)。

表1 白菜3種病害測試樣本的最佳測試結果

表2 白菜3種病害特征組合的測試結果
基于SVM對白菜葉部常見病害識別,首先進行圖像的采集、圖像預處理和特征提取,最后通過SVM分類器對白菜常見病害識別。為了實現病害識別的準確率,將提取的斑病顏色、紋理和形狀特征組合起來,識別率達到96%,說明本研究方法是一種合理的有效方法,并且有較高的病害識別率。因此,本次研究對白菜葉部的炭疽病、霜霉病和白斑病能有效地識別出來,更加驗證了利用SVM分類器對白菜葉部常見病害的準確識別是可行的。
試驗采集的白菜葉片病害圖片的時間大多為葉片發病早中期,而且該研究是葉片上存在常見的炭疽病、白斑病、霜霉病的情況,不能反映發病過程中的病害特征變化,存在著一定的局限性。因此,面對多種復雜病害發病周期的識別有待進一步的研究。