摘要 為了減少蟲害,增加桃樹產量,提出了一種基于改進YOLO v5n的桃蟲害檢測方法。首先,針對蟲害世代重疊和蟲害數據長尾分布,構建了一個多類別的桃蟲害數據集;其次在主干網絡中引入RFB多分支空洞卷積層,增大模型的感受野,提升模型的特征提取能力,同時將頸部網絡結構替換為BiFPN結構,對不同層次的特征圖進行特征重結合,改進特征融合的方式;最后,將激活函數更改為ReLU,避免了原激活函數在某些硬件環(huán)境中不兼容的問題。結果表明,與原YOLO v5n算法相比,改進算法的準確率、召回率分別提升了1.6%和6.6%,平均精度均值提高了3.6%,達到了88.8%,優(yōu)于其他YOLO輕量級模型。
關鍵詞 桃;蟲害檢測;RFB;BiFPN;YOLO v5n
中圖分類號 S 126" 文獻標識碼 A" 文章編號 0517-6611(2025)03-0236-07
doi:10.3969/j.issn.0517-6611.2025.03.047
開放科學(資源服務)標識碼(OSID):
An Improved Peach Pest Detection Method Based on YOLO v5n
ZENG Meng jia1,2,3, XU Huan1, HUANG Xu1,2,3
(1.School of Information Engineering, Huzhou University, Huzhou,Zhejiang 313000;2.School of Electronic Information, Huzhou College, Huzhou,Zhejiang 313000;3.Huzhou Key Laboratory of Urban Multidimensional Perception and Intelligent Computing, Huzhou,Zhejiang 313000)
Abstract To reduce pest damage and increase peach tree yield, we proposed an improved peach pest detection method based on YOLO v5n. Firstly, a multi class peach pest dataset was constructed to address the problem of overlapping pest generations and the long tail distribution of pest data. Secondly, RFB (receptive field block) multi branch dilated convolution layers were introduced into the backbone network to enlarge the model’s receptive field and enhance its feature extraction capability. Simultaneously, the neck network structure was replaced with BiFPN (bi directional feature pyramid network) structure to recombine features from different levels of feature maps and improve the way features were fused. Lastly, the activation function was changed to ReLU to avoid compatibility issues with certain hardware environments. Experimental results showed that compared to the original YOLO v5n algorithm, the improved algorithm achieved a 1.6% improvement in accuracy, a 6.6% improvement in recall rate, and an average precision mean increase of 3.6%(reaching 88.8%). It outperformed other lightweight YOLO models.
Key words Peach;Pest detection;RFB;BiFPN;YOLO v5n
基金項目 教育部人文社會科學一般項目(20YJCZH005);浙江省湖州市工業(yè)攻關項目(2018GG29);湖州學院國家級大學生創(chuàng)新創(chuàng)業(yè)訓練項目(202313287007)。
作者簡介 曾孟佳(1980—),女,湖北荊州人,副教授,在讀博士,從事人工智能方法及其應用研究。*通信作者,教授,博士,從事智能計算及其應用研究。
收稿日期 2024-02-21
桃是一種具有觀賞性的重要經濟水果作物,是我國果樹產業(yè)的組成部分[1-2]。它含有多種維生素、礦物質、脯氨酸,有很高的營養(yǎng)價值和藥用價值,在實現農業(yè)增效、農民增收和鄉(xiāng)村振興中發(fā)揮了十分重要的作用[3-5]。而在桃生長過程中,極易受多種蟲害影響[6]。因蟲害的隱蔽性,以及蟲害有世代重疊的現象,導致蟲害的治理較為困難,通常采取廣撒、勤撒農藥的方式進行滅蟲。但大量使用農藥,不僅會增加農業(yè)生產成本,還會使害蟲產生抗藥性,破壞農田環(huán)境[7-9]。
現階段,大部分桃園蟲害需要通過人工實地調查來檢測[10]。但是人工實地勘察蟲害所要求的專業(yè)性極高,是建立在專家的目視評估之上的,既耗時費力,又易因主觀性出錯[11]。計算機視覺技術可以在保證準確高效的前提下及時發(fā)現蟲害,較為客觀地進行判斷[12]。早期人們使用激光或紅外技術進行病蟲害的識別,但是價格過于昂貴且過于專業(yè),難以推廣民用[13-14]。隨著機器學習的拓展,在農業(yè)中使用深度學習技術成為首選[15]。部分研究人員對Mask-RCNN進行改進[16-17],識別和分割桃病害;部分研究人員使用改進VGG模型對桃葉病害進行識別[18],有很高的準確率。近年來,隨著AI和邊緣計算的融合,高效處理海量的邊緣數據,為實現邊緣智能(DI)提供了可能性[19]。Li等[20]用改進的MTC-YOLOv5n模型對黃瓜病害進行檢測,準確率提升至84.9%,模型大小僅為4.7 MB,適合部署在移動端;Ma等[21]在對玉米葉病害檢測時,使用改進YOLO v5n算法,平均準確率達到95.2%,模型大小為9.5 MB。
綜上,基于深度學習的桃蟲害算法雖然優(yōu)于人工,但由于害蟲本身的機動性、蟲害發(fā)生的隱蔽性和世代重疊的現象,使得數據集獲取困難,識別難度增大。鑒于此,在輕量化的前提下,針對樣本長尾分布、特征提取困難的情況,筆者通過融合RFB結構和BiFPN結構,接受更多的圖像信息,在YOLO v5n的基礎上進行改進,擬實現改進YOLO v5n桃蟲害識別算法。
1 數據與方法
1.1 數據來源與數據集構建
1.1.1 數據來源。
黃桃蟲害數據集主要拍攝于湖州一桃園內。整個桃園呈帶狀分布,種有桃樹千余棵,選擇不同地點、不同時間采集蟲害圖片。
由于桃園內定期除蟲,導致害蟲發(fā)現較少;加上部分蟲類過小,且蟲害發(fā)生初期往往具有隱蔽性,難以觀測。因此,該研究對可觀測到的蟲害種類進行研究,主要有桃紅頸天牛、桃潛葉蛾等4種江浙地區(qū)主要桃樹蟲害。采集得到的數據見表1。
1.1.2 數據預處理與數據集構建。
拍攝到的蟲害數據分辨率高達8 192×6 144,圖像處理效率過于低下。為了提升模型的圖像處理效率,先將圖片的分辨率統(tǒng)一調整為640×640。
對數據分析發(fā)現存在以下問題:
①害蟲存在世代重疊現象。害蟲生長周期較短且大部分是完全變態(tài)發(fā)育,幼蟲與成蟲在形態(tài)結構和生活習性上完全不同,在識別時難以歸為一類。
②蟲害數據存在長尾分布情況。因為在桃園中會定期除蟲,導致難以獲得充足的蟲害數據,且網上對這方面的數據也較少。
因此,在對采集到的數據進行劃分時,將不同時期的蟲害定義為不同類,最終得到6類蟲害;采用數據增廣手段擴充數目較少的類別,數據增廣手段見圖1。
對數據增廣和再分類后的圖片使用LabelImg對目標蟲害進行標注操作,去除模糊不清的圖片。依照上述方法得到蟲害數據見表2。
最終整個數據集包含圖片2 990張,將整個蟲害數據集70%的圖片劃分為訓練集,20%為驗證集和10%的測試集。
1.2 研究方法
提出了一種改進YOLO v5n的黃桃蟲害檢測方法。利用RFB的空洞卷積操作,增加模型感受野,提升模型的特征提取能力;將頸部網絡結構替換為BiFPN結構,對不同層次的特征圖進行特征重結合,改進特征融合的方式;將激活函數更改為ReLU,避免了SiLU在某些硬件環(huán)境中不兼容的問題。最后得到1個提取特征能力提升且模型很小的輕量化網絡改進YOLO v5n。
2 黃桃蟲害檢測網絡的實現
2.1 YOLO v5s網絡模型
YOLO v5(You Only Look Once version 5)屬于單階段目標檢測模型,是基于YOLO v4基礎上改進而得,對速度與精度都有較大的提升。在不斷研究開發(fā)過程中,YOLO v5在原有模型基礎上,延展出從1.0~7.1的10個版本。在這10個版本中,1.0~6.0版本都在調整層與層之間的順序,不斷提升準確率。YOLO v5-6.1支持多種格式的導出,YOLO v5-6.2新增了分類功能,YOLO v5-7.0可支持實例分割。因此,選擇較為完善且無其余功能的YOLO v5-6.0作為主要研究對象。
在YOLO v5中,根據網絡寬度和深度的不同,又可以細分為5個大小不同的模型,即YOLO v5n、YOLO v5s、YOLO v5m、YOLO v5l、YOLO v5x,其相對應模型的模型參數量和模型大小依次提高。在上述5個不同規(guī)模的模型中,平衡模型寬度系數、深度系數、權重文件大小、參數量、浮點運算量這5個指標,對這5個不同的模型進行分析(表3)。
由于在生產生活中,常使用邊緣設備對黃桃蟲害進行推理識別,而邊緣設備對模型大小、算子的組成有較高的要求,因此選擇權重文件較小、參數量較少的YOLO v5n-6.0(簡稱YOLO v5n)作為該試驗的基礎模型。
圖2為YOLO v5n的網絡結構示意,由主干特征提取網絡Backbone、頸部特征融合網絡Neck和輸出預測端Head組成。其中,主干網絡負責從輸入圖像中提取關鍵特征;頸部網絡主要進行特征融合;預測層則生成含有特征映射的錨框,輸出帶有檢測類別名稱和概率的邊界框。
YOLO v5n在以往版本的基礎上,對一些函數層進行了重構和改進。首先,重構了下采樣和通道壓縮的Focus層,將操作復雜的slice算子用卷積替換,不僅減少了計算量和參數量,還能拓展了可使用的硬件平臺。其次,使用改進的SPPF模塊,減少了計算量,加快了計算速度。
2.2 BiFPN特征融合結構
在卷積神經網絡中,不同深度的網絡對所提取到的目標特征是不同的。一般地,低層的網絡由于經過的卷積較少,會包含更多的位置信息;高層的網絡經多次卷積所含的語義信息會更多,與淺層特征相比,預測能力更好,但是位置信息和部分小目標信息會丟失。因此需要將提取到的不同特征進行結合。
對于多尺度特征融合,常見的有FPN結構和PAN結構。由圖3可知,FPN先對高層信息進行上采樣,然后橫向將其與低層特征進行連接,使低層信息具有更強的圖像語義信息(圖3a);PAN在FPN的基礎上,新增了自下而上的路徑來增強FPN自上而下的路徑,縮短了低層信息傳輸到高層信息的路徑,保留了原始Backnone中的特征圖與高層豐富的語義特征進行連接(圖3b)。
原YOLOv5n模型先使用FPN將高層特征的語義信息回傳給低層并結合低層的位置信息,再使用PAN將低層的位置信息向上傳給高層,在保留空間信息的前提下,產生語義豐富的各層信息。經過這樣2個結構融合得到的不同尺寸的特征圖都包含圖像語義信息和圖像位置信息,以實現對不同尺寸圖片的預測(圖4)。
在多尺度特征融合中,不同深度特征圖的分辨率是不同的,對特征融合提供的貢獻值也不同。FPN和PAN結構都是將上下層特征調整到同一分辨率,再簡單拼接,未考慮不同特征對特征融合時的貢獻度。為了更好地融合不同的特征,對不同的輸入特征有區(qū)別的融合,BiFPN根據不同輸入特征的重要性,采用加權融合方式快速歸一化融合(fast normalized fusion)。主要公式如下:
O= iωiη+ jωj·Ii,ωi≥0
式中:ωi是一個可學習的權重,ωi≥0;η=0.000 1,都避免出現數值不穩(wěn)定的情況。后使用基于softmax的快速歸一融合方式,使不同重要性的權重值為0~1,以達到高效、快速歸一化融合特征的目的。
此外,BiFPN網絡結構(圖5a)顯示,不同之處在于:
①刪除只有1條輸入邊的節(jié)點。刪除沒有特征融合的節(jié)點,簡化雙向網絡,并減少部分計算量。
②對于原始輸入節(jié)點和原始輸出節(jié)點處于同一層的節(jié)點,在2節(jié)點之間添加1條額外的通路,在不增加太多成本的情況下融合更多的特性。
由圖5b可知,將BiFPN結構與YOLOv5n的特征提取結構相結合,刪除了P3、P5層輸入的節(jié)點,將信息直接同層傳遞。在高層向低層傳遞特征時,使用Upsmaple進行升維向低層傳遞,再用BiFPN的加權融合方式對同層和高層傳來的信息進行融合。在低層向高層傳遞信息時,接受低層節(jié)點和同層所有節(jié)點傳遞來的特征信息,使用BiFPN的加權融合方式進行融合傳遞給上層,最后實現不同尺寸物體的預測。
2.3 多分支空洞卷積RFB
普通網絡中,模型的每層只使用1種特征操作(單個卷積或池化),常導致提取出來的特征過于單調。針對以上情況,Liu等[22]從人類視覺的角度,模擬人類視覺皮層中的群體感受野(population receptive field),提出了一種新的特征提取模塊RFB(receptive field blocks)。一些神經科學指出,在人類視覺皮層中,群體感受野的大小為人的視神經圖上的離心率的函數,它有助于突出靠近中心區(qū)域的重要性,并提高對微小空間位移的不敏感性。鑒于此,通過在Inception的基礎上加入了空洞卷積,該結構有效增大了感受野,加強從輕量級模型中的特征提取,提高其可分辨率和魯棒性,實現快速準確的檢測。
RFB模塊由不同大小的多個卷積核和膨脹卷積層來構建。由圖6可知,通過多個卷積核配合多分支池,不同分支用大小不同的卷積核模擬不同大小的感受野,用膨脹卷積層(dilated convolution layers)來控制偏心度,并對其進行重塑生成最終的特征,通過模擬感受野大小和偏心度之間的不同,最終得到與人類視覺系統(tǒng)相似的空間陣列。每個分支的內部結構可分為2個元素,即多分支卷積層和后續(xù)的多分支池化/膨脹卷積層。在每個分支上,特定卷積核大小的卷積層之后是相應膨脹卷積層,前半部分負責模擬多層大小的群感受野,后面部分復制了人類視覺系統(tǒng)中的群感受野大小和離心率,利用膨脹卷積來模擬pRFs在人類視覺皮層中的偏心度影響。
由圖7可知,用3種顏色表示3種不同大小的卷積核,其強調了在菊花形狀的配置中感受野大小和偏心度之間的關系,在這種配置中,更大的權重被較小的卷積核分配給更靠近中心的位置(比更遠的更重要)。最后,將所有分支的特征圖拼接在一起,合并成一個空間池或卷積陣列。
2.4 替換激活函數
為了能夠學習、理解非常復雜和非線性的函數,神經網絡使用激活函數來引進非線性特征,提升網絡的學習能力和表達能力。如果沒有激活函數,則網絡僅能夠表達線性映射,從數據中學習復雜函數映射的能力不強。在模型中,激活函數將神經元的線性不可分數據映射到高維空間中,更好地進行分類或者回歸任務,解決線性模型不能解決的問題。
因此,一個好的激活函數往往具有以下特征:
①非線性。引進非線性,通過非線性轉換擬合復雜的數據,逼近目標函數。
②高效性。在大規(guī)模神經網絡中快速計算的能力。
③可微性。讓神經網絡能夠通過反向傳播算法有效地更新權重。
原YOLO v5n所用的激活函數為SiLU函數,其圖像見圖8。
SiLU函數具有平滑的曲線,可以很好地處理梯度消失和爆炸等問題;導數相對簡單,使得神經網絡的訓練更加高效。但是由于SiLU函數涉及指數運算,計算復雜度比較高,且當輸入過大或過小時,梯度會逐漸趨近于0,導致梯度消失的問題。為了降低計算復雜度,解決梯度消失問題,使用更為簡單高效的ReLU函數作為激活函數。ReLU函數圖像見圖9。
由圖9可知,ReLU函數是1個分段線性函數把所有的負值直接變?yōu)?,而正值原樣輸出,具有非常好的計算性質,使得神經網絡的訓練更加高效,大大降低了計算復雜度。針對梯度消失問題,當x lt; 0時,ReLU函數硬飽和,而當x gt; 0時,則不存在飽和問題。因此,ReLU函數能夠在x gt; 0時保持梯度不衰減,緩解梯度消失問題。此外,ReLU函數的神經元只對少量正刺激進行反饋,刻意屏蔽大量的負刺激,提高了學習的精度,更好更快地提取稀疏特征。
3 結果與分析
模型訓練和測試所用的數據集是自己制作的黃桃蟲害數據集。采用操作平臺為64位的Ubuntu 21.04系統(tǒng),網絡開發(fā)架構為Pytorch 1.8,使用Pycharm集成開發(fā)環(huán)境,GPU型號為GeForce RTX 3080,顯存10 G。模型訓練的超參數設置見表4。
3.1 評價指標
采用準確率、召回率、平均精度均值(mAP)、每秒檢測幀率、平均絕對誤差(MAE)、漏檢誤檢率,來衡量算法的性能。一般模型普遍采用準確率、召回率、平均精度值(mAP)來進行性能評估。準確率是指在識別出的物體中,正確的正向預測;召回率是指正確識別出的物體占總物體的比率;平均精度均值綜合考慮了精確率和召回率,用于評價模型在所有類別上的好壞。
3.2 消融試驗分析
通過消融試驗來驗證該算法提出的構思對YOLOv5n的優(yōu)化效果。表5為對YOLOv5n所做的一系列消融試驗結果。由表5可知,以YOLOv5n為基礎模型,“+”表示模塊結構混合改進,“*”表示模塊結構重復出現多次。對比試驗所用的YOLOv5n的準確率、召回率、平均精度均值、參數量和模型大小分別為82.5%、79.2%、85.2%、4.2 G、3.9 MB,以此作為參照標準,此后的改進試驗均有不同程度的提升。
首先,將頸部網絡修改為單層BiFPN結構后,雖然參數量增加了9.5%,但是準確率提高了2.0%,召回率提升了4.0%;當修改為雙層BiFPN結構后,準確率提升了0.7%,召回率提升了2.9%,平均精度均值卻下降了0.3%,與單層BiFPN結構相比,計算量過多并且檢測水平較差,參數量增加了50%,模型大小幾乎翻倍。其次,當混合加入RFB模塊后,召回率提升了5.0%,平均精度均值也提升了1.7%,而參數量幾乎沒變,模型大小也只增加了2.56%。此外,由表5可以看出,改進后的模型在準確率、召回率、平均精度均值都有了較大的提升,分別提升了1.6%、6.6%、3.6%,而參數量僅增加了0.5 G,模型大小僅多了7.69%。綜上所述,將頸部網絡更改為單層BiFPN結構,并且混合加入RFB模塊的組合改進效果最佳。
3.3 不同算法對比與分析
在試驗數據的基礎上,將改進YOLOv5n算法與其他主流目標檢測算法的性能進行比較,結果見表6。由表6可知,YOLO v7在檢測中有最高的準確率,但是改進YOLOv5n有最高的召回率和平均精度均值,模型大小也僅為YOLO v7的6.1%,其余的輕量化網絡模型在模型大小方面均比改進YOLOv5n大,且沒有改進YOLOv5n的檢測效果優(yōu)異。
4 結語
通過改進YOLOv5n的頸部特征網絡,結合單層BiFPN結構和RFB多分支空洞卷積特征提取層,得到1個檢測精度提升及模型大小幾乎不變的輕量化網絡改進YOLOv5n。采用多分支空洞卷積RFB層,在有效增大模型感受野的同時,提升了模型的特征提取能力。優(yōu)化后的頸部特征提取網絡采用了單層BiFPN構型,簡化了模型結構,更好地將淺層特征和深層特征結合在一起,提升了模型的特征融合能力,提高了模型精度。優(yōu)化后的模型大小與原模型比,增加了0.5 G FLOPs的計算量,但是檢測速度沒有減慢,與此同時提升了檢測性能,平均精度均值(mAP0.5)為88.8%,比改進前提高了3.6%;準確率提升至84.1%;召回率提升至85.8%。最終得到的模型大小僅為4.6 MB,可以滿足大部分硬件平臺所需。
參考文獻
[1] 中華人民共和國國家統(tǒng)計局.中國統(tǒng)計年鑒2022[M].北京:中國統(tǒng)計出版社,2022.
[2] 楊孟平,陳紅,宋雅祺,等.桃樹主要病蟲害的為害及防治研究進展[J].貴州農業(yè)科學,2022,50(1):42-50.
[3] JUNG K M,KIM S Y,SEO E C,et al.Influence of peach(Prunus persica L.Batsch)fruit addition on quality characteristics and antioxidant activities of beer[J].International journal of sciences,2017,3(8):186-191.
[4] CAO S F,SONG C B,SHAO J R,et al.Exogenous melatonin treatment increases chilling tolerance and induces defense response in harvested peach fruit during cold storage[J].Journal of agricultural and food chemistry,2016,64(25):5215-5222.
[5] 陳雙建,成繼東,趙雪輝,等.山西省桃種質資源收集保存及研究進展[J].果樹資源學報,2021,2(3):1-5.
[6] 唐耀康.農作物病蟲害防治中存在的問題及其解決措施探究[J].南方農業(yè),2020,14(11):21-22.
[7] 鐘珍秀.農業(yè)生產中病蟲害綠色防控的必要性及存在的問題[J].種子科技,2023,41(12):103-105.
[8] 李秀萍.農業(yè)生產中病蟲害綠色防控的必要性及存在的問題[J].農家參謀,2020(18):4.
[9] 秦萌,任宗杰,張帥,等.從“農藥零增長行動”看“農藥減量化”發(fā)展[J].中國植保導刊,2021,41(11):89-94.
[10] 駱潤玫,王衛(wèi)星.基于卷積神經網絡的植物病蟲害識別研究綜述[J].自動化與信息工程,2021,42(5):1-10.
[11] YADAV S,SENGAR N,SINGH A,et al.Identification of disease using deep learning and evaluation of bacteriosis in peach leaf[J].Ecological informatics,2021,61:1-12.
[12] 王曾龍,蔣勇勇,彭海峰,等.一種基于Faster-RCNN的棉花蟲害識別與統(tǒng)計方法[J].大眾科技,2023,25(5):5-7,12.
[13] HENSON J M,FRENCH R.The polymerase chain reaction and plant disease diagnosis[J].Annual review of phytopathology,1993,31:81-109.
[14] SASAKI Y,OKAMOTO T,IMOU K,et al.Automatic diagnosis of plant disease Spectral reflectance of healthy and diseased leaves[J].IFAC proceedings volumes,1998,31(5):145-150.
[15] KAMILARIS A,PRENAFETA BOLDU' F X.Deep learning in agriculture:A survey[J].Computers and electronics in agriculture,2018,147:70-90.
[16] 姚娜.基于深度學習的桃樹病害圖像智能處理研究[D].武漢:華中農業(yè)大學,2022.
[17] YAO N,NI F C,WU M H,et al.Deep learning based segmentation of peach diseases using convolutional neural network[J].Frontiers in plant science,2022,13:1-14.
[18] AKBAR M,ULLAH M,SHAH B,et al.An effective deep learning approach for the classification of Bacteriosis in peach leave[J].Frontiers in plant science,2022,13:1-18.
[19] FENG H G,MU G Z,ZHONG S D,et al.Benchmark analysis of YOLO performance on edge intelligence devices[J].Cryptography,2022,6(2):1-16.
[20] LI S F,LI K Y,QIAO Y,et al.A multi scale cucumber disease detection method in natural scenes based on YOLOv5[J].Computers and electronics in agriculture,2022,202:1-12.
[21] MA L,YU Q W,YU H L,et al.Maize leaf disease identification based on YOLOv5n algorithm incorporating attention mechanism[J].Agronomy,2023,13(2):1-17.
[22] LIU S T,HUANG D,WANG Y H.Receptive field block net for accurate and fast object detection[M].Cham:Springer International Publishing,2018:404-419.