孫茜童,付蕓,韓春曉,范宇華,王天樞
(長春理工大學 光電工程學院,長春 130022)
中國是世界上番茄種植面積最大、產(chǎn)量最高的國家。然而,番茄病害嚴重抑制了果實的產(chǎn)量,晚疫病是常見的番茄病害之一。在成株期發(fā)病,病害多從葉尖或葉緣開始感染,病斑最初呈近圓形,水浸狀,后來變?yōu)椴欢ㄐ蔚臏\綠色,不斷擴展而占據(jù)整個單葉的大部分面積,病斑逐漸變?yōu)楹稚玔1]。發(fā)病嚴重時造成莖部腐爛、植株萎蔫和果實變成褐色,嚴重影響產(chǎn)量。隨著種植面積的不斷擴大,傳統(tǒng)的人工檢測病害的方法無法做到及早發(fā)現(xiàn)、及時治療。近年來,國內(nèi)外高光譜成像技術的發(fā)展十分迅速,廣泛應用于遙感地物觀測、農(nóng)作物成熟度判別、病蟲害監(jiān)測等農(nóng)業(yè)生產(chǎn)領域。
高光譜圖像(Hyperspectral Image,HSI)是一個三維的數(shù)據(jù)立方體,由二維圖像和一維光譜數(shù)據(jù)組成,包含幾十甚至幾百個連續(xù)的光譜波段,這些光譜信息表征了物質(zhì)的內(nèi)在屬性,因而成為圖像分類的依據(jù)。支持向量機是一種常用的二元分類器,采用核函數(shù)方法進行非線性分類,在人臉識別、文本分類等模式識別中得到了應用,也被用于建立高光譜植物病害的分類模型。李鑫星[2]基于 SVM(Support Vector Machine,SVM)分類器建立黃瓜葉部病害的識別預測模型,對霜霉病、白粉病、褐斑病的平均識別正確率達到92%。
此外,隨著深度學習理論的提出和數(shù)值計算設備的改進,卷積神經(jīng)網(wǎng)絡得到了快速發(fā)展,并被用在計算機視覺、自然語言處理等領域[3]。在解析遙感圖像的幾何、紋理和空間分布特征時,卷積神經(jīng)網(wǎng)絡在計算效率和分類準確度等方面具有優(yōu)勢[4]。對相同的數(shù)據(jù)集提取特征,二維卷積神經(jīng)網(wǎng)絡模型會丟失關鍵信息,而三維卷積神經(jīng)網(wǎng)絡模型能更好地提取特征,在圖像分類和特征提取方面具有較強的優(yōu)勢。吳葉蘭等人[5]建立了基于卷積神經(jīng)網(wǎng)絡的柑橘病葉分類模型,對潰瘍病、草甘膦病等患病葉片的識別準確率達到98.75%。此外,在水稻穗瘟病檢測[6]和大豆花葉病害初期的快速檢測[7]中,卷積神經(jīng)網(wǎng)絡都取得了很好的效果。
上述研究表明高光譜成像技術在農(nóng)作物的病害檢測中是可行的,但是,如何實現(xiàn)病害的早期檢測,以及實現(xiàn)準確定性、定量分析還需要深入研究。因此,本文以番茄的晚疫病為研究對象,將支持向量機、二維和三維卷積神經(jīng)網(wǎng)絡用于圖像分類,通過算法的融合和參數(shù)的優(yōu)化來建立分類模型,提高分類精度,能夠為農(nóng)作物病害的早期診斷提供研究基礎。
實驗中所使用的番茄晚疫病樣本來自于吉林省農(nóng)業(yè)科學院經(jīng)濟植物研究所(位于:北緯43°05',東經(jīng) 125°27')。全部樣本經(jīng)過病理檢驗分析,證實葉片已感染番茄晚疫病。2019年9月采集患病葉片97片及健康葉片21片。選取染病區(qū)域明顯的樣本進行圖像采集。
整個系統(tǒng)由線掃描光譜儀(ImSpector N10E,400~1 000 nm)(Spectral Imaging Ltd.,芬蘭奧盧)、14 bits的 1 600×1 200像素的 CCD相機(BCi4-USB-M40LP,美國弗洛里達)、雙側(cè)150 W鹵素燈線性光源(EKE-ER,Illumination Technologies,美國)、一維位移臺(IRCP0076,Isuzu Optics Corp.,中國臺灣)和計算機組成,圖1為高光譜圖像采集系統(tǒng)。整個高光譜成像系統(tǒng)放置在一個黑色的光學暗箱內(nèi),光學暗箱中的載物臺可自由升降,平臺上有漫反射涂層,光學暗箱能夠避免環(huán)境光對圖片采集造成的干擾[5]。由于暗室里鹵素燈線性光源的強度分布不均勻和設備暗電流噪聲的影響,需要進行明暗場校正。明暗場校正的公式為:
圖1 高光譜圖像采集系統(tǒng)
式中,R為明暗場校正后的數(shù)據(jù);Rl為直接采集的數(shù)據(jù);Rd為暗場數(shù)據(jù);Rw為明場數(shù)據(jù)。
1.3.1 支持向量機
支持向量機是Vapnik等人[8]開發(fā)出來的一種監(jiān)督學習的模型,與一些相關的算法相結(jié)合可用于分類與回歸分析。利用帶有標簽的訓練集樣本,使用支持向量機能構(gòu)建出一個非概率的二元線性分類器。在選擇核函數(shù)時,通常采用三種方法:(1)利用先驗知識;(2)Cross-Validation方法,逐個核函數(shù)試用,選取效果最好的核函數(shù);(3)混合核函數(shù),將不同核函數(shù)結(jié)合起來。
1.3.2 2D卷積神經(jīng)網(wǎng)絡
卷積神經(jīng)網(wǎng)絡[3](Convolutional Neural Networks,CNN)是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡。圖2是一種典型的卷積神經(jīng)網(wǎng)絡[11],它由輸入層、若干個卷積層和池化層、全連接層以及輸出層等構(gòu)成。當數(shù)據(jù)量不是非常龐大時,也可以不添加池化層。Dropout層可以防止過擬合,提升模型泛化能力。
圖2 CNN結(jié)構(gòu)
本文搭建的二維卷積神經(jīng)網(wǎng)絡共有8層,最后一層采用Softmax函數(shù),網(wǎng)絡中其他各層的激活函數(shù)均采用Relu函數(shù)。迭代次數(shù)均設為100次、學習率設為0.001、patience設為15。二維卷積網(wǎng)絡結(jié)構(gòu)如圖3所示。
圖3 二維卷積部分結(jié)構(gòu)
省略數(shù)據(jù)前期的預處理過程,直接將原始圖像輸入卷積神經(jīng)網(wǎng)絡中進行分類。假設高光譜圖像有n個波段,包含N種標簽,那么其原始樣本集X為,為了充分利用高光譜圖像數(shù)據(jù)的空間相似性,對于圖像上的每一個像素,都取其周圍l像素×l像素范圍內(nèi)的數(shù)據(jù)作為一個訓練樣本,此時輸入樣本集Y為實驗結(jié)果表明,l取 5 時可以得到較好的分類結(jié)果;當l取7或9時,分類效果稍差,但差別不大,總體準確率在1%以內(nèi)浮動。其主要原因是高光譜圖像的空間分辨率有限,鄰域區(qū)間取得過大可能會包含與中心像素標簽不同的地物,而太小又不能充分利用鄰域的空間信息。
1.3.3 3D卷積神經(jīng)網(wǎng)絡
高光譜圖像是一個數(shù)據(jù)立方體,在立方體中使用三維卷積核,卷積層中每一個特征都會與上一層中多個鄰近的連續(xù)幀相關聯(lián),因此能捕捉到連續(xù)且有效的信息。相比于二維卷積,三維卷積多了一個深度通道,更適合于高光譜數(shù)據(jù)的三維特性。因此,本文構(gòu)建一個三維卷積神經(jīng)網(wǎng)絡。三維卷積神經(jīng)網(wǎng)絡共有13層,如圖4所示。網(wǎng)絡中的激活函數(shù)均采用Relu函數(shù),在本文中各層使用不同激活函數(shù)對結(jié)果的影響不大。迭代次數(shù)均設為100次、學習率設為0.001、patience設為15。
圖4 三維卷積部分結(jié)構(gòu)
三維卷積神經(jīng)網(wǎng)絡能夠得到樣本的空間信息和光譜信息,從中同時提取數(shù)據(jù)的空譜特征。在CNN結(jié)構(gòu)中,深度越深、特征面數(shù)目越多,則網(wǎng)絡能夠表示的特征空間也就越大、網(wǎng)絡學習能力也越強,然而也會使網(wǎng)絡的計算更復雜,極易出現(xiàn)過擬合的現(xiàn)象。因而,實際上應適當選取網(wǎng)絡深度、特征面數(shù)目、卷積核的大小及卷積的步長,以保證訓練出一個好的模型且能減少訓練時間[9]。
本文使用的深度學習框架是以Tensorflow為后端的Keras框架、Python3.6。圖5為番茄晚疫病的識別結(jié)果,圖中不同顏色的定義:黑色為背景、紅色為健康部分、綠色為病害部分。
圖5 RBF分類結(jié)果圖
選取徑向基核函數(shù)(Radial Basis Function,RBF)再對數(shù)據(jù)進行降維后運算速度明顯提高,能更快獲取分類結(jié)果。由于LDA最多能夠降到k-1維,而本文中k=2,所以LDA只能降到1維。實驗表明,經(jīng)PCA降維后取特征值為30時,可以在很大程度上保留原始數(shù)據(jù)的特征,減小降維的損失。選取Sigmoid核函數(shù)時,病害的識別效果較差,部分葉脈被誤判為病害區(qū)域。
圖6及圖7是2D-CNN和3D-CNN算法的分類結(jié)果圖。
圖6 2D卷積神經(jīng)網(wǎng)絡分類結(jié)果圖
圖7 3D卷積神經(jīng)網(wǎng)絡分類結(jié)果圖
從分類結(jié)果看,卷積神經(jīng)網(wǎng)絡對于病害部位的識別效果和支持向量機的識別效果差別不大,原因是卷積神經(jīng)網(wǎng)絡依賴海量訓練數(shù)據(jù),在數(shù)據(jù)量較小的情況下,支持向量機略占優(yōu)勢,但是一旦數(shù)據(jù)量提升,卷積神經(jīng)網(wǎng)絡將表現(xiàn)出更大的優(yōu)勢。
混淆矩陣(Confusion Matrix)也稱誤差矩陣,是表示精度評價的一種標準格式,用w行w列的矩陣形式來表示。由于混淆矩陣并不能直接看出分類精度的好壞。為此,從混淆矩陣衍生出許多分類精度指標,本文采用總體分類精度(Overall Accuracy,OA)、平均分類精度(Average Accuracy,AA)和Kappa系數(shù)作為評價指標來對分類結(jié)果進行評判。
總體分類精度是指對每一個隨機樣本所分類的結(jié)果與檢驗數(shù)據(jù)類型相一致的概率[10]??傮w分類精度按照公式(2)計算。
式中,t為測試集的數(shù)據(jù)總數(shù);a為正確分類的個數(shù)。
平均分類精度也是分類問題中常用的評價指標之一,計算公式如下:
式中,m為某一類的分類精度;N為類別數(shù)。
Kappa系數(shù)是一種衡量分類精度的指標,公式如下:
式中,po=總體分類精度;
用上述三種評價指標對不同算法的分類效果進行評價,結(jié)果如表1—表3所示。
表1 RBF核函數(shù)結(jié)合不同預處理方法的訓練結(jié)果
表2 2D-CNN結(jié)合不同預處理方法的訓練結(jié)果
表3 3D-CNN結(jié)合不同預處理方法的訓練結(jié)果
從表中看出,使用RBF核函數(shù)加PCA預處理的分類效果最優(yōu),總體分類精度達到98.6%,平均分類精度為98.4%,Kappa系數(shù)為0.970。
上述評價結(jié)果表明,三維卷積神經(jīng)網(wǎng)絡結(jié)合PCA和LDA的識別效果比二維卷積神經(jīng)網(wǎng)絡表現(xiàn)得更好。在迭代次數(shù)為100次、學習率為0.001時,該模型在測試集上的總體分類精度為96.7%,平均分類精度為96.5%,Kappa系數(shù)為0.925,略低于支持向量機。支持向量機的優(yōu)點是訓練時間短,但是沒有成熟的核函數(shù)的選取方法。卷積神經(jīng)網(wǎng)絡具有網(wǎng)絡結(jié)構(gòu)的多樣性、可調(diào)整的參數(shù)多等特點,這意味著提升其分類效果的潛力更大,由此帶來的缺點是訓練和調(diào)節(jié)參數(shù)耗時長。
本文以番茄晚疫病患病葉片為研究對象,采集380~960 nm波段范圍內(nèi)的高光譜圖像,建立基于支持向量機、二維和三維卷積神經(jīng)網(wǎng)絡模型對樣本進行分類與識別,取得了較好的效果。
(1)在CNN模型中,卷積層的操作能夠?qū)崿F(xiàn)圖像去噪,通常情況下分類效果會優(yōu)于支持向量機。由于CNN依賴大量數(shù)據(jù)來提取特征,所以,在較小數(shù)據(jù)集上的表現(xiàn)反而不占優(yōu)勢。
(2)人工制作標簽的數(shù)量和準確度對結(jié)果有很大的影響。同時,由于葉片不平整,采集數(shù)據(jù)時葉片邊緣的陰影部分也會對結(jié)果造成影響。因此,如何將葉片邊緣、葉脈與健康和病害區(qū)域準確地區(qū)分開,也是后續(xù)優(yōu)化時需要考慮的問題。