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