李 好,邱衛(wèi)根,張立臣
廣東工業(yè)大學(xué) 計算機(jī)學(xué)院,廣州 510006
糧食安全問題一直是全球重點關(guān)注議題,我國“十四五”規(guī)劃綱要明確提出“實施糧食安全戰(zhàn)略”,強(qiáng)調(diào)確保國家糧食安全。受全球氣候和環(huán)境因素影響,農(nóng)作物病害頻繁發(fā)生,對糧食生產(chǎn)產(chǎn)量和質(zhì)量造成嚴(yán)重影響,是我國糧食安全和可持續(xù)穩(wěn)定發(fā)展農(nóng)業(yè)面臨的重大困難挑戰(zhàn)[1]。在傳統(tǒng)的農(nóng)業(yè)生產(chǎn)實踐中,由于缺乏專業(yè)知識,農(nóng)民一般都是根據(jù)經(jīng)驗通過肉眼觀察來識別作物病害,不僅主觀,而且成效甚微,易出現(xiàn)誤判,農(nóng)藥使用不當(dāng),嚴(yán)重影響糧食的質(zhì)量和產(chǎn)出,同時也帶來經(jīng)濟(jì)損失及不必要的環(huán)境污染[2]。因此,對農(nóng)作物病害及時準(zhǔn)確識別和有效防治在農(nóng)業(yè)生產(chǎn)管理和決策中發(fā)揮著至關(guān)重要的作用,有助于提升農(nóng)作物的產(chǎn)量和質(zhì)量,確保糧食安全。
近年來,深度學(xué)習(xí)技術(shù)因能自動提取作物病害葉片特征進(jìn)行識別,避免人工特征提取依賴,在農(nóng)作物病害識別的研究中取得了良好進(jìn)展并廣泛應(yīng)用[3-5]。Mohanty等人[6]首次引入深度學(xué)習(xí)方法到農(nóng)作物病害識別,基于AlexNet[7]和GoogLeNet[8]兩種經(jīng)典的CNN模型進(jìn)行遷移學(xué)習(xí),證明深度學(xué)習(xí)方法在農(nóng)作物病害識別具有高性能和可用性,為后續(xù)研究提供了方向。Too等人[9]通過多種經(jīng)典CNN模型進(jìn)行遷移學(xué)習(xí),如VGGNet[10]、Inception V4[11]、ResNet[12]和DenseNet[13],比較它們在公共數(shù)據(jù)集PlantVillage[14]上的病害識別性能,結(jié)果表明DenseNet提供了最好的分類結(jié)果。但以上方法中的網(wǎng)絡(luò)模型深且復(fù)雜,在農(nóng)業(yè)生產(chǎn)實踐中不能有效部署在計算資源有限的低性能邊緣移動終端設(shè)備,如農(nóng)業(yè)生產(chǎn)者手中的新型“農(nóng)業(yè)工具”手機(jī)、農(nóng)業(yè)機(jī)器人、無人機(jī)等。
為了解決深度學(xué)習(xí)模型的移動部署問題,研究者們提出了各種輕量級架構(gòu)[15-16],如Xception[17]、MobileNet[18-19]、ShuffleNet[20-21],以及常用的輕量化網(wǎng)絡(luò)設(shè)計結(jié)構(gòu)深度可分離卷積(depthwise separable convolution,DepthSepConv)和分組卷積(group convolution,GC),為農(nóng)作物病害識別方法落地部署提供強(qiáng)有力的技術(shù)支撐。國內(nèi)外有關(guān)農(nóng)作物病害識別模型的移動部署,一般可通過手機(jī)等移動端上的app軟件或小程序?qū)崿F(xiàn),近年來,在室內(nèi)農(nóng)業(yè)這方面可通過地面移動監(jiān)測平臺等智能機(jī)器進(jìn)行落地部署;在室外農(nóng)業(yè)這方面,無人機(jī)被認(rèn)為是一種有效且高度推薦的工具[22],用于不同的農(nóng)業(yè)應(yīng)用,如農(nóng)作物病害識別,作業(yè)效率高。針對上述研究,本文提出一種改進(jìn)ShuffleNet V2的輕量級農(nóng)作物病害識別方法。引入ECA注意力機(jī)制對ShuffleNet V2單元進(jìn)行改進(jìn),提出一種Shuffle-ECA單元設(shè)計方法,并在PlantVillage[14]數(shù)據(jù)集中經(jīng)過隨機(jī)組合增強(qiáng)的5種作物26類病害數(shù)據(jù)上進(jìn)行實驗評估。與原ShuffleNet V2模型的病害識別比較表明,改進(jìn)模型在保持輕量化的同時具有較高效的模型性能,可為設(shè)計適合在低性能設(shè)備部署的病害識別模型提供參考。
標(biāo)準(zhǔn)卷積(standard convolution)和深度可分離卷積(DepthSepConv)如圖1所示,其中BN表示批量歸一化,ReLU代表激活函數(shù)。
圖1 標(biāo)準(zhǔn)卷積與深度可分離卷積Fig.1 Standard convolution and DepthSepConv
標(biāo)準(zhǔn)卷積的運算特點是每個卷積核的通道與輸入通道相同,每個通道單獨做卷積運算后相加。
標(biāo)準(zhǔn)卷積參數(shù)量(parameters,P)大小為:
式中,K×K為卷積核大小,C為輸入特征圖通道數(shù),N為卷積核數(shù)量即輸出特征通道數(shù)。
標(biāo)準(zhǔn)卷積計算量(FLOPs,F(xiàn))大小為:
式中,H、W為輸入特征圖的長和寬。
深度可分離卷積分為深度卷積(3×3 DepthwiseConv)和點卷積(1×1 PointwiseConv),深度卷積中一個卷積核只負(fù)責(zé)一個通道的計算;點卷積會將上一步驟深度卷積輸出的特征圖在深度方向進(jìn)行加權(quán)混合,生成新的特征圖。
深度可分離卷積參數(shù)量大小為:
與標(biāo)準(zhǔn)卷積中每個卷積核都需要與特征圖的所有通道進(jìn)行計算相比,深度可分離卷積中深度卷積每個卷積核都是單通道進(jìn)行計算,再在后面接上1×1卷積,由公式(5)可得,大大減少了計算量與參數(shù)量,又可以達(dá)到相同的效果。深度可分離卷積在MobileNetV1中被提出,漸漸成為輕量化網(wǎng)絡(luò)設(shè)計的常用組件,使邊緣設(shè)備、移動終端部署神經(jīng)網(wǎng)絡(luò)模型成為可能。
常規(guī)卷積與分組卷積如圖2所示,常規(guī)卷積是一種通道密集連接方式(channel dense connection),會對輸入特征(input features)的整體即每個通道都一起做卷積操作生成特征圖,卷積核數(shù)量為N,則輸出特征(output features)的通道數(shù)也為N,參數(shù)量P由公式(1)可得為K×K×C×N。
圖2 常規(guī)卷積與分組卷積Fig.2 Conventional convolution and group convolution
分組卷積(group convolution,GC)把輸入特征(input features)通道數(shù)C分成G組,同樣卷積核也分為G組,每個卷積核的通道數(shù)為C/G,分組進(jìn)行卷積后G組輸出拼接得到通道數(shù)為N的大特征圖(output features)。分組卷積參數(shù)量大小為:
式中,G為分組數(shù)。
由公式(1)和(6)可知分組卷積的參數(shù)量是常規(guī)卷積參數(shù)量的1/G,同理計算量也是常規(guī)卷積的1/G。
與常規(guī)卷積相比,分組卷積是一種通道稀疏連接方式,可以理解為Structured Sparse,每個卷積核的尺寸通道數(shù)為原來的1/G,從而可將其余部分的參數(shù)視為0,在減少參數(shù)量與計算量的同時起到減輕過擬合的效果[23]。
與深度可分離卷積相比,當(dāng)組數(shù)G等于輸入特征圖通道數(shù)C時,深度可分離卷積可以理解為極限化的分組卷積,參數(shù)量將進(jìn)一步減少。不同之處:分組卷積只進(jìn)行一次卷積,不同組的卷積結(jié)果拼接即可;深度可分離卷積進(jìn)行兩次卷積操作,在深度卷積之后用1×1點卷積將卷積結(jié)果拼接起來。因此,兩者參數(shù)量計算方式不同,如公式(3)和(6)。
分組卷積的缺點是不同組之間相互獨立,信息沒有交流,會降低網(wǎng)絡(luò)的特征提取能力。因此,ShuffleNet V1提出對輸出特征圖做通道混洗(channel shuffle,CS)操作。如圖3所示,將分組卷積后的輸出特征(output features1)通過通道混洗操作將來自不同組的信息“均勻地打擾”,在不增長計算量的情況下,保證分組卷積之后不同組的特征圖之間的信息相互交流,使通道充分融合。CS在Pytorch中實現(xiàn)過程也十分簡單,先將通道數(shù)C所在維度拆分為(G,C/G)兩個維度,接著兩個維度通過矩陣轉(zhuǎn)置變成(C/G,G),最后重新reshape成一個維度C,整個通道混洗過程實現(xiàn)完成。
圖3 通道混洗Fig.3 Channel shuffle
Ma等人[21]在ShuffleNet V2中提出4條設(shè)計高效且輕量化的網(wǎng)絡(luò)準(zhǔn)則,保持大通道數(shù)和通道數(shù)不變的情況下,既不使用過多卷積,又不過多分組,并由此在ShuffleNet V1基礎(chǔ)上提出新的block設(shè)計,如圖4所示的兩個ShuffleNet V2基本單元模塊 。
圖4 ShuffleNet V2單元Fig.4 ShuffleNet V2 unit
如圖4(a)所示,在ShuffleNet V2單元1中,先對輸入的特征圖進(jìn)行通道劃分(channel split),分成兩個分支(branch),通道數(shù)各占1/2。左邊分支不變,恒定變化;右邊分支會經(jīng)過3個步長為1的卷積,使用相同的輸入通道數(shù)和輸出通道數(shù)。其中兩個1×1卷積是普通卷積,3×3卷積是深度可分離卷積中的深度卷積(DWConv)。當(dāng)卷積完成后,兩個分支會進(jìn)行Concat操作,通道數(shù)相加,融合特征,最后使用Channel Shuffle進(jìn)行不同組之間的信息交流,使通道充分融合。與單元1不同,如圖4(b)所示,在ShuffleNet V2單元2中,開始不對通道進(jìn)行通道劃分,直接將特征圖輸入到兩個分支。兩個分支都使用步長為2的3×3深度卷積,對特征圖的長(H)寬(W)進(jìn)行降維,從而起到減少網(wǎng)絡(luò)計算量的作用。接著,兩個分支輸出后進(jìn)行Concat操作,通道數(shù)相加后是原始輸入的2倍,增加了網(wǎng)絡(luò)的寬度,起到在不顯著增加FLOPs的情況下增加通道的數(shù)量,使網(wǎng)絡(luò)提取特征能力更強(qiáng)。最后,同樣進(jìn)行通道混洗實現(xiàn)不同通道之間的信息交流。
ShuffleNet V2卷積設(shè)計特點:卷積輸入輸出通道相等時內(nèi)存訪問成本(MAC)最小,分組卷積通過通道之間的稀疏連接來降低計算復(fù)雜度,但分組數(shù)太多的卷積會增加MAC。因此,為使模型更高效關(guān)鍵在于保持等寬的通道且不使用密集的卷積操作和太多的組卷積,如圖4所示ShuffleNet V2網(wǎng)絡(luò)通過通道劃分操作分成兩個組,使用1×1卷積代替逐點組卷積,分支中卷積前后輸入輸出通道數(shù)不變,再對分支拼接后用通道混洗加強(qiáng)分支之間的信息交流。
ShuffleNet V2 0.5×網(wǎng)絡(luò)結(jié)構(gòu)如圖5(a)所示,輸入特征圖大小3×224×224,先采用24個步長為2的3×3普通卷積進(jìn)行特征提取,接著使用最大池化層進(jìn)行下采樣;隨后,連續(xù)使用3個由ShuffleNet V2 Unit2和ShuffleNetV2 Unit1組成的模塊層,模塊層中單元2與單元1的數(shù)量分別為1∶3、1∶7、1∶3;再使用1 024個步長為1的1×1卷積擴(kuò)充通道數(shù),通過大通道大卷積的大感受野來獲取病害特征信息;最后在全連接層前使用全局池化層融合空間信息,防止過擬合,提高泛化能力。ShufflleNet V2 1.0×是在其基礎(chǔ)上增加通道數(shù)量,即Stage2、Stage3、Stage4模塊的通道數(shù)分別由48、96、192對應(yīng)變?yōu)?16、232、464。
圖5 網(wǎng)絡(luò)模型結(jié)構(gòu)圖Fig.5 Architecture of network model
本文所提Shuffle-ECANet網(wǎng)絡(luò)模型結(jié)構(gòu)如圖5(b)所示,與ShuffleNet V2 0.5×網(wǎng)絡(luò)相比,使用引入ECA注意力改進(jìn)提出的Shuffle-ECA Unit替換ShuffleNet V2 Unit;使用H-Swish激活函數(shù)替代ReLU激活函數(shù)以便減少每個Stage模塊中ShuffleNet V2 Unit1使用個數(shù),降低網(wǎng)絡(luò)深度并保持性能;接著,為更好融合通道注意力不使用最大池化層,而使用計算量小的通道數(shù)為24、卷積核大小為3×3,步長為2的深度分離卷積,提出特征更豐富。
改進(jìn)模型設(shè)計以圖5(a)所示ShuffleNet V2 0.5×網(wǎng)絡(luò)為原始模型,文中將其標(biāo)記為模型0。接下來將從ECA注意力模塊、H-Swish激活函數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整三個方面詳細(xì)分述改進(jìn)模型設(shè)計。
通道注意力機(jī)制(channel attention mechanism)可以有效提高卷積神經(jīng)網(wǎng)絡(luò)的性能,但大多注意力模塊比較復(fù)雜,雖能帶來準(zhǔn)確率的提高,但計算負(fù)擔(dān)也越大。因此,Wang等人[24]提出一種新的ECA(efficient channel attention)注意力模塊,如圖6所示。該模塊在不降維的情況下,直接將輸入的特征圖進(jìn)行全局平均池化(global average pooling,GAP),避免了降維對通道注意力學(xué)習(xí)的不利影響,接著通過執(zhí)行數(shù)量為K的快速1D卷積實現(xiàn)對每個通道及其鄰近K個通道的局部跨通道信息交互,避免對所有通道進(jìn)行信息交流產(chǎn)生低效的冗余信息。其中K的值由通道系數(shù)C的映射自適應(yīng)決定并成正比關(guān)系,可以有效避免實驗中通過交叉驗證手動調(diào)優(yōu)K。
圖6 ECA模塊結(jié)構(gòu)圖Fig.6 Architecture of ECA module
如圖7所示,提出的Shuffle-ECA兩個基本單元以ShuffleNet V2單元結(jié)構(gòu)為基礎(chǔ)進(jìn)行改進(jìn),分別加入高效通道注意ECA模塊。該模塊只涉及少量參數(shù),適當(dāng)?shù)目缤ǖ肋M(jìn)行信息交互,可以在保持網(wǎng)絡(luò)輕量化的同時帶來明顯的性能增益,顯著降低模型的復(fù)雜度。因此,使用ECA注意力模塊對模型0改進(jìn),改進(jìn)模型標(biāo)記為模型1。
圖7 Shuffle-ECA單元Fig.7 Shuffle-ECA unit
原始的ShuffleNet V2網(wǎng)絡(luò)使用ReLU激活函數(shù),公式如式(7)所示,函數(shù)圖像如圖8(a)所示。ReLU激活函數(shù)優(yōu)點是計算簡單高效,能有效緩解梯度消失和防止過擬合問題;缺點是一側(cè)函數(shù)值為0,導(dǎo)致負(fù)的梯度被置零,并且該神經(jīng)元有可能再也不能被任何數(shù)據(jù)激活,這種現(xiàn)象被稱為神經(jīng)元“壞死”。
圖8 ReLU與H-Swish函數(shù)比較Fig.8 ReLU and H-Swish functions comparison
由公式(8)和(9)可得如下:
Swish激活函數(shù)如式(11),優(yōu)于ReLU激活函數(shù),顯著提高了神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性,但由于計算、求導(dǎo)復(fù)雜,對量化過程不友好,類比Sigmoid與H-Sigmoid激活函數(shù),MobieNetV3[19]中提出近似的H-Swish激活函數(shù),公式如式(12)所示,函數(shù)圖像如圖8(b)所示。該函數(shù)可以有效解決ReLU中會出現(xiàn)的神經(jīng)元“壞死”問題,且求導(dǎo)簡單,在實踐中,表現(xiàn)性能優(yōu)越,推理速度幾乎不變。
因此,使用H-Swish激活函數(shù)替代ReLU激活函數(shù)對模型0進(jìn)行改進(jìn),改進(jìn)模型標(biāo)記為模型2。
ShuffleNet V2模型是針對ImageNet數(shù)據(jù)集的1 000類別進(jìn)行分類設(shè)計的,而本文只需要對5種作物26類病害圖像數(shù)據(jù)進(jìn)行分類,分類任務(wù)相對簡單,所需的網(wǎng)絡(luò)模型深度不需要太深。因此,為了減少參數(shù)量和計算量的消耗,將模型0中Stage2、Stage3和Stage4中ShuffleNet V2 Unit1的堆疊個數(shù)都降為1個,改進(jìn)模型標(biāo)記為模型3。
模型0在網(wǎng)絡(luò)初始3×3常規(guī)卷積之后,使用步長為2的最大池化層(MaxPool Layer)進(jìn)行下采樣,優(yōu)點是降維,保留主要的特征同時減少參數(shù)量和計算量,防止過擬合;缺點是只保留特征提取中最大的那個值,其他特征值全部拋棄,可能會帶來欠擬合,且不可學(xué)習(xí)。同時,也為更好融合上述中所提到的ECA注意力模塊改進(jìn)策略,因此對模型0進(jìn)行改進(jìn),不使用最大池化層,在原始位置若采用步長為2的可學(xué)習(xí)卷積層進(jìn)行下采樣,則計算量過大,故使用計算量小的通道數(shù)為24、卷積核大小為3×3,步長為2的深度可分離卷積,提出特征更豐富,改進(jìn)模型標(biāo)記為模型4。
實驗所用數(shù)據(jù)來源公開數(shù)據(jù)集PlantVilleage[14],從中獲取蘋果、玉米、葡萄、馬鈴薯和番茄5種常見農(nóng)作物的25種病害(含5種健康)葉片圖像數(shù)據(jù)。此外,考慮到現(xiàn)實場景下葉片圖像背景復(fù)雜,增加一類無葉片的背景圖像數(shù)據(jù)[25],共計26類,32 539張。
數(shù)據(jù)集劃分,使用Python腳本隨機(jī)將樣本原始數(shù)據(jù)集按照4∶1的比例劃分為訓(xùn)練集和測試集,數(shù)據(jù)分布如表1,各類病害數(shù)據(jù)分布嚴(yán)重不平衡。
表1 數(shù)據(jù)分布Table 1 Data distribution
數(shù)據(jù)增強(qiáng),使用圖像平移、水平或垂直翻轉(zhuǎn)、旋轉(zhuǎn)、縮放、隨機(jī)顏色(調(diào)整飽和度、亮度、對比度、銳度)和添加噪聲這六種數(shù)據(jù)增強(qiáng)技術(shù)隨機(jī)尺度的分別獨立對訓(xùn)練集和測試集病害圖像進(jìn)行組合增強(qiáng),增強(qiáng)效果示例如圖9所示。數(shù)據(jù)增強(qiáng)適當(dāng)擴(kuò)充調(diào)整后,訓(xùn)練集每類病害圖像達(dá)到1 800張,共計46 800張;測試集每類病害圖像達(dá)到400張,共計10 400張;訓(xùn)練集與測試集比例大致保持4∶1,圖像總計57 200張。
圖9 增強(qiáng)效果示例圖Fig.9 Augmented images
實驗在Ubuntu 20.04 LTS 64位系統(tǒng)下進(jìn)行,具體采用Anaconda環(huán)境,使用Python3.7.3、Pytorch1.9.1、CUDA11.2搭建網(wǎng)絡(luò)模型,在NVIDIA GeForce RTX 3080顯卡上進(jìn)行模型訓(xùn)練。
實驗中采用隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化器,其中參數(shù)設(shè)置為moment um=0.9,weight_decay=1E-4。輸入圖像通過隨機(jī)水平翻轉(zhuǎn)后隨機(jī)裁剪到224×224,并統(tǒng)一進(jìn)行了歸一化處理。學(xué)習(xí)率初始值0.01,每訓(xùn)練10個epoch學(xué)習(xí)率降到原來的1/10,共進(jìn)行了40個迭代epoch訓(xùn)練,設(shè)置批次batchsize大小為32。
如圖10所示,通過對原始ShuffleNet V2 0.5×模型和本文所提改進(jìn)模型Shuffle-ECANet在增強(qiáng)數(shù)據(jù)集上的損失(Loss)和準(zhǔn)確度(Accuracy)的實驗結(jié)果進(jìn)行比較,可以看出改進(jìn)模型的收斂速度優(yōu)于原模型,更穩(wěn)定,迭代停止時有更高的準(zhǔn)確率和更低損失值,驗證了所提出改進(jìn)方法的可靠性和有效性。
圖10 原始模型與所提改進(jìn)模型比較Fig.10 Comparison of original and proposed improved model
改進(jìn)模型的消融實驗結(jié)果如表2所示,模型0表示ShuffleNet V2 0.5×網(wǎng)絡(luò),模型1僅使用通道注意力ECA模塊,在只增加了少量參數(shù)的情況下,準(zhǔn)確率提高0.16個百分點;模型2僅替換激活函數(shù),推理速度更快,準(zhǔn)確率提高0.27個百分點;模型3僅減少ShuffleNet V2 Unit1模塊使用次數(shù),降低網(wǎng)絡(luò)深度,減少參數(shù)量和計算量,但模型的病害識別效果保持良好,準(zhǔn)確率提高0.21個百分點;模型4不使用最大池化層進(jìn)行下采樣,而使用深度可分離卷積,在僅增加部分參數(shù)量和計算量的情況下,準(zhǔn)確率提高0.30個百分點;本文方法在模型0的基礎(chǔ)上,同時采取模型1、模型2、模型3和模型4中的4種改進(jìn)策略,相對于模型0,在Params、FLOPs和MAdd三個指標(biāo)都降低的情況下,改進(jìn)效果良好,準(zhǔn)確率提升到99.24%。
表2 改進(jìn)模型之間的復(fù)雜度對比Table 2 Improved model complexity comparison
本文方法與其他模型對比實驗結(jié)果如表3所示,本文方法1.0×網(wǎng)絡(luò)模型在Params、FLOPs和MAdd三者指標(biāo)量都最小的情況下,識別準(zhǔn)確率優(yōu)于ShuffleNet V2 0.5×和ShuffleNet V2 1.0×模型,識別性能與當(dāng)前先進(jìn)的輕量化模型MobileNetV3-Small相當(dāng);本文方法2.0×對應(yīng)ShuffleNet V2 1.0×,在本文方法1.0×的基礎(chǔ)上,增加模塊單元的通道數(shù),將Stage2、Stage3、Stage4這3個模塊的通道數(shù)也分別從48、96、192調(diào)整為116、232、464,從而提取特征更豐富,模型繼續(xù)保持輕量化的同時識別平均準(zhǔn)確率提升到99.34%,充分體現(xiàn)所提改進(jìn)模型的優(yōu)越性。因此,本方法可以根據(jù)實際部署設(shè)備的計算性能進(jìn)行適應(yīng)性調(diào)整,具有較強(qiáng)的工程實用性,表現(xiàn)出較高的性價比。
表3 不同模型之間的復(fù)雜度對比Table 3 Comparison of complexity between different models
如表4所示,改進(jìn)模型與MobileNetV3-Small模型在測試集上進(jìn)行26種病害識別準(zhǔn)確率詳細(xì)比較,可以看出改進(jìn)模型對大部分病害的識別準(zhǔn)確率是優(yōu)于MobileNetV3-Small模型,在少數(shù)類別病害上各有優(yōu)劣。兩種模型都對馬鈴薯早疫病與晚疫病的細(xì)粒度識別效果很好,但是在少數(shù)相同類別的病害上識別準(zhǔn)確率都較低,主要為玉米北方葉枯病與灰葉斑病、番茄早疫病與晚疫病。易出錯識別病害圖片如圖11所示,可以發(fā)現(xiàn)這些病害葉片之間的病害特征相似度較高,有可能會導(dǎo)致模型出現(xiàn)錯誤病害識別。
圖11 易識別錯誤樣例Fig.11 Examples of easy to identify error
表4 測試集上各類病害識別準(zhǔn)確率比較Table 4 Accuracy comparison of various diseases in test set
此外,表4中改進(jìn)模型與MobileNetV3-Small模型在無葉片背景圖上的識別準(zhǔn)確率都較低,低于平均準(zhǔn)確率。主要是因為在這額外增加的一類中加入了一些如圖12所示的圖片,可以看出這些圖片背景中含有部分的葉片存在,從而模型識別出圖片是含有葉片的,這也說明,本文提出的改進(jìn)模型沒有出現(xiàn)過擬合,表現(xiàn)出的病害識別能力較強(qiáng)。
圖12 無葉片背景圖類別Fig.12 Background without leaves images
本文提出一種改進(jìn)ShufflleNet V2的輕量級農(nóng)作物病害識別方法,用于解決農(nóng)業(yè)生產(chǎn)實踐中病害識別模型部署在計算資源有限,低性能的邊緣設(shè)備與移動終端較難,實時快速準(zhǔn)確識別較差的問題。該模型方法在參數(shù)量、計算量和準(zhǔn)確率之間達(dá)到良好的平衡并使模型性能保持在較高水平,病害識別平均準(zhǔn)確率達(dá)到99.24%,滿足實際部署應(yīng)用在低性能設(shè)備中輕量化網(wǎng)絡(luò)和推理識別病害速度快的需求,為后續(xù)相關(guān)研究提供參考。下一步將重點研究如何在復(fù)雜背景下,對農(nóng)作物病害進(jìn)行細(xì)粒度識別,提升模型實際應(yīng)用價值。