黃建平,陳鏡旭,李克新,李君禹,劉 航
(東北林業(yè)大學(xué)機電工程學(xué)院,哈爾濱 150040)
目前全球糧食產(chǎn)量的增長速度遠低于人口增長速度,糧食產(chǎn)量和安全對保障人民生活水平和國民經(jīng)濟發(fā)展具有重要的意義[1-2]。植物病蟲害是影響農(nóng)林業(yè)生產(chǎn)、生態(tài)安全和農(nóng)林作物產(chǎn)量的生物災(zāi)害[3],及時準確掌握植物病蟲害的類型、嚴重程度及病害發(fā)展狀況,能夠有效減少病害對農(nóng)林業(yè)生產(chǎn)造成的經(jīng)濟損失,同時減少濫用農(nóng)藥造成的環(huán)境污染,為科學(xué)制定病害防治策略提供依據(jù)[4]。傳統(tǒng)的植物病害監(jiān)測方法主要依賴于專家通過可見特征來進行評估[5],這不僅需要專家具有豐富的經(jīng)驗,同時評估過程較為繁瑣、耗時,具有一定的主觀性[6],難以滿足實際生產(chǎn)中大面積、快速病蟲害監(jiān)測的應(yīng)用需求。早期基于計算機視覺識別植物病害的方法首先需要提取植物特定特征,再使用傳統(tǒng)分類方法識別病害。然而提取特征的過程復(fù)雜,且特征提取器的選擇及設(shè)計對病害的識別結(jié)果有較大的影響[7-9]。近年來,迅速發(fā)展的深度學(xué)習是機器學(xué)習的一個分支,被廣泛應(yīng)用于多個領(lǐng)域,如圖像分類、目標檢測、視覺跟蹤等[10-11],并取得了很好的效果?;谏疃葘W(xué)習的植物葉片病害圖像分析方法具有精度高、速度快等優(yōu)點,為植物病害準確快速檢測提供了有效的技術(shù)手段。Srdjan 等[12]將深度卷積神經(jīng)網(wǎng)絡(luò)用于植物病害識別,該方法能夠區(qū)分植物葉片與其周圍環(huán)境,并能夠區(qū)分健康葉片與13 種不同的植物病害,模型識別的平均準確率達 96.3%。Mohanty 等[3]使用GoogleNet 和 AlexNet 兩種深度學(xué)習網(wǎng)絡(luò)結(jié)構(gòu)對PlantVillage 數(shù)據(jù)集進行了植物病害圖像分類試驗,結(jié)果表明采用遷移學(xué)習效果更好,GoogLeNet 的性能優(yōu)于AlexNet。Alvaro 等[13]提出一種基于深度學(xué)習的番茄植株病蟲害檢測方法,采用Faster R-CNN 檢測框架和VGG16特征提取網(wǎng)絡(luò),成功檢測并識別9 種不同類別的病蟲害。Wang 等[14]使用PlantVillage 中的蘋果病害數(shù)據(jù)集進行試驗,分析了VGG16、VGG19、 Inception-v3、和ResNet50共 4 種網(wǎng)絡(luò)結(jié)構(gòu)在全新學(xué)習和遷移學(xué)習下的分類性能。結(jié)果表明,對訓(xùn)練好的VGG16 經(jīng)過遷移學(xué)習得到的模型識別效果最佳,其在測試集上的總體準確率為90.4%。孫俊等[15]對卷積神經(jīng)網(wǎng)絡(luò)模型 AlexNet 進行了改進,采用批歸一化與全局池化相結(jié)合的卷積神經(jīng)網(wǎng)絡(luò)模型對多種植物葉片病害進行分類,改進后模型的平均準確率達99.56%,結(jié)果表明改進后的模型具有較高的識別準確率和較強的魯棒性。Ferentinos 等[11]使用含 58 類植物病害的公開數(shù)據(jù)集對AlexNet、AlexNetOWTBn、GoogLeNet、Overfeat、VGG 共5 種不同的模型架構(gòu)進行訓(xùn)練并測試模型識別準確率,結(jié)果表明采用VGG 架構(gòu)訓(xùn)練的模型識別植物病害的準確率最高,達到99.53%。馬浚誠等[16]構(gòu)建了一個基于卷積神經(jīng)網(wǎng)絡(luò)的溫室黃瓜病害識別系統(tǒng),實現(xiàn)了對溫室黃瓜病斑圖像的準確分割及病害識別,分割準確率為 97.29%,識別準確率為 95.70%。Esgario 等[4]使用 AlexNet、GoogLeNet、VGG16、ResNet50 共 4 種不同的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對咖啡病蟲害進行分類及嚴重程度估計,結(jié)果表明訓(xùn)練后的ResNet50 對咖啡病蟲害識別準確率最高,為 97.07%。Singh 等[17]提出一種能夠識別芒果炭疽病的多層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),與現(xiàn)有的分類方法相比,該方法具有更高的分類精度,達到97.13%。采用深度卷積神經(jīng)網(wǎng)絡(luò)識別植物病害時,訓(xùn)練數(shù)據(jù)較少會導(dǎo)致模型性能下降。Barbedo 等[18]通過將每幅圖像劃分成小的圖像塊作為訓(xùn)練數(shù)據(jù),一定程度上提高了病害分類的準確性。Nazki 等[19]提出一種生成對抗網(wǎng)絡(luò)AR-GAN,并用AR-GAN 對9 種高度不平衡的番茄病害數(shù)據(jù)進行擴充,將深度卷積神經(jīng)網(wǎng)絡(luò)識別番茄病害的準確率由80.9%提高至 86.1%。郭小清等[20]根據(jù)番茄病害葉片圖像的特點,對AlexNet 進行了去除局部歸一化層、修改全連接層等改進設(shè)計,并開發(fā)了基于Android 平臺的番茄葉部病害識別系統(tǒng)。該模型對番茄葉部病害及每種病害早中晚期的平均識別準確率達到 92.7%,基于此模型的 Andriod端識別系統(tǒng)在田間的識別率達到 89.2%。劉洋等[21]對MobileNet 和Inception-v3 兩種輕量級卷積神經(jīng)網(wǎng)絡(luò)進行遷移學(xué)習,在 PlantVillage 數(shù)據(jù)集上平均識別率分別達到95.02%和95.62%,在自建葡萄病害葉片圖像集上平均識別率分別為87.50%、88.06%。將得到的2 種較優(yōu)分類模型移植到 Android 手機端進行對比,結(jié)果表明MobileNet 分類模型占用內(nèi)存更小,運算時間更快,更適合用于手機端。
目前多數(shù)的網(wǎng)絡(luò)結(jié)構(gòu)都需要專家根據(jù)不同應(yīng)用場景進行合理的設(shè)計,并且需要不斷調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù)以獲得最優(yōu)的識別模型,這個過程不僅耗時,同時需要具備專業(yè)的知識及經(jīng)驗[22]。Zoph 等[23]提出了神經(jīng)結(jié)構(gòu)搜索(Neural Architecture Search,NAS),無需人為手動設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)。Zoph 等[24]證明了使用神經(jīng)結(jié)構(gòu)搜索得到的網(wǎng)絡(luò)模型優(yōu)于大多數(shù)人工設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu),并根據(jù)該神經(jīng)結(jié)構(gòu)搜索方法提出了NASNet。Adedoja 等[25]采用已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)模型 NASNet,并在 Plantvillage 數(shù)據(jù)集上進行了遷移學(xué)習,測試的準確率為93.82%,該方法并未針對植物病害數(shù)據(jù)設(shè)計合適的網(wǎng)絡(luò)結(jié)構(gòu)。本文提出一種基于神經(jīng)結(jié)構(gòu)搜索的植物葉片病害識別方法,該方法能依據(jù)數(shù)據(jù)集學(xué)習合適的網(wǎng)絡(luò)結(jié)構(gòu)。采用PlantVillage 公共數(shù)據(jù)集進行神經(jīng)結(jié)構(gòu)搜索,對搜索到的最優(yōu)網(wǎng)絡(luò)模型進行測試和分析,以期能夠?qū)崿F(xiàn)植物葉片病害的準確識別,為科學(xué)制定病害防治策略提供有效的技術(shù)手段。
隨著深度學(xué)習的廣泛應(yīng)用,神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)變得越來越復(fù)雜,對于不同場景需要人工經(jīng)過不斷的試驗來尋找合適的網(wǎng)絡(luò)結(jié)構(gòu)。神經(jīng)結(jié)構(gòu)搜索能夠根據(jù)特定應(yīng)用領(lǐng)域?qū)W習到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)模型。神經(jīng)結(jié)構(gòu)搜索的主要過程如圖 1 所示。首先預(yù)先定義一個搜索空間F,即定義通過NAS 算法可以搜索到的神經(jīng)結(jié)構(gòu);然后利用搜索策略在搜索空間中搜索到一個合適的網(wǎng)絡(luò)結(jié)構(gòu)f,其中f∈F;使用性能評估的方法對該結(jié)構(gòu)進行評估,將評估結(jié)果反饋給搜索策略從而對已搜索到的網(wǎng)絡(luò)結(jié)構(gòu)進行調(diào)整;循環(huán)該過程直到搜索到符合要求的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)[22]。
圖1 神經(jīng)結(jié)構(gòu)搜索框圖Fig 1 The block diagram of neural architecture search
現(xiàn)有的許多神經(jīng)結(jié)構(gòu)搜索方法需要較高的計算成本才能有較好的效果,且搜索速度非常慢。針對該問題,Wei 等[26]提出了網(wǎng)絡(luò)態(tài)射(Network Morphism)的方法,該方法能在保持神經(jīng)網(wǎng)絡(luò)功能不變的基礎(chǔ)上將一個訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)修改成一個新的神經(jīng)網(wǎng)絡(luò)。但基于網(wǎng)絡(luò)態(tài)射的神經(jīng)結(jié)構(gòu)搜索[27-28]不夠高效,Jin 等[29]提出一種使用貝葉斯優(yōu)化指導(dǎo)網(wǎng)絡(luò)態(tài)射的方法,實現(xiàn)了更高效的神經(jīng)結(jié)構(gòu)搜索。本文使用該方法自動搜索適合于植物葉片圖像病害識別的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提出的植物病害識別方法如圖2 所示,該方法分為以下4 個步驟:1)將數(shù)據(jù)集按照 4∶1 的比例隨機劃分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù);2)將訓(xùn)練數(shù)據(jù)作為神經(jīng)結(jié)構(gòu)搜索的輸入,采用神經(jīng)結(jié)構(gòu)搜索方法獲得最優(yōu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);3)將搜索到的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)在訓(xùn)練數(shù)據(jù)集下訓(xùn)練,得到病害分類模型;4)采用測試數(shù)據(jù)集評估網(wǎng)絡(luò)模型的性能。
其中d表示兩個神經(jīng)網(wǎng)絡(luò)間的編輯距離(Edit-distance),取值范圍為(0, +∞),ρ是將距離從原始度量空間映射到相應(yīng)新空間的映射函數(shù)。采用基于A*搜索和模擬退火的方法優(yōu)化樹形結(jié)構(gòu)空間中的采集函數(shù),選擇Upper-confidence bound(UCB)作為采集函數(shù),定義為
圖2 基于神經(jīng)結(jié)構(gòu)搜索的植物葉片病害識別方法框圖Fig 2 The block diagram of plant leaf disease recognition using neural architecture search
病害識別過程如下:定義一個層數(shù)為L的卷積神經(jīng)網(wǎng)絡(luò)作為神經(jīng)結(jié)構(gòu)搜索的初始架構(gòu),其中每一層是一個由ReLU 層、一個批量歸一化層、卷積層和一個池化層構(gòu)成的卷積塊。在所有的卷積層之后,輸出張量先經(jīng)過一個全局平均池化層和一個Dropout 層,其中Dropout 的比率為rd,然后經(jīng)過一個由nc個神經(jīng)元組成的全連接層和一個ReLU 層,最后經(jīng)過另一個全連接層和一個Softmax層。將訓(xùn)練數(shù)據(jù)作為神經(jīng)結(jié)構(gòu)搜索的輸入,在搜索過程中將所有生成的網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習到的參數(shù)和模型損失值作為搜索歷史H。通過優(yōu)化采集函數(shù)算法生成下一個要觀測的網(wǎng)絡(luò)結(jié)構(gòu),該算法以模擬退火算法的最低溫度Tmin、降溫速率r和搜索歷史H作為輸入,輸出新的網(wǎng)絡(luò)結(jié)構(gòu)和所需的網(wǎng)絡(luò)態(tài)射操作,將現(xiàn)有的架構(gòu)fi變形為一個新的架構(gòu)fi+1(i表示搜索算法在執(zhí)行過程中搜索到的第i個網(wǎng)絡(luò)結(jié)構(gòu))。采用批量訓(xùn)練的方法將數(shù)據(jù)劃分為多個批次,并通過隨機梯度下降(Stochastic Gradient Descent,SGD)的模型優(yōu)化方法對生成的架構(gòu)fi+1進行初步的訓(xùn)練,采用交叉熵計算分類損失,訓(xùn)練過程中設(shè)置模型損失值在n1個 e poch 后不再下降時停止訓(xùn)練,通過評價度量函數(shù)對fi+1進行性能評估并獲得其分類性能,根據(jù)所有搜索到的網(wǎng)絡(luò)結(jié)構(gòu)及它們的性能訓(xùn)練底層的高斯過程模型。在確定的搜索時間內(nèi)不斷重復(fù)上述過程,最終自動標示出搜索歷史H中最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)f*(f*∈F)。采用相同的訓(xùn)練方法對該網(wǎng)絡(luò)結(jié)構(gòu)進行最終的訓(xùn)練,訓(xùn)練過程中設(shè)置模型損失值在n2個 e poch 后不再下降時停止訓(xùn)練,得到病害分類模型。將測試數(shù)據(jù)作為模型的輸入,得到病害識別結(jié)果。
采用 PlantVillage 公開數(shù)據(jù)集[30]進行試驗。該數(shù)據(jù)集有54 306 張植物葉片圖像,包含14 種作物和26 種病害。通過植物病害專家現(xiàn)場鑒別,將該數(shù)據(jù)集按照疾病種類分為 38 個不同的類別,圖 3 為數(shù)據(jù)集每一類病害圖像示例。
圖3 PlantVillage 數(shù)據(jù)集的葉片圖像及病害示例[30]Fig 3 Leaf images and disease examples of PlantVillage data sets[30]
PlantVillage 公開數(shù)據(jù)集中每一類所包含的圖像數(shù)量各不相等,其數(shù)據(jù)分布如圖 4 所示。為了分析數(shù)據(jù)平衡是否對神經(jīng)結(jié)構(gòu)搜索產(chǎn)生影響,將訓(xùn)練數(shù)據(jù)進行過采樣與亞采樣處理,使訓(xùn)練數(shù)據(jù)的每個類別數(shù)目在 1 500 左右,處理前后的訓(xùn)練數(shù)據(jù)數(shù)量統(tǒng)計如圖 4 所示。同時,為研究神經(jīng)結(jié)構(gòu)搜索方法在訓(xùn)練數(shù)據(jù)缺乏顏色信息時搜索到的模型是否能學(xué)習到更高層次的病害特征,通過顏色空間轉(zhuǎn)換的方法對數(shù)據(jù)進行灰度處理,示例如圖 5 所示,使用灰度處理前和處理后的數(shù)據(jù)分別進行相同的試驗。該研究使用PlantVillage 原始數(shù)據(jù)(54 306 張)、處理后達到平衡的數(shù)據(jù)(53 936 張)及進行灰度處理后的數(shù)據(jù)(54 306 張)分別進行試驗,將訓(xùn)練集和測試集按照4∶1 的比例隨機劃分。
圖4 原始訓(xùn)練數(shù)據(jù)與經(jīng)過處理后達到平衡的訓(xùn)練數(shù)據(jù)對比Fig 4 Comparison between the original training data and the balanced training data after processing
試驗采用的軟件環(huán)境為:Windows 64 位系統(tǒng),開源Keras 框架[29],Python 編程語言(Python 3.6)。硬件環(huán)境:計算機內(nèi)存 16 GB;處理器為 Intel(R) Core i7-9700k,3.60 GHz;GPU 為英偉達的 GeForce RTX 2080Ti,11 GB 顯存。
試驗中將一個層數(shù)為L的卷積神經(jīng)網(wǎng)絡(luò)作為神經(jīng)結(jié)構(gòu)搜索的初始架構(gòu),其中L為3。卷積層中卷積核大小都設(shè)置為3×3,數(shù)量為64,滑動步長為1,池化層大小設(shè)置為2×2,滑動步長為2。Dropout 的比率rd設(shè)置為0.25,nc為64。在貝葉斯優(yōu)化算法中,采集函數(shù)中的平衡系數(shù)β設(shè)置為2.576,模擬退火算法的初始溫度設(shè)置為1,降溫速率r設(shè)置為0.9,最低溫度Tmin設(shè)置為0.000 1。模型訓(xùn)練過程中學(xué)習率為 0.025,動量因子為 0 .9,權(quán)重衰減因子為0.000 3,最大迭代次數(shù)為200,每個批次訓(xùn)練128張圖片,即train batch 設(shè)置為128。搜索過程中對每個搜索到的網(wǎng)絡(luò)結(jié)構(gòu)進行初步的訓(xùn)練,epoch 數(shù)量n1設(shè)置為5,在設(shè)置好的搜索時間內(nèi)搜索一個最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。采用相同的設(shè)置對獲得的最優(yōu)神經(jīng)結(jié)構(gòu)網(wǎng)絡(luò)進行最終的訓(xùn)練,epoch 數(shù)量n2設(shè)置為 30。
準確率(accuracy,Acc,%),正確分類的樣本數(shù)除以樣本總數(shù),計算方法如下
式中NTrue是預(yù)測正確的測試樣本數(shù),NSum是測試樣本總數(shù),模型對單個類別的識別準確率用Acci表示(i表示第i類病害)。
模型識別的平均準確率(average accuracy,AA,%)為測試所用的所有病害類型的準確率的平均值,計算方法如下
式中n為測試樣本的總類別數(shù)。
試驗采用PlantVillage 原始數(shù)據(jù),設(shè)置不同的神經(jīng)結(jié)構(gòu)搜索時間以研究搜索時間對搜索到網(wǎng)絡(luò)結(jié)構(gòu)的影響。將每組試驗的搜索時間間隔設(shè)置為1 h,分別進行12 組試驗。每組試驗都是在設(shè)置好的搜索時間內(nèi)不斷搜索網(wǎng)絡(luò)模型,試驗設(shè)定當搜索到的網(wǎng)絡(luò)模型損失值在5 個epoch 后不再下降時停止訓(xùn)練,對網(wǎng)絡(luò)模型進行評估后繼續(xù)搜索下一個網(wǎng)絡(luò)模型,所以搜索時間越長,搜索到的模型數(shù)會越多。1 h~12 h 時段搜索到的模型數(shù)量分別為:2、4、6、8、11、12、14、16、18、19、21、25,該過程會自動存儲并標示出搜索到的所有網(wǎng)絡(luò)結(jié)構(gòu)中損失值最低的模型,將其進行最終的訓(xùn)練并測試,每組試驗搜索到的最優(yōu)模型的測試結(jié)果如圖6 所示。
圖6 NAS 在不同搜索時間的模型測試結(jié)果Fig.6 Test results of models with different searching time for NAS
從圖6 可以看出,本文的神經(jīng)結(jié)構(gòu)搜索方法在搜索不同時間時所得到的模型最終的識別準確率均達到了98%以上,說明該方法可以在較短時間內(nèi)搜索到合適的網(wǎng)絡(luò)結(jié)構(gòu),其中搜索時間為3 h 得到模型對于測試集的識別準確率較高。在神經(jīng)結(jié)構(gòu)搜索訓(xùn)練時間為3 h 的過程中共搜索到 6 個模型,各模型的評估值及損失值如表 1 所示。
表1 使用NAS 搜索3 h 過程中對得到網(wǎng)絡(luò)結(jié)構(gòu)的評估Table 1 Evaluation of obtained network architecture during 3 h searching with NAS
從表1 可以看出,神經(jīng)結(jié)構(gòu)搜索對搜索到的網(wǎng)絡(luò)結(jié)構(gòu)進行了初步評估,其中最優(yōu)模型為第6 個模型,對該模型的評估值為0.959 6,即模型的識別準確率為95.96%,損失值為0.468 5。將該模型作為植物葉片圖像病害識別的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)并進行訓(xùn)練,使用測試集對訓(xùn)練后的模型進行測試。
使用基于神經(jīng)結(jié)構(gòu)搜索的方法對 PlantVillage 原始彩色數(shù)據(jù)、處理后達到平衡的數(shù)據(jù)及進行灰度處理后的數(shù)據(jù)共3 個數(shù)據(jù)集進行試驗,并對相應(yīng)的3 種不同的模型進行測試,研究神經(jīng)結(jié)構(gòu)搜索在不同情況下的有效性,以下分別稱為試驗一、試驗二、試驗三。模型對單個類別的識別準確率如表2 所示。一般來說,對于固定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在訓(xùn)練數(shù)據(jù)不平衡時會使模型決策時對訓(xùn)練數(shù)據(jù)多的一類出現(xiàn)偏見,訓(xùn)練數(shù)據(jù)少的類別比訓(xùn)練數(shù)據(jù)多的類別更容易被錯誤分類[20]。從表2 可以看出,在訓(xùn)練數(shù)據(jù)平衡與不平衡兩種狀態(tài)下,試驗一與試驗二使用神經(jīng)結(jié)構(gòu)搜索得到的模型對單個類別識別準確率沒有明顯差異,且都達到了較好的識別結(jié)果,識別準確率分別為98.96%和99.01%。說明使用神經(jīng)結(jié)構(gòu)搜索的方法在訓(xùn)練數(shù)據(jù)平衡與不平衡時都能設(shè)計出合適的網(wǎng)絡(luò)結(jié)構(gòu)。從表2 可以看出,在試驗三中模型對單個類別識別準確率有所下降,這主要是由于許多植物患病后葉片表面的顏色或出現(xiàn)的病斑顏色會發(fā)生變化,比如患二斑葉螨病的植物隨著危害的加重,可使葉片變成灰白色至暗褐色,晚疫病在初期時病斑為墨綠色,后期變成褐色。同時,不同病害的病斑顏色也各不相同,比如土豆和番茄的早疫病病斑呈褐色或黑褐色,而蘋果的瘡痂病病斑呈蠟黃色。因此在訓(xùn)練數(shù)據(jù)缺乏顏色信息時模型更多是通過葉片的輪廓及紋理而做出識別決策。由于缺少顏色信息,訓(xùn)練出的模型對葉片顏色的細微變化不敏感,從而導(dǎo)致模型準確率稍微有所下降,最終模型的識別準確率為95.40%。由此可以看出,植物病害圖像的顏色信息對于病害的識別具有積極的促進作用,同時即使在缺乏顏色信息時,本文提出的基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索的植物葉片圖像病害識別算法依然可以獲得較高的識別準確率。
為分析模型識別錯誤的原因,計算了試驗一中模型對每種植物種類識別的平均準確率,其中玉米的平均準確率為 96.45%,在 14 種作物中最低,玉米病害的混淆矩陣如圖 7 所示。在混淆矩陣中對角線單元格表示模型預(yù)測正確的測試樣本個數(shù),非對角單元格顯示被模型預(yù)測錯誤的樣本個數(shù)。玉米共有 4 種葉片類型,分別為玉米灰斑病、玉米銹病、玉米健康葉和玉米枯葉病。通過混淆矩陣可以發(fā)現(xiàn),在 103 個玉米灰斑病測試樣本中,有 1 個被錯誤識別為玉米健康葉,11 個被錯誤識別為玉米枯葉?。欢?97 個玉米枯葉病測試樣本中有 5 個被錯誤識別,都被識別為玉米灰斑病。從中可以看出,在對玉米病害進行識別時,玉米灰斑病與玉米枯葉病在識別過程中會發(fā)生混淆。圖8為患灰斑病和患枯葉病的玉米病害圖像,從圖像中可以看出患灰斑病玉米的葉面上有長條形的淺褐色病斑,而在患枯葉病的玉米葉表面在病斑顏色、病斑形狀及紋理上呈現(xiàn)出與患灰斑病玉米葉相似的特征,從而造成識別錯誤。后續(xù)研究一方面可考慮擴充訓(xùn)練樣本的種類和數(shù)量,另一方面通過將細粒度網(wǎng)絡(luò)與神經(jīng)結(jié)構(gòu)搜索相結(jié)合,提高模型的特征提取能力和分辨能力,從而提高模型的病害識別準確率。
表2 PlantVillage 測試集分類結(jié)果Table 2 Classification results for the testing dataset of PlantVillage
圖7 玉米所包含4 種葉片狀態(tài)的混淆矩陣Fig 7 Confusion matrix of four leaf states contained in maize
圖8 兩種易混淆的玉米病害葉部圖像Fig.8 Leaf images of two confusable maize diseases
為研究本文方法在實際應(yīng)用中的效果,使用一個為學(xué)術(shù)研究免費提供的植物病害癥狀圖像數(shù)據(jù)庫中的數(shù)據(jù)對模型進行測試,該數(shù)據(jù)集包含真實場景和固定背景下拍攝的玉米病害葉片[31]。由于固定背景下拍攝的圖片不具有實際應(yīng)用性,將固定背景下的玉米病害圖像進行切割,只保留葉片部分作為測試數(shù)據(jù),使用該數(shù)據(jù)集的 31張玉米灰斑病和 46 張玉米北方枯葉病圖像用于模型測試,其中,模型正確識別了玉米的30 張灰斑病圖像和37張北方枯葉病圖像,識別準確率分別為96.77%和80.43%,說明該模型在實際應(yīng)用中具有一定的適用性。后續(xù)研究將擴大訓(xùn)練數(shù)據(jù)規(guī)?;?qū)σ呀?jīng)訓(xùn)練好的模型進行遷移學(xué)習,提高模型的識別準確率。
該研究提出一種基于神經(jīng)結(jié)構(gòu)搜索的多種植物葉片病害識別方法,采用PlantVillage 植物葉片病害圖像數(shù)據(jù)集進行試驗。主要結(jié)論如下:
1)該神經(jīng)結(jié)構(gòu)搜索方法可以在較短時間內(nèi)搜索到合適的網(wǎng)絡(luò)結(jié)構(gòu),試驗中設(shè)置搜索時間為1~12 h,在每個設(shè)置好的搜索時間內(nèi)所得到的模型識別準確率均達到98%以上。模型對于不同種病害圖像在病斑顏色、病斑形狀及紋理上極為相似的情況,可能會產(chǎn)生識別錯誤。
2)神經(jīng)結(jié)構(gòu)搜索對訓(xùn)練數(shù)據(jù)類別間存在的數(shù)據(jù)量差異并不敏感,在訓(xùn)練數(shù)據(jù)不平衡和平衡時均可以搜索到合適的模型,并且模型對每類病害的識別準確率無明顯差異,最終識別準確率分別達到98.96%和99.01%。
3)在訓(xùn)練數(shù)據(jù)僅含葉片的輪廓、紋理等特征但缺乏顏色特征時,該方法對一些患病后葉片表面顏色或病斑顏色會發(fā)生變化的病害的識別準確率有所降低,為95.40%。
該研究提出的方法能夠根據(jù)數(shù)據(jù)集自動學(xué)習到合適的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),簡化植物病害識別網(wǎng)絡(luò)模型設(shè)計的工作量,所得模型的病害識別準確率較高且具有一定的適用性,為實現(xiàn)植物病害自動準確識別提供一種技術(shù)手段。