梁凱博 孫立 汪禹治 靳龍豪 燕雪倩 曾旺
摘要: ?針對番茄病蟲害診斷中存在的傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、難以直接應(yīng)用于便攜終端,以及現(xiàn)有輕量化卷積神經(jīng)網(wǎng)絡(luò)特征提取能力弱、識別準(zhǔn)確率低、難以滿足實際需要等問題,本研究擬在原有輕量化卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,定義超輕量化卷積神經(jīng)網(wǎng)絡(luò),設(shè)計一種基于SqueezeNet網(wǎng)絡(luò)改進的超輕量化卷積神經(jīng)網(wǎng)絡(luò),將其用于番茄病蟲害診斷任務(wù)中。首先,改進SqueezeNet網(wǎng)絡(luò)中的Fire模塊,生成2種適用于不同特征維度的Fire模塊,并引入ECA(高效通道注意力)模塊以提高模型的特征提取能力;其次,結(jié)合擴展型指數(shù)線性單元函數(shù)(SELU)和Mish函數(shù),替代修正線性單元函數(shù)(ReLU)作為激活函數(shù);再次,采用軟池化(Softpool)替代原始的最大池化;最后,利用中心損失函數(shù)(Center loss)改進指數(shù)歸一化損失函數(shù)(Softmax loss),提高對近似病蟲害的識別準(zhǔn)確率。本研究選擇了8種害蟲和9種病害,對害蟲、病害、病蟲害3類數(shù)據(jù)集進行數(shù)據(jù)增強,并探討了數(shù)據(jù)的小樣本性、不平衡性對模型性能的影響。結(jié)果表明,本研究提出的模型具有超輕量化的特點,對害蟲、病害、病蟲害的識別準(zhǔn)確率最高分別可達98.83%、98.14%和97.71%,能夠很好地滿足番茄病蟲害診斷需求。
關(guān)鍵詞: ?圖像識別; 番茄病蟲害; 超輕量化卷積神經(jīng)網(wǎng)絡(luò); 不平衡性
中圖分類號: ?S641.2;TP391.41 ???文獻標(biāo)識碼: A ???文章編號: ?1000-4440(2024)03-0438-12
Diagnosis of tomato pests and diseases based on super lightweight convolutional neural network
LIANG Kai-bo1,2, SUN Li1, WANG Yu-zhi2, JIN Long-hao1, YAN Xue-qian3, ZENG Wang1
( 1.School of Information, Beijing Wuzi University, Beijing 101149, China; 2.School of Management Engineering, Capital University of Economics and Business, Beijing 100070, China; 3.School of Data Science and Statistics, Beijing Wuzi University, Beijing 101149, China)
Abstract: ?In the diagnosis of tomato diseases and pests, traditional convolutional neural network structures are complex and hard to be directly applied to portable terminals. Besides, existing lightweight convolutional neural networks exhibit weak feature extraction capabilities, low recognition accuracy, and are inadequate for practical applications. Aiming at the above problems, we intended to define a super lightweight convolutional neural network based on existing lightweight convolutional neural network, and to design an ultra-lightweight convolutional neural network by improving the SqueezeNet network for tomato disease and pest diagnosis tasks. Firstly, we enhanced the Fire module in the SqueezeNet network, generated two Fire modules suitable for different feature dimensions. We introduced efficient channel attention (ECA) module to improve feature extraction capabilities of the model. Secondly, we incorporated scaled exponential linear unit (SELU) and Mish to replace rectified linear unit (ReLU) as activation function. Next, we employed Softpool instead of the original max pooling. Finally, we enhanced the exponential normalized loss (Softmax loss) by using Center loss function to improve the recognition accuracy of approximate diseases and pests. In this experiment, we selected eight types of pests and nine types of diseases to perform data augmentation on three datasets (pests, diseases, diseases and pests), and investigated the impact of small sample and data imbalance on model performance. Experimental results demonstrated that the network proposed in this study had super lightweight characteristics. The recognition accuracies for pests, diseases, and diseases and pests could reach up to 98.83%, 98.14% and 97.71%, respectively, which met the requirements for diagnosis effectively.
Key words: ?image recognition; tomato pests and diseases; super lightweight convolutional neural network; imbalance
精準(zhǔn)農(nóng)業(yè)是一種利用現(xiàn)代技術(shù)和數(shù)據(jù)分析方法來優(yōu)化農(nóng)業(yè)生產(chǎn)、對農(nóng)田和作物進行精確管理的模式[1]。隨著數(shù)字智能化技術(shù)的不斷完善,基于精準(zhǔn)農(nóng)業(yè)理念進行精細化生產(chǎn)和病蟲害管理逐漸成為農(nóng)業(yè)發(fā)展的主流。番茄是一種常見蔬菜,其產(chǎn)量在世界范圍內(nèi)僅次于馬鈴薯[2]。番茄病蟲害是威脅番茄產(chǎn)量和品質(zhì)的主要因素之一[3],因此番茄病蟲害診斷對產(chǎn)業(yè)發(fā)展至關(guān)重要。
目前,病蟲害快速診斷主要通過輪廓識別和深度學(xué)習(xí)實現(xiàn)[4-5],但傳統(tǒng)輪廓識別方式依賴于人工提取特征,難以滿足自動化需要[6]。在以往病蟲害診斷與防治的大規(guī)模研究中[7-8],由于病蟲害種類繁多,形態(tài)復(fù)雜,傳統(tǒng)輪廓識別方式難以滿足精確診斷的要求,因此學(xué)者們一方面開發(fā)基于深度學(xué)習(xí)的病蟲害診斷方法[9-10],另一方面大規(guī)模收集數(shù)據(jù)集以滿足深度學(xué)習(xí)對于特征的提取要求[11]。然而,在農(nóng)業(yè)領(lǐng)域,病蟲害防治一般位于田間[12-13],便攜式終端難以運行復(fù)雜網(wǎng)絡(luò),現(xiàn)有輕量化模型的準(zhǔn)確率難以滿足實際需求。此外,受拍攝條件影響,所獲數(shù)據(jù)集不能保證數(shù)據(jù)量充足以及各子數(shù)據(jù)集之間的平衡,成為病蟲害精準(zhǔn)防治的巨大阻礙。
本研究擬基于輕量化模型SqueezeNet,通過對其基本結(jié)構(gòu)、激活函數(shù)、損失激活函數(shù)分別進行改進、優(yōu)化,構(gòu)建一種超輕量化網(wǎng)絡(luò)模型SSCNet(Squeeze-Smish-Centersoftmax Net),對8種番茄蟲害和9種番茄病害進行識別研究,以期更好地實現(xiàn)番茄病蟲害診斷的輕量化、高效化。
1 材料與方法
1.1 模型介紹
1.1.1 SqueezeNet網(wǎng)絡(luò) ?隨著深度學(xué)習(xí)研究的不斷深入,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)的應(yīng)用朝著輕量化、高精度方向發(fā)展。通過精簡可學(xué)習(xí)的參數(shù)數(shù)量、減少網(wǎng)絡(luò)整體計算量等方式,能夠有效提升訓(xùn)練效率、改善存儲效率、節(jié)省占用內(nèi)存,SqueezeNet[14]是輕量化網(wǎng)絡(luò)的代表,具體結(jié)構(gòu)見圖1。通過將3×3卷積替換為1×1卷積,并進行降采樣后置,使其參數(shù)量大幅度減少。此外,F(xiàn)ire模塊作為網(wǎng)絡(luò)主干,由Squeeze和Expand 2部分構(gòu)成,其中,Squeeze部分由1組連續(xù)1×1卷積組成,Expand部分由1組連續(xù)1×1卷積和1組連續(xù)3×3卷積融合而成,保證模型性能的同時大幅度提升模型效率。
然而,由于現(xiàn)有版本的SqueezeNet存在結(jié)構(gòu)簡單、參數(shù)量少等特性,使其在處理大規(guī)模數(shù)據(jù)集或多分類數(shù)據(jù)集時效果不佳[15-18];此外,盡管SqueezeNet已基本實現(xiàn)輕量化,但仍有提升空間[19]。因此,本研究在現(xiàn)有輕量化網(wǎng)絡(luò)的基礎(chǔ)上,將超輕量化網(wǎng)絡(luò)定義為:基于高效的網(wǎng)絡(luò)計算方式,使參數(shù)量不超過1×106,并在處理圖像識別與分類任務(wù)中實現(xiàn)較高精度的一種網(wǎng)絡(luò)類型。
在上述定義的基礎(chǔ)上,本研究對SqueezeNet進行改進優(yōu)化,試圖達到網(wǎng)絡(luò)性能與效率之間的平衡。
1.1.2 SSCNet網(wǎng)絡(luò) ?本研究對SqueezeNet網(wǎng)絡(luò)進行優(yōu)化,提出了SSCNet網(wǎng)絡(luò)(圖2)。具體優(yōu)化情況如下:第一,改進Fire模塊,引入ECA(Efficient channel attention)模塊;第二,結(jié)合擴展型指數(shù)線性單元函數(shù)(SELU)與Mish激活函數(shù),提出一種平滑混合激活函數(shù)(Smish),并將其應(yīng)用到改進網(wǎng)絡(luò)中;第三,用軟池化(Softpool)替代最大池化;第四,基于中心損失函數(shù)(Center loss)改進指數(shù)歸一化損失函數(shù)(Softmax loss),提出一種中心指數(shù)歸一化損失函數(shù)(CenterSoftmax)。
1.1.3 SSCNet網(wǎng)絡(luò)的特征提取 ?特征提取是卷積神經(jīng)網(wǎng)絡(luò)中的關(guān)鍵步驟,決定了網(wǎng)絡(luò)對輸入數(shù)據(jù)的理解能力[20]。為了提升特征提取能力,SSCNet網(wǎng)絡(luò)引入了一系列改進措施。
1.1.3.1 改進的Fire模塊 Fire模塊(圖3)能夠保證模型特征提取能力,減少模型參數(shù)。本研究考慮到番茄病蟲害圖像周遭環(huán)境復(fù)雜,模型需要提取更高維度特征以進行歸一化并分類,基于原Fire模塊,本研究減少卷積層數(shù)量,調(diào)整其卷積核大小,并增加批歸一化(Batch normalization,BN)。圖3顯示,改進的Fire1模塊采用1×1和3×3的卷積核進行特征初步提??;改進的Fire2模塊采用3×3和5×5的卷積核進行高維特征提取。
1.1.3.2 ECA模塊 注意力機制[21-23]能夠賦予卷積神經(jīng)網(wǎng)絡(luò)“重點關(guān)注”的能力,讓網(wǎng)絡(luò)更加關(guān)注那些相對更重要的輸入。由于進行番茄病蟲害診斷時背景復(fù)雜、“噪音”較多,常規(guī)網(wǎng)絡(luò)訓(xùn)練難以獲得較好的結(jié)果,因此本研究引入ECA模塊,實現(xiàn)輸入特征圖通道特征的增強(圖4)。由于病蟲害數(shù)據(jù)集拍攝角度、距離及位置難以保持一致,圖像中各類物體大小不一,將ECA模塊集成到各個Fire模塊之后,通過動態(tài)調(diào)整其卷積核大小來適應(yīng)不同通道數(shù)的特征圖,進而實現(xiàn)不同程度的跨通道交互,提升識別病蟲害的能力。其公式為:
k=(C)=| log2(C) γ + b γ |odd (1)
其中,k為卷積核大??;C為通道數(shù);||odd表示k只能為奇數(shù);γ和b為控制k和C比例的超參數(shù),使k能夠動態(tài)地根據(jù)C選擇其大小。此處γ設(shè)置為2,b設(shè)置為1[22]。
1.1.3.3 平滑混合激活函數(shù) 在當(dāng)前研究中,因結(jié)構(gòu)簡單、收斂速度快,修正線性單元函數(shù)(ReLU)得到了廣泛應(yīng)用,但也存在神經(jīng)元容易死亡、參數(shù)無法更新等問題。目前,大量改進的ReLU被相繼提出[24-27],其中擴展型指數(shù)線性單元函數(shù)能夠?qū)崿F(xiàn)輸出內(nèi)部歸一化,及對網(wǎng)絡(luò)的自歸一化,避免出現(xiàn)梯度消失和爆炸等問題,如公式(2)所示:
SELU(x)=λ α(ex-1), (x≤0) ???x, (x>0) ?(2)
其中,λ表示輸入值。為了使神經(jīng)網(wǎng)絡(luò)權(quán)重在連續(xù)反向傳播迭代中穩(wěn)定,需要使每個層的激活輸出的均值為0,此時就需要λ充當(dāng)平衡因子,由公式(3)求解;此外,為了控制函數(shù)在負半軸上的指數(shù)衰減速度,就需要用α來進行控制,由公式(4)求解;互補誤差函數(shù)efrc(x)則是用來計算SELU函數(shù)中λ參數(shù)的優(yōu)化值,避免其訓(xùn)練過程中出現(xiàn)梯度消失或爆炸等問題,計算方法見公式(5)。
λ=[2erfc( 2 )e2+πerfc( 1 ?2 ?)2e-2(2+π)erfc( 1 ?2 ?) e +π+2]- ?1 2 ≈1.050 7 (3)
α=- ???2 π ??erfc( 1 ?2 ?)exp( 1 2 )-1 ≈1.673 26 (4)
efrc(x)=1- 2 ?π ?∫x0e-t2dt (5)
式中,x為函數(shù)的自變量;t為用于積分運算的虛擬變量,表示函數(shù)中某一點的值。
盡管SELU避免了ReLU中的部分問題,但由于SELU依然存在強制性等缺陷,難以進一步提升網(wǎng)絡(luò)收斂速度,因此本研究引入Mish函數(shù)與之進行結(jié)合。
Mish函數(shù)具有無上界有下界、無窮階連續(xù)性和光滑性等優(yōu)勢。相較于ReLU系列函數(shù),Mish函數(shù)的泛化性能更好。如公式(6)~公式(8)所示:
Mish(x)=xTanh[Softplus(x)] (6)
Tanh(x)=(ex-e-x)/(ex+e-x) (7)
Softplus(x)=ln(1+ex) (8)
但Mish函數(shù)計算復(fù)雜,時間成本高,直接應(yīng)用則與超輕量化理念不符。故本研究在ReLU函數(shù)的基礎(chǔ)上,結(jié)合SELU、Mish 2種函數(shù)特點,設(shè)計一種新激活函數(shù),即Smish函數(shù)(圖5),計算見公式(9):
Smish(x)=λ xTanh[Softplus(x)], (x≤0) ???????x, (x>0) ?(9)
對公式(9)求導(dǎo),如公式(10)所示:
Smish′(x)=λ ?exω δ2 , (x≤0) 1, (x>0) ?(10)
ω=4(x+1)+4e2x+e3x+ex(4x+6) (11)
δ=2ex+e2x+2 (12)
當(dāng)x>0時,Smish函數(shù)取值與SELU函數(shù)相同,很好地繼承ReLU系列函數(shù)輕量的特點,提高了計算效率;當(dāng)x≤0時,Smish函數(shù)取值為λ與Mish函數(shù)的乘積。其中Mish函數(shù)部分一方面避免了x接近負無窮時的“飽和區(qū)”,另一方面穩(wěn)定了網(wǎng)絡(luò)梯度,能夠讓神經(jīng)元得到有效更新。此外,Smish函數(shù)計算公式中保留SELU中λ的取值,能夠確保函數(shù)斜率大于1(圖5),放大病蟲害數(shù)據(jù)間的細微差距。
1.1.3.4 Softpool 常見池化操作有最大池化(Maxpool)和平均池化(Averagepool),但有研究結(jié)果表明上述2種池化會丟失大量圖像信息,降低網(wǎng)絡(luò)整體性能[28]。為保證超輕量化網(wǎng)絡(luò)性能,本研究引入Softpool替代原Maxpool。根據(jù)特征值計算區(qū)域(R)的特征值權(quán)重,如公式(13)所示:
ωi= eai ∑ ?j∈R eaj ?(13)
其中,權(quán)重(ωi)能夠保證傳遞重要特征,區(qū)域(R)中特征值在反向傳遞時都將預(yù)設(shè)最小梯度,i和j均指池化窗口內(nèi)像素的索引,而ai和aj分別指池化窗口中第i個和第j個元素的激活值。得到權(quán)重(ωi)后,通過加權(quán)區(qū)域(R)內(nèi)特征值得到的輸出為:
a ~ = ??j∈R ωi×ai (14)
1.1.3.5 改進指數(shù)歸一化損失函數(shù) 在多分類識別中,常用的分類損失函數(shù)為Softmax loss[29],通過對模型輸出進行Softmax變換,將其轉(zhuǎn)換為概率分布,然后計算Softmax輸出與實際標(biāo)簽之間的交叉熵損失,從而量化預(yù)測輸出與實際標(biāo)簽之間的差異,如公式(15)所示:
lSoftmax loss= - 1 N ??N i=1 ??M j=1 yi,jln ?eZi,j ??M k=1 eZi,k ??(15)
式中,N是數(shù)據(jù)集中樣本總量;M是病蟲害類別數(shù)量;yi,j是第i個樣本的第j類別的實際標(biāo)簽;Zi,j、Zi,k分別是第i個樣本分別屬于第j個、第k個類別的模型預(yù)測輸出; ?M k=1 eZi,k是指第i個樣本的所有預(yù)測輸出進行歸一化后轉(zhuǎn)換為概率分布; eZi,j ??M k=1 eZi,k 則是預(yù)測第i個樣本屬于類別j的概率。
對于病蟲害數(shù)據(jù)集來說,Softmax loss計算了所有預(yù)測輸出與實際病蟲害標(biāo)簽之間的交叉熵,并將所有樣本的交叉熵取平均值作為整個數(shù)據(jù)集的損失值。然而,盡管相似病蟲害之間存在一定的類內(nèi)變化,但由于Softmax loss對這些深層特征不具備足夠的辨別能力,因此難以進行識別。
近年來以Center loss[30]為代表的解決樣本特征類間距過小的函數(shù)相繼被提出,如公式(16)所示:
lCenter loss= 1 2 ??m i=1 ‖xi-cyi‖2 (16)
式中,xi指第i個樣本的特征向量;yi則是與xi所對應(yīng)的類別標(biāo)簽;cyi是指yi的類別中心,即網(wǎng)絡(luò)訓(xùn)練過程中對于每一個批次數(shù)據(jù)中某一類病蟲害特征的中心,為了對該類病蟲害進行判別,需要該類病蟲害中所有特征與特征中心的距離盡可能小。但由于cyi在網(wǎng)絡(luò)訓(xùn)練過程中隨著深層特征的改變不斷更新,因此在網(wǎng)絡(luò)迭代中平均每一類病蟲害的特征并不現(xiàn)實。
本研究基于Center loss,設(shè)計一種改進的損失函數(shù),此處將其命名為中心指數(shù)歸一化損失函數(shù),具體計算見公式(17)~公式(19)。公式(17)是計算特征向量(xi)相對于Center loss的梯度,可用于說明特征向量與其類別中心的偏離方程對于損失函數(shù)的影響。其中xi代表神經(jīng)網(wǎng)絡(luò)的特征向量,cyi為特征向量所對應(yīng)的類別中心。在公式(18)中,△Cj表示類中心(cj)的更新量,δ(yi=j)是一個指示函數(shù),當(dāng)樣本i的真實標(biāo)簽(yi)等于類別j時取值為1,否則取值為0。公式(18)基于所有屬于同一類j的樣本計算類中心(cj)的更新量,通過特征向量(xi)與其類別中心(cj)之間的差異來增大病害與病害、害蟲與害蟲之間的類間距,從而使得區(qū)分2種相似的病蟲害時準(zhǔn)確率更高。對每類病蟲害來說,將其樣本的類別中心與其類別特征中心相減后取均值,獲得不同樣本類別中心的步進值。在此基礎(chǔ)上,類別隨著網(wǎng)絡(luò)模型訓(xùn)練的不斷迭代,損失值不斷縮小,相似病蟲害間隔逐步增大,使得識別結(jié)果更加準(zhǔn)確[31]。
lc xi =xi-cyi (17)
△Cj= ??m i=1 δ(yi=j)×(cj-xi) 1+ ?m i=1 δ(yi=j) ?(18)
l=lSoftmax loss+λlCenter loss (19)
1.2 試驗預(yù)備
本試驗的整體流程見圖6。
1.2.1 數(shù)據(jù)集描述 ?本研究數(shù)據(jù)包括2部分,分別為番茄葉害蟲數(shù)據(jù)集和番茄葉病害數(shù)據(jù)集。其中害蟲數(shù)據(jù)由Huang等[32]自行收集(圖7A);病害數(shù)據(jù)集源于Plant Village數(shù)據(jù)集中的番茄葉病害數(shù)據(jù)集[33](圖7B)。上述2個數(shù)據(jù)集的具體情況分別見表1、表2。
1.2.2 試驗環(huán)境 ?編程語言為Python3.6;深度學(xué)習(xí)框架為Tensorflow2.0。圖像處理單元(GPU)為Tesla V100-PCIE-16 GB,運行內(nèi)存為12 G。
1.2.3 數(shù)據(jù)預(yù)處理 ?將所有圖像的分辨率統(tǒng)一為224×224×3,JPG格式。所有數(shù)據(jù)集均按照8∶2的比例分成訓(xùn)練集與測試集。
1.2.4 數(shù)據(jù)增強 ?數(shù)據(jù)增強能較好解決小樣本和數(shù)據(jù)不平衡的情況,避免過擬合和性能下降等問題。由表1、表2可知,番茄葉害蟲數(shù)據(jù)集數(shù)據(jù)量少且不平衡,番茄葉病害數(shù)據(jù)集數(shù)據(jù)量雖充足,但也存在不平衡的問題。本研究通過旋轉(zhuǎn)、平移、色度變換及隨機視角等方式對數(shù)據(jù)進行增強與整理,得到數(shù)據(jù)集有:
(1)4個數(shù)據(jù)平衡的番茄害蟲數(shù)據(jù)集。通過增強,將原番茄蟲害數(shù)據(jù)集擴充為數(shù)據(jù)總量分別為4 000、4 800、5 600及6 400的4個數(shù)據(jù)集,每個數(shù)據(jù)集中各子數(shù)據(jù)集的數(shù)據(jù)量相等。
(2)4個數(shù)據(jù)不平衡的番茄害蟲數(shù)據(jù)集。通過增強,將原番茄害蟲數(shù)據(jù)集按照各子數(shù)據(jù)集分布比例進行擴充,4個數(shù)據(jù)集的數(shù)據(jù)總量分別為4 000、4 800、5 600及6 400。
(3)2個番茄病害數(shù)據(jù)集。番茄病害的原數(shù)據(jù)集即為不平衡的番茄病害數(shù)據(jù)集。通過增強,對數(shù)據(jù)量不足1 453的子數(shù)據(jù)集進行增強,數(shù)據(jù)量超過1 453的子數(shù)據(jù)集通過隨機刪除使其數(shù)據(jù)量減至1 453,在原有不平衡番茄病害數(shù)據(jù)集的基礎(chǔ)上,形成數(shù)據(jù)總量為14 530的數(shù)據(jù)平衡的番茄病害數(shù)據(jù)集。
(4)1個數(shù)據(jù)不平衡的番茄病蟲害數(shù)據(jù)集。將原番茄害蟲數(shù)據(jù)集和原番茄病害數(shù)據(jù)集融合,得到包含18個類別、數(shù)據(jù)總量為15 147的數(shù)據(jù)集。
(5)1個數(shù)據(jù)平衡的番茄病蟲害數(shù)據(jù)集。通過增強,分別對數(shù)據(jù)量不足842的子數(shù)據(jù)集進行增強,對于數(shù)據(jù)量超過842的子數(shù)據(jù)集通過隨機刪除使數(shù)據(jù)量減至842,最后形成數(shù)據(jù)量為15 156、包含18個類別、各子數(shù)據(jù)集數(shù)據(jù)量均為842的數(shù)據(jù)集。
1.2.5 超參數(shù)設(shè)置 ?為保證試驗規(guī)格一致,將預(yù)設(shè)超參數(shù)設(shè)置為:學(xué)習(xí)率為0.000 1,迭代次數(shù)為50,優(yōu)化器為Adam,批量大小為32,訓(xùn)練方式為5折交叉驗證。
1.2.6 模型訓(xùn)練評價標(biāo)準(zhǔn) ?本研究重點關(guān)注的指標(biāo)有4個,分別是準(zhǔn)確率、參數(shù)量、運行時間及方差。其中準(zhǔn)確率[12]和運行時間作為最直觀的評判指標(biāo)。準(zhǔn)確率的計算參照公式(20)。
Accuracy= TP+TN TP+TN+FP+FN ?(20)
其中,TP為真陽率;TN為假陰率;FP為假陽率;FN為假陰率。
2 結(jié)果與分析
2.1 SSCNet模型的特征提取效果
特征圖是卷積神經(jīng)網(wǎng)絡(luò)中的重要輸出,代表了不同層級抽象特征的結(jié)果。圖8顯示,通過引入注意力機制模塊、調(diào)整池化和激活函數(shù)等,SSCNet模型能夠生成更具代表性的特征圖,從而能夠更好地反映輸入的病蟲害圖像中的關(guān)鍵信息。
2.2 網(wǎng)絡(luò)對比
為驗證SSCNet模型的性能,本研究選取主流模型及輕量化CNN模型進行對比試驗,試驗選用1.2.4節(jié)中的數(shù)據(jù)不平衡的番茄病蟲害數(shù)據(jù)集。表3顯示,相較于傳統(tǒng)CNN模型和常規(guī)輕量化CNN模型,SSCNet在參數(shù)量和訓(xùn)練時間上存在較大優(yōu)勢,在識別準(zhǔn)確率和方差上也存在一定優(yōu)勢。
從整體來看,除Vit模型外,其他模型的識別精度均未達到能夠開展真實診斷工作的要求(但考慮到Vit模型的訓(xùn)練時間長、成本過高,并不符合本研究提出的超輕量化網(wǎng)絡(luò)定義,故不進行進一步的討論)。為了探究造成這一現(xiàn)象的原因,本研究從數(shù)據(jù)平衡性角度出發(fā),討論不同樣本量及數(shù)據(jù)平衡性對于模型性能的影響。
2.3 數(shù)據(jù)集的小樣本性和數(shù)據(jù)不平衡性對模型性能的影響
2.3.1 不同蟲害數(shù)據(jù)集對模型性能的影響 ?表4顯示,原始數(shù)據(jù)集的數(shù)據(jù)量較少,導(dǎo)致難以進行有效的網(wǎng)絡(luò)特征提取,進而出現(xiàn)過擬合現(xiàn)象,無法滿足需求。在比較平衡數(shù)據(jù)集和不平衡數(shù)據(jù)集時,發(fā)現(xiàn)使用平衡數(shù)據(jù)集時模型準(zhǔn)確率更高,說明數(shù)據(jù)不平衡性確實會對模型性能產(chǎn)生影響。
2.3.2 不同病害數(shù)據(jù)集對模型性能的影響 ?病害數(shù)據(jù)集數(shù)據(jù)量較大,因此不考慮進一步擴充。表5顯示,平衡數(shù)據(jù)集與不平衡數(shù)據(jù)集間的模型性能差異較小,但是使用平衡數(shù)據(jù)集時模型整體性能更優(yōu)。
2.3.3 不同病蟲害數(shù)據(jù)集對模型性能的影響 ?表6顯示,病害數(shù)據(jù)與害蟲數(shù)據(jù)融合后,導(dǎo)致數(shù)據(jù)集的不平衡性進一步加劇。將數(shù)據(jù)集進行平衡處理后,模型識別準(zhǔn)確率有了明顯提升。因此,影響模型識別精度的主要因素是各子數(shù)據(jù)集之間的平衡性。
2.4 基于SSCNet的試驗結(jié)果對比
本研究在模型主體、激活函數(shù)、池化操作及損失函數(shù)處均進行了改進。為驗證改動的必要性,對比改動優(yōu)勢,選用數(shù)據(jù)平衡的番茄病蟲害數(shù)據(jù)集對SSCNet模型進行試驗,結(jié)果(圖9)表明,SSCNet模型在訓(xùn)練過程中訓(xùn)練集準(zhǔn)確率提升穩(wěn)定;驗證集準(zhǔn)確率在迭代前期經(jīng)歷了較大波動,隨著迭代次數(shù)的不斷增加,變化也逐步趨于穩(wěn)定。
2.4.1 基于不同激活函數(shù)的試驗結(jié)果對比 ?表7顯示,激活函數(shù)類型對模型性能有一定影響。其中使用Smish的SSCNet模型識別準(zhǔn)確率為96.27%,其模型訓(xùn)練時間與ReLU等函數(shù)差距不大,但更加穩(wěn)定。因此綜合來看,使用Smish的SSCNet模型更能滿足現(xiàn)實中病蟲害診斷的要求。
2.4.2 基于不同池化操作的試驗結(jié)果對比 ?對比Softpool、Maxpool和Averagepool對SSCNet模型識別性能的影響,表8顯示,使用Softpool的SSCNet模型識別準(zhǔn)確率達96.27%,相比于使用其他2種常見池化操作更能滿足番茄病蟲害的診斷要求。
2.4.3 基于不同注意力模塊的試驗結(jié)果對比 ?對比不同注意力模塊在SSCNet模型中的表現(xiàn),表9顯示,不同注意力模塊對模型性能影響不同,使用ECA模塊的SSCNet模型識別準(zhǔn)確率達96.27%,結(jié)果優(yōu)于使用其他2種注意力模塊。
2.4.4 消融試驗 ?為了驗證對SSCNet模型中各個結(jié)構(gòu)改動的可靠性,本研究進行消融試驗。表10顯示,盡管去掉一些模塊后模型效率更高,但模型整體性能也會不同程度地下降。綜合來看,SSCNet模型表現(xiàn)更優(yōu)。
2.4.5 不同超參數(shù)對比 ?除了數(shù)據(jù)量及網(wǎng)絡(luò)結(jié)構(gòu)之外,超參數(shù)也是影響模型性能的指標(biāo)之一。為了探究超參數(shù)對模型性能的影響,本研究對比了不同優(yōu)化器及學(xué)習(xí)率(優(yōu)化器為Adam、SGD和RMSProp;學(xué)習(xí)率設(shè)置為0.010 0、0.001 0及0.000 1)下的結(jié)果。表11顯示,當(dāng)優(yōu)化器與學(xué)習(xí)率的組合為Adam+0.001、RMSProp+0.001、Adam+0.001時,SSCNet模型的表現(xiàn)分別在害蟲、病害及病蟲害診斷任務(wù)中最好,準(zhǔn)確率分別為98.83%、98.14%和97.71%,能較好地完成番茄病蟲害診斷任務(wù)。
3 討 論
針對當(dāng)前卷積神經(jīng)網(wǎng)絡(luò)在進行番茄病蟲害診斷時因結(jié)構(gòu)過于復(fù)雜導(dǎo)致難以應(yīng)用于手持終端設(shè)備,以及現(xiàn)有輕量化網(wǎng)絡(luò)特征提取能力弱、識別準(zhǔn)確率低、難以滿足實際需求等問題[34-37],本研究在輕量化卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,定義了超輕量化卷積神經(jīng)網(wǎng)絡(luò),并依照該定義設(shè)計了一種超輕量化卷積神經(jīng)網(wǎng)絡(luò)SSCNet,比常規(guī)輕量化卷積神經(jīng)網(wǎng)絡(luò)效率更高、性能更強。此外,通過討論數(shù)據(jù)小樣本性、不平衡性以及模型內(nèi)不同結(jié)構(gòu)對模型性能的影響,可得出以下結(jié)論:第一,由2.3節(jié)中3組試驗結(jié)果可知,數(shù)據(jù)不平衡對模型性能影響較大;第二,由2.4節(jié)中5組試驗結(jié)果可知,模型中各個結(jié)構(gòu)的細微變化均會對模型識別性能產(chǎn)生較大影響。因此在后續(xù)工作中為了保證模型在番茄病蟲害診斷任務(wù)中的準(zhǔn)確率和穩(wěn)定性,應(yīng)注意以下2個方面:第一,要避免子數(shù)據(jù)集之間的數(shù)據(jù)量差距過大、出現(xiàn)不平衡現(xiàn)象;第二,在模型訓(xùn)練過程中,針對特定識別任務(wù)對于模型結(jié)構(gòu)、超參數(shù)進行適當(dāng)調(diào)整,從而獲得最優(yōu)效果。
參考文獻:
[1] ?PIERCE F J, NOWAK P. Aspects of precision agriculture[J]. Advances in Agronomy,1999,67:1-85.
[2] AGARWAL M, GUPTA S K, BISWAS K K. Development of efficient CNN model for tomato crop disease identification[J]. Sustainable Computing:Informatics and Systems,2020,28:100407.
[3] REN F, LIU W, WU G. Feature reuse residual networks for insect pest recognition[J]. IEEE Access,2019,7:122758-122768.
[4] 彭紅星,何慧君,高宗梅,等. 基于改進ShuffleNetV2模型的荔枝病蟲害識別方法[J]. 農(nóng)業(yè)機械學(xué)報,2022,53(12):290-300.
[5] 曹樂平. 基于機器視覺的植物病蟲害實時識別方法[J]. 中國農(nóng)學(xué)通報,2015,31(20):244-249.
[6] ALVES A N, SOUZA W S R, BORGES D L. Cotton pests classification in field-based images using deep residual networks[J]. Computers and Electronics in Agriculture,2020,174:105488.
[7] BOLLIS E, MAIA H, PEDRINI H, et al. Weakly supervised attention-based models using activation maps for citrus mite and insect pest classification[J]. Computers and Electronics in Agriculture, 2022, 195: 106839.
[8] HUANG M L, CHUANG T C, LIAO Y C. Application of transfer learning and image augmentation technology for tomato pest identification[J]. Sustainable Computing:Informatics and Systems,2022,33:100646.
[9] 周 維,牛永真,王亞煒,等. 基于改進的YOLOv4-GhostNet水稻病蟲害識別方法[J]. 江蘇農(nóng)業(yè)學(xué)報,2022,38(3):685-695.
[10] 溫長吉,王啟銳,陳洪銳,等. 面向大規(guī)模多類別的病蟲害識別模型[J]. 農(nóng)業(yè)工程學(xué)報,2022,38(8):169-177.
[11] 羅昱晟,冉力爭,張小榮,等. 基于大數(shù)據(jù)與圖像識別的柑橘病蟲害防治系統(tǒng)的設(shè)計與實現(xiàn)[J]. 智能計算機與應(yīng)用,2020,10(12):170-173.
[12] 駱潤玫,殷惠莉,劉偉康,等. 基于YOLOv5-C的廣佛手病蟲害識別[J]. 華南農(nóng)業(yè)大學(xué)學(xué)報,2023,44(1):151-160.
[13] 楊英茹,吳華瑞,張 燕,等. 基于復(fù)雜環(huán)境的番茄葉部圖像病蟲害識別[J]. 中國農(nóng)機化學(xué)報,2021,42(9):177-186.
[14] IANDOLA F N, HAN S, MOSKEWICZ M W, et al. SqueezeNet:AlexNet-level accuracy with 50x fewer parameters and <0.5 MB model size[J]. arXiv,2016. DOI:10.48550/arXiv.1602.07360.
[15] ERTAM F, YAKUT O F, TUNCER T. Pattern lock screen detection method based on lightweight deep feature extraction[J]. Neural Computing and Applications,2023,35(2):1549-1567.
[16] ZHONG H, LYU Y, YUAN R, et al. Bearing fault diagnosis using transfer learning and self-attention ensemble lightweight convolutional neural network[J]. Neurocomputing,2022,501:765-777.
[17] ZHONG Y, HAO J, LIU Q, et al. Novel diagnosis method for GIS mechanical defects based on an improved lightweight CNN model with load adaptive matching[J]. IEEE Transactions on Industrial Informatics,2023,19(11):11041-11051.
[18] MINU M, CANESSANE R, RAMESH S. Optimal squeeze net with deep neural network-based arial image classification model in unmanned aerial vehicles[J]. Traitement Du Signal,2022, 39(1):275-281.
[19] PANG Y, ZHANG Y, WANG Y, et al. SOCNet: a lightweight and fine-grained object recognition network for satellite on-orbit computing[J]. IEEE Transactions on Geoscience and Remote Sensing,2022,60.DOI:10.1109/TGRS.2022.3216215.
[20] LI Y, NIE J, CHAO X. Do we really need deep CNN for plant diseases identification?[J]. Computers and Electronics in Agriculture, 2020,178:105803.
[21] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]. Salt Lake City,UT,USA:IEEE,2018.
[22] WANG Q, WU B, ZHU P, et al. ECA-Net:efficient channel attention for deep convolutional neural networks[C]. Seattle, WA, USA:IEEE,2020.
[23] WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module[C]. Munich,Germany:Springer,2018.
[24] KLAMBAUER G, UNTERTHINER T, MAYR A, et al. Self-normalizing neural networks[J]. 2017.DOI:10.48550/arXiv.1706.02515.
[25] HENDRYCKS D, GIMPEL K. Gaussian error linear units (gelus) [J]. arXiv,2016.DOI:10.48550/arXiv.1606.08415.
[26] RAMACHANDRAM P, ZOPH B, LE Q V. Searching for activation functions[J]. arXiv,2017.DOI:10.48550/arXiv.1710.05941.
[27] MISRA D. Mish: a self regularized non-monotonic neural activation function[J]. arXiv,2019.DOI:10.48550/arXiv.1908.08681.
[28] STERGIOU A, POPPE R, KALLIATAKIS G. Refining activation downsampling with SoftPool[C]. Montreal, Canada: IEEE,2021.
[29] ZEILER M D, FERGUS R. Visualizing and understanding convolutional networks[C]. Zurich,Switzerland:Springer,2014.
[30] 李 超,李 鋒,黃煒嘉. 基于并聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的水果品種識別[J]. 浙江農(nóng)業(yè)學(xué)報,2022,34(11):2533-2541.
[31] WEN Y, ZHANG K, LI Z, et al. A discriminative feature learning approach for deep face recognition[C]. Amsterdam, Netherland:Springer,2016.
[32] HUANG M, CHIN T. A database of eight commin tomato pest images[DB]. 2020.DOI:10.17632/s62zm6djd2.1.
[33] HUGHES D, SALATHE M. An open access repository of images on plant health to enable the development of mobile disease diagnostics[J]. arXiv,2015.DOI:10.48550/arXiv.1511.08060.
[34] 蔣清健,姚 勇,付志軍,等. 基于改進卷積神經(jīng)網(wǎng)絡(luò)算法的番茄葉片病害識別[J]. 江蘇農(nóng)業(yè)科學(xué),2022,50(20):29-34.
[35] 徐姍姍,呂凈妍,陳芳媛. 深度卷積神經(jīng)網(wǎng)絡(luò)的遙感植被檢測方法[J]. 南京林業(yè)大學(xué)學(xué)報(自然科學(xué)版),2022,46(4):185-193.
[36] 牛學(xué)德,高丙朋,南新元,等. 基于改進DenseNet卷積神經(jīng)網(wǎng)絡(luò)的番茄葉片病害檢測[J]. 江蘇農(nóng)業(yè)學(xué)報,2022,38(1):129-134.
[37] 棘 玉,尹顯明,嚴恩萍,等. 基于相機拍照的油茶果形狀特征提取研究[J]. 南京林業(yè)大學(xué)學(xué)報(自然科學(xué)版),2022,46(2):63-70.
(責(zé)任編輯:王 妮)