楊長磊 李彩林 王佳文 孫延坤 蘇本婭
(山東理工大學(xué)建筑工程學(xué)院,山東 淄博 255000)
農(nóng)作物病害是農(nóng)業(yè)領(lǐng)域面臨的主要挑戰(zhàn)之一,每年的農(nóng)作物病害加劇了糧食供應(yīng)的短缺[1,2]。因此,快速有效地檢測農(nóng)作物病蟲害是采取相關(guān)防治措施及時止損的第1步。農(nóng)作物病害的鑒別方式與途徑有多種,以前多依靠農(nóng)業(yè)專家或當(dāng)?shù)刂参锉Wo部門。
隨著人工智能和計算機視覺的飛速發(fā)展,研究者選擇計算機視覺技術(shù)[3]作為開發(fā)自動檢測農(nóng)作物病蟲害的基礎(chǔ)。在2017年,Carranza等人[4]在農(nóng)業(yè)領(lǐng)域首次使用深度學(xué)習(xí)技術(shù),特別是在植物病害識別領(lǐng)域[5]。Kawasaki等人[6]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的黃瓜葉部病害識別系統(tǒng),在瓜黃斑病毒、西葫蘆黃花葉病毒和非病害類之間的鑒別準(zhǔn)確率達到94.9%。Sanyal等人[7]利用水稻葉片圖像的顏色紋理特征識別水稻褐斑病和稻瘟病。
通過對以上研究方法的總結(jié),本文提出一種基于MobileNet網(wǎng)絡(luò)[8]改進而來的M25Net算法,并結(jié)合深度遷移學(xué)習(xí)[9]開發(fā)農(nóng)作物病害種類的識別,以實現(xiàn)農(nóng)作物病害的實時、全自動檢測。
本試驗采用由Plant Village網(wǎng)站提供的農(nóng)作物病害公開數(shù)據(jù)集,共包含55448張標(biāo)注圖像。整個數(shù)據(jù)集共有14個物種、25種病害和1類背景圖像。按照農(nóng)作物病害類型劃分,共有38類,以葉片為例,如圖1所示。
為了使模型具有更強的泛化能力,本文采用數(shù)據(jù)增強技術(shù)[10],對現(xiàn)有圖像進行隨機旋轉(zhuǎn)、水平和垂直鏡面翻轉(zhuǎn)等操作。同時,本文中所有的圖像樣本統(tǒng)一為224×224像素。
M25Net模型是基于MobileNet改進而來,為了實現(xiàn)快速準(zhǔn)確識別模型,本文通過深度倍增器將MobileNet的網(wǎng)絡(luò)深度壓縮至原來的25%,MobileNet的具體結(jié)構(gòu)與原理可參照Howand A G等的研究[8]。
因為本文的數(shù)據(jù)集中某些病害種類的圖像數(shù)量不多,最少的農(nóng)作物病害種類的圖像數(shù)量僅有152張圖像。為了使模型加速收斂并防止出現(xiàn)過擬合現(xiàn)象,本文選擇使用遷移學(xué)習(xí)技術(shù)。在本試驗中,使用在ImageNet[11]上預(yù)訓(xùn)練的MobileNet模型的權(quán)重。ImageNet是一個龐大的自然圖像數(shù)據(jù)庫,有超過1500萬幅圖像與2萬多個類別。遷移在ImageNet上預(yù)訓(xùn)練得到的權(quán)重將會對本試驗的模型訓(xùn)練有極大幫助。使用初始的MobileNet網(wǎng)絡(luò)并沒有達到預(yù)期結(jié)果,所以本試驗保留MobileNet的特征提取部分,改變其中分類層來提高識別的精確度。
在模型改進中,使用Fine-tuning算法,其主要思想是調(diào)整預(yù)訓(xùn)練模型的部分頂層特征提取器以達到適應(yīng)目標(biāo)任務(wù)的目的。具體改動步驟如下。
2.2.1 特征提取器
使用深度倍增器將M25Net模型的特征提取器壓縮至原來的25%,并利用ImageNet數(shù)據(jù)集進行訓(xùn)練,得到預(yù)訓(xùn)練權(quán)重。將預(yù)訓(xùn)練模型的特征提取器的底層權(quán)重遷移到M25Net模型的特征提取器中,讓特征提取器的底層權(quán)重不隨訓(xùn)練更新。讓特征提取器的頂層部分隨訓(xùn)練自動更新。
2.2.2 分類器
添加BatchNormalization層和Dense層,Dense層輸出維度為39,使用Softmax作為激活函數(shù)。BatchNormalization和Dense層構(gòu)成分類器。
試驗平臺使用的電腦操作系統(tǒng)為Ubuntu18.04,運行內(nèi)存16GB,配備的GPU是NVIDIA旗下的GTX1080Ti,顯存為11GB。使用Python3.6.5與Tensorflow2.0。
每次訓(xùn)練選取的樣本數(shù)量為16,如果樣本數(shù)量大于16,訓(xùn)練模型時會報錯。一共進行50次迭代,初始學(xué)習(xí)率為0.001,當(dāng)經(jīng)過2次迭代后,模型性能沒有提升,之后學(xué)習(xí)率會降低,最低的學(xué)習(xí)率為0.00001。具體參數(shù)如表1所示。
表1 模型的訓(xùn)練參數(shù)
為了驗證M25Net模型對農(nóng)作物病害類型的識別能力,在相同參數(shù)設(shè)置下將本模型與采用遷移學(xué)習(xí)技術(shù)的MobileNet模型進行比較,驗證改進后的M25Net模型的效果。I同時與采用遷移學(xué)習(xí)技術(shù)的nceptionV1[12]、InceptionV2[13]、InceptionV3[14]、ResNet 50[15]、ResNet 101、ResNet 152原始模型進行比較。
如圖2所示,本文對采用遷移學(xué)習(xí)技術(shù)的所有模型的驗證集準(zhǔn)確率進行了統(tǒng)計。在相同的試驗條件下,本文提出的M25Net模型的驗證集準(zhǔn)確率高達99.67%,比采用遷移學(xué)習(xí)技術(shù)的MobileNet模型的驗證集準(zhǔn)確率高1.89%。M25Net模型相較于其它采用遷移學(xué)習(xí)技術(shù)的模型也有3.07%~4.86%的提升。
綜合上述結(jié)果可看出,M25Net模型能夠很好地完成農(nóng)作物病害類型識別的任務(wù),具有泛用性與高精度,這使得此模型在農(nóng)作物病害識別領(lǐng)域能夠成為一個非常實用、方便的輔助工具。
針對農(nóng)作物病害圖像樣本難收集的問題,本文采用遷移學(xué)習(xí)方式并結(jié)合深度學(xué)習(xí)提出了一種改進型的MobileNet模型—M25Net,主要結(jié)論如下。
通過采用遷移學(xué)習(xí)加載預(yù)先訓(xùn)練好的權(quán)重到目標(biāo)模型,再將Fine-tuning算法應(yīng)用到模型,使得模型更加適用于Plant Village數(shù)據(jù)集,在精度上較MobileNet原始模型提升了1.89%。說明Fine-tuning算法能夠提高模型的識別準(zhǔn)確率。
在同樣的試驗條件下,與InceptionV1、InceptionV2、InceptionV3、ResNet 50、ResNet 101、ResNet 152原始模型進行了對比試驗,本文提出的M25Net模型的精度提高了3.07%~4.86%。因此,該模型具有更好的泛用性與高精度,其綜合性能更優(yōu)。