王大慶,祿 琳,于興龍,耿麗麗,任志鵬*
(1.黑龍江省農(nóng)墾經(jīng)濟研究所,哈爾濱 150030;2.黑龍江省農(nóng)墾科學院,哈爾濱 150030;3.二道河農(nóng)場,黑龍江 佳木斯 154000)
玉米是世界上重要糧食作物和工業(yè)原料,穩(wěn)定產(chǎn)量對糧食安全、農(nóng)民增收和國民經(jīng)濟具有重要意義,病害是降低玉米質量和產(chǎn)量直接因素。常見玉米病害達十幾種,病發(fā)處多為葉部、穗部和根部,其中以葉部大斑病、銹病及灰斑病為主。玉米葉部病害識別是現(xiàn)階段智慧農(nóng)業(yè)重點發(fā)展領域,快速、準確識別葉部病害,對玉米病害防治具有重要意義。
病害識別本質為圖像分類任務,傳統(tǒng)機器學習“特征提取+分類器”模式已被深度學習技術中的卷積神經(jīng)網(wǎng)絡(CNN)取代。CNN 在不同作物的表觀病害識別任務效果良好,對葉部、莖部病害、蟲害均具有較高的準確率[1-4]。早期研究注重網(wǎng)絡架構與訓練方法的調整,如調整超參數(shù)、簡化模型,尤其是通過跳躍連接、空間卷積和較短隱藏層連接的CNN[5-6]。近年來,數(shù)據(jù)集的重要性逐漸受到關注,尤其是基于真實環(huán)境采集的數(shù)據(jù)集與合理的數(shù)據(jù)增強方法[7-8]。通過調整CNN架構[9],構建完備數(shù)據(jù)集,進行合理預處理和增強(如分割、去除背景等),優(yōu)化訓練方式等方法可有效增強CNN模型性能[10]。
研究表明,CNN 病害識別方法存在環(huán)境魯棒性問題[11]。作物病害發(fā)病隨機性強,大多數(shù)研究不具備采集真實環(huán)境數(shù)據(jù)條件,其訓練樣本數(shù)據(jù)均來自于受控條件或公用數(shù)據(jù)集,數(shù)據(jù)集背景簡單,規(guī)模小,僅能通過數(shù)據(jù)增強方式堆積樣本量。特定作物、特定病害的數(shù)據(jù)收集更困難。經(jīng)訓練得到的深度學習模型存在泛化能力差、適應性差、抗干擾能力弱等問題[12]?;谔镩g環(huán)境識別病害,提升有限數(shù)據(jù)的利用率成為研究重點。
遷移學習可借助現(xiàn)有領域知識解決目標領域學習問題,源領域到目標領域差距越小,獲得的模型精度就越高[13]。由于源領域數(shù)據(jù)集規(guī)模較大,模型得到充分訓練,具備較強特征提取能力,降低目標領域樣本數(shù)量要求。因此遷移學習資源利用率高,節(jié)省人工標注成本,解決了因目標領域樣本匱乏導致的過擬合、模型泛化能力低等問題。針對玉米病害識別問題,Xu 等采用遷移學習法解決模型在玉米病害數(shù)據(jù)集上的過擬合;Chen等基于ImageNet 預訓練模型,在玉米、水稻作物數(shù)據(jù)集上開展遷移學習,均獲得較高識別精度,其中玉米病害識別模型的本地數(shù)據(jù)集遷移時,平均準確率僅降低2.64%[14-16]。Yin等基于ImageNet的8種預訓練模型,在辣椒病、蟲害數(shù)據(jù)集上分別取得85.6%和93.62%準確率[17]。
盡管ImageNet 預訓練模型已取得一定效果,但仍存在域遷移問題。源數(shù)據(jù)集與目標領域數(shù)據(jù)集相似程度決定遷移學習效果,如果領域間相關性差,自源領域學習得到的特征提取參數(shù)難以適應目標領域,即域遷移問題。此外,深層卷積神經(jīng)網(wǎng)絡所需的計算能力依賴高性能硬件,但在農(nóng)業(yè)設備向移動端發(fā)展的過程中,需要權衡網(wǎng)絡深度、參數(shù)量應與識別精度,因此輕量級卷積神經(jīng)網(wǎng)絡如MobileNet、EfficientNet B0 逐漸進入病害識別領域[18-20]。CNN在植物葉片疾病診斷中的應用仍存在一定局限性。如何在解決環(huán)境魯棒性問題的前提下減少訓練成本,在完成架構創(chuàng)新的同時平衡模型精度、規(guī)格與效率,將更具實踐意義的模型部署于移動端農(nóng)機設備是現(xiàn)階段研究重點。
基于上述問題,本研究基于深度遷移學習理論,提出一種兩階段的遷移學習訓練方法:一是將不同層數(shù)EfficientNet 在ImageNet 數(shù)據(jù)集上的預訓練模型遷移至公共實驗室條件下采集的Plant Village 數(shù)據(jù)集上,進行模型微調以解決域遷移問題;二是將PlantVillage 預訓練模型遷移至自主構建、真實田間采集的玉米葉部病害數(shù)據(jù)集上訓練,解決過擬合和小樣本問題,微調后模型在預留的預測數(shù)據(jù)集上測試,同時訓練CNN模型與Ef?ficientNet 進行對比試驗。實現(xiàn)田間復雜背景下對玉米葉片大斑病、灰斑病以及銹病的智能識別。
本研究涉及多個數(shù)據(jù)集,首先在ImageNet 上充分訓練預訓練模型,其次遷移至Plant Village 數(shù)據(jù)集微調,最后在本地自建玉米葉片數(shù)據(jù)集上訓練并預測。本文使用的公開植物病害數(shù)據(jù)集Plant Village 包含14 種植物葉部病害,共有39 個類別[21]。其中38 個類別為實驗室條件下采集的葉片圖片,另外1個類別為背景圖片,不含葉片或植物主體,多為人類社會或城市復雜背景。Plant Vil?lage 圖像數(shù)據(jù)按類別存放在39 個文件夾內(nèi),每個文件夾代表一個標簽,共計61 486 張圖片,該數(shù)據(jù)集已通過圖像翻轉、伽馬校正、噪聲注入、PCA顏色增強、旋轉和縮放等六種增強技術進行增廣。參考Mohanty 等訓練經(jīng)驗,以4∶1 比例將Plant Vil?lage 數(shù)據(jù)集劃分為訓練集和測試集,分別包含49 193張圖片和12 293張圖片[22]。Plant Village 數(shù)據(jù)集的數(shù)據(jù)樣例如圖1所示。
圖1 Plant Village數(shù)據(jù)集數(shù)據(jù)樣例Fig.1 Sample images of augmented Plant Village dataset
本研究自行構建的玉米葉部病害數(shù)據(jù)集來自黑龍江省肇東市玉米試驗田,使用攝像頭拍攝,分辨率為3 024×4 032,拍攝時間為早晨、中午、下午的不同時刻;手機拍攝的原始圖片被裁剪成300×300固定大小圖片,確保葉片主體清晰,葉片病斑明顯,真實背景可見。最終得到2 628張圖片,涵蓋灰斑病、銹病、大斑病以及健康四種玉米葉片狀態(tài)。從數(shù)據(jù)集中抽取10%的數(shù)據(jù)作為預測集,剩余90%按照4∶1 比例劃分為訓練集和測試集。訓練集和測試集用于模型訓練和測試過程,預測集用于評估模型的識別精度和性能。本地構建數(shù)據(jù)集的詳細情況見表1,數(shù)據(jù)集樣例如圖2 所示,a~d 分別為灰斑病、銹病、大斑病和健康葉片。
表1 本地構建的玉米葉部病害數(shù)據(jù)集詳細情況Table 1 Details of maize leaf disease dataset
圖2 玉米葉部病害數(shù)據(jù)集數(shù)據(jù)樣例Fig.2 Sample images of maize leaf disease dataset
考慮到不同CNN 模型輸入大小不同,所有數(shù)據(jù)在進入模型前,均被調整為相應大?。?24×224,299×299等),在訓練前對圖片進行在線數(shù)據(jù)增強,包括數(shù)值歸一化、旋轉(旋轉20°、40°)、平移(水平方向、垂直方向)、縮放、翻轉(上下翻轉、左右翻轉)、錯切等。數(shù)據(jù)增強可提高模型泛化能力和魯棒性。
本試驗所用設備為搭載有Intel?CoreTMi9-9900K@3.6GHz×16 的CPU 處理器、RTX 3090 24G顯存顯卡、32G內(nèi)存以及2.5T存儲空間的深度學習工作站,顯卡驅動版本號為455.45.01,安裝CUDA版本為11.1,cuDNN 版本號為8005。操作系統(tǒng)為64 位Ubuntu 20.04 LTS,使用的編程語言為python 3.7.9,使用Tensorflow-gpu框架下的keras2.4.3在虛擬環(huán)境中完成所有網(wǎng)絡結構編寫、網(wǎng)絡模型訓練和模型性能測試。
本文與EfficientNet[23]對比的經(jīng)典CNN 模型共有6 種:VGG19,ResNet50,InceptionV3,Dense Net201,MobileNet 以及MobileNetV2,上述經(jīng)典網(wǎng)絡的詳細結構不再贅述。VGG19 為VGG 網(wǎng)絡中的一種經(jīng)典結構,包含16 個卷積層和3 個全連接層,比VGG16 減少3 個卷積層。結構簡潔且可通過加深網(wǎng)絡結構使性能不斷提升,同時擁有大量參數(shù)。
2015 年ILSVRC-2015 分類任務冠軍ResNet 參考VGG19 網(wǎng)絡,引入短路機制,加入殘差單元,解決深層網(wǎng)絡中的退化梯度彌散和訓練集精度下降問題。Inception V3為谷歌公司開發(fā)“Deep Learn?ing Evolutionary Architectures”系列的第三個版本,包含因子分解功能,在不降低網(wǎng)絡效率情況下減少連接數(shù)和參數(shù)。DenseNet 設計基本思路與ResNet 一致,建立前面所有層與后面層的密集連接(Dense connection),網(wǎng)絡名稱也由此而來。此外,DenseNet 通過特征在各通道上的連接實現(xiàn)特征重用(Feature reuse),使其在參數(shù)和計算成本更少的情形下實現(xiàn)比ResNet 更優(yōu)的性能。2017年4 月,谷歌提出專注于在移動設備上的輕量級神經(jīng)網(wǎng)絡MobileNetV1(即MobileNet),MobileNetV1把VGG 中的標準卷積層換成深度可分離卷積,MobileNetV2 則加入1×1 卷積核升維,引入短路(Shortcut)且去掉ReLU 激活函數(shù),改為Linear 激活函數(shù)。對于移動端CNN 模型,其主要設計思路在于模型結構設計和模型壓縮。ShuffleNet 和Mo?bileNet 通過設計更高效的網(wǎng)絡結構實現(xiàn)模型變小和變快。
自2012 年以來,ImageNet 數(shù)據(jù)集中模型較復雜,分類任務精度提高,但模型計算負載高。而EfficientNet模型以66 M參數(shù)準確率達到84.4%,屬于最先進模型之一。EfficientNet 為一組CNN 模型,由8個介于B0和B7之間的模型組成,隨著模型數(shù)量增加,計算參數(shù)數(shù)量不會大量增加且準確度顯著提高。EfficientNet在縮小模型的同時,通過均勻縮放深度、寬度和分辨率實現(xiàn)更高效結果,復合縮放的第一步為搜索網(wǎng)格,找到固定資源約束下基線網(wǎng)絡的不同縮放維度之間關系,確定深度、寬度和分辨率尺寸的合適比例因子,再將基線網(wǎng)絡縮放至目標網(wǎng)絡。EfficientNet主要構建模塊為MBConv,由一個先擴展后壓縮通道的層組成,使用深度可分離卷積,有效減少參數(shù)數(shù)量。本研究所用網(wǎng)絡模型入口尺寸及參數(shù)量見表2,圖3為Effi?cientNet B0網(wǎng)絡模型示意圖。
表2 網(wǎng)絡模型入口尺寸及參數(shù)量Table 2 Detail parameters of CNN models
圖3 EfficientNet B0網(wǎng)絡模型Fig.3 Architecture of EfficientNet B0
遷移學習為一種機器學習技術,指在源領域學習,為解決特定任務將知識應用于目標領域[24]。深度學習中使用頻率最高的方法為基于模型的遷移學習。這一方法將訓練于源領域數(shù)據(jù)集的CNN模型凍結全部或部分參數(shù),應用在目標領域數(shù)據(jù)集,解決目標領域訓練數(shù)據(jù)不足、訓練效率低等問題。凍結大部分參數(shù),訓練小部分參數(shù)的遷移學習訓練方法被稱為微調。遷移學習效果取決于源、目標領域及任務的相似程度,否則會產(chǎn)生域遷移問題。本研究中將ImageNet預訓練模型去除全連接層后保存各層權重,在Plant Village 數(shù)據(jù)集上進行微調,此為第一次遷移。將Plant Village預訓練模型去除全連接層后保存各層權重,在本地自建玉米病害數(shù)據(jù)集上凍結全部層進行遷移,即第二次遷移。第一次遷移解決域遷移問題,減少無關模式的干擾;第二次遷移解決訓練效率低、資源利用率低以及過擬合導致的精度下降等問題。本文工作流程圖如圖4所示。
圖4 兩階段遷移學習工作流程Fig.4 Flow of two-stage transfer learning
在第一次遷移過程中,學習率(Learning rate,lr)設定10-3~10-6,設置學習率衰減(Learning rate decay),即當損失值(交叉熵,Cross-entropy)減少速度變慢時,學習率降為原來的二分之一,耐心值設置為5;當學習率最小,損失值在連續(xù)10個迭代次數(shù)內(nèi)增加或不變時,設置訓練早停(Early stop?ping),此時訓練停止并保存最優(yōu)模型,記錄損失值收斂到最小的訓練迭代次數(shù)(Epoch);允許模型最大迭代次數(shù)(Epoch_max)為100;本試驗環(huán)境允許單次訓練批處理數(shù)目(Batch_size)為32,訓練集共49 193張圖片,經(jīng)過1 538個步長(Steps)后完成一輪epoch。batch 訓練過程不作為參考,僅記錄每輪epoch結束后準確率、損失值變化。鑒于ReLU激活函數(shù)存在“死神經(jīng)元”現(xiàn)象,采用效果優(yōu)于ReLU的Mish[25]激活函數(shù),其表達式見式(1)。選擇adam優(yōu)化器(Optimizer)。
小數(shù)據(jù)集上訓練深度CNN 時容易過擬合,Dropout 通過阻止特征檢測器共同作用防止過擬合,提高神經(jīng)網(wǎng)絡性能[26]。第一次遷移過程中設置Dropout 參數(shù)為0.5,即每個訓練批次均忽略50%的特征檢測器(50%隱層節(jié)點值為0),減少特征檢測器(隱層節(jié)點)的相互依賴,使模型不依賴局部特征,增強泛化性。
在第二次遷移過程中,學習率設定10-4~10-7,設置學習率衰減和訓練早停,減少學習率衰減耐心值到5,早停耐心值到3,epoch_max 和batch_size 保持不變。訓練集共1 892 張圖片,經(jīng)過60 個步長(steps)后完成1 個epoch。使用Mish 激活函數(shù)和adam優(yōu)化器,設置Dropout參數(shù)為0.5。
考慮到PlantVillage 數(shù)據(jù)集內(nèi)有39 個分類,以混淆矩陣作為分類評判指標存在困難,同時有誤導性,本文在兩次遷移過程中均使用準確度(Accu?racy,下文中簡稱為Acc,其余指標同理)、靈敏度(Sensitivity,Sen)、特異性(Specificity,Spe)、精準度(Precision,Pre)以及F1分數(shù)(F1 score,F(xiàn)1)作為模型的評價指標。準確度為所有樣本中正確分類樣本的比率;靈敏度為所有真實陽性中正確預測陽性的比率,體現(xiàn)模型對陽性樣本的識別能力;特異性為所有真陰性中正確預測陰性的比率,體現(xiàn)模型對陰性樣本的識別能力;精準度為所有陽性識別中正確預測陽性的比例,體現(xiàn)模型對陽性樣本的識別精準度。F1 分數(shù)用于評估模型性能,是基于精準度與靈敏度計算得到的指標,用于衡量模型識別能力。
上述指標除F1 分數(shù)外,均可通過真陽性(TP)、真陰性(TN)、假陽性(FP)和假陰性(FN)四個指標進行計算,計算公式如式(2)~(6)所示。
在第一次遷移學習過程中,本文將ImageNet預訓練模型在Plant Village 數(shù)據(jù)集上進行遷移學習并微調。根據(jù)2.5 節(jié)模型評價指標,表3 給出第一次遷移中模型平均準確度、敏感性、特異性、精準度以及F1 分數(shù),下劃線表示最優(yōu)模型與最優(yōu)性能。如表3所示,在第一次遷移學習過程中,所有模型準確度和特異性均超過99%,表現(xiàn)較為理想,但各模型靈敏度和精確度值存在較大差異。說明各模型對負樣本區(qū)分能力較強,考慮到樣本分布不平衡導致準確度失去參考價值,因此本階段不以準確度為主要模型優(yōu)劣判別指標。表3 中EfficientNet B4 模型具有最高靈敏度、最高精確度和最高F1 分數(shù),為全部ImageNet 預訓練模型中最優(yōu)模型。除EfficientNet B4 模型外,EfficientNet B5模型和Inception V3 模型為第一階段遷移學習過程中top3 模型,B4 比B5 模型平均靈敏度高1.37%,B5 模型比Inception V3 模型的平均靈敏度僅高0.07%,可見top3模型性能差距小。VGG19平均靈敏度僅為89.08%,F(xiàn)1分數(shù)為0.8960,效果最差。
表3 ImageNet預訓練模型遷移學習表現(xiàn)(第一階段)Table 3 Performance of ImageNet pretrained models(The first stage)(%)
本文與Chen 等研究結果一致,ImageNet 預訓練模型具有強大特征提取能力[16]。對比Ferentinos等[27]以Plant Village為基礎構建的數(shù)據(jù)集(包含25種植物,58種類別,共計87 848張圖片)進行病害識別時,經(jīng)典CNN 最高達到99.53%的準確率,可見訓練數(shù)據(jù)充足與否影響準確率。理論上層數(shù)更深,結構更復雜的網(wǎng)絡可更好提取特征,同時需要更多訓練數(shù)據(jù)。因此,遷移學習訓練方法能夠有效提高資源利用率,降低模型過擬合風險。但本階段遷移訓練中的VGG19 模型靈敏度較低,即對正例的區(qū)分度不夠,與以往網(wǎng)絡結構性能研究結論相符,但可能出現(xiàn)域遷移問題。理論上,Ima?geNet 預訓練模型具有更好的粗粒度識別能力,但細粒度識別能力可能較差。因此,在表3中,靈敏度較高模型具備較好的“葉片+病斑”細粒度特征提取能力,即對相似葉片、相似病斑區(qū)分能力較好。
對EfficientNet B0至B7模型,各模型準確度和特異性接近,無顯著差別。隨著層數(shù)加深,各模型靈敏度和精確度呈先增后降趨勢,在B4 模型達到最大靈敏度、最大精確度以及最大F1 分數(shù)。反映各模型特征提取能力和細粒度識別能力的變化趨勢,表明B4模型為該階段最優(yōu)模型。
B0、B1、B2 模型與MobileNet 和MobileNet V2參數(shù)量相似,本研究將對比其與MobileNet 系列網(wǎng)絡。在本階段遷移學習試驗中,作為應用在移動端的輕量級網(wǎng)絡,MobileNet 和MobileNet V2 模型性能不亞于深層網(wǎng)絡模型。參照表2 中模型參數(shù)量,B0 模型參數(shù)量略多于MobileNet 和MobileNet V2模型,但B0模型達到95.99%的靈敏度和0.9634的F1分數(shù),綜合性能優(yōu)于除Inception V3外其他模型??梢夿0 模型性能已超越MobileNet 系列模型,具備代替輕量級網(wǎng)絡的潛力。
在本階段遷移學習過程中,通過對比不同深度EfficientNet、經(jīng)典CNN 網(wǎng)絡以及輕量級網(wǎng)絡Im?ageNet 預訓練模型在PlantVillage 數(shù)據(jù)集上表現(xiàn),各模型負樣本識別能力較好,考慮正樣本識別能力以及識別精準度,EfficientNet B4 模型識別不同植物葉片、不同病害效果最好,B4 模型參數(shù)量介于深層網(wǎng)絡和輕量級網(wǎng)絡之間,為本階段最優(yōu)識別模型。EfficientNetB0 模型參數(shù)量雖略多于本試驗中MobileNet 系列網(wǎng)絡,但識別能力更優(yōu),可完全替代輕量級網(wǎng)絡模型。總體而言,第一次遷移學習使模型獲得ImageNet 預訓練模型提取粗粒度特征的能力,擴充訓練數(shù)據(jù)量,同時避免直接進行“ImageNet-Local”遷移學習時,樣本量較少導致的域遷移問題。
在2.1 節(jié)模型訓練、測試階段基礎上,本文將EfficientNet B4 模 型、 Inception V3 模 型 以 及ResNet50 模型在本地自建玉米病葉數(shù)據(jù)集上進行第二次遷移訓練和預測,即“PlantVillage-Local”遷移過程。本地玉米病葉數(shù)據(jù)集中,2365 張圖片數(shù)據(jù)被劃分為訓練集和測試集,參與模型訓練和測試過程,剩余263 張圖片數(shù)據(jù)為2.1 節(jié)提及的預測集,用于評估模型識別性能。表4給出玉米病葉數(shù)據(jù)集上所有模型的平均準確度、敏感性、特異性、精準度以及F1 分數(shù),下劃線標記的值表示最佳評價指標。
表4 Plant Village預訓練模型遷移學習表現(xiàn)(第二階段)Table 4 Performance of Plant Village pretrained models(The second stage)(%)
與表3相比,表4 中所有模型的性能指標均有提升。主要原因如下:首先,相對于第一次遷移,本階段的源領域和目標領域更為相似,細粒度特征提取效果更好,增強模型性能;其次,參考Too等[28]在未進行數(shù)據(jù)增強的Plant Village數(shù)據(jù)集(14 種作物,26 種疾病,共計54 306 幅圖像)上使用ImageNet 預訓練模型遷移學習識別病害的經(jīng)驗,除VGG16 外其他模型均達到90%以上識別準確率,而本階段試驗使用經(jīng)過數(shù)據(jù)增強和數(shù)據(jù)增廣的Plant Village 數(shù)據(jù)集,對模型性能產(chǎn)生積極影響;最后,考慮到本地數(shù)據(jù)集規(guī)模較小,且均為玉米葉片,類間差距較大,病斑區(qū)分度高,而第一階段的Plant Village 數(shù)據(jù)集類間差距小,病斑區(qū)分度低,識別難度下降,導致精度升高。
與第一階段類似,本階段所有模型的準確度和特異性均達到較高水平,但敏感性和精確度存在較大差距。EfficientNet B4 模型在本階段訓練中敏感性、精確度和F1 分數(shù)均為最優(yōu),因此為兩階段遷移學習過程中表現(xiàn)最優(yōu)的網(wǎng)絡模型。
EfficientNet B4、Inception V3 和ResNet50 模型為第二階段遷移學習過程中的top3 模型,且B4 模型比Inception V3 模型的平均靈敏度高0.36%,In?ception V3 模型比ResNet50 模型的平均靈敏度僅高0.03%,因此本階段遷移學習中top3模型性能差距較小。相比于上階段遷移學習,VGG19 的平均靈敏度上升至93.76%,F(xiàn)1 分數(shù)增至0.9381,對比之下仍為最差模型。除VGG19 外,其余模型的靈敏度均超過96%,F(xiàn)1 分數(shù)均在0.97 以上,試驗結果表明,相比于ImageNet 預訓練模型,PlantVillage上的預訓練模型在玉米病葉數(shù)據(jù)集上具有更好識別效果。
參與本階段遷移學習的8個EfficientNet模型依然保持與第一階段類似的模型特點,即靈敏度和精確度的先升高后降低,B4 模型為EfficientNet 模型中最優(yōu)模型。B0 模型達到97.81%的靈敏度和0.9780 的F1 分數(shù),綜合性能優(yōu)于除Inception V3、ResNet50外的其他模型。兩階段試驗中的Efficient?Net模型變化趨勢與Atila等的結論相似,本試驗考查B0、B1、B2模型取代輕量級網(wǎng)絡的潛力,且綜合Sen、Pre 及F1 分數(shù)后,發(fā)現(xiàn)B0 模型性能優(yōu)于MobileNet系列網(wǎng)絡[20]。
在兩階段的遷移學習過程中,EfficientNet B4模型的五個評價指標均為最優(yōu)。尤其在第二次遷移中,以99.10%的靈敏度、99.05%的精確度以及0.9908的F1分數(shù)超越所有模型。此外,Efficient?Net B4模型參數(shù)量為19.467M,介于DenseNet201和MobileNet 之間。綜合看來,EfficientNet B4 模型對復雜背景下玉米病葉識別效果最佳。
在上述模型訓練、測試階段基礎上,本文分別繪制EfficientNet B4模型、Inception V3模型以及ResNet50模型在預測集上混淆矩陣,如圖5中a、b和c 所示。橫、縱坐標軸分別用0、1、2、3 代表灰斑病、銹病、大斑病以及健康葉四種狀態(tài)。評估預測集圖像數(shù)據(jù)發(fā)現(xiàn),三種模型均能夠對健康葉片實現(xiàn)100%的正確分類,但灰斑病與大斑病之間存在一定程度的誤識別。對EfficientNet B4 模型而言,銹病葉片可能被誤判為灰斑病,Inception V3 模型更傾向于將其誤判為大斑病,ResNet50 模型則判別正確。試驗結果表明,采用Mish 激活函數(shù)兩階段遷移學習訓練方法,能夠提升模型細粒度和粗粒度識別能力,解決遷移學習中存在的域遷移和樣本不足所導致的過擬合問題。
圖5 Top3模型在預測集上的混淆矩陣Fig.5 Confusion matrix of Top3 models on prediction dataset
對于小規(guī)模玉米病葉數(shù)據(jù)集,兩階段遷移學習方法可解決域遷移問題和小樣本問題,且混用實驗室圖片數(shù)據(jù)和真實圖片數(shù)據(jù)可增強模型的環(huán)境魯棒性。EfficientNet B4 模型參數(shù)量少于經(jīng)典深層網(wǎng)絡,識別性能也超過先進模型。與輕量級網(wǎng)絡參數(shù)量近似的B0 模型在性能上優(yōu)于先進模型,可完全作為移動端模型部署于農(nóng)機。對小規(guī)模數(shù)據(jù)集下葉部病害識別,本研究提供有效的訓練方法和應用實例,后續(xù)將擴充病葉數(shù)據(jù)集內(nèi)的作物種類與病害類別,尤其是收集早期病斑細粒度識別樣本和復雜背景病斑樣本。此外,從服務器端模型到移動端農(nóng)業(yè)設備應用存在成本問題。