龔 安,井曉萌
(中國(guó)石油大學(xué)(華東) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 青島 266580)
中國(guó)作為農(nóng)業(yè)大國(guó),農(nóng)業(yè)生產(chǎn)在中國(guó)經(jīng)濟(jì)發(fā)展中發(fā)揮著重要的作用,農(nóng)作物是保障人民生活順利運(yùn)轉(zhuǎn)的重要資源,然而農(nóng)作物病害卻會(huì)嚴(yán)重影響農(nóng)作物的產(chǎn)量。農(nóng)作物病害的識(shí)別通常通過(guò)直接觀(guān)察植物葉片進(jìn)行癥狀判斷,但是這種方法對(duì)于沒(méi)有專(zhuān)業(yè)知識(shí)的普通農(nóng)民來(lái)說(shuō)具有一定的困難,因而會(huì)導(dǎo)致病害誤診或者錯(cuò)過(guò)最佳治理時(shí)間。因此,運(yùn)用深度學(xué)習(xí)[1]的方法幫助農(nóng)民識(shí)別診斷病害圖像,盡早檢測(cè)農(nóng)作物的健康狀況并及時(shí)發(fā)現(xiàn)病害癥狀至關(guān)重要。
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在圖像分類(lèi)和識(shí)別中取得了顯著的研究成果[2-3]。因此,國(guó)內(nèi)外專(zhuān)家學(xué)者也將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于農(nóng)作物的病害診斷中,并取得了不錯(cuò)的研究成果。在國(guó)外,將圖像處理技術(shù)應(yīng)用在農(nóng)作物病害識(shí)別方面的研究相對(duì)較早,且有著完善的圖像數(shù)據(jù)庫(kù)。Ramcharan等人[4]運(yùn)用遷移學(xué)習(xí)訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò),對(duì)木薯的三種疾病和兩種病蟲(chóng)害進(jìn)行識(shí)別,利用Inception v3模型訓(xùn)練,通過(guò)多次對(duì)單個(gè)模型進(jìn)行調(diào)參取得了不錯(cuò)的結(jié)果,并將其利用的卷積神經(jīng)網(wǎng)絡(luò)模型在移動(dòng)端使用,這對(duì)幫助農(nóng)民對(duì)農(nóng)作物病害的進(jìn)行識(shí)別有著極大的現(xiàn)實(shí)意義。Too等[5]對(duì)14種植物38種不同的類(lèi)別進(jìn)行植物疾病識(shí)別,其采用目前比較先進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào),通過(guò)不斷加深網(wǎng)絡(luò)模型層數(shù)來(lái)提高網(wǎng)絡(luò)性能,網(wǎng)絡(luò)模型包括VGG16[6]、InceptionV4[7]、RensNet50[8]、RensNet101、RensNet152、DenseNet121[9]網(wǎng)絡(luò)結(jié)構(gòu)。Khamparia等人[10]利用卷積神經(jīng)網(wǎng)絡(luò)和自動(dòng)編碼器組合設(shè)計(jì)了一種檢測(cè)農(nóng)作物葉片病害的混合方法,在小樣本上對(duì)3種作物和5種作物病害進(jìn)行訓(xùn)練,在訓(xùn)練時(shí)采用2×2和3×3不同的卷積濾波器,最后在小樣本數(shù)據(jù)集上取得了非常不錯(cuò)的效果。相對(duì)傳統(tǒng)的圖像識(shí)別方法,深度學(xué)習(xí)方法準(zhǔn)確率更高,檢測(cè)速度快,國(guó)內(nèi)的研究人員也將目光投向了利用深度學(xué)習(xí)來(lái)解決農(nóng)作物病害識(shí)別的問(wèn)題。楊晉丹等人[11]利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)草莓葉部白粉病害進(jìn)行識(shí)別,設(shè)計(jì)了一種混合池化的CNN-9模型,其首先設(shè)計(jì)由3種不同網(wǎng)絡(luò)深度與3種不同尺寸的卷積核交叉組合的網(wǎng)絡(luò)結(jié)構(gòu),然后選擇4種采樣層構(gòu)建方法,經(jīng)多次訓(xùn)練測(cè)試后,最終對(duì)草莓白粉病病害識(shí)別達(dá)到了98.61%的正確識(shí)別率。劉永波等人[12]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到自然環(huán)境下玉米10種常見(jiàn)病害的識(shí)別上,應(yīng)用Triplet loss雙卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)圖像特征,使用sift算法提取圖像紋理細(xì)節(jié),最后通過(guò)SoftMax對(duì)圖像進(jìn)行分類(lèi),最后取得了90%的準(zhǔn)確率。蔣豐千等人[13]采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)生姜的炭疽病、姜瘟病、根結(jié)線(xiàn)蟲(chóng)病和白星病進(jìn)行研究分析達(dá)到了96%的識(shí)別率,并設(shè)計(jì)了人機(jī)交互界面,通過(guò)可視化界面提高了系統(tǒng)使用的便捷性。
結(jié)合上述研究發(fā)現(xiàn),目前國(guó)內(nèi)外的農(nóng)作物病害識(shí)別還存在一些問(wèn)題:(1)通過(guò)不斷增加單一網(wǎng)絡(luò)模型的深度來(lái)提高準(zhǔn)確率,往往會(huì)導(dǎo)致出現(xiàn)訓(xùn)練難以收斂的情況;(2)對(duì)單一模型不斷地進(jìn)行調(diào)參,從而增加了時(shí)間成本;(3)多數(shù)針對(duì)單一農(nóng)作物的病害進(jìn)行識(shí)別。針對(duì)這些問(wèn)題,文中在現(xiàn)有國(guó)內(nèi)外農(nóng)作物病害識(shí)別研究的基礎(chǔ)上,對(duì)原有卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化,采用Stacking[14]融合算法對(duì)蘋(píng)果、櫻桃、玉米、柑橘、馬鈴薯等十種農(nóng)作物的物種-病害-程度進(jìn)行細(xì)粒度分類(lèi)識(shí)別。采用多模型融合的方法,提高識(shí)別的準(zhǔn)確率,優(yōu)化識(shí)別效率,從而得到高質(zhì)量的檢測(cè)效果,彌補(bǔ)農(nóng)民專(zhuān)業(yè)知識(shí)的不足。
文中所使用的基礎(chǔ)網(wǎng)絡(luò)模型都是深度卷積神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)是一種多層神經(jīng)網(wǎng)絡(luò),包括輸入層、卷積層、池化層、全連接層、輸出層。每層是由多個(gè)二維平面(即特征映射)組成,而每個(gè)平面由多個(gè)獨(dú)立的神經(jīng)元組成,通過(guò)不同的卷積核提取圖像的局部特征,將該局部特征組合成更高層的全局特征,從而完成圖像從局部到整體的映射過(guò)程。圖1為常見(jiàn)卷積網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 卷積網(wǎng)絡(luò)結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)通常是采用卷積層對(duì)輸入的數(shù)據(jù)進(jìn)行特征提取,卷積層內(nèi)部包含很多個(gè)卷積核,組成卷積核的每個(gè)元素都對(duì)應(yīng)一個(gè)權(quán)重系數(shù)和一個(gè)偏差量(bias vector),類(lèi)似于一個(gè)前饋神經(jīng)網(wǎng)絡(luò)的神經(jīng)元(neuron)。卷積層內(nèi)每個(gè)神經(jīng)元都與前一層中位置接近的區(qū)域的多個(gè)神經(jīng)元相連,區(qū)域的大小取決于卷積核的大小。卷積核在工作時(shí),會(huì)有規(guī)律地掃過(guò)輸入特征,在感受野內(nèi)對(duì)輸入特征做矩陣元素乘法求和并疊加偏差量。只有對(duì)輸入圖像進(jìn)行準(zhǔn)確、全面的特征提取才能確保分類(lèi)識(shí)別的正確性。但是隨著CNN網(wǎng)絡(luò)層數(shù)的不斷增加,訓(xùn)練難度逐漸增大,為了降低訓(xùn)練成本,文中使用ImageNet預(yù)訓(xùn)練好的模型,固定底層模型參數(shù),修改頂層的全連接層,分別使用4個(gè)模型進(jìn)行特征提取。
為提取能更好地表達(dá)語(yǔ)義信息的特征,文中在深度卷積網(wǎng)絡(luò)的基礎(chǔ)上,將殘差學(xué)習(xí)的思想應(yīng)用到農(nóng)作物病害特征的提取上。
圖2是殘差學(xué)習(xí)模塊的示意圖,殘差學(xué)習(xí)模塊可以作為神經(jīng)網(wǎng)絡(luò)的一部分也可作為多個(gè)部分。假設(shè)該部分卷積神經(jīng)網(wǎng)絡(luò)的輸入為x,要擬合的函數(shù)映射(即
圖2 殘差學(xué)習(xí)示意圖
輸出)為H(x),可以定義另外一個(gè)殘差映射為F(x)=H(x)-x,則原始的函數(shù)映射H(x)可以表示為F(x)+x。He的實(shí)驗(yàn)表明:優(yōu)化殘差映射F(x)比優(yōu)化原始映射H(x)要比較容易。
F(x)+x在前饋神經(jīng)網(wǎng)絡(luò)中可以理解為捷徑(short cut)x與主徑F(x)的加和。然而捷徑并沒(méi)有因此而引入額外的參數(shù),并不影響原始神經(jīng)網(wǎng)絡(luò)的復(fù)雜度,整體神經(jīng)網(wǎng)絡(luò)依然可使用現(xiàn)有的深度學(xué)習(xí)進(jìn)行反饋訓(xùn)練求解。
為提高網(wǎng)絡(luò)的表示能力,文中引入SE[15](squeeze-and-excitation)架構(gòu)單元嵌入到現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中。SE的思想是在2017年由Jie Hu等人提出,網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)損失去學(xué)習(xí)特征權(quán)重,自適應(yīng)地校準(zhǔn)通道的特征響應(yīng),通過(guò)給予有效的特征更大的權(quán)重而抑制無(wú)效或者效果小的特征,從而得到更好的效果。SE模塊是一個(gè)子結(jié)構(gòu),圖3是將SE模塊嵌入到ResNet網(wǎng)絡(luò)的結(jié)構(gòu)圖。
圖3 SE-ResNet結(jié)構(gòu)
常見(jiàn)的損失函數(shù)有很多,在處理多分類(lèi)任務(wù)時(shí)通常采用交叉熵?fù)p失函數(shù),其表達(dá)式為:
其中,yi表示期望輸出,pti表示模型對(duì)樣本的實(shí)際輸出。
然而在文中使用的數(shù)據(jù)集各類(lèi)別間圖片數(shù)量存在不均衡的問(wèn)題,類(lèi)別的不均衡問(wèn)題會(huì)影響各類(lèi)別結(jié)果的輸出,故使用改進(jìn)的交叉熵?fù)p失函數(shù)—focal loss[16]。為了解決類(lèi)別不均衡問(wèn)題,何凱明團(tuán)隊(duì)在2016年提出focal loss損失函數(shù),給交叉熵?fù)p失函數(shù)添加了一個(gè)預(yù)測(cè)概率Pt和超參數(shù)γ,公式可以表達(dá)為:
FL(Pt)=-(1-Pt)rlog(Pt)
該損失函數(shù)通過(guò)減少易分樣本的權(quán)重,使模型在訓(xùn)練時(shí)更專(zhuān)注難分類(lèi)的樣本,從而解決農(nóng)作物病害分類(lèi)的不均衡問(wèn)題。
傳統(tǒng)的優(yōu)化算法不是將學(xué)習(xí)率設(shè)置為常數(shù)就是根據(jù)訓(xùn)練次數(shù)調(diào)節(jié)學(xué)習(xí)率,因此極大忽視了學(xué)習(xí)率其他變化的可能性。然而學(xué)習(xí)率對(duì)網(wǎng)絡(luò)模型的性能有著非常大的影響,因此需要采取一系列策略來(lái)更新學(xué)習(xí)率,從而提高網(wǎng)絡(luò)訓(xùn)練速度。Adam[17],AdaGrad,RMSProp等算法都是常見(jiàn)的自適應(yīng)學(xué)習(xí)率優(yōu)化算法。文中選用Adam算法,Adam是一種將Momentum算法和RMSProp算法結(jié)合起來(lái)使用的算法,通過(guò)Momentum利用類(lèi)似于移動(dòng)指數(shù)加權(quán)平均的方法來(lái)對(duì)網(wǎng)絡(luò)的參數(shù)進(jìn)行平滑處理,讓梯度的擺動(dòng)幅度變得更小,網(wǎng)絡(luò)收斂速度更快,同時(shí)利用RMSProp算法對(duì)梯度計(jì)算微分平方加權(quán)平均數(shù),消除擺動(dòng)幅度大的方向,用來(lái)修正拍動(dòng)幅度,使得各個(gè)維度的擺動(dòng)都較小。
XGBoost[18](extreme gradient boosting)是由華盛頓大學(xué)的陳天奇博士提出的分布式梯度提升樹(shù)算法,由于其較高的準(zhǔn)確率和出色的性能,越來(lái)越多的人將其應(yīng)用在工業(yè)界和Kaggle等數(shù)據(jù)競(jìng)賽中。XGBoost算法是在傳統(tǒng)的GBDT[19]算法基礎(chǔ)上進(jìn)行改進(jìn)的,GBDT算法采用一階導(dǎo)數(shù)信息,而XGBoost算法同時(shí)用到了一階導(dǎo)數(shù)和二階導(dǎo)數(shù),對(duì)損失函數(shù)做二階泰勒展開(kāi),有利于梯度下降的更快,XGBoost算法還在目標(biāo)函數(shù)之外加入了正則項(xiàng),控制模型的復(fù)雜性,降低了出現(xiàn)過(guò)擬合的可能性。XGBoost可以處理高維度特征,并有著處理速度快的優(yōu)點(diǎn),所以文中在Stacking算法的第二層選用XGBoost元學(xué)習(xí)器。該算法的思想就是通過(guò)不斷進(jìn)行特征分裂來(lái)生成樹(shù),每次添加樹(shù)的過(guò)程就是學(xué)習(xí)一個(gè)新的函數(shù)來(lái)擬合上次預(yù)測(cè)的殘差的過(guò)程。如果要預(yù)測(cè)一個(gè)種類(lèi)的得分,就是根據(jù)這個(gè)種類(lèi)的特征,在訓(xùn)練的每棵樹(shù)中落到對(duì)應(yīng)的一個(gè)葉子節(jié)點(diǎn)上,這樣每個(gè)葉子節(jié)點(diǎn)就會(huì)對(duì)應(yīng)一個(gè)得分,最后將每棵樹(shù)對(duì)應(yīng)的得分加起來(lái)就得到這個(gè)種類(lèi)的預(yù)測(cè)值。
模型融合也被稱(chēng)為集成學(xué)習(xí)(ensemble learning),主要思路是先通過(guò)一定的規(guī)則生成多個(gè)學(xué)習(xí)器,再采用集成策略進(jìn)行模型組合,最后綜合判斷從而輸出最終結(jié)果。融合多個(gè)模型可以彌補(bǔ)單個(gè)模型的不足,從而達(dá)到比訓(xùn)練單個(gè)模型更好的分類(lèi)結(jié)果,并且比單模型具有更高的穩(wěn)定性。常見(jiàn)的集成方法有投票法、平均法、Boosting、Bagging、Stacking,文中采用基于Stacking的集成學(xué)習(xí)方式,以下是Stacking算法的偽代碼。
輸入:訓(xùn)練數(shù)據(jù)集D={(x1,y1),(x2,y2),…,(xm,ym)};次級(jí)分類(lèi)器L1,…,LT;元學(xué)習(xí)器L
過(guò)程1:學(xué)習(xí)次級(jí)分類(lèi)器
Fort=1,2,…,T:
ht=Lt(D)
End;
過(guò)程2:構(gòu)建新的數(shù)據(jù)集用于預(yù)測(cè)
Fort=1,2,…,m:
End;
過(guò)程3:學(xué)習(xí)元分類(lèi)器
學(xué)習(xí)H(Dh)
輸出:集成學(xué)習(xí)分類(lèi)器H
首先,為了防止發(fā)生過(guò)擬合,文中采用5-折交叉驗(yàn)證法,將農(nóng)作物病害原始訓(xùn)練數(shù)據(jù)集隨機(jī)劃分成5個(gè)大小基本相等的子集。
其次,采用Resnet101、RestNext50、SE-ResNet50、SE-RestNext50這4種網(wǎng)絡(luò)模型作為Stacking算法的基礎(chǔ)模型,對(duì)每一份訓(xùn)練數(shù)據(jù),都用剩余4份數(shù)據(jù)來(lái)訓(xùn)練模型,預(yù)測(cè)出該份數(shù)據(jù)的結(jié)果,這樣經(jīng)過(guò)5次交叉檢驗(yàn),將得到5個(gè)預(yù)測(cè)結(jié)果,然后分別對(duì)原始測(cè)試集進(jìn)行預(yù)測(cè),將幾個(gè)結(jié)果加權(quán)平均。
最后,在這四個(gè)基礎(chǔ)模型完成交叉驗(yàn)證過(guò)程后,根據(jù)它們輸出的樣本預(yù)測(cè)結(jié)果來(lái)構(gòu)建新的預(yù)測(cè)結(jié)果,作為第二層元學(xué)習(xí)器XGBoost輸入,由XGBoost進(jìn)行訓(xùn)練后得到最終預(yù)測(cè)結(jié)果。
文中采用了Resnet101、RestNext50[20]、SE-ResNet50、SE-RestNext50這4種網(wǎng)絡(luò)來(lái)提取圖像特征,然后將其預(yù)測(cè)結(jié)果作為Stacking算法第二層元學(xué)習(xí)器XgBoost的輸入,應(yīng)用于農(nóng)作物病害識(shí)別領(lǐng)域。文中流程如圖4所示,輸入為農(nóng)作物病害圖像,這幾種網(wǎng)絡(luò)分別從輸入的農(nóng)作物病害圖像中檢測(cè)提取出病害特征,然后應(yīng)用SoftMax分類(lèi)器對(duì)圖像進(jìn)行分類(lèi),最后將預(yù)測(cè)結(jié)果作為XgBoost的輸入,得到最終的分類(lèi)結(jié)果。
圖4 算法流程
實(shí)驗(yàn)環(huán)境如表1所示。
表1 實(shí)驗(yàn)環(huán)境
文中所用數(shù)據(jù)集來(lái)自AI Challenger(https://challenger.ai/competition/pdr2018),共有47 393張圖片,數(shù)據(jù)集分為訓(xùn)練集70%,驗(yàn)證集10%,測(cè)試集20%,為方便結(jié)果對(duì)比,使用原驗(yàn)證集作為測(cè)試集。該數(shù)據(jù)集按照物種-病害-程度分為61種不同的類(lèi)別,10個(gè)物種(包括蘋(píng)果、櫻桃、玉米、葡萄、柑桔、桃、辣椒、馬鈴薯、草莓、番茄葉子圖片),27種病害(包括蘋(píng)果黑星病、蘋(píng)果灰斑病、蘋(píng)果雪松銹病、櫻桃白粉病、玉米灰斑病、玉米銹病、玉米葉斑病、玉米花葉病毒病、葡萄黑腐病、葡萄輪斑病、葡萄褐斑病、柑桔黃龍病、桃瘡痂病、辣椒瘡痂病、馬鈴薯早疫病、馬鈴薯晚疫病、草莓葉枯病、番茄白粉病、番茄瘡痂病、番茄早疫病、番茄晚疫病菌、番茄葉霉病、番茄斑點(diǎn)病、番茄斑枯病、番茄紅蜘蛛損傷、番茄黃化曲葉病毒病、番茄花葉病毒病,其中24個(gè)病害分一般和嚴(yán)重兩種程度),3種病害程度(分為健康、一般、嚴(yán)重)。其中番茄瘡痂病一般(第44類(lèi))和番茄瘡痂病嚴(yán)重(第45類(lèi))訓(xùn)練集中分別只有1張圖片,驗(yàn)證集分別有1、0張圖片,所以為了提高準(zhǔn)確率,在圖像識(shí)別的過(guò)程中將44類(lèi),45類(lèi)刪除。
深度學(xué)習(xí)是一種基于大數(shù)據(jù)的方法,數(shù)據(jù)的規(guī)模越大、質(zhì)量越高就越好,模型也能夠擁有更好的泛化能力,然而在實(shí)際采集數(shù)據(jù)的時(shí)候,往往很難覆蓋全部的場(chǎng)景,數(shù)據(jù)增強(qiáng)是擴(kuò)充數(shù)據(jù)樣本規(guī)模的一種有效的方法,為了避免網(wǎng)絡(luò)過(guò)擬合現(xiàn)象,提升整體性能,文中對(duì)訓(xùn)練集中所有圖片進(jìn)行了隨機(jī)旋轉(zhuǎn)、上下翻轉(zhuǎn)、隨機(jī)裁剪的數(shù)據(jù)增強(qiáng)操作,測(cè)試集不做任何處理。
所用評(píng)價(jià)指標(biāo)公式如下:
其中,N(c)表示判斷正確的個(gè)數(shù),N(t)表示總個(gè)數(shù)。
先使用前面所提到的4種深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)農(nóng)作物葉子病害及病害程度圖像進(jìn)行識(shí)別,表2是實(shí)驗(yàn)所用參數(shù)。首先對(duì)訓(xùn)練集進(jìn)行5-折交叉驗(yàn)證,將數(shù)據(jù)隨機(jī)劃分為5份,其中4份作為訓(xùn)練集,1份作為測(cè)試集,重復(fù)五次實(shí)驗(yàn),再用測(cè)試結(jié)果對(duì)原測(cè)試集進(jìn)行預(yù)測(cè)。在訓(xùn)練時(shí),為了節(jié)省時(shí)間和提高分類(lèi)性能,實(shí)驗(yàn)運(yùn)用遷移學(xué)習(xí),將低層次模型參數(shù)固定,在訓(xùn)練時(shí)不改變這些層的參數(shù),修改頂層的全連接層的參數(shù)為59類(lèi)進(jìn)行訓(xùn)練。表3展示的就是在測(cè)試集上不同網(wǎng)絡(luò)模型的農(nóng)作物病害種類(lèi)及其程度的識(shí)別結(jié)果。為方便結(jié)果記錄,將Resnet101記為M1,RestNext50記為M2,SE-ResNet50記為M3,SE-RestNext50記為M4。
表2 實(shí)驗(yàn)所用參數(shù)
表3 不同網(wǎng)絡(luò)模型病害種類(lèi)及程度實(shí)驗(yàn)結(jié)果
從表3中可以看出,SE-RestNext50在單獨(dú)使用時(shí)比其他網(wǎng)絡(luò)提供了更好的性能,帶來(lái)了更高的準(zhǔn)確率。那么在對(duì)模型進(jìn)行融合時(shí),可以?xún)?yōu)先考慮使用SE-RestNext50網(wǎng)絡(luò)與其他網(wǎng)絡(luò)組合。實(shí)驗(yàn)的最后,采用Stacking方法將模型預(yù)測(cè)結(jié)果輸入第二層元學(xué)習(xí)器XgBoost,從而得到最終的預(yù)測(cè)結(jié)果。對(duì)比單個(gè)卷積神經(jīng)網(wǎng)絡(luò)模型,為了實(shí)現(xiàn)更高的識(shí)別準(zhǔn)確率,文中將網(wǎng)絡(luò)采用排列組合的方式對(duì)單個(gè)網(wǎng)絡(luò)模型進(jìn)行融合。模型融合實(shí)驗(yàn)結(jié)果如表4所示。
表4 模型融合實(shí)驗(yàn)結(jié)果
表4說(shuō)明基于模型融合的方法相比單模型有一定的優(yōu)勢(shì),彌補(bǔ)了單網(wǎng)絡(luò)模型的不足,提高了識(shí)別準(zhǔn)確率。尤其是M1+M2+M3+M4組合,即將Resnet101,RestNext50,SE-ResNet50,SE-RestNext50這四種網(wǎng)絡(luò)組合比性能最好的單模型在準(zhǔn)確率上提高了0.26%,并且從一定程度上來(lái)說(shuō),模型融合相比單網(wǎng)絡(luò)模型結(jié)構(gòu)來(lái)說(shuō)具有較好的穩(wěn)定性和泛化能力。
針對(duì)現(xiàn)有農(nóng)作物病害識(shí)別時(shí)單一模型準(zhǔn)確率不高、且多是對(duì)單一物種的不同病害的識(shí)別,提出了一種將多種主流神經(jīng)網(wǎng)絡(luò)融合的方法,還借鑒使用了focal loss損失函數(shù)解決了數(shù)據(jù)分類(lèi)不均衡的問(wèn)題。通過(guò)融合后的模型對(duì)農(nóng)作物病害及程度識(shí)別最高準(zhǔn)確率達(dá)到了87.19%,基于這種高水平的性能,很明顯卷積神經(jīng)網(wǎng)絡(luò)通過(guò)分析簡(jiǎn)單的葉子圖像非常適合于農(nóng)作物病害的自動(dòng)檢測(cè)和診斷。但是文中所用數(shù)據(jù)多為簡(jiǎn)單背景并且數(shù)據(jù)量小,所以擴(kuò)大現(xiàn)有數(shù)據(jù)庫(kù)以納入更多種類(lèi)的植物物種和疾病應(yīng)成為下一個(gè)緊迫的任務(wù);另一個(gè)關(guān)鍵問(wèn)題是未來(lái)在該領(lǐng)域驗(yàn)證該方法的工作應(yīng)旨在開(kāi)發(fā)基于移動(dòng)設(shè)備的應(yīng)用程序,使農(nóng)民能夠快速監(jiān)測(cè)疾病情況。