劉子曦,李鴻翔,馮 澳,杜智雄,倪 銘
(四川農(nóng)業(yè)大學(xué) 信息工程學(xué)院,四川 雅安 625014)
農(nóng)業(yè)在國民經(jīng)濟中占有重要地位,在農(nóng)業(yè)生產(chǎn)中植物病害對農(nóng)作物的產(chǎn)量、質(zhì)量會產(chǎn)生巨大的影響[1]。植物病害會導(dǎo)致糧食減產(chǎn),造成巨大經(jīng)濟損失,對糧食安全產(chǎn)生威脅。此外,在抑制病蟲害時,大規(guī)模的農(nóng)藥濫用、誤用也對生態(tài)環(huán)境造成了極大的危害[2]。因此,針對植物病蟲害的防治工作顯得尤為重要。
目前國內(nèi)外對復(fù)雜環(huán)境下的植物病害識別的研究主要集中在復(fù)雜環(huán)境下病害葉片圖像分割、葉片病斑特征提取、葉片病害識別三方面。在病害圖像分割方面,李艷雪等[3]選擇DBSCAN算法,成功地分割出向日葵葉片病害部分圖像。秦豐等[4]通過聚類算法和監(jiān)督分類方法,進一步提取病斑圖像的顏色特征、紋理特征和形狀特征。Zhang等[5]通過超像素聚類將整個彩色葉圖像分為多個緊湊且均勻的超像素,然后對病變部位通過EM算法從每個超像素中快速且準(zhǔn)確地分割出病害像素,從而得到有效的圖像分割。在病斑特征提取方面,胡秋霞[6]提出了基于顏色矩和小波變化的加權(quán)特征提取方法,顯著地提高了識別正確率。師韻等[7]針對蘋果葉片病害,克服了經(jīng)典植物病害識別方法中特征提取的難題,提高了識別效果。吳昊昱[8]研究茶樹病害時,運用深度遷移學(xué)習(xí)的方法提取出病斑特征,防止小樣本下的過擬合問題。在葉片病害識別方面,周麗娜[9]利用葉綠素?zé)晒夤庾V,構(gòu)建混合核函數(shù)進行稻葉瘟病害的識別。Huang[10]使用灰度共生矩陣描述病斑紋理,RGB顏色以及灰度值描述病斑顏色,根據(jù)上述特征建立人工神經(jīng)網(wǎng)絡(luò),實現(xiàn)了對蝴蝶蘭病害的識別。宋凱等[11]利用Haar小波提取病斑特征向量,之后利用核函數(shù)為徑向基函數(shù)的支持向量機實現(xiàn)對玉米病害的分類。
隨著計算機硬件設(shè)備性能的不斷發(fā)展,以及大數(shù)據(jù)時代的到來,以卷積神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)算法在圖像識別領(lǐng)域發(fā)揮了重要的作用[12-13]。越來越多的研究者開始將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于智慧農(nóng)業(yè)領(lǐng)域,進行植物病害識別。Amara等[14]使用LeNet作為神經(jīng)網(wǎng)絡(luò)架構(gòu),實現(xiàn)了復(fù)雜環(huán)境下對香蕉葉片病害的識別。Wang等[15]使用卷積神經(jīng)網(wǎng)絡(luò)識別出病害種類以及病害嚴重程度。劉媛[16]使用Faster-RCNN算法,利用復(fù)雜環(huán)境下的植物病害圖像數(shù)據(jù)集,端到端地實現(xiàn)復(fù)雜環(huán)境下的葡萄葉病斑的提取,并且根據(jù)病斑實現(xiàn)對病害識別。
從上述國內(nèi)外研究情況來看,雖然目前在三個方面均取得了一定的成果,但是由于農(nóng)田背景信息包括地理環(huán)境、土壤環(huán)境、光照環(huán)境、水環(huán)境等,機器視覺技術(shù)難以實現(xiàn)無監(jiān)督地從復(fù)雜環(huán)境下提取葉片。同時由于病斑顏色與土壤顏色類似,且與葉片顏色差距較大,因此在使用基于顏色、閾值的圖像分割算法時,會將病斑從葉片圖像中分割出去,無法進行后續(xù)對病斑特征提取等操作。
針對上述問題,文中建立了一個在復(fù)雜環(huán)境下具有無監(jiān)督性、準(zhǔn)確度高、泛用性好、訓(xùn)練效率高等特點的植物病害識別模型。以褐斑病、霜霉病、灰霉病等病害為例,通過基于RPN算法(region proposal network,區(qū)域生成網(wǎng)絡(luò))的復(fù)雜環(huán)境下病害葉片定位檢索、基于Chan-Vese算法的復(fù)雜環(huán)境下病害葉片圖像分割算法、基于遷徙學(xué)習(xí)的病害識別模型進行深入研究與分析,在植物病害識別的應(yīng)用上具有很好的適用性。
由于植物病害葉片的背景復(fù)雜,不同的土壤信息、光照信息等的變化均會對復(fù)雜環(huán)境下的葉片分割帶來影響。因此,選用RPN算法首先在復(fù)雜環(huán)境下對葉片進行檢索定位。
Faster-RCNN[17]是Ren等在R-CNN[18]、Fast-RCNN[19]基礎(chǔ)上改進的目標(biāo)檢索模型。Faster-RCNN模型的輸出包括物體邊界框,每個邊界框中物體的類別,邊界框內(nèi)物體類別的概率。相比于R-CNN,F(xiàn)ast-RCNN模型中通過選擇性搜索的方法來檢測物體,F(xiàn)aster-RCNN模型利用RPN算法可以更加迅速準(zhǔn)確地檢測物體。
根據(jù)Faster-RCNN模型,在將輸入數(shù)據(jù)輸入RPN算法之前,需要先將數(shù)據(jù)濃縮提取特征,即對數(shù)據(jù)進行卷積操作。將原始圖片輸入卷積神經(jīng)網(wǎng)絡(luò)中,經(jīng)過多次卷積、池化操作之后,可獲得高度濃縮的圖像特征。RPN算法設(shè)置了三種比例與三種尺寸的固定大小的九種邊界框。通過將九種邊界框作為滑窗在特征圖上滑動獲得預(yù)測物體位置的參考邊界框。將每一個邊界框,輸入兩個神經(jīng)網(wǎng)絡(luò),一個負責(zé)分類,一個負責(zé)控制邊界框位置調(diào)整。再利用兩個神經(jīng)網(wǎng)絡(luò)獲得分類結(jié)果以及邊界框位置,運用NMS算法消除對同一物體的多個邊界框,最后只保留結(jié)果最好的邊界框。RPN算法結(jié)構(gòu)如圖1所示。
圖1 RPN算法結(jié)構(gòu)
PlantVillage是由賓州州立大學(xué)建立的大型農(nóng)業(yè)問答論壇,其中包含多種簡單背景下的植物病害圖片數(shù)據(jù)集,并且面向所有用戶開放。文中下載褐斑病、灰霉病、霜霉病三種圖像作為訓(xùn)練數(shù)據(jù),其中褐斑病482張,灰霉病651張,霜霉病827張,共計1 960張,如圖2所示。
(b)灰霉病
(c)霜霉病
使用這些簡單背景下的葉片數(shù)據(jù)集對RPN模型進行訓(xùn)練。在模型訓(xùn)練時,設(shè)置參數(shù)包括控制模型收斂的梯度下降優(yōu)化參數(shù),控制訓(xùn)練數(shù)據(jù)集的輸入數(shù)據(jù)參數(shù),控制RPN算法效果的RPN參數(shù)。
模型訓(xùn)練參數(shù)如表1所示。
表1 模型訓(xùn)練參數(shù)設(shè)置
從百度圖片等公開圖片網(wǎng)站上下載復(fù)雜環(huán)境下的褐斑病、灰霉病、霜霉病各150張,即一共450張作為測試數(shù)據(jù)。由于VGG-16模型擁有簡便的模型網(wǎng)絡(luò)和較好的泛化能力,目前常用作特征提取模型。將測試圖像輸入VGG-16模型以及RPN算法,得到的結(jié)果如圖3所示。
(a)褐斑病
(b)灰霉病
(c)霜霉病
水平集方法[20]是一種計算曲面算法的數(shù)值計算方法,其可以在笛卡爾網(wǎng)絡(luò)上對曲面進行數(shù)值計算而不需要對曲面參數(shù)化。由于水平集方法可以方便地獲取物體的拓撲結(jié)構(gòu),因此近年來水平集方法在圖像分割方面有了廣泛的應(yīng)用。Chan-Vese算法[21]在水平集方法基礎(chǔ)上,簡化了水平集方法,可以有效地分割含有噪音、弱邊緣的圖像?;谝陨咸攸c,Chan-Vese算法可以較好地從復(fù)雜環(huán)境下分割包含完整病斑的葉片。由于復(fù)雜環(huán)境下的圖像顏色信息復(fù)雜,基于顏色、閾值的機器視覺算法難以取得較好的效果,因此文中使用基于區(qū)域的Chan-Vese算法對復(fù)雜環(huán)境下的葉片圖像進行分割。
利用水平集算法進行圖像分割本質(zhì)上是將二維的圖像分割轉(zhuǎn)換為三維的平面相交問題,將兩曲面相交的曲線作為圖像分割的邊界,利用圖像信息約束曲面演化,通過不斷地迭代運算最終得到圖像分割邊界。水平集方法主要包含三個要素:對初始相交曲線的定義,控制曲面演化PDE方程,對PDE方程的數(shù)值求解。
設(shè)在t時刻,兩曲面相交的曲線為C(t),設(shè)符號距離函數(shù)為:
φ(x,y,t)=±d
(1)
意為在t時刻,點(x,y)距離曲線C(t)最短的距離為d。通常設(shè)置在曲線C(t)內(nèi)的點距離為負,反之為正。
水平集曲面函數(shù)演化遵從哈密頓-雅可比方程,即:
(2)
式中,F(xiàn)表示曲線C(t)上各個點演化的速度,其演化方向為曲線各點的法線方向。從上式可以看出,只要速度F變化平滑,則φ(x,y,t)始終保持平滑。在此基礎(chǔ)上,通過約束速度F來約束曲面演化。最終的輪廓為零水平集:
φ(x,y)=0
(3)
Chan-Vese算法在水平集方法的基礎(chǔ)上,并不通過顯式地控制速度來控制曲面演化,而是通過構(gòu)建一個能量函數(shù)來約束整體區(qū)域。該能量函數(shù)的定義為輪廓內(nèi)與輪廓外圖像的灰度值的方差之和最小,并且增加輪廓長度使輪廓收斂。設(shè)圖像中有一閉合曲線,則能量函數(shù)表示為:
(4)
式中,c1表示輪廓內(nèi),c2表示輪廓外,u(x,y)表示圖像灰度值,u1表示輪廓內(nèi)灰度平均值,u2表示輪廓外灰度平均值。則設(shè):
(5)
(6)
當(dāng)F1≈0且F2≈0時演化停止。
采用水平集方法對式(4)求解,使用零水平集表達輪廓線。引入Heaviside函數(shù)以及Dirac函數(shù):
(7)
(8)
則能量函數(shù)的水平集方程為:
(9)
利用變分法將式(9)最小化,結(jié)合Euler-Lagrange方程,得到如下偏微分方程:
δ(φ)[-λ1(1-u1)2+λ2(1-u2)2]
(10)
針對上式可以使用梯度下降法自動檢測灰度不同的目標(biāo)區(qū)域,并且使能量函數(shù)達到全局最小。
文中設(shè)置初始零水平集為以圖片中心為圓心,圖片對角線長度的三分之一為半徑的圓形。設(shè)置Chan-Vese算法迭代計算次數(shù)為800次。水平集函數(shù)的懲罰項系數(shù)mu設(shè)置為1,平滑項的系數(shù)nu設(shè)置為0,空間步長設(shè)為1,時間步長設(shè)為0.1。
將RPN算法所獲得的圖片輸入Chan-Vese算法,將零水平集內(nèi)的圖像保留,零水平集外的圖像設(shè)為黑色,得到的圖像分割結(jié)果如圖4所示。
圖4 復(fù)雜環(huán)境下的分割結(jié)果
根據(jù)圖4可以發(fā)現(xiàn),經(jīng)過800次迭代計算,Chan-Vese算法可以取得較好的葉片圖像分割效果。它保留了葉片中央完整結(jié)構(gòu),包括葉片脈絡(luò)、病斑顏色、病斑形狀等。通過Chan-Vese算法獲取的葉片中央完整結(jié)構(gòu)可以用于下一步遷移學(xué)習(xí)模型病害識別。
設(shè)域為D,包括兩個內(nèi)容:
D={X,P(X)}
(11)
其中,X表示特征空間,包含了所有可能的特征取值;P(X)表示特征空間內(nèi)的某種特定的特征采樣實例。
設(shè)任務(wù)為T,其同樣包括兩部分:
T={Y,f(X)}
(12)
其中,Y表示標(biāo)簽空間,即所有標(biāo)簽組成的向量空間;f(X)為預(yù)測函數(shù),根據(jù)輸入數(shù)據(jù)的特征和標(biāo)簽學(xué)習(xí)而來。
由于針對不同學(xué)習(xí)目標(biāo)的神經(jīng)網(wǎng)絡(luò)的淺層網(wǎng)絡(luò)具有相似特征[22],因此可以利用遷移學(xué)習(xí)算法將針對源任務(wù)的神經(jīng)網(wǎng)絡(luò)淺層網(wǎng)絡(luò)遷移到針對目標(biāo)任務(wù)的神經(jīng)網(wǎng)絡(luò)中。遷移學(xué)習(xí)在使用中,相比于重新學(xué)習(xí),具有初始時期更好的表現(xiàn)、模型收斂更快、最終效果更好等優(yōu)點[23]。
由于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型對數(shù)據(jù)集的質(zhì)量與數(shù)量要求較高,且在訓(xùn)練過程中對硬件資源需求較高,訓(xùn)練時間較長,不利于模型推廣使用。遷移學(xué)習(xí)模型在已預(yù)訓(xùn)練模型的基礎(chǔ)上,使用簡單背景下的病害葉片數(shù)據(jù)集訓(xùn)練模型。相比于傳統(tǒng)模型,遷移學(xué)習(xí)可以更快速地完成模型訓(xùn)練,獲得較好的識別效果。因此,文中使用遷移學(xué)習(xí)模型進行葉片病害的識別。
ResNet-101模型根據(jù)模型訓(xùn)練過程中的殘差對網(wǎng)絡(luò)進行擬合,在ImageNet圖像識別中取得了較好的分類效果,對深度學(xué)習(xí)網(wǎng)絡(luò)在精度與速度上取得了較好的優(yōu)化效果。文中選用ResNet-101作為預(yù)訓(xùn)練模型,使用簡單背景下的病害葉片數(shù)據(jù)集對該網(wǎng)絡(luò)進行訓(xùn)練。
遷移學(xué)習(xí)模型參數(shù)包括梯度下降優(yōu)化參數(shù)以及訓(xùn)練參數(shù),具體參數(shù)設(shè)置如表2所示。
表2 遷移學(xué)習(xí)模型參數(shù)設(shè)置
續(xù)表2
經(jīng)過迭代訓(xùn)練后,遷移學(xué)習(xí)模型與ResNet-101模型的損失值如圖5所示。
圖5 遷移學(xué)習(xí)與ResNet-101訓(xùn)練過程損失值對比
根據(jù)圖5可以發(fā)現(xiàn),經(jīng)過相同的迭代訓(xùn)練后,遷移學(xué)習(xí)模型相比于ResNet-101模型,擁有更快的收斂速度,在收斂后擁有更低的模型損失值。因此,文中使用遷移學(xué)習(xí)模型可以更快收斂,取得更好的模型識別效果。
將基于Chan-Vese算法分割得到的圖像輸入遷移學(xué)習(xí)模型。作為對照,將未經(jīng)本文上述處理的圖像輸入ResNet-101模型進行識別,識別結(jié)果如表3所示。
表3 文中方法與ResNet-101模型結(jié)果對比
根據(jù)表3可以發(fā)現(xiàn),文中方法在上述識別的平均正確率為90.4%,顯著優(yōu)于ResNet-101模型的正確率50.2%。對比文中方法在三種樣本中的表現(xiàn),可以發(fā)現(xiàn)相比于灰霉病和霜霉病,褐斑病可以獲得更好的效果。
隨著信息技術(shù)的發(fā)展,智慧農(nóng)業(yè)也在快速發(fā)展,其在對農(nóng)業(yè)生產(chǎn)的遠程控制、遠程診斷、災(zāi)害預(yù)警等領(lǐng)域起到了重要的作用。然而智慧農(nóng)業(yè)在復(fù)雜環(huán)境下的植物病害識別方向的研究仍然存在魯棒性較差,易丟失病斑信息,所需數(shù)據(jù)集復(fù)雜,對硬件設(shè)備要求高等缺陷。因此,文中建立了一個基于深度學(xué)習(xí)算法和遷移學(xué)習(xí)模型的植物病害識別模型。通過實驗測試發(fā)現(xiàn),該模型針對褐斑病、霜霉病、灰霉病這三種病害葉片的識別正確率分別為92.0%,90.7%,88.7%,平均識別正確率達到90.4%,優(yōu)于傳統(tǒng)的ResNet-101模型。