彭紅星 何慧君 高宗梅 田興國 鄧倩婷 咸春龍
(1.華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院, 廣州 510642; 2.農(nóng)業(yè)農(nóng)村部華南熱帶智慧農(nóng)業(yè)技術(shù)重點(diǎn)實(shí)驗(yàn)室, 廣州 510642;3.華盛頓州立大學(xué)生物系統(tǒng)工程系, 普爾曼 WA 99350; 4.華南農(nóng)業(yè)大學(xué)食品學(xué)院, 廣州 510642;5.華南農(nóng)業(yè)大學(xué)資產(chǎn)與實(shí)驗(yàn)室管理處, 廣州 510642; 6.華南農(nóng)業(yè)大學(xué)經(jīng)濟(jì)管理學(xué)院, 廣州 510642)
荔枝是我國華南地區(qū)最重要的經(jīng)濟(jì)林果樹之一,主要分布在廣東和廣西等省份。荔枝味道甘甜,且具有很高的藥用價(jià)值,素有“果中之王”的美稱[1-2]。隨著種植面積的擴(kuò)大、農(nóng)藥的濫用以及全球氣候的變化,荔枝病蟲害的發(fā)生和擴(kuò)散問題日益突出,荔枝病蟲害的防治工作也面臨著新的挑戰(zhàn)。
目前,傳統(tǒng)的病蟲害識別與診斷方法是人工檢測識別,該方法主要依賴于種植人員的種植經(jīng)驗(yàn)和觀察經(jīng)驗(yàn)。但該方法不僅識別效率低、主觀性較強(qiáng)以及人工成本較高[3-5],而且容易出現(xiàn)病蟲害識別錯誤且施藥不當(dāng)?shù)默F(xiàn)象[6-8],從而降低農(nóng)作物生產(chǎn)質(zhì)量。隨著農(nóng)業(yè)科學(xué)化和智能化水平的不斷提升,深度學(xué)習(xí)技術(shù)在圖像識別領(lǐng)域中不斷發(fā)展和應(yīng)用,助力農(nóng)作物病蟲害的預(yù)防與診斷工作,推進(jìn)了農(nóng)業(yè)快速發(fā)展[9-11]。
歐善國等[12]采用卷積神經(jīng)網(wǎng)絡(luò)算法對荔枝病蟲害圖像進(jìn)行訓(xùn)練學(xué)習(xí),并形成病蟲害圖像識別引擎,為農(nóng)戶提供了病蟲害自動化識別服務(wù)。葉進(jìn)等[13]提出一種基于多特征融合的荔枝蟲害識別方法,實(shí)現(xiàn)對荔枝蝽、卷葉蛾、龍眼雞等荔枝主要蟲害的識別,且識別精度達(dá)到95%以上,但該研究所識別的荔枝蟲害類別較少。ZHANG等[14]設(shè)計(jì)一種改進(jìn)的擴(kuò)張殘差網(wǎng)絡(luò)(MDRN)來識別6種糧食害蟲,其識別準(zhǔn)確率達(dá)到96.72%。盡管卷積神經(jīng)網(wǎng)絡(luò)在農(nóng)作物病蟲害識別中取得了較佳的效果,但由于其網(wǎng)絡(luò)模型的計(jì)算復(fù)雜度和存儲空間的需求量,使其難以應(yīng)用在移動或嵌入式設(shè)備中。BAO等[15]針對穎枯病和赤霉病等小麥病害的特點(diǎn),設(shè)計(jì)出一種輕量級卷積神經(jīng)網(wǎng)絡(luò)模型SimpleNet,識別精度達(dá)到94.1%。洪惠群等[16]在輕量級卷積神經(jīng)網(wǎng)絡(luò)ShuffleNetV2 0.5x基礎(chǔ)上進(jìn)行改進(jìn),并能有效識別多種農(nóng)作物葉片的病害類型。但是,輕量級卷積神經(jīng)網(wǎng)絡(luò)的識別精度一般低于大型網(wǎng)絡(luò)模型[17]。因此,在確保模型輕量化的前提下,如何提高模型識別精度是輕量級卷積神經(jīng)網(wǎng)絡(luò)需解決的問題。
基于上述問題,本研究以所收集的荔枝病蟲害圖像數(shù)據(jù)集為研究對象,在輕量級卷積神經(jīng)網(wǎng)絡(luò)ShuffleNetV2中引入注意力機(jī)制SimAM和激活函數(shù)Hardswish,并采用遷移學(xué)習(xí)等方法進(jìn)行改進(jìn)優(yōu)化,提出一個高精度、穩(wěn)定且適用于荔枝病蟲害識別的SHTNet模型。
實(shí)驗(yàn)圖像來源于2020年6月21日在廣州市增城豐綠荔枝果園實(shí)地拍攝和網(wǎng)絡(luò)爬蟲。本文荔枝病蟲害數(shù)據(jù)集在農(nóng)業(yè)專家的幫助下進(jìn)行科學(xué)篩選,共有2 896幅圖像,其中包含毛氈病、白粉病、潰瘍病和炭疽病4種常見的荔枝病害以及荔枝蝽象、堆蠟粉蚧和癭螨等9種常見的荔枝蟲害,部分病蟲害圖像如圖1所示。以7∶3將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,訓(xùn)練集圖像2 034幅,測試集圖像862幅。
圖1 荔枝病蟲害數(shù)據(jù)集部分圖像示例Fig.1 Examples of partial images of litchi diseases and insect pests
由于數(shù)據(jù)集中部分病蟲害種類樣本相對較小,網(wǎng)絡(luò)泛化能力較差,且容易出現(xiàn)過擬合現(xiàn)象,嚴(yán)重影響圖像的識別精度。因此,本實(shí)驗(yàn)通過數(shù)據(jù)增強(qiáng)方法對訓(xùn)練集樣本進(jìn)行擴(kuò)充,具體的數(shù)據(jù)增強(qiáng)方法包括:幾何變換類(如:垂直翻轉(zhuǎn)、水平翻轉(zhuǎn)、隨機(jī)旋轉(zhuǎn)和縮放)和顏色變換類(如:顏色變換、顏色抖動)。表1為擴(kuò)充后的數(shù)據(jù)集分布情況,其中1幅圖像通過不同數(shù)據(jù)增強(qiáng)方法處理后的效果如圖2所示。
表1 數(shù)據(jù)增強(qiáng)后的荔枝病蟲害數(shù)據(jù)集分布Tab.1 Distribution of litchi pests and diseases data set after data enhancement 幅
圖2 采用數(shù)據(jù)增強(qiáng)后的圖像效果Fig.2 Effects of data enhancement
ShuffleNet網(wǎng)絡(luò)是由曠視科技團(tuán)隊(duì)在2017年7月提出的一個高性能的輕量型卷積神經(jīng)網(wǎng)絡(luò)。為了在速度和準(zhǔn)確度之間達(dá)到很好地平衡,ShuffleNet網(wǎng)絡(luò)采用兩種核心操作:分組卷積(Group convolution,GC)和通道混洗(Channel shuffle)[18],這兩種操作在保持精度的同時(shí)大大降低了模型的計(jì)算量。
2.1.1分組卷積與通道混洗
標(biāo)準(zhǔn)卷積是一種通道密集的連接方式,即每層特征圖中每個通道的特征信息都通過卷積操作輸出到下一層特征圖的每個通道中,該過程如圖3a所示。標(biāo)準(zhǔn)卷積參數(shù)量P為
P=D×D×M×N
(1)
式中D——卷積核尺寸
M——輸入特征通道數(shù)
N——輸出特征通道數(shù)
圖3 標(biāo)準(zhǔn)卷積與分組卷積Fig.3 Standard convolution and group convolution
(2)
對比式(1)、(2)可知,分組卷積參數(shù)量是標(biāo)準(zhǔn)卷積參數(shù)量的1/G,同理計(jì)算量也是標(biāo)準(zhǔn)卷積的1/G。分組卷積不僅能減少參數(shù)量,還降低了網(wǎng)絡(luò)過擬合的風(fēng)險(xiǎn)[19]。
但是分組卷積操作限制了網(wǎng)絡(luò)的特征信息交流范圍,缺少組間的信息交流,這容易降低網(wǎng)絡(luò)的特征提取能力。如圖4所示,通道混洗操作將輸出層中不同組的特征信息重新分組,以確保每組之間的特征信息能相互交流。在不影響網(wǎng)絡(luò)的準(zhǔn)確率前提下,通道混洗操作促進(jìn)通道之間的信息充分流動,提高了組間特征信息的學(xué)習(xí)能力,進(jìn)一步地降低了網(wǎng)絡(luò)的計(jì)算量。
圖4 通道混洗示意圖Fig.4 Channel shuffle schematic
圖5 ShuffleNetV2單元Fig.5 ShuffleNetV2 unit
2.1.2ShuffleNetV2模型
MA等[20]在ShuffleNetV1 模型基礎(chǔ)上,提出了4條設(shè)計(jì)高效且輕量化的網(wǎng)絡(luò)準(zhǔn)則,并設(shè)計(jì)了ShuffleNetV2模塊(圖5)。ShuffleNetV2模型主要由基本單元(Basic unit)和下采樣單元(Down-sampling unit)組成。如圖5a所示,在ShuffleNetV2模型的基本單元中輸入特征在通道分離(Channel split)操作下,將特征通道分為兩個分支,即將通道數(shù)一分為二,每個分支的特征通道數(shù)均占原來通道數(shù)的1/2;右側(cè)分支經(jīng)過2次1×1普通卷積和1次3×3深度卷積操作(Depthwise convolution,DWConv),并保持輸入與輸出通道數(shù)相等;左側(cè)分支不做任何操作恒等映射。左右分支經(jīng)過通道拼接(Concat)合并在一起,并進(jìn)行通道混洗操作,以確保左右分支的特征信息充分融合。下采樣單元(圖5b)直接將特征圖輸入到兩個分支中;每個分支均進(jìn)行1×1的普通卷積操作和步長為2的3×3深度卷積操作。接著,兩個分支經(jīng)過通道拼接合并后,輸出的通道數(shù)增加為原來的兩倍,并對合并后的特征圖進(jìn)行通道混洗操作。與基本單元不同,下采樣單元在不增加網(wǎng)絡(luò)模型計(jì)算量的前提下,不采用通道分離操作,直接增加網(wǎng)絡(luò)通道數(shù)量并增加網(wǎng)絡(luò)的寬度,進(jìn)一步增強(qiáng)網(wǎng)絡(luò)提取特征能力[21]。
2.2 改進(jìn)的荔枝病蟲害識別模型SHTNet
根據(jù)荔枝病蟲害圖像特點(diǎn),選取ShuffleNetV2 1.0x作為主干網(wǎng)絡(luò),并在此基礎(chǔ)上對模型進(jìn)行改進(jìn)。在SHTNet模型(圖6)中,Conv表示卷積;MaxPool表示最大池化;ShuffleNetV2 unit(Down-sampling unit repeat為1,Basic unit repeat為3)表示ShuffleNetV2單元中的下采樣層單元重復(fù)堆疊1層,基本單元重復(fù)堆疊3層;AvgPool表示平均池化;Dropout表示正則化層;FC表示全連接層;ReLU、Hardswish表示激活函數(shù);BN表示批量歸一化;DWConv表示深度卷積;SimAM表示注意力機(jī)制模塊;Concat表示通道拼接;Channel shuffle表示通道混洗;Channel split表示通道分離。
圖6 改進(jìn)的SHTNet網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 Improved SHTNet network structure
2.2.1注意力機(jī)制SimAM
SimAM是中山大學(xué)在2021年提出的一種概念簡單且非常有效的注意力機(jī)制模塊[22]。如圖7所示,現(xiàn)有的通道注意力機(jī)制或空間注意力機(jī)制是從特征X中生成一維通道或二維空間權(quán)值,并擴(kuò)展通道或空間注意的權(quán)值。不同于此,SimAM注意力機(jī)制的獨(dú)特優(yōu)勢在于無需增加額外參數(shù),即可直接為特征圖推導(dǎo)出三維權(quán)值(即考慮空間和通道維度),使得網(wǎng)絡(luò)學(xué)習(xí)更多有辨別性的神經(jīng)元以提高網(wǎng)絡(luò)的特征提取能力。具體來說,作者基于神經(jīng)科學(xué)理論提出了優(yōu)化能量函數(shù)以挖掘神經(jīng)元的重要性[22],從而增強(qiáng)重要特征的有效提取,有效抑制非重要特征的干擾。同時(shí),該注意力機(jī)制的大部分操作均基于優(yōu)化能量函數(shù)選擇,避免了過多的結(jié)構(gòu)調(diào)整,加速了注意力權(quán)值的計(jì)算,從而在確保注意力機(jī)制SimAM融入ShuffleNetV2模型后能夠保持網(wǎng)絡(luò)輕量化的同時(shí),更好地發(fā)揮注意力機(jī)制SimAM的有效性和靈活性。
圖7 不同注意力機(jī)制的對比Fig.7 Comparisons of different attentions mechanisim
由于本文所使用的數(shù)據(jù)集為實(shí)際田間環(huán)境下的荔枝病蟲害數(shù)據(jù)集,包含了環(huán)境背景等非重要特征的干擾,在識別過程中會伴隨許多噪聲信息。這些噪聲信息也會在網(wǎng)絡(luò)模型的學(xué)習(xí)過程中傳遞,隨著網(wǎng)絡(luò)層數(shù)的增加,噪聲信息在特征圖的權(quán)重也在不斷增加,最終對模型產(chǎn)生了一定的負(fù)面影響。因此,本文在ShuffleNetV2模型中引入注意力機(jī)制SimAM,使網(wǎng)絡(luò)在不添加額外模型參數(shù)的前提下,更加專注于圖像的重要特征信息的提取,有利于抑制噪聲信息對網(wǎng)絡(luò)的干擾,從而更高效地完成特定的特征提取與重建,提升網(wǎng)絡(luò)識別精度,降低網(wǎng)絡(luò)復(fù)雜度。
2.2.2激活函數(shù)Hardswish
在原始的ShuffleNetV2模型中采用ReLU激活函數(shù)。作為非飽和激活函數(shù)ReLU計(jì)算簡單且高效,僅將所有的負(fù)值置為零,其余值不變,使網(wǎng)絡(luò)具有稀疏性。但是,ReLU函數(shù)在訓(xùn)練時(shí)容易產(chǎn)生“神經(jīng)元壞死”現(xiàn)象[23],即當(dāng)ReLU函數(shù)在x<0時(shí)函數(shù)值為零,負(fù)梯度也被置為零,該神經(jīng)元較大幾率不會被任何數(shù)據(jù)激活。
(3)
MobileNet V3[24]中提出的Hardswish激活函數(shù)優(yōu)于ReLU激活函數(shù),能有效解決ReLU中出現(xiàn)的“神經(jīng)元壞死”問題。Hardswish函數(shù)求導(dǎo)簡單,且能夠有效防止訓(xùn)練時(shí)梯度逐漸接近零時(shí)導(dǎo)致的飽和現(xiàn)象發(fā)生,進(jìn)一步提升網(wǎng)絡(luò)模型的表達(dá)能力。后續(xù)實(shí)驗(yàn)?zāi)茏C明Hardswish激活函數(shù)對比于ReLU激活函數(shù)具有更優(yōu)越的表現(xiàn)性能。
(4)
2.2.3網(wǎng)絡(luò)改進(jìn)細(xì)節(jié)
結(jié)合圖6所示的SHTNet網(wǎng)絡(luò)模型,主要改進(jìn)內(nèi)容為:
(1)在圖6的下采樣層中,將注意力模塊SimAM分別添加到左右分支的1×1卷積層(Conv)之后,同時(shí)在圖6的基本單元中的1×1卷積層后引入SimAM。這是因?yàn)镾imAM注意力機(jī)制能夠利用優(yōu)化能量函數(shù)較好地挖掘ShuffleNetV2網(wǎng)絡(luò)的下采樣層和基本單元中辨別性的神經(jīng)元,即對重要的特征通道給予更大的權(quán)重,非重要的特征通道給予較小的權(quán)重,進(jìn)而增強(qiáng)下采樣單元與基本單元的注意力。另外,在卷積層后加入注意力機(jī)制SimAM是為了讓網(wǎng)絡(luò)不因前面的卷積操作而丟失較多的病蟲害關(guān)鍵信息,并能更細(xì)致地關(guān)注到病蟲害特征信息,從而提升網(wǎng)絡(luò)模型對不同種類病蟲害的區(qū)分能力。
(2)在網(wǎng)絡(luò)模型的下采樣層和基本單元中使用了Hardswish激活函數(shù)。該改進(jìn)操作主要利用Hardswish激活函數(shù)實(shí)現(xiàn)分段函數(shù)優(yōu)化,有效解決網(wǎng)絡(luò)中 “神經(jīng)元壞死”的問題,并能減少網(wǎng)絡(luò)模型參數(shù)量,使網(wǎng)絡(luò)模型更加輕量化。
(3)如表2所示,在確保模型輕量化的前提下,網(wǎng)絡(luò)的階段3層中上采樣層的堆疊次數(shù)設(shè)置為1,而基本單元的堆疊次數(shù)增加到8次。由于荔枝病蟲害中某些種類相似度較高,例如同為白色的堆蠟粉蚧與白蛾蠟蟬只有細(xì)微的形狀特征不同而難以區(qū)分,通過增加基本單元的堆疊次數(shù),網(wǎng)絡(luò)更新更加細(xì)膩,更好地捕捉到病蟲害之間更細(xì)微的形狀特征以及微小的顏色差異,并充分學(xué)習(xí)到更多病蟲害的細(xì)節(jié)信息特征。
表2 SHTNet網(wǎng)絡(luò)模型整體架構(gòu)Tab.2 Overall architecture of SHTNet
(4)在全連接層(FC)之前添加平均池化層(AvgPool)和正則化層(Dropout)融合空間信息,防止過擬合,提高模型泛化能力。另外,利用遷移學(xué)習(xí)方法對模型進(jìn)行微調(diào),將全連接層進(jìn)行參數(shù)重訓(xùn)練,并凍結(jié)其他層(階段2~階段4),使網(wǎng)絡(luò)在借鑒Mini-ImageNet數(shù)據(jù)集的特征參數(shù)的同時(shí)保持其與本文所用數(shù)據(jù)集的相關(guān)性。
如圖6所示,基于SHTNet的荔枝病蟲害圖像分類識別具體過程如下:首先,輸入1幅病蟲害圖像,通過數(shù)據(jù)增強(qiáng)等預(yù)處理轉(zhuǎn)換成224像素×224像素×3通道圖像,輸入到SHTNet網(wǎng)絡(luò)。然后,將圖像經(jīng)過卷積操作和最大池化操作得到特征圖。隨后,通過3個包含上采樣單元和基本單元的ShuffleNetV2單元進(jìn)一步提取具有注意力信息的病蟲害特征,得到7像素×7像素×464通道的特征圖;其中,每個ShuffleNetV2單元的上采樣單元和基本單元堆疊次數(shù)分別為1和3、1和8以及1和3。最后,經(jīng)過卷積操作、平均池化層和全連接層得到病蟲害圖像識別結(jié)果。
遷移學(xué)習(xí)是為了解決小數(shù)據(jù)量樣本在卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練過程中,容易出現(xiàn)過擬合、準(zhǔn)確率低等問題而提出的一種非常高效的學(xué)習(xí)方法。遷移學(xué)習(xí)[25]主要利用大型源數(shù)據(jù)對卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)訓(xùn)練,并將預(yù)訓(xùn)練模型參數(shù)遷移到新的模型中,幫助新模型提高其在目標(biāo)數(shù)據(jù)上的性能[26]。Mini-ImageNet數(shù)據(jù)集是由Google DeepMind團(tuán)隊(duì)在2016年從大型數(shù)據(jù)集ImageNet中提取出來的數(shù)據(jù)集[27],更適合進(jìn)行卷積網(wǎng)絡(luò)模型設(shè)計(jì)和實(shí)驗(yàn)研究。圖8為遷移學(xué)習(xí)的學(xué)習(xí)過程。
圖8 遷移學(xué)習(xí)的學(xué)習(xí)過程Fig.8 Learning process of transfer learning
如圖9所示,為緩解荔枝病蟲害圖像數(shù)據(jù)集樣本嚴(yán)重不足的情況,本文選用Mini-ImageNet數(shù)據(jù)集作為源數(shù)據(jù),對本文提出的SHTNet網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,并保留好其預(yù)訓(xùn)練的特征參數(shù)(即預(yù)訓(xùn)練模型權(quán)重)。為了使SHTNet模型既能保留較多的關(guān)于荔枝病蟲害特征的知識,又提高模型的泛化能力,本文在訓(xùn)練荔枝病蟲害數(shù)據(jù)集(目標(biāo)數(shù)據(jù))時(shí)只重新初始化SHTNet模型的全連接層,其余層直接使用所保留的預(yù)訓(xùn)練模型的權(quán)重參數(shù)。
圖9 SHTNet網(wǎng)絡(luò)識別荔枝病蟲害圖像流程圖Fig.9 SHTNet network in litchi diseases and insect pests in image recognition process
本實(shí)驗(yàn)硬件設(shè)備為Intel(R) Core(TM) i7-6700 CPU處理器,型號為NIVIDIA GeForce TITAN X的GPU顯卡。軟件環(huán)境為Ubuntu 18.04.5操作系統(tǒng),Pytorch 1.7.1深度學(xué)習(xí)框架和PyCharm開發(fā)平臺。訓(xùn)練過程中,為使實(shí)驗(yàn)結(jié)論更加科學(xué)可靠,實(shí)驗(yàn)均使用隨機(jī)梯度下降(SGD)優(yōu)化器進(jìn)行參數(shù)更新,損失函數(shù)為交叉熵函數(shù)(Cross Entropy),迭代次數(shù)為500次,批尺寸為64。
為驗(yàn)證數(shù)據(jù)增強(qiáng)策略對本文數(shù)據(jù)集的影響,以對比實(shí)驗(yàn)的方式,控制網(wǎng)絡(luò)模型結(jié)構(gòu)和優(yōu)化方法等其他因素相同情況下,分別對原始數(shù)據(jù)集和經(jīng)過翻轉(zhuǎn)、旋轉(zhuǎn)和顏色變換等數(shù)據(jù)增強(qiáng)方法擴(kuò)充的數(shù)據(jù)集進(jìn)行訓(xùn)練。由表3可知,相比于原始數(shù)據(jù)集,ShuffleNetV2模型對使用數(shù)據(jù)增強(qiáng)策略的數(shù)據(jù)集訓(xùn)練獲得的準(zhǔn)確率達(dá)到78.3%,提高2.2個百分點(diǎn),精確率達(dá)到70.7%,提高1.6個百分點(diǎn),召回率達(dá)到69.1%,提高4.7個百分點(diǎn),F(xiàn)1值達(dá)到68.8%,提高3.2個百分點(diǎn)。因此,數(shù)據(jù)增強(qiáng)能夠很好地平衡各類別病蟲害圖像的分布,有效地避免了過擬合現(xiàn)象,提高了網(wǎng)絡(luò)模型的識別準(zhǔn)確率。
表3 ShuffleNetV2模型使用數(shù)據(jù)增強(qiáng)前后的實(shí)驗(yàn)結(jié)果Tab.3 Experimental results before and after data enhancement %
3.2.2改進(jìn)模型對實(shí)驗(yàn)結(jié)果的影響
3.2.2.1引入不同注意力機(jī)制對實(shí)驗(yàn)結(jié)果的影響
為了研究注意力模塊的引入對荔枝病蟲害識別是否有效,本文基于數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)集進(jìn)行了4組對比實(shí)驗(yàn),即將ShuffleNetV2模型與分別引入通道注意力模塊SE、混合注意力模塊CBAM以及注意力模塊SimAM的ShuffleNetV2模型進(jìn)行對比。從表4可見,相比于ShuffleNetV2模型,分別引入3種不同注意力模塊的網(wǎng)絡(luò)模型識別準(zhǔn)確率提高0.5、1.4、3.5個百分點(diǎn);精確率分別提高了4.5、4.8、6.3個百分點(diǎn);F1值分別提高1.1、1.7、2.6個百分點(diǎn);說明了引入注意力機(jī)制有助于荔枝病蟲害的識別。同時(shí),實(shí)驗(yàn)結(jié)果表明注意力模塊SE和CBAM都增加了網(wǎng)絡(luò)模型的參數(shù),且運(yùn)算量增大到1.52×108,但注意力模塊SimAM不僅保持模型輕量化,而且達(dá)到更高的識別準(zhǔn)確率。
激活熱力圖(Grad-CAM)能對模型的分類結(jié)果提供很好的可視化依據(jù)[28]。由圖10c可知,對比于ShuffleNetV2模型,融合了注意力機(jī)制SimAM的模型更注意到荔枝蝽象相關(guān)特征區(qū)域,具有更強(qiáng)的辨別病蟲害特征信息的能力。同時(shí),由圖10可知,引入注意力機(jī)制SimAM的模型比其他注意力機(jī)制能夠更準(zhǔn)確地提取出病蟲害區(qū)域的特征信息,且有效地避免了背景環(huán)境等非重要特征的干擾,進(jìn)一步證明了注意力機(jī)制SimAM的有效性和高效性。
表4 ShuffleNetV2模型引入不同注意力模塊后的實(shí)驗(yàn)結(jié)果Tab.4 Experimental results after ShuffleNetV2 model introduced different attention modules
圖10 各注意力模塊激活熱力圖對比Fig.10 Comparisons of thermal activation diagrams with different attention mechanisms
因此,注意力模塊的引入有助于提高荔枝病蟲害的識別效率,且比較不同注意力模塊,注意力模塊SimAM取得了更佳的實(shí)驗(yàn)效果,所學(xué)習(xí)到的荔枝病蟲害的特征信息更全面。
3.2.2.2不同激活函數(shù)對實(shí)驗(yàn)結(jié)果的影響
“你……”辛燕曉剛想說,權(quán)頭碰碰她的胳膊肘自己說上了:“突然暈倒,能不上醫(yī)院嗎?醫(yī)生說受刺激引起,沒有什么器質(zhì)性的病,一會兒咱就可以辦出院手續(xù)了。你們倆怎么樣啊,和好了吧?”
激活函數(shù)的主要作用是加入非線性因素,以解決模型表達(dá)能力不足的缺陷,在整個神經(jīng)網(wǎng)絡(luò)里起到至關(guān)重要的作用[29]。本實(shí)驗(yàn)對比了ReLU和Hardswish兩種激活函數(shù)在ShuffleNetV2模型中的表現(xiàn)。如圖11所示,與ReLU激活函數(shù)相比,Hardswish激活函數(shù)的準(zhǔn)確率能夠較快地穩(wěn)步上升,表明Hardswish激活函數(shù)能夠有效解決部分落到硬飽和區(qū)的輸入所對應(yīng)權(quán)重?zé)o法更新的問題,較好防止了“神經(jīng)元壞死”現(xiàn)象的發(fā)生。分析實(shí)驗(yàn)結(jié)果(表5)可得:相比于采用ReLU激活函數(shù),在模型識別精度方面,采用Hardswish激活函數(shù)的模型的準(zhǔn)確率為81.4%,提高3.1個百分點(diǎn);精確率為76.9%,提高6.2個百分點(diǎn);召回率為71.1%,提高2個百分點(diǎn);F1值為73.0%,提高4.2個百分點(diǎn)。在模型性能方面,Hardswish激活函數(shù)在保持運(yùn)算量為1.51×108的情況下,減少了模型參數(shù)量,一定程度減輕了網(wǎng)絡(luò)模型的負(fù)擔(dān)。綜上分析,采用Hardswish激活函數(shù)的ShuffleNetV2模型不僅得到更佳的識別精度,還減輕了模型的負(fù)擔(dān)。
圖11 不同激活函數(shù)準(zhǔn)確率對比Fig.11 Comparison of accuracy values with different activation functions
表5 ShuffleNetV2模型采用不同激活函數(shù)的 實(shí)驗(yàn)結(jié)果Tab.5 Experimental results of ShuffleNetV2 model using different activation functions
3.2.2.3網(wǎng)絡(luò)改進(jìn)消融實(shí)驗(yàn)
為了進(jìn)一步驗(yàn)證本文所使用的各類優(yōu)化方法的有效性以及融合后的SHTNet網(wǎng)絡(luò)模型在荔枝病蟲害圖像識別性能上的提升效果,本實(shí)驗(yàn)將ShuffleNetV2模型與上文提出的各類優(yōu)化后模型進(jìn)行對比測試,實(shí)驗(yàn)結(jié)果如表6所示。
表6 模型優(yōu)化消融實(shí)驗(yàn)結(jié)果對比Tab.6 Comparison of experimental results of model optimization ablation
由表6可以看出,注意力機(jī)制SimAM的引入和激活函數(shù)Hardswish的采用均對模型的識別精度有積極影響。尤其,相比于原始ShuffleNetV2模型,融合了注意力模塊SimAM和激活函數(shù)Hardswish的ShuffleNetV2模型準(zhǔn)確率達(dá)到82.1%,提高3.8個百分點(diǎn);精確率提高至76.9%,提高6.2個百分點(diǎn);F1值達(dá)到73.0%,提高4.2個百分點(diǎn);在模型性能方面,兩種方法的融合既沒有增加模型參數(shù)量,又保持1.51×108的運(yùn)算量,進(jìn)一步證明了注意力機(jī)制SimAM和激活函數(shù)Hardswish兩種方法的融合沒有為ShuffleNetV2網(wǎng)絡(luò)帶來負(fù)面效果,反而更有利于提高模型的識別精度。
在此基礎(chǔ)上,本實(shí)驗(yàn)以融合了注意力模塊SimAM和激活函數(shù)Hardswish的ShuffleNetV2模型為基礎(chǔ),采用遷移學(xué)習(xí)方法進(jìn)行對比,并研究遷移學(xué)習(xí)對改進(jìn)模型的影響。由表6可知,遷移學(xué)習(xí)方法在不犧牲模型性能(模型參數(shù)和運(yùn)算量)的同時(shí),保證了各項(xiàng)衡量指標(biāo)均獲得較好的表現(xiàn)。相比于原始ShuffleNetV2模型,SHTNet網(wǎng)絡(luò)模型的準(zhǔn)確率達(dá)到84.9%,提高6.6個百分點(diǎn);精確率達(dá)到了78.1%,提高7.4個百分點(diǎn)。同時(shí),對比其他模型,改進(jìn)SHTNet模型獲得了最高的召回率(73.2%)以及最高的F1值(75.8%),充分證明了改進(jìn)SHTNet模型的優(yōu)越性,在解決荔枝病蟲害識別問題上具有可行性。
3.2.3不同模型的對比實(shí)驗(yàn)
本實(shí)驗(yàn)在相同的實(shí)驗(yàn)條件下將本文提出的SHTNet網(wǎng)絡(luò)模型與經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)ResNet34和ResNeXt50以及輕量型卷積神經(jīng)網(wǎng)絡(luò)MobileNetV3-large和ShuffleNetV2 1.0x進(jìn)行對比,進(jìn)一步驗(yàn)證了SHTNet網(wǎng)絡(luò)在荔枝病蟲害識別上的有效性,表7為不同模型的實(shí)驗(yàn)結(jié)果。
由表7可知,與ResNet34、ResNeXt50、MobileNetV3-large和ShuffleNetV2 1.0x網(wǎng)絡(luò)相比,SHTNet模型準(zhǔn)確率分別提高7.8、7.3、7.1、6.6個百分點(diǎn);F1值分別提高6.6、8.5、7.7、7個百分點(diǎn)。在模型性能方面,SHTNet模型參數(shù)量僅為1.29×106,浮點(diǎn)運(yùn)算量為1.51×108;SHTNet網(wǎng)絡(luò)模型參數(shù)量及運(yùn)算量都遠(yuǎn)比其他網(wǎng)絡(luò)模型小很多。由此可見,SHTNet網(wǎng)絡(luò)模型在識別精度和模型性能方面遠(yuǎn)優(yōu)于其他模型,說明了SHTNet網(wǎng)絡(luò)模型在識別荔枝病蟲害中具有一定的優(yōu)越性。
表7 不同模型的實(shí)驗(yàn)結(jié)果對比Tab.7 Comparison of experimental results of different models
為了進(jìn)一步說明本文提出的SHTNet模型具有更好的分類表現(xiàn),通過混淆矩陣可以清晰直觀地分辨出SHTNet模型對不同種類荔枝病蟲害圖像進(jìn)行分類識別的情況?;煜仃嚨拿恳涣斜硎疽粋€預(yù)測類中的實(shí)例,每一行表示一個實(shí)際類中的實(shí)例(反之亦然)[30]。從圖12中可知, SHTNet模型對每類病蟲害圖像特征提取效果比較好且擁有良好的分類效果。
圖12 荔枝病蟲害識別模型的混淆矩陣Fig.12 Confusion matrix of litchi disease and pest recognition model
(1)為了緩解數(shù)據(jù)集中病蟲害種類數(shù)量不平衡的問題,本文采用數(shù)據(jù)增強(qiáng)方法擴(kuò)充數(shù)據(jù)集數(shù)量以提高模型的訓(xùn)練效率。數(shù)據(jù)增強(qiáng)后的網(wǎng)絡(luò)模型的準(zhǔn)確率達(dá)到78.3%,提高2.2個百分點(diǎn)。
(2)與其他注意力機(jī)制不同,在不犧牲模型性能(模型參數(shù)量與運(yùn)算量)前提下,注意力機(jī)制SimAM能使網(wǎng)絡(luò)學(xué)習(xí)更多有辨別性的神經(jīng)元,以提高網(wǎng)絡(luò)的特征提取能力。通過實(shí)驗(yàn)對比,結(jié)合激活熱力圖可發(fā)現(xiàn),注意力機(jī)制SimAM更有利于重要特征的提取,抑制非重要特征的干擾,并取得最佳的實(shí)驗(yàn)效果。
(3)為了驗(yàn)證本文所提出的各種優(yōu)化方法的有效性以及SHTNet網(wǎng)絡(luò)模型的識別性能,本文通過消融實(shí)驗(yàn)進(jìn)一步說明了各種優(yōu)化方法對于優(yōu)化模型性能及提高模型泛化能力具有明顯的促進(jìn)作用。SHTNet模型采用了遷移學(xué)習(xí)方法,將Mini-ImageNet數(shù)據(jù)集學(xué)習(xí)的知識遷移到荔枝病蟲害數(shù)據(jù)集上,以增強(qiáng)模型識別不同荔枝病蟲害種類的適應(yīng)性,并有效提高模型的識別精度。
(4)本文提出的荔枝病蟲害識別模型(SHTNet)準(zhǔn)確率達(dá)到84.9%,與原始ShuffleNetV2模型相比,準(zhǔn)確率提高8.8個百分點(diǎn);精確率達(dá)到78.1%,提高9個百分點(diǎn);召回率達(dá)到73.2%,提高8.8個百分點(diǎn);F1值達(dá)到75.8%,提高10.2個百分點(diǎn);且綜合性能明顯優(yōu)于ResNet34、ResNeXt50、MobileNetV3-large和ShuffleNetV2 1.0x模型。
農(nóng)業(yè)機(jī)械學(xué)報(bào)2022年12期