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