李 玲 , 李艷樂 , 郭海麗 , 蘇明敏
(衡水學(xué)院,河北 衡水 053000)
為了探究農(nóng)作物病蟲害自動識別方式,課題組以蘋果樹為對象,收集病害蘋果樹葉樣本,基于卷積網(wǎng)絡(luò)實現(xiàn)蘋果樹生長階段過程中病蟲害及類型的識別。結(jié)合數(shù)據(jù)樣本以及其圖像數(shù)據(jù)特點,基于卷積神經(jīng)網(wǎng)絡(luò)技術(shù),搭建CNN模型,在本文中稱其為CNNModel,最后在完成模型設(shè)計以及訓(xùn)練之后,將其部署在計算機(jī)設(shè)備中,接入攝像頭模塊以及相關(guān)執(zhí)行控制模塊,通過實時采集圖像后進(jìn)行分類識別從而根據(jù)所識別的類型實現(xiàn)相關(guān)功能。如圖1所示。
圖1 基于CNN的蘋果樹病蟲害識別流程
首先人工收集標(biāo)注的蘋果樹葉圖像數(shù)據(jù)集,在搭建的識別模型上進(jìn)行訓(xùn)練,然后將其部署在連接了相機(jī)的后端設(shè)備中,連接的相機(jī)以一定的角度實時拍攝蘋果樹葉照片,并輸入訓(xùn)練好的模型進(jìn)行分類識別,輸出檢測結(jié)果。為了對比CNN模型的效果,引入RNN以及基于機(jī)器學(xué)習(xí)SVM模型進(jìn)行對比[1-2]。
本文數(shù)據(jù)為蘋果樹葉病蟲害圖像數(shù)據(jù),一共含有26 368張帶標(biāo)簽的蘋果樹葉圖像數(shù)據(jù),部分?jǐn)?shù)據(jù)如圖2所示。
圖2 部分?jǐn)?shù)據(jù)展示
圖中一共有5類數(shù)據(jù),Alternaria_Boltch(斑點落葉?。rown_Spot(褐斑?。?、Grey_Spot(灰斑?。osaic(花葉?。ust(銹?。槭箞D像便于輸入模型,選用線性插值方法將圖像尺寸調(diào)整為224×224,同時對圖像進(jìn)行中心化處理,使數(shù)據(jù)分布在-1到1之間,加快模型的擬合。對原始圖像數(shù)據(jù)預(yù)處理后,按7∶1∶2將數(shù)據(jù)分為訓(xùn)練集、驗證集、測試集。將訓(xùn)練集輸入模型訓(xùn)練,用驗證集監(jiān)控訓(xùn)練過程以及協(xié)助參數(shù)調(diào)整,最后用測試集評估模型的性能。
深度學(xué)習(xí)是一種機(jī)器學(xué)習(xí)方法,其算法實質(zhì)上是基于“擬合”的機(jī)制,通過大量數(shù)據(jù)在不斷的試錯和調(diào)整中,逐漸得出有效的參數(shù)。因為其構(gòu)成是基于大量的層的神經(jīng)網(wǎng)絡(luò),這些深層的網(wǎng)絡(luò)結(jié)構(gòu)可以有著大量的權(quán)重和偏差參數(shù),因此能夠?qū)ο蟮奶卣鬟M(jìn)行自動提取,不同于傳統(tǒng)需要手動提取的特征,在很多時候,深度學(xué)習(xí)能夠更加方便和準(zhǔn)確地提取到有用的特征來完成相應(yīng)的任務(wù)。深度學(xué)習(xí)是一種端到端的學(xué)習(xí)。相較于傳統(tǒng)方法,深度學(xué)習(xí)能夠?qū)W習(xí)到更高效的特征與模式。
在深度學(xué)習(xí)算法應(yīng)用中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)是最成功的領(lǐng)域之一,其中,有一維到高維(三維)的神經(jīng)網(wǎng)絡(luò)。每個維度的神經(jīng)網(wǎng)絡(luò)在不同領(lǐng)域有不一樣的表現(xiàn)效果。如圖3所示,展示了卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)。
圖3 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
基本的神經(jīng)網(wǎng)絡(luò)首先包含輸入層,然后接下來是隱藏層,最后是輸出層。輸入層為原始的數(shù)據(jù),也就是需要進(jìn)行特征提取和學(xué)習(xí)的數(shù)據(jù),隱藏層由多個神經(jīng)元組成,每個神經(jīng)元都接收一些輸入,并做一些計算,輸出是每個分類的分?jǐn)?shù),最后的輸出層為模型通過輸入經(jīng)過神經(jīng)元后輸出的結(jié)果,對于不同的任務(wù),輸出的形式略有不同[3-4]。
典型的CNN由一系列的卷積、池化和全連接(密集)層組成,實現(xiàn)了端到端的圖像處理及識別任務(wù)。在圖像分類領(lǐng)域內(nèi),深度卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)取得了十分優(yōu)秀的分類性能,但較多網(wǎng)絡(luò)層數(shù)也導(dǎo)致了網(wǎng)絡(luò)性能退化等問題的出現(xiàn)。為提升識別模型性能,可增加網(wǎng)絡(luò)深度或?qū)挾?。但一味地疊加網(wǎng)絡(luò)深度,易導(dǎo)致計算量過大等問題,在實際部署時不利于移動設(shè)備的部署。移動輕量級網(wǎng)絡(luò)MobileNet的提出解決了一般卷積神經(jīng)網(wǎng)絡(luò)隨著網(wǎng)絡(luò)深度的增加而出現(xiàn)的性能退化問題。而預(yù)訓(xùn)練的MobileNet模型優(yōu)化更容易,收斂速度更快,因此本文中基于預(yù)訓(xùn)練的MobileNet搭建蘋果樹病蟲害識別的CNN模型, MobileNet的結(jié)構(gòu)如圖4所示。
圖4 MobileNet的結(jié)構(gòu)
對于MobileNet模型的網(wǎng)絡(luò)結(jié)構(gòu)。首先,通過修改輸出層尺寸,使其能適用于本文中蘋果樹病害識別。其次,將經(jīng)過ImageNet數(shù)據(jù)集預(yù)訓(xùn)練的MobileNet權(quán)重載入進(jìn)來,遷移到本文的蘋果樹病害診斷模型中,這種做法被稱為遷移學(xué)習(xí),在傳統(tǒng)機(jī)器學(xué)習(xí)中,如果要使得分類準(zhǔn)確,不但需要其訓(xùn)練集、測試集擁有相同的特征空間,而且要服從相同的分布。但在現(xiàn)實應(yīng)用中,滿足這兩個條件的情況是很少的,這就導(dǎo)致訓(xùn)練好的分類模型泛化性不強(qiáng),不得不構(gòu)建新的模型。隨著遷移學(xué)習(xí)的發(fā)展,同時因為其不再局限于傳統(tǒng)機(jī)器學(xué)習(xí)對訓(xùn)練集以及測試集的相同分布等的要求,其作為一種跨領(lǐng)域的學(xué)習(xí)方法已被廣泛應(yīng)用于圖像分類、信號處理、語音識別等眾多領(lǐng)域[5-7]。
遷移學(xué)習(xí)方法有許多, Sinno Jialin Pan和Qiang Yang在TKDE 2010 上的文章,將遷移學(xué)習(xí)算法根據(jù)所要遷移的知識表示形式分為四大類:1)基于實例的遷移學(xué)習(xí)。源領(lǐng)域中的數(shù)據(jù)的某一部分可以通過reweighting的方法重用,用于目標(biāo)域的學(xué)習(xí)。2)基于特征表示的遷移學(xué)習(xí)。通過源領(lǐng)域?qū)W習(xí)一個好的特征表示,把知識通過特征的形式進(jìn)行編碼,并從源領(lǐng)域傳遞到目標(biāo)域,提升目標(biāo)域的任務(wù)效果。3)基于參數(shù)的遷移學(xué)習(xí)。目標(biāo)域和源領(lǐng)域的任務(wù)之間共享相同的模型參數(shù)。4)基于關(guān)系知識的遷移學(xué)習(xí)。相關(guān)領(lǐng)域之間的知識遷移,假設(shè)源領(lǐng)域和目標(biāo)域中,數(shù)據(jù)之間的關(guān)系是相同的,其中,通過基于特征表示的遷移學(xué)習(xí)構(gòu)建源領(lǐng)域與目標(biāo)域之間的潛在特征子空間減小兩者之間的差異性,縮小特征的維數(shù)并優(yōu)化精煉特征。
在大型數(shù)據(jù)集(ImageNet)上訓(xùn)練使用遷移學(xué)習(xí)的方法,將這些預(yù)訓(xùn)練模型在不同對象中學(xué)習(xí)的基本結(jié)構(gòu)用于對組織病理學(xué)圖像進(jìn)行分類,可以加快訓(xùn)練過程并加快新CNN模型的構(gòu)建。
然后訓(xùn)練該網(wǎng)絡(luò)的所有層,使得模型權(quán)重適用于本文的蘋果樹病害診斷任務(wù)。通過MobileNet的卷積層,實現(xiàn)特征提取,同時接入丟棄率為0.5的DropOut層,降低模型出現(xiàn)過擬合的概率,最后連接全連接層,輸出維度為5×1的向量結(jié)果。該結(jié)果表征了蘋果樹葉圖像反映的病害類型。對蘋果這五個病害類的識別,是深度學(xué)習(xí)中的多分類問題,對于多分類問題來說,常見的損失函數(shù)是交叉熵?fù)p失函數(shù)CE(cross entropy loss),其表達(dá)式如式(1)所示:
式中,M表示類別數(shù),在本文中M為5,表示所有類型的數(shù)量;yc為真實的只有0和1的向量;Pc為預(yù)測的結(jié)果,需要經(jīng)過激活函數(shù)將結(jié)果放縮到0~1之間,在本文中選擇softmax激活函數(shù)。
在一般的二分類任務(wù)中,常以召回率(Recall)、特異性(Specificity)、精度(Precision)、準(zhǔn)確率(Accuracy)和F1值作為二分類模型的評價指標(biāo),定義如式(2) ~(6)所示:
式中,TP為識別正確的正樣本總數(shù);TN為識別正確的負(fù)樣本總數(shù);FN為識別錯誤的正樣本總數(shù);FP表示識別錯誤的負(fù)樣本總數(shù)。在多分類任務(wù)中,分別計算每個類別的PRF,然后分別求平均得到PRF。即對多個混淆矩陣求PRF,然后求Precision、Recall,F(xiàn)1的算術(shù)平均,分別為micro-Precision、micro-Recall,micro-F1,3個指標(biāo)都是越接近1表示效果越好[8-10]。
為了探究本文中的MobileNet方法的有效性,使用python語言基于tensorflow框架搭建了兩個深度模型,即MobileNet、 RNN,同時基于傳統(tǒng)的圖像識別方法和opencv庫提取圖像的顏色及紋理特征作為樣本特征,基于scikit-learn框架搭建SVM模型。然后在同樣的硬件環(huán)境下,使用同樣的數(shù)據(jù)集訓(xùn)練這3種模型。在訓(xùn)練兩個深度學(xué)習(xí)模型時,對每個模型都訓(xùn)練20個epochs(輪次),優(yōu)化器為Adam,初始學(xué)習(xí)率為0.001;batch sizes(一次訓(xùn)練所選取的樣本量)設(shè)置為32,訓(xùn)練SVM的參數(shù)為默認(rèn)參數(shù)。MobileNet訓(xùn)練過程損失下降曲線圖如圖5所示。
圖5 訓(xùn)練過程損失下降曲線對比圖
由圖5損失下降曲線可知,MobileNet在訓(xùn)練過程中損失都明顯下降,這一定程度上說明了深度學(xué)習(xí)方法的有效性,為了消除隨機(jī)的影響,因此重復(fù)進(jìn)行5次實驗,求出平均準(zhǔn)確度及標(biāo)準(zhǔn)差,結(jié)果如表1所示。
表1 測試結(jié)果統(tǒng)計量化表示
根據(jù)表1的數(shù)據(jù)可知,本文基于MobileNet提出的蘋果樹病害識別模型的平均準(zhǔn)確度分?jǐn)?shù)遠(yuǎn)高于其余兩種方法,并且對比3個模型測試結(jié)果的標(biāo)準(zhǔn)差,也能說明MobileNet模型在本文數(shù)據(jù)中使得檢測模型更加穩(wěn)定,也有更好的擬合效果。訓(xùn)練及驗證說明了模型在訓(xùn)練過程中表現(xiàn)效果較好,但還不能充分地說明本模型的優(yōu)越性,因此在測試數(shù)據(jù)中,引入RPF評價指標(biāo),從而更加有力地證明本模型的優(yōu)良效果,在導(dǎo)入測試集后,3個模型對應(yīng)的評價指標(biāo)如表2所示。
表2 評價指標(biāo)對比結(jié)果
如表2所示,其中基于MobileNet的蘋果樹病害識別模型的micro-Precision為0.99、micro-Recall為0.98、micro-F1值為0.99, 綜合3項性能指標(biāo)與其余模型進(jìn)行對比可知,MobileNet模型的性能要優(yōu)于其余2種模型。因此可以認(rèn)為在學(xué)習(xí)率為0.001、優(yōu)化器為adam、batch_size為16的情況下MobileNet在本文數(shù)據(jù)中分類性能比其他模型要好。
1)本文基于卷積神經(jīng)網(wǎng)絡(luò)模型,以及MobileNet,修改輸出的全連接層尺寸,搭建了MobileNet蘋果樹葉分類模型,實現(xiàn)Alternaria_Boltch(斑點落葉?。rown_Spot(褐斑?。?、Grey_Spot(灰斑病)、Mosaic(花葉?。?、Rust(銹?。┻@5種蘋果樹病害的識別。平均準(zhǔn)確率達(dá)到了0.99的分?jǐn)?shù),micro-Precision、micro-Recall、micro-F1指標(biāo)分別達(dá)到了0.99、0.98、0.99,綜合評價這幾個模型,本模型能用于蘋果樹葉病害識別系統(tǒng)的視覺模型開發(fā)及部署。
2)本文所使用的數(shù)據(jù)集包含的類別數(shù)較小,因此代表性不強(qiáng),同時本文也僅僅是針對蘋果樹病害進(jìn)行了識別,未充分考慮其他農(nóng)作物的綜合情況,因此未來將考慮收集更多的農(nóng)作物實況數(shù)據(jù),制定更多的指標(biāo),實現(xiàn)更高精度的分類識別[11-13],從而為開展嵌入式實時農(nóng)作物病蟲害視覺系統(tǒng)應(yīng)用研究提供參考,以推動我國農(nóng)業(yè)自動化建設(shè)的發(fā)展。