張耀麗,許寧,宋裕民,孟慶山,侯旭,李虎
(1.255000 山東省 淄博市 山東理工大學 農(nóng)業(yè)工程與食品科學學院;2.250131 山東省 濟南市 山東省農(nóng)業(yè)機械科學研究院;3.215127 江蘇省 蘇州市 蘇州大學 藝術(shù)學院)
農(nóng)業(yè)是提供支撐國民經(jīng)濟建設(shè)與發(fā)展的基礎(chǔ)產(chǎn)業(yè),但農(nóng)作物病蟲害大大限制了農(nóng)業(yè)生產(chǎn),不僅制約農(nóng)民的收入,也影響經(jīng)濟的發(fā)展[1]。得益于計算機視覺技術(shù)與深度學習在圖像分類、檢測等領(lǐng)域的跨越式發(fā)展,在病蟲害識別領(lǐng)域的專家學者和研究人員也有了新的思路。相較于速度慢、效率差、主觀性強、準確率低的傳統(tǒng)人工識別病蟲害方法,依靠深度學習的圖像處理技術(shù)不僅可以提高病蟲害識別的效率和準確度,還可以通過不斷學習病蟲害樣本,更加準確地進行分類,給出正確的病蟲害應對策略來幫助農(nóng)業(yè)生產(chǎn)。其中在病蟲害識別領(lǐng)域中應用最為廣泛的是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)。
1998 年,Yann LeCun 提出了卷積神經(jīng)網(wǎng)絡(luò),并且在MNIST 手寫體數(shù)字識別表現(xiàn)出色。卷積神經(jīng)網(wǎng)絡(luò)是一類前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks),又叫“平移不變?nèi)斯ど窠?jīng)網(wǎng)絡(luò)”,其具有能夠以層級對輸入內(nèi)容進行平移不變分類的能力。卷積神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)更低,網(wǎng)絡(luò)的泛化能力更強。其結(jié)構(gòu)如圖1 所示,它分為2 部分,一是輸入層,可以處理多維數(shù)據(jù),二是隱含層,又包含卷積層、池化層和全連接層。
圖1 卷積神經(jīng)網(wǎng)絡(luò)概述Fig.1 Overview of convolutional neural networks
2012 年,Alex Krizhevsky 憑借AlexNet 贏得了ILSVRC 競賽?,F(xiàn)在卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)成為計算機視覺范疇最有影響力的一部分。本文將介紹卷積神經(jīng) 網(wǎng) 絡(luò) 中LeNet、AlexNet、VGGNet、GoogLeNet、以及ResNet幾種經(jīng)典模型在病蟲害識別中的運用。
LeNet 是整個卷積神經(jīng)網(wǎng)絡(luò)的先驅(qū)之作,是最為經(jīng)典和基礎(chǔ)的模型,它的出現(xiàn)直接確立了卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu),后來層出不窮的卷積神經(jīng)網(wǎng)絡(luò)模型大部分都是基于LeNet 模型的結(jié)構(gòu)進行改進和完善。其結(jié)構(gòu)如圖2 所示,該模型由2 個卷積層和2 個全連接層組成,包括60 000 個訓練參數(shù)。后來,Yan LeCun 等人創(chuàng)造性地添加了池化層,并提出了一種更優(yōu)化的LeNet-5 神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)結(jié)構(gòu)已成功應用于筆跡數(shù)學識別、人臉識別、手勢識別等領(lǐng)域。
圖2 LeNet 模型結(jié)構(gòu)圖Fig.2 LeNet model structure
國外,Amara 等[2]基于LeNet 神經(jīng)網(wǎng)絡(luò)模型檢測并分類了幾種香蕉葉病蟲害。Tm 等[3]提出了一種識別和檢測番茄葉片病害的方法,利用3 種預訓練的深度學習架構(gòu):AlexNet、GoogLeNet 和LeNet架構(gòu),并比較了它們相應的性能。在對這些架構(gòu)進行微調(diào)后,該模型在LeNet 架構(gòu)中表現(xiàn)出最佳性能。
在國內(nèi),張善文等[4]采用LeNet 模型識別黃瓜病害,收集并預處理了1 200 幅黃瓜病害彩色圖像,調(diào)整了RGB 顏色通道。實驗表明,到達了在90%的高精度,高于傳統(tǒng)方法。
作為最好的神經(jīng)網(wǎng)絡(luò)模型之一,在2012 年的ILSVRC 競賽中,Hinton 設(shè)計了AlexNet 模型,并且取得了比賽的冠軍。其結(jié)構(gòu)如圖3 所示,他創(chuàng)造性地使用了ReLU 激活功能來取代以前的Sigmoid功能。該網(wǎng)絡(luò)基于對經(jīng)典LenNet-5 模型和BP 網(wǎng)絡(luò)的深入理解,并將其集成到更廣泛和更深的網(wǎng)絡(luò)中,且引入了Dropout。相對于LeNet,層次更深,使圖像識別的準確率由75%以上提高到85%,進一步將圖像識別領(lǐng)域進行細分。它保持了LenNet-5 網(wǎng)絡(luò)旋轉(zhuǎn)空間不變性和權(quán)值共享的特點,從而使局部信息的集成減少了模型的參數(shù),提高了模型的適應性。它還保持了BP 神經(jīng)網(wǎng)絡(luò)的穩(wěn)定結(jié)構(gòu)和適應復雜問題的能力。卷積神經(jīng)網(wǎng)絡(luò)借助AlexNet 模型第一次在ILSVRC 競賽上獲得冠軍。由此,開啟了深度學習的廣泛應用。
圖3 AlexNet 模型結(jié)構(gòu)圖Fig.3 AlexNet model structure
國外,Mokhtar 等[5]提出了一種基于AlexNet和SqueezeNet 的用于實時機器人的遷移學習架構(gòu),以自動檢測田間或溫室中的植物病害。其中考慮了細菌性斑點病、葉霉斑病、葉螨、靶斑病、晚疫病、花葉病毒、黃葉卷曲病毒等10 個類別。AlexNet能夠提供97.22% 的準確率,而SqueezeNet 顯示出94.3%的準確率,這是因為AlexNet 比SqueezeNet大得多,隱藏層數(shù)也更多。Arya 等[6]將AlexNet 架構(gòu)應用于馬鈴薯和芒果葉病檢測?;谀P湍M和分析,觀察到AlexNet 架構(gòu)需要更多時間來訓練模型。因為與CNN 架構(gòu)相比,它的層次更加豐富。與CNN 準確率90.85%相比,AlexNet 架構(gòu)能夠達到98.33%的更高準確率。Brahim 等[7]引入AlexNet 作為一種學習算法。通過直接對原始圖像進行處理,自動提取特征,利用視覺方法了解癥狀并定位葉片中的病害區(qū)域,準確率為99.18%,可作為農(nóng)民保護番茄免受病害侵害的實用工具;Zhang 等[8]設(shè)計了一種基于AlexNet 的全局組合神經(jīng)網(wǎng)絡(luò),研究了黃瓜葉片病害的識別方法,對6 種病害的識別精度達到94.65%。
在國內(nèi),龍滿生等[9]利用AlexNet 網(wǎng)絡(luò)和遷移學習方法研究了油茶葉病害圖像的識別,并對4種油茶葉病葉和健康葉進行了識別測試,達到了96.53%的準確率。楊國國等[10]利用圖像意義分析和Grubcut 算法定位茶園中存在的蟲害,并運用AlexNet 模型實現(xiàn)對茶園蟲害的識別。孫云云等[11]利用預處理方法作為最小N×N 病害提取和超分辨率病害染色重建,結(jié)合經(jīng)典AlexNet 網(wǎng)絡(luò)模型對茶葉病害和蟲害進行鑒定。孫俊等[12]基于AlexNet模型識別了多種植物葉片疾病。
國外,Simonyan 等提出了VGG 模型,結(jié)構(gòu)如圖4 所示,它有6 種不同的網(wǎng)絡(luò)結(jié)構(gòu),每個結(jié)構(gòu)包含5 組卷積。比起AlexNet11x11 的濾波器,VGGNet 每組卷積使用3×3 的卷積濾波器,和2×2 的最大池化層,然后是3 個全連接層。在高階網(wǎng)絡(luò)的訓練過程中,可以先訓練低階網(wǎng)絡(luò),然后用從第一個網(wǎng)絡(luò)獲得的權(quán)值初始化高階網(wǎng)絡(luò),從而加快網(wǎng)絡(luò)的收斂速度。而VGGNet 比AlexNet 多了8~11 層??傊琕GGNet 不僅是濾波器更小,同時結(jié)構(gòu)更深。
圖4 VGGNet 模型結(jié)構(gòu)圖Fig.4 VGGNet model structure
Jia 等[13]使用并提出一種基于深度學習的模型,用于自動檢測番茄葉片上的病毒和害蟲。該模型使用VGG-16 與SVM 從番茄葉圖像中檢測疾病,其中VGG-16 用于提取特征,然后使用SVM 進行分類。第2 個基于VGG-16 的Fine-tuning 原始分類模型用于番茄葉片浸染分類,平均分類準確率分別為88%和89%。Kumar[14]等提出了一項關(guān)于不同的微調(diào)CNN 架構(gòu)的研究,用于識別番茄葉片中的疾病。使用包含14 903 張患病和健康番茄葉子的圖像PlantVillage 數(shù)據(jù)集在4 個著名的基于遷移學習的架構(gòu)上進行了實驗,即LeNet、Inception、ResNet-50 和VGG-16,他們相應獲得的番茄葉片病害識別分類準確率分別為96.27%、98.13%、98.65%和99.25%,發(fā)現(xiàn)VGG-16 表現(xiàn)出更好的性能;Alvaro 等[15]提出了一種基于深度學習的番茄植株蟲害檢測方法。得益于快速檢測框架和VGG-16 模型,可以成功檢測和鑒定了9 種不同種類的蟲害和疾??;Zhang 等[16]設(shè)計了一個利用深度學習技術(shù)判斷蘋果葉片致病性感染的系統(tǒng)。將采集的蘋果葉分為4 類:健康葉、感染早期葉、感染中期葉和感染晚期葉。針對傳統(tǒng)的神經(jīng)卷積網(wǎng)絡(luò)在實際應用過程中耗時長、數(shù)據(jù)量大的問題,采用VGG-16 模型對葉片進行分類,準確率達到90.54%。
在國內(nèi),蒲秀夫等[17]采用二元神經(jīng)網(wǎng)絡(luò)模型進行蟲害識別研究,并基于VGG-16 模型進行網(wǎng)絡(luò)組建。通過實驗,該模型的識別速度和準確率均優(yōu)于傳統(tǒng)模型;陳洋等[18]通過比較VGG-16 和多功能卷積神經(jīng)網(wǎng)絡(luò),檢測了21 種培養(yǎng)物和蟲害疾病。實驗結(jié)果表明,多功能卷積神經(jīng)網(wǎng)絡(luò)的分類效果明顯優(yōu)于普通的農(nóng)業(yè)分類系統(tǒng);周云成等[19]研究了番茄主要器官的檢測方法。首先通過優(yōu)化和調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),在VGGNet 上建立8 個分類模型,提取圖像功能,然后使用選擇性搜索算法生成番茄器官候選區(qū)域。番茄果實、莖和花葉的平均檢測準確率分別為81.64%、84.48%和53.94%;張建華等[20]基于VGG-16 網(wǎng)絡(luò)模型優(yōu)化了完整連接層的數(shù)量,提出了改進的VGG 網(wǎng)絡(luò)模型,可以準確識別棉花的病害,識別準確率約為89.5%。
作為2014 年ILSVRC 競賽的冠軍,GoogLeNet以6.67%的錯誤率擊敗了前VGGNet 冠軍。其結(jié)構(gòu)如圖5 所示,GoogLeNet 比VGGNet 網(wǎng)絡(luò)結(jié)構(gòu)深,有22 層。網(wǎng)絡(luò)仔細控制計算量和參數(shù),以確保分類效果的準確性。它采用了Inception 模塊,其結(jié)構(gòu)如圖5 所示,使其在參數(shù)更小的情況下仍然具有計算的高效率,特別是使用幾個具有不同的接收場的并行濾波器分別輸入信息,最后的輸出結(jié)果按深度細分,形成輸出層。此外,它取消了連接層。更改大小為1×1 的卷積層中的完全連接級別,顯著提高了訓練速率。
圖5 GoogLeNet 模型中Inception 模塊結(jié)構(gòu)圖Fig.5 Structure of Inception module in GoogLeNet model
國外,Mohanty 等[21]使用GoogLeNet 和遷移形成模型識別了多種病葉圖像,證明了卷積神經(jīng)網(wǎng)絡(luò)可以同時識別不同類型作物病害和蟲害的圖像;Ramcharan 等[22]將遷移學習應用于GoogLeNet 模型InceptionV3 的改良版本的構(gòu)筑,識別紅薯的病蟲害;Brahimi 等[23]比較了AlexNet 和GoogLeNet 在番茄14 828 葉片上檢測9 種病害和蟲害的效果。結(jié)果表明,GoogLeNet 有更好的效果。同時,從測試結(jié)果顯示,卷積神經(jīng)網(wǎng)絡(luò)模型的準確率遠遠高于傳統(tǒng)的圖像識別模型。
為了提高玉米葉片病害識別的準確性,減少網(wǎng)絡(luò)參數(shù)的數(shù)量,Zhang 等[24]提出了一種基于深度學習的GoogLeNet 和Cifar10 玉米葉片病害識別模型。通過調(diào)整參數(shù)、改變池組合、增加輸出、將單位函數(shù)修正為線性和減少分類器數(shù)量,得到了2種改進模型,用于9 種玉米葉片圖像的訓練和測試。在玉米葉片8 種病害的識別中,GoogLeNet 模型的平均識別準確率達到98.9%。改進后的方法可以提高玉米葉病診斷的準確性,減少收斂迭代次數(shù),從而有效提高模型的訓練和識別效率。
在國內(nèi),黃雙萍等[25]提出在通用視覺領(lǐng)域使用GoogLeNet 結(jié)合領(lǐng)域知識進行穗瘟病害檢測,實驗準確率達到92%,能有效識別稻瘟?。蛔T云蘭等[26]基于GoogLeNet 模型,進行了調(diào)整和構(gòu)建,用來檢測紋枯病,獲得93%的準確率。
何凱明提出的ResNet 模型是2015 年ILSVRC競賽的冠軍,錯誤率僅為3.57%,其參數(shù)量低,識別效果好。ResNet 能使網(wǎng)絡(luò)的訓練過程時間更短、速度更快,提升識別準確率,有較強的的推廣性,可以直接將該模塊插入InceptionNet 網(wǎng)絡(luò)進行優(yōu)化。ResNet 的創(chuàng)新點是該網(wǎng)絡(luò)首次結(jié)合了殘差學習思想,大幅度提高網(wǎng)絡(luò)傳輸效率,加深網(wǎng)絡(luò)深度,簡化了訓練過程,其結(jié)構(gòu)如圖6 所示,ResNet 在網(wǎng)絡(luò)結(jié)構(gòu)里直接加入的直連通道具體形。早前的網(wǎng)絡(luò)是將輸入進行非線性變換,ResNet 網(wǎng)絡(luò)按比例保持前一網(wǎng)絡(luò)的輸出,并且可以在不轉(zhuǎn)換輸入信息的情況下直接傳輸?shù)较乱粚印esNet 解決了深度CNN 模型難訓練的問題。
圖6 ResNet 模型結(jié)構(gòu)Fig.6 ResNet model structure
國外,Malathi 等[27]通過微調(diào)ResNet-50 模型的超參數(shù)和層,將遷移學習方法應用于Pest數(shù)據(jù)集。通過比較結(jié)果值,微調(diào)后的ResNet-50 模型在其他模型中產(chǎn)生了95.012%的更高精度。所得結(jié)果值描述了該模型在病蟲害分類中的有效性能。
在國內(nèi),為了提高作物病害的嚴重性分類效果,余小東[28]等提出一種基于ResNet-50 模型的CDCNNV2 算法,形成10 種作物類型的30 000 張以上的害蟲圖像,獲得了具有91.51%識別精度的蟲害重癥分類模型;俞佩仕[29]改進了一種SSD 算法,并用ResNet-50 代替VGG-16 網(wǎng)絡(luò)完成了水稻紋枯病病斑的局部識別;李善軍等[30]提出一種改進的SSD 檢測柑橘類水果的方法。特征提取網(wǎng)絡(luò)采用ResNet18,比原SSD 模型具有更高的精度和速度;通過改進ResNet,陳娟等[31]提出通過改進ResNet 識別花園害蟲;為解決傳統(tǒng)深度學習模型中參數(shù)龐大、耗時長、成本高等問題,王春山[32]等提出了一種改進ResNet 病害識別模型。
(1)由于數(shù)據(jù)源的多樣性和混沌性,需要花費大量的時間對數(shù)據(jù)進行規(guī)范化處理以滿足模型的需要。
(2)在實際采集數(shù)據(jù)時,很難采集到大量真實的病蟲害圖片,且難以保證圖片質(zhì)量,對模型的識別精度產(chǎn)生較大影響。在實驗室采集的植物病蟲害圖像數(shù)據(jù)大多過于理想化,不足以代表實際作物病蟲害情況。
(3)模型在建立以及運算過程中會產(chǎn)生大量的數(shù)據(jù),這需要大量的內(nèi)存等計算機資源。一些硬件設(shè)備結(jié)構(gòu)體積較大,應用條件較高,導致現(xiàn)場使用困難。
未來,基于卷積神經(jīng)網(wǎng)絡(luò)的病蟲害識別必定會向著輕量化發(fā)展。開發(fā)移動端識別系統(tǒng),實現(xiàn)更小的結(jié)構(gòu)體積、更快的速度、更高的效率,并在手機等移動設(shè)備上實現(xiàn)應用。該系統(tǒng)可以快速識別病蟲害,并提供防治方案,這是當前農(nóng)業(yè)病蟲害識別領(lǐng)域中智能化的必然趨勢。