国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于知識蒸餾的輕量級番茄葉部病害識別模型

2021-07-23 02:49湯文亮黃梓鋒
江蘇農(nóng)業(yè)學(xué)報 2021年3期
關(guān)鍵詞:注意力機制

湯文亮 黃梓鋒

摘要: 目前,基于遷移學(xué)習(xí)診斷農(nóng)作物病害已經(jīng)成為一種趨勢,然而大多數(shù)研究使用的模型參數(shù)眾多,占用了大量設(shè)備空間并且推理演算耗時較長,導(dǎo)致對存儲和計算資源有嚴格限制的設(shè)備無法利用深度神經(jīng)網(wǎng)絡(luò)的優(yōu)勢。為此,本研究以PlantVillage數(shù)據(jù)集中的番茄病害樣本為研究對象,基于條件卷積及通道注意力機制,提出1種新穎的輕量級模型,同時使用知識蒸餾法指導(dǎo)模型訓(xùn)練,在保證模型性能的前提下壓縮模型大小。將AlexNet、VGG16、GoogLeNet、ResNet50及DenseNet121進行對比,并利用類激活圖(CAM)可視化模型分類決策的圖像區(qū)域。結(jié)果表明,經(jīng)過蒸餾的自定義模型可以精準定位番茄病葉的發(fā)病區(qū)域,在測試集中的平均識別準確率達97.6%,不僅優(yōu)于其他模型,而且模型大小僅為4.4 M。

關(guān)鍵詞: 番茄病害;識別模型;條件卷積;注意力機制;知識蒸餾

中圖分類號: TP391.41 文獻標(biāo)識碼: A 文章編號: 1000-4440(2021)03-0570-09

Lightweight model of tomato leaf diseases identification based on knowledge distillation

TANG Wen-liang, HUANG Zi-feng

(School of Information Engineering, East China Jiaotong University, Nanchang 330013, China)

Abstract: At present, crop disease diagnosis based on transfer learning has become a trend. However, models used in most studies had a large number of parameters, which occupied a lot of equipment space and took much time for inference. The above conditions make devices with strict restrictions on storage and computing resources cannot take advantage of deep neural networks. Thus, tomato disease samples from the PlantVillage dataset were used as the research object in this study, a novel lightweight model based on conditional convolution and channel attention mechanism was proposed. At the same time, knowledge distillation method was used to train the custom model, which could greatly reduce the model volume while ensuring the performance of the model. The AlexNet, VGG16, GoogLeNet, ResNet50 and DenseNet121 were compared, and the class activation map (CAM) was used to visualize the image area in the model classification decision. The results showed that the distilled user-defined model could accurately locate the diseased tomato leaves. The average recognition accuracy in the test set was 97.6%, which was higher than other models and the model size was only 4.4 M.

Key words: tomato disease;identification model;conditional convolution;attention mechanism;knowledge distillation

中國番茄的常年種植面積達6×104hm2,對經(jīng)濟發(fā)展和提高農(nóng)戶收入具有重要意義[1]。然而,由于番茄易受多種病蟲害威脅,導(dǎo)致其產(chǎn)量降低歉收[2]。傳統(tǒng)的人工鑒定農(nóng)作物病害的方式依賴菜農(nóng)或指導(dǎo)專家的經(jīng)驗,容易出現(xiàn)錯診、漏診,導(dǎo)致農(nóng)民錯過防控病害的最佳時間[3]。目前,人們更偏向于選擇高效精準的圖像識別技術(shù)來診斷農(nóng)作物病害。早期智能化診斷農(nóng)作物病害的方式需要人工針對特定病害提取病斑紋理、形狀及顏色等建立特征向量,再利用支持向量機法[4]、隨機森林法[5]、K-均值法[6]等機器學(xué)習(xí)算法進行分類。然而,這類方法過度依賴農(nóng)業(yè)疾病領(lǐng)域的專家知識,每種病害識別都需要進行仔細而復(fù)雜的特征工程,前期工作繁重且模型泛化能力差。而在過去幾年,深度學(xué)習(xí)(Deep learning, DL)的快速發(fā)展[7]引起了大量研究人員的關(guān)注。DL通過分層體系結(jié)構(gòu)從原始數(shù)據(jù)中自動學(xué)習(xí)有助于解決問題的表示形式[8],其中卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network, CNN)是一種學(xué)習(xí)效率很高的深度算法[9],被廣泛應(yīng)用于農(nóng)作物病害診斷中。

趙立新等[10]先利用PlantVillage數(shù)據(jù)集訓(xùn)練改進的AlexNet模型,再使用棉花病蟲害圖像微調(diào)模型參數(shù),其平均準確率達到97.16%。黃雙萍等[11]以田間采集的1 467株水稻稻穗為研究對象拍攝高光譜圖像,使用GoogLeNet得出在驗證集上的最高預(yù)測準確率為92%。許景輝等[12]采集600幅玉米大斑病、銹病和健康葉片圖像,通過微調(diào)VGG16的全連接層后,對3種復(fù)雜田間背景下的玉米葉片平均識別準確率為95.33%。龍滿生等[13]基于遷移學(xué)習(xí),利用AlexNet對4種油茶病葉及健康葉片進行識別,平均識別準確率為96.53%。Prabhakar等[14]將PlantVillage數(shù)據(jù)集中的番茄早疫病圖像按照感染程度劃分為早、中、晚3個階段,再使用ResNet101進行病害識別,結(jié)果顯示,該模型在測試集上的平均準確率達94.60%。Mohanty等[15]使用AlexNet和GoogLeNet識別PlantVillage數(shù)據(jù)集中的26種農(nóng)作物疾病,其最高準確率達99.35%。郭小清等[16]構(gòu)建了基于AlexNet的多感受野識別模型,對番茄葉部病害的平均識別準確率為92.70%。

雖然目前利用CNN識別農(nóng)作物病害的研究已取得較好成果,然而這些研究大多直接采用遷移學(xué)習(xí)方式,雖然模型性能優(yōu)異但參數(shù)眾多,如AlexNet的參數(shù)量有6.0×107個,VGG16的參數(shù)量更是多達1.38×108個,需要消耗大量設(shè)備資源,不能滿足實際應(yīng)用中的部署需求。此外,深度學(xué)習(xí)過程并不透明,即使模型在測試集上取得較高準確率,也不代表模型學(xué)習(xí)到具有區(qū)分度的特征。針對上述問題,本研究結(jié)合條件參數(shù)化卷積[17]及注意力[18]機制,提出1種番茄葉部病害識別模型,同時利用知識蒸餾[19]訓(xùn)練模型,使用梯度加權(quán)類激活[20]映射的方式生成熱力圖以及可視化模型分類決策的圖像區(qū)域。該輕量化模型可以在移動設(shè)備上進行部署,菜農(nóng)根據(jù)設(shè)備中模型的識別結(jié)果精準施用農(nóng)藥,有效防止病害,從而降低經(jīng)濟損失。

1 材料與方法

1.1 數(shù)據(jù)篩選及預(yù)處理

番茄病害樣本均來自PlantVillage數(shù)據(jù)集[21],包含細菌性斑點病、早疫病、晚疫病、葉霉病、斑枯病、二斑葉螨病、輪斑病、花葉病、黃曲葉病9種番茄病葉及1種健康番茄葉片,詳見圖1。原始數(shù)據(jù)集中各類樣本數(shù)量分布不均,如黃曲葉病有5 357張圖像樣本,而葉霉病、花葉病圖像樣本數(shù)量分別僅為952張、373張,因此模型學(xué)習(xí)的權(quán)重將傾向于黃曲葉病。為了避免該問題,使用水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)及亮度增強3種數(shù)據(jù)增強方法將葉霉病、花葉病樣本數(shù)量各擴充至1 000張;其余8種葉樣本經(jīng)過人工篩選后各種類型保留1 000張,總計10 000張圖像。試驗隨機劃分6 400張圖像作為訓(xùn)練集擬合模型、1 600張圖像作為驗證集評估模型的性能,并觀察模型指標(biāo)的變化趨勢以監(jiān)測模型是否過擬合,將剩余2 000張圖像作為測試集,以評估模型的泛化能力。試驗時將分辨率為256×256的圖像裁剪成224×224,并作歸一化及標(biāo)準化處理。

結(jié)合圖1可以得出,本研究主要有3個難點:(1)番茄病葉的病斑表征相似,不同類別間僅有細微差異,而不同病葉樣本的姿態(tài)及拍攝角度不同,在類別內(nèi)存在較大差異,屬于細粒度圖像分類問題,分類難度大;(2)部分番茄病葉病斑的顏色與陰影相近,容易干擾模型的判別決策;(3)同種病害的圖像背景相似,容易誤導(dǎo)模型將背景作為判別依據(jù)。

1.2 病葉識別模型

本研究基于條件卷積(Conditionally parameterized convolutions, Cond Conv)和通道注意力模塊(Squeeze-and-excitation block, SE block)構(gòu)建1種輕量級模型CondConvSENet,該模型包含1個輸入層、5個卷積結(jié)構(gòu)、2個全連接層及1個輸出層。首先,輸入層接收分辨率為224×224的番茄病葉彩色圖像作為輸入。然后,卷積結(jié)構(gòu)逐層抽取輸入圖像的高級語義特征,該結(jié)構(gòu)包含Cond Conv、批量正則化、ReLU激活函數(shù)、SE block及最大池化。最后,將卷積的輸出張量轉(zhuǎn)化為1維向量,輸入全連接層中融合學(xué)習(xí)到的深度特征,并在輸出層得到10元素向量,各個元素表示模型對輸入進行預(yù)測后分配給各個類別的概率。試驗前先構(gòu)建基礎(chǔ)模型再進行改進,基礎(chǔ)模型結(jié)構(gòu)如圖2所示,各個卷積結(jié)構(gòu)的詳細信息見表1。

第1行圖片從左到右分別為細菌性斑點病葉片、早疫病葉片、晚疫病葉片、葉霉病葉片、斑枯病葉片,第2行圖片從左到右分別為輪斑病葉片、花葉病葉片、健康葉片、二斑葉螨病葉片、黃曲葉病葉片。

Conv1、Conv2、Conv3、Conv4、Conv5:卷積結(jié)構(gòu);fc1、fc2、fc3:全連接層。

假設(shè)現(xiàn)有1組卷積核K=[k1,k2,…,k],常規(guī)的卷積計算通過卷積核K將輸入X=[x1,x2,…,xC]∈RC×H×W映射為輸出Y=[y1,y2,…,y]∈R××W^,其中第i通道輸出的具體計算公式如下:

yi=ki*X=∑Cj=1kji*xj(1)

式中,*表示卷積計算;ki表示第i卷積核,并且ki=[k1i,k2i,…,kCi]。各個通道的卷積輸出按公式(1)進行計算,這意味著通過擴展卷積核尺寸或增加其通道數(shù)量以提升模型性能的方式帶來的額外計算量均將成正比地增加,不切合實際需求。不同于常規(guī)的卷積計算,Cond Conv先將卷積核參數(shù)化為若干個專家的線性組合,如公式(2)所示。此時通過增加專家數(shù)量,可以提升模型容量,而這僅帶來1個額外乘法累加的計算量,相比于改變卷積核的方式,Cond Conv顯得更加高效。

Output(x)=(α1W1+α2W2+…+αnWn)×x(2)

式中,αi=γi(x),是依賴于樣本并可以通過梯度下降更新的加權(quán)參數(shù)。路由函數(shù)的結(jié)構(gòu)與SE block類似,但全連接層只有1層。先使用全局平均池化壓縮輸入,并將結(jié)果輸入全連接層,可以得到路由權(quán)重(αi),將其與初始化的權(quán)重向量(Wi)進行乘積累加,獲得卷積參數(shù),最后與壓縮的輸入相乘,通過Sigmoid函數(shù)激活得到輸出:

γ(x)=Sigmoid[GAP(x)×R](3)

式中,GAP表示全局平均池化,R為參數(shù)矩陣。從數(shù)學(xué)角度看,Cond Conv的計算等價于公式(4),與Inception[22]、ResNext[23]等多分支卷積結(jié)構(gòu)等效,其中各個分支是單個卷積,但不同的是Cond Conv僅需要計算1個卷積,因此效率更高。Cond Conv的結(jié)構(gòu)如圖3所示。

Output(x)=[α1(W1×x)+α2(W2×x)+…+αn(Wn×x)](4)

試驗?zāi)P陀肅ond Conv代替圖2卷積結(jié)構(gòu)中的常規(guī)卷積,以降低增加卷積核數(shù)量時所帶來的額外計算量。隨后模型嵌入了注意力模塊SE block,通過特征重標(biāo)定操作強化重要特征,抑制無關(guān)信息以引導(dǎo)模型學(xué)習(xí)得到更好的結(jié)果。SE block的結(jié)構(gòu)如圖4所示。

Route Fn:路由函數(shù);Conv:卷積;BN:批量正則化;ReLU:ReLU激活函數(shù);W1~W3:3個專家;Combine:將專家進行線性組合。

Fsq(·):對特征圖進行Squeeze操作;Fex(·,W):對特征圖進行Excitation操作;Fscale(·,·):特征重標(biāo)定操作。Y:圖像統(tǒng)稱;C:通道數(shù);h、w:特征圖尺寸。

圖4中的Y可以看作經(jīng)過卷積計算后由C張分辨率為h×w的特征圖Yi組成。由于SE block主要對特征通道間的相互依賴關(guān)系進行建模,需要盡可能排除來自空間維度的信息干擾。Fsq使用全局平均池化方法將所有Yi沿著空間維度進行壓縮,最終得到1×1×C的特征向量,表征在特征通道上響應(yīng)的全局分布,其計算過程相當(dāng)于將1個二維矩陣中所有數(shù)值求和后再求平均:

Fsq(Yi)=1h×whk=1wj=1Yi(k,j)(5)

Fex通過可學(xué)習(xí)參數(shù)(W)為每個特征通道生成權(quán)重,在代碼實現(xiàn)上使用2個全連接層代替1個全連接層。首先,第1個全連接層通過放縮參數(shù)(r)將輸入的特征維度(C)壓縮成C/r以實現(xiàn)降維。然后,使用ReLU激活后與第2個全連接層連接以還原特征維度。這樣模型可以學(xué)習(xí)更多非線性關(guān)系,更好地擬合通道間復(fù)雜的相關(guān)性,并減少參數(shù)量及計算量。最后,利用Sigmoid函數(shù)獲取[0,1]范圍的歸一化權(quán)重,通過Fscale操作將其加權(quán)到各個通道的特征上,完成特征重標(biāo)定操作。

本研究使用Cond Conv、SE block改進圖2的基礎(chǔ)卷積結(jié)構(gòu),但并不改變各個卷積層的輸出,因此其輸出的張量仍與表1保持一致。

1.3 模型訓(xùn)練方法

模型訓(xùn)練的目的是得到1組合適的參數(shù),這些參數(shù)蘊含模型從數(shù)據(jù)集中學(xué)習(xí)的知識,然而在保證不損失知識的前提下,壓縮模型參數(shù)是十分困難的。而知識蒸餾法將模型學(xué)習(xí)的知識看作由輸入向量到輸出向量的映射,其輸出體現(xiàn)了模型所學(xué)的知識,利用復(fù)雜模型的輸出指導(dǎo)小模型訓(xùn)練是一種更加可行的方案。運用知識蒸餾需要2個模型:教師模型和學(xué)生模型,該訓(xùn)練過程的目標(biāo)函數(shù)由2個交叉熵函數(shù)組成,最終的損失值為兩者的加權(quán)和,該訓(xùn)練流程如圖5所示。若將教師模型的輸出記為fq,學(xué)生模型的輸出記為fp,真實標(biāo)簽記為y,交叉熵函數(shù)記為CE,調(diào)節(jié)損失函數(shù)比重的超參數(shù)記為λ、μ,那么得到損失函數(shù)如下:

Loss=λCE(y,fp)+μCE(fq,fp)(6)

通常模型使用Softmax輸出層輸出類別概率,這與經(jīng)過one-hot編碼的向量不同,其輸出為各個類別分配了概率,蘊含很多有價值的信息,比如現(xiàn)假設(shè)某一試驗得到的向量包含A、B及C 3個類別概率,其中A的概率是0.7,B的概率是0.2,C的概率是0.1,這表明相比于類別C,類別B與類別A更相似。然而模型對于預(yù)測為真值的類別標(biāo)簽有很高的置信度,如果fq直接使用Softmax的輸出結(jié)果,則無法將教師模型輸出概率中豐富的知識遷移到學(xué)生模型中,因此文獻[19]引入了溫度系數(shù)(T)平滑標(biāo)簽,此時fq的計算公式如下:

fq=exp(zi/T)jexp(zj/T)(7)

式中,溫度系數(shù)(T)越高則輸出結(jié)果分布越平緩,當(dāng)T=1時,fq為Softmax函數(shù)。本試驗使用的教師模型是在ImageNet[24]完成訓(xùn)練的SEResNet101。由于ImageNet與番茄病害數(shù)據(jù)集的相似度較低,需要先使用番茄病害圖像微調(diào)SEResNet101參數(shù);學(xué)生模型為自定義的CondConvSENet。

Input:輸入;Teacher model/Student model:教師模型/學(xué)生模型;Softmax(T=t或T=1):將溫度系數(shù)設(shè)置為t或1以調(diào)整Softmax的輸出分布;Soft labels/Hard(True)label:經(jīng)過調(diào)整的標(biāo)簽值/實際的標(biāo)簽值;Soft predictions/Hard predictions:經(jīng)過調(diào)整的Softmax輸出向量/原始的Softmax輸出向量;Loss Fn:損失函數(shù);Distillation loss/ Student loss:蒸餾的損失/未經(jīng)蒸餾的損失;Total loss:對圖中上、下2個損失值進行加權(quán)求和(μ和λ均為超參數(shù))計算得到的總體損失。

1.4 損失函數(shù)與優(yōu)化方法

本研究為單標(biāo)簽多分類問題,使用pyTorch的交叉熵函數(shù)CrossEntropyLoss()作為損失函數(shù)。假定未經(jīng)過Softmax的輸出z=[z0,z1,…,zclass-1],樣本標(biāo)簽記為class,此時學(xué)生模型與標(biāo)簽的損失計算過程見公式(8),該公式(以e為對數(shù)的底數(shù))結(jié)合Softmax和負對數(shù)損失,故模型在輸出層輸出預(yù)測值后不再使用Softmax函數(shù)。

L(z,class)=-lnexp(z[class])C-1j=0exp(z[j])=-z[class]+lnC-1j=0exp(z[j])(8)

優(yōu)化器采用基于動量因子的隨機梯度下降(Stochastic gradient descent, SGD)算法進行梯度更新。公式(9)為t時刻動量的計算方法:

mt=γmt-1+ωLossθt(9)

式中,γ表示超參數(shù),t表示時刻,mt-1表示t-1時刻的動量,ω表示學(xué)習(xí)率,θ表示權(quán)重,Loss表示損失函數(shù)值。

利用公式(10)更新權(quán)重:

θt+1=θt-mt(10)

相比于SGD算法,基于動量因子的SGD算法包含過去的歷史信息,因而計算梯度更接近真實梯度,提高了算法的穩(wěn)定性。

2 結(jié)果與分析

2.1 試驗設(shè)定

在配有1塊NVIDIA GeForce RTX 2080Ti GPU的計算機上進行本試驗的運行測試,運行環(huán)境為64位Windows 10操作系統(tǒng),實現(xiàn)算法的編程語言版本為Python 3.7.6,深度學(xué)習(xí)框架版本為pyTorch 1.3.1,并以準確率作為參考指標(biāo)。試驗時,所有模型的訓(xùn)練輪次及數(shù)據(jù)批次均為100個epoches,將Cond Conv的專家數(shù)量設(shè)置為3個,將SE block的放縮參數(shù)(r)設(shè)置為16,將SGD算法的動量因子(γ)設(shè)為0.9,將學(xué)習(xí)率(ω)初始化為0.1,并采用固定步長調(diào)整學(xué)習(xí)率的策略,每間隔30個epoches將ω縮小為原來的10%。為了抑制模型過擬合,采用權(quán)重衰減和Dropout技術(shù),并將權(quán)重衰減系數(shù)設(shè)置為0.000 1,Dropout隨機舍棄神經(jīng)元的概率為0.3。在模型訓(xùn)練時將知識蒸餾的溫度系數(shù)(T)設(shè)置為5,超參數(shù)(λ)設(shè)為1,μ設(shè)為0.8。

2.2 模型訓(xùn)練與測試分析

首先使用知識蒸餾訓(xùn)練CondConvSENet,如圖6所示,經(jīng)過蒸餾的模型曲線在未經(jīng)蒸餾的模型曲線上方收斂,表明使用知識蒸餾可以有效提升模型的性能。隨后,微調(diào)5種經(jīng)典模型AlexNet[25]、VGG16[26]、GoogLeNet[22]、ResNet50[27]及DenseNet121[28]的全連接層,將其替換為1個全連接層,輸出10個類別概率,形成試驗對比。由于CondConvSENet使用知識蒸餾從頭開始訓(xùn)練,耗時相對較長,模型完成100個epoches的訓(xùn)練時間大約為200 min,其余模型大約花費2 h。所有模型在驗證集上識別準確率的變化趨勢如圖7所示。

由圖7可以看出,5種經(jīng)典模型擁有很高的初期識別準確率,這是由于CNN淺層提取的是輸入圖像的邊緣、紋理等更具有泛化性的特征,同時這些模型均在百萬級圖像數(shù)據(jù)庫ImageNet中得到充分訓(xùn)練與評估,具有很強的泛化能力。DenseNet121、ResNet50及GoogLeNet模型的初期識別準確率超過70.00%,高于AlexNet和VGG16模型。其中可能的原因是后2個模型的網(wǎng)絡(luò)結(jié)構(gòu)主要基于模型深度的角度,通過簡單堆疊卷積層和全連接層構(gòu)建而成,而GoogLeNet通過Inception模塊擴展模型的深度和寬度以融合更多特征,因此其性能相對更好,但是這3種模型并未解決梯度消失問題,導(dǎo)致模型的深度受到限制。ResNet50及DenseNet121模型通過短連接,有效避免了模型訓(xùn)練因梯度消失而導(dǎo)致的性能下降,并保證了第L層卷積的輸出不差于第L-1層,因此可見,模型構(gòu)建的結(jié)構(gòu)層次越深,就越能學(xué)習(xí)到更多的非線性表示,使得初期的識別準確率高于前3種模型。由于CondConvSENet是從頭開始學(xué)習(xí)擬合數(shù)據(jù)集的特征參數(shù),因此初期識別準確率略低于30.00%,如果沒有使用知識蒸餾指導(dǎo)訓(xùn)練,該指標(biāo)會更低。與此同時,CondConvSENet模型受益于SE block,其準確率在隨后的訓(xùn)練中快速穩(wěn)定地上升,并在第29個epoch時超過5種經(jīng)典模型,其最佳驗證準確率達99.44%。

模型訓(xùn)練結(jié)束后需要在測試集上評估其泛化能力。本試驗使用如圖8所示的混淆矩陣表示模型對驗證集中圖像的識別結(jié)果。通過混淆矩陣計算6種模型對各種病害的識別準確率。由表2可以看出,這6種模型的平均識別準確率與驗證集上的表現(xiàn)相近,具有良好的泛化能力。其中,VGG16模型的平均識別準確率僅有75.1%,與使用VGG16模型解決類似問題的文獻[16]中的結(jié)果大相徑庭,這可能是由于試驗時只將模型全連接層替換為1層輸出10個類別,如要得到更好的結(jié)果,需要進一步調(diào)整優(yōu)化。ResNet50、DenseNet121模型的效果較優(yōu),平均識別準確率均超過90.0%,而CondConvSENet模型除了細菌性斑點病的識別準確率略低于ResNet50模型的97.0%以及對黃曲葉病的識別準確率略低于DenseNet121模型的99.0%外,對其余8種葉片的識別準確率均達到最高值,其中對花葉病的識別準確率更是高達100.0%,即200個測試樣本全部被正確識別。

上述試驗結(jié)果表明,本研究中使用的6種模型具有較好的分類準確率,但是端到端的學(xué)習(xí)方式并不透明,在試驗時將數(shù)據(jù)輸入模型得到輸出結(jié)果,卻無法知曉其決策分類過程,不免讓人質(zhì)疑。然而對于CNN而言,該過程是可視化的,試驗使用類激活圖(Class activation map, CAM)可視化CondConvSENet的結(jié)果,以便觀察模型識別番茄病害的特征是否具有區(qū)分度。

從表2可以看出,VGG16對花葉病的識別準確率較高,達85.0%,然而試驗隨機抽取2張圖片進行預(yù)測并將結(jié)果可視化,發(fā)現(xiàn)VGG16將圖像背景作為判別依據(jù)。使用CondConvSENet對同樣的樣本進行預(yù)測,發(fā)現(xiàn)模型對番茄發(fā)病部位的激活度很高,表明模型準確定位到了病害區(qū)域,模型學(xué)習(xí)得到了真正有價值的特征,該對比結(jié)果如圖9所示。同樣,本試驗隨機抽取另外8種病葉圖像各1張,用CondConvSENet進行預(yù)測并可視化結(jié)果。如圖10所示,CondConvSENet忽視了圖像背景,只關(guān)注番茄病葉的發(fā)病部位,模型預(yù)測結(jié)果的可信度高。本試驗采用的6種模型的最終大小見表3。

由此可見,CondConvSENet不僅保證了優(yōu)秀的識別準確率,還極大程度地減少了模型的參數(shù)量,縮小了模型體積。

同一行3張圖片為1組,從左到右分別為原始圖像、VGG16及CondConvSENet的可視化結(jié)果。

同一行2張圖片為1組,1組中左邊為原始圖像,右邊為可視化結(jié)果,從左到右分別為細菌性斑點病、早疫病、晚疫病、葉霉病、斑枯病、二斑葉螨病、輪斑病、黃曲葉病。

3 結(jié)論

使用深度學(xué)習(xí)算法[29]進行番茄病害識別,不需要事先針對特定病害類別進行復(fù)雜的特征工程,模型可以自動從原始數(shù)據(jù)中學(xué)習(xí)具有區(qū)分度的特征,省去了大量前期工作。相比于重新訓(xùn)練模型,遷移學(xué)習(xí)可以大幅度縮短模型的訓(xùn)練時間,同時預(yù)訓(xùn)練模型擁有極強的泛化能力,即便只微調(diào)模型的全連接層,模型也能在番茄病葉分類問題中取得較好的識別效果,但是模型的最終大小和參數(shù)量龐大,而利用知識蒸餾可以在減少模型參數(shù)量的同時提升模型的性能。

番茄病葉分類屬于細粒度圖像分類任務(wù),同時受到背景及光照陰影等干擾因素影響,模型難以準確捕捉具有區(qū)分度的特征,而利用注意力機制可以改善模型的性能,引導(dǎo)模型學(xué)習(xí)重要的分類特征。模型在數(shù)據(jù)集中取得滿意的指標(biāo)后,需要進一步使用Grad-CAM等技術(shù)進行可視化驗證,以確保模型利用有價值的特征作為決策依據(jù)。

參考文獻:

[1] 吳 瓊,梁巧蘭,張 娜. 番茄主要病害病原菌培養(yǎng)條件及室內(nèi)藥劑篩選[J]. 甘肅農(nóng)業(yè)大學(xué)學(xué)報, 2018, 53(5):79-86.

[2] 譚海文,吳永瓊,秦 莉,等. 我國番茄侵染性病害種類變遷及其發(fā)生概況[J]. 中國蔬菜, 2019, 359(1):86-90.

[3] 賈少鵬,高紅菊,杭 瀟. 基于深度學(xué)習(xí)的農(nóng)作物病蟲害圖像識別技術(shù)研究進展[J].農(nóng)業(yè)機械學(xué)報, 2019,50(增刊1):313-317.

[4] 李 頎,王 康,強 華,等. 基于顏色和紋理特征的異常玉米種穗分類識別方法[J].江蘇農(nóng)業(yè)學(xué)報, 2020,36(1):24-31.

[5] 張經(jīng)緯,貢 亮,黃亦翔,等. 基于隨機森林算法的黃瓜種子腔圖像分割方法[J].農(nóng)機化研究, 2017,39(10): 163-168.

[6] GINNE M, PUNITHA S C. Tomato disease segmentation using K-means clustering[J]. International Journal of Computer Applications, 2016, 144(5):25-29.

[7] GUO Y, LIU Y, OERLEMANS A, et al. Deep learning for visual understanding: a review[J]. Neurocomputing, 2016, 187(26):27-48.

[8] LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553):436.

[9] 周飛燕,金林鵬,董 軍. 卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J]. 計算機學(xué)報, 2017,40(6):1229-1251.

[10]趙立新,侯發(fā)東,呂正超,等. 基于遷移學(xué)習(xí)的棉花葉部病蟲害圖像識別[J]. 農(nóng)業(yè)工程學(xué)報, 2020, 36(7):184-191.

[11]黃雙萍,孫 超,齊 龍,等. 基于深度卷積神經(jīng)網(wǎng)絡(luò)的水稻穗瘟病檢測方法[J]. 農(nóng)業(yè)工程學(xué)報, 2017, 33(20):169-176.

[12]許景輝,邵明燁,王一琛,等. 基于遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)玉米病害圖像識別[J]. 農(nóng)業(yè)機械學(xué)報, 2020, 51(2): 25.

[13]龍滿生,歐陽春娟,劉 歡,等. 基于卷積神經(jīng)網(wǎng)絡(luò)與遷移學(xué)習(xí)的油茶病害圖像識別[J]. 農(nóng)業(yè)工程學(xué)報, 2018, 34(18):194-201.

[14]PRABHAKAR M, PURUSHOTHAMAN R, AWASTHI D P. Deep learning based assessment of disease severity for early blight in tomato crop[J]. Multimedia Tools and Applications, 2020,79: 1-12.

[15]MOHANTY S P, HUGHES D P, SALATH M. Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016, 7:1419.

[16]郭小清,范濤杰,舒 欣. 基于改進Multi-Scale AlexNet的番茄葉部病害圖像識別[J]. 農(nóng)業(yè)工程學(xué)報, 2019(13):162-169.

[17]YANG B, BENDER G, LE Q V, et al. Condconv: conditionally parameterized convolutions for efficient inference[C]//SCHLKOPF B, PLATT J, HOFMANN T. Advances in Neural Information Processing Systems. Vancouver, Canada:2019:1307-1318.

[18]HU J, SHEN L, ALBANIE S, et al. Squeeze-and-excitation networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 42: 2011-202399.

[19]HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[J]. Computer Science, 2015, 14(7):38-39.

[20]SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-CAM: Visual explanations from deep networks via gradient-based localization[J]. International Journal of Computer Vision, 2019, 128(8): 336-359.

[21]HUGHES D, SALATH M. An open access repository of images on plant health to enable the development of mobile disease diagnostics[EB/OL].(2015-11-25)[2020-09-01]. https: //arxiv.org/abs/1511. 08060.

[22]SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//IEEE. Proceedings of the IEEE conference on computer vision and pattern recognition. Boston, MA:IEEE, 2015: 1-9.

[23]XIE S, GIRSHICK R, DOLLR P, et al. Aggregated residual transformations for deep neural networks[C]//IEEE. Proceedings of the IEEE conference on computer vision and pattern recognition. New York:IEEE Press, 2017: 1492-1500.

[24]RUSSAKOVSKY O, DENG J, SU H, et al. Imagenet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252.

[25]KRIZHEVSKY A, SUTSKEVER I, HINTON G. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6):84-90.

[26]SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [EB/OL].(2014-09-04)[2020-09-01].https://arxiv.org/abs/1712.031497.

[27]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//IEEE. Proceedings of the IEEE conference on computer vision and pattern recognition. New York: IEEE Press, 2016: 770-778.

[28]HUANG G, LIU Z, VAN DER MAATEN L, et al. Densely connected convolutional networks[C]//IEEE. Proceedings of the IEEE conference on computer vision and pattern recognition. New York:IEEE Press, 2017: 4700-4708.

[29]李懿超,沈潤平,黃安奇. 基于深度學(xué)習(xí)的湘贛鄂地區(qū)植被變化及其影響因子關(guān)系模型[J]. 江蘇農(nóng)業(yè)科學(xué),2019,47(3):213-218.

(責(zé)任編輯:徐 艷)

猜你喜歡
注意力機制
基于注意力機制的行人軌跡預(yù)測生成模型
基于注意力機制和BGRU網(wǎng)絡(luò)的文本情感分析方法研究
多特征融合的中文實體關(guān)系抽取研究
基于序列到序列模型的文本到信息框生成的研究
基于深度學(xué)習(xí)的手分割算法研究
從餐館評論中提取方面術(shù)語
面向短文本的網(wǎng)絡(luò)輿情話題
基于自注意力與動態(tài)路由的文本建模方法
基于深度學(xué)習(xí)的問題回答技術(shù)研究
基于LSTM?Attention神經(jīng)網(wǎng)絡(luò)的文本特征提取方法
井冈山市| 东阿县| 天峨县| 周至县| 宁海县| 北京市| 澄江县| 溧水县| 马尔康县| 怀仁县| 宁都县| 阿克陶县| 大田县| 田林县| 布拖县| 榕江县| 韶关市| 宿松县| 永康市| 青田县| 潜山县| 兰西县| 灵寿县| 区。| 临高县| 朝阳市| 犍为县| 阿拉善右旗| 汉寿县| 杂多县| 成武县| 白朗县| 扶余县| 蓬莱市| 罗甸县| 温泉县| 昌平区| 康保县| 新民市| 综艺| 策勒县|