周康喬 劉向陽 鄭特駒
摘要:針對(duì)農(nóng)田害蟲圖像中感興趣目標(biāo)特征不明顯、小目標(biāo)居多導(dǎo)致的目標(biāo)檢測(cè)精度較低的問題,提出一種基于YOLOv5改進(jìn)的小目標(biāo)多類別農(nóng)田害蟲目標(biāo)檢測(cè)算法。首先,在主干網(wǎng)絡(luò)最后兩個(gè)C3卷積塊特征融合部分引入Swin Transformer窗口注意力網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)小目標(biāo)的語義信息和全局感知能力;其次,在頸部網(wǎng)絡(luò)的C3卷積塊后添加通道注意力機(jī)制和空間注意力機(jī)制的可學(xué)習(xí)自適應(yīng)權(quán)重,使網(wǎng)絡(luò)能夠關(guān)注到圖像中關(guān)于小目標(biāo)的特征信息;最后,由于YOLOv5自身的交并比函數(shù)存在收斂速度較慢且精確率較低的問題,引入SIOU函數(shù)作為新的邊界框回歸損失函數(shù),提高檢測(cè)的收斂速度和精確度。將所提出的算法在包含28類農(nóng)田害蟲公開數(shù)據(jù)集上進(jìn)行試驗(yàn),結(jié)果表明,改進(jìn)后的算法在農(nóng)田害蟲圖像數(shù)據(jù)集上的準(zhǔn)確率、召回率和平均準(zhǔn)確率分別達(dá)到85.9%、76.4%、79.4%,相比于YOLOv5分別提升2.5%、11.3%、4.7%。
關(guān)鍵詞:農(nóng)田害蟲檢測(cè);小目標(biāo);YOLOv5;注意力機(jī)制;損失函數(shù)
中圖分類號(hào):S763.3; TP391
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):2095-5553 (2024) 06-0235-07
收稿日期:2022年12月10日
修回日期:2023年1月13日
*基金項(xiàng)目:云南省重大科技專項(xiàng)計(jì)劃項(xiàng)目資助(202002AE090010)
第一作者:周康喬,男,1998年生,江蘇徐州人,碩士研究生;研究方向?yàn)樯疃葘W(xué)習(xí)與目標(biāo)檢測(cè)。E-mail: 1207581563@qq.com
通訊作者:劉向陽,男,1976年生,山東青島人,副教授,碩導(dǎo);研究方向?yàn)橹悄苡?jì)算、機(jī)器學(xué)習(xí)。E-mail: liuxy@hhu.edu.cn
Research on improved YOLOv5 small target multi-class farmland pest detection algorithm
Zhou Kangqiao, Liu Xiangyang, Zheng Teju
(College of Science, Hohai University, Nanjing, 211100, China)
Abstract: Aiming at the problem of low target detection accuracy caused by the lack of obvious features of the interested target and the majority of small targets in the farmland pest images, a small target multi-category farmland pest target detection algorithm based on YOLOv5 was proposed. Firstly, the Swin Transformer window attention network structure was introduced into the feature fusion part of the last two C3 convolution blocks of the trunk network to enhance the semantic information and global awareness of small targets. Secondly, the learnable adaptive weights of the channel attention mechanism and the spatial attention mechanism were added to the C3 convolution block of the neck network, so that the network could pay attention to the feature information of small targets in the image. Finally, since the intersection ratio function of YOLOv5 itself had the problem of slow convergence speed and low accuracy rate, SIOU function was introduced as a new boundary box regression loss function to improve the convergence speed and accuracy of detection. The proposed algorithm was tested on the open data set of 28 farmland pests. The results showed s that the accuracy rate, recall rate and average accuracy of the improved algorithm in the farmland pest image data set reached 85.9%、 76.4% and 79.4%, respectively, which were 2.5%、 11.3% and 4.7% higher than that of YOLOv5.
Keywords: farmland pest detection; small goal; YOLOv5; attention mechanism; loss function
0 引言
中國是世界上最大的農(nóng)業(yè)生產(chǎn)國之一,也是農(nóng)業(yè)有害生物問題的高發(fā)區(qū)。農(nóng)業(yè)害蟲每年都會(huì)對(duì)農(nóng)作物造成很大的危害[1]。如果沒有專業(yè)知識(shí),人們很難識(shí)別害蟲,而錯(cuò)誤地使用農(nóng)藥往往會(huì)對(duì)受蟲害影響的地區(qū)造成二次損害[2]。近年來,計(jì)算機(jī)技術(shù)發(fā)展迅速,農(nóng)業(yè)害蟲識(shí)別作為研究的熱點(diǎn),其中包括一些基于計(jì)算機(jī)視覺的方法。Larios等[3]開發(fā)了一種采用級(jí)聯(lián)特征直方圖方法對(duì)石蠅幼蟲進(jìn)行分類的系統(tǒng)。Zhu等[4]通過分析翅膀圖像的顏色直方圖和灰度共生矩陣,提出一種昆蟲分類方法。在100種鱗翅目昆蟲數(shù)據(jù)庫中對(duì)該方法進(jìn)行測(cè)試,識(shí)別率高達(dá)71.1%。Wang等[5]設(shè)計(jì)了昆蟲自動(dòng)識(shí)別系統(tǒng)。使用人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)作為模式識(shí)別方法對(duì)昆蟲進(jìn)行分類。利用人工神經(jīng)網(wǎng)絡(luò)對(duì)具有不同特征的八階和九階昆蟲圖像進(jìn)行測(cè)試,系統(tǒng)穩(wěn)定性良好,準(zhǔn)確率為93%。Faithpraise等[6]提出了一種基于k-means聚類和對(duì)應(yīng)濾波器相結(jié)合的害蟲檢測(cè)系統(tǒng)。Xia等[7]使用分水嶺算法將害蟲圖像從背景中分離出來,然后通過馬氏距離提取害蟲的顏色特征,對(duì)移動(dòng)和嵌入式設(shè)備捕獲的害蟲圖像進(jìn)行分類。以常見溫室害蟲粉虱、蚜蟲和薊馬為對(duì)象,在低分辨率圖像下,粉虱、薊馬、蚜蟲與人工鑒定的相關(guān)性較高,分別為0.934、0.925和0.945。Wang等[8]提出一個(gè)局部Chan-Vese模型來完成圖像分割任務(wù)。Xie等[9]開發(fā)了具有先進(jìn)多任務(wù)稀疏表示和多核學(xué)習(xí)的昆蟲識(shí)別系統(tǒng)。對(duì)24種常見作物害蟲的試驗(yàn)結(jié)果表明,該方法在昆蟲種類分類方面表現(xiàn)良好。
然而,上述害蟲識(shí)別方法在很大程度上依賴于人工選擇的害蟲特征,這些特征對(duì)模型性能有很大影響。深度學(xué)習(xí)技術(shù)在圖像識(shí)別工作中已經(jīng)取得了良好的效果,利用深度卷積神經(jīng)網(wǎng)絡(luò)可以自動(dòng)學(xué)習(xí)不同害蟲的特征,不需要人工選擇的害蟲特征。目前計(jì)算機(jī)視覺方面的目標(biāo)檢測(cè)算法可以分為2類:一類是一階段檢測(cè)算法(one-stage),直接在一個(gè)階段里完成尋找目標(biāo)出現(xiàn)的位置和目標(biāo)類別的預(yù)測(cè);另一類是二階段檢測(cè)算法(two-stage)[10, 11],二階段算法通常在第一階段專注于感興趣區(qū)域的生成,得到建議框,然后在第二階段專注于對(duì)建議框進(jìn)行類別的分類與位置的回歸,尋找檢測(cè)目標(biāo)更確切的位置。二階段檢測(cè)以Girshick等[12]提出的R-CNN為代表,包括Fast R-CNN[13]、Faster R-CNN[14]、MASK R-CNN[15]和R-FCN[16]。一階段檢測(cè)以Redmon等[17]提出的YOLO為代表,除此之后還有Swin Transformer[18]和SSD[19]。一階段與二階段的主要不同之處在于沒有候選框生成階段。
由于農(nóng)田害蟲圖像中害蟲尺寸通常較小,攜帶的信息量較少,且圖像背影信息較為復(fù)雜,一般的深度學(xué)習(xí)目標(biāo)檢測(cè)算法直接應(yīng)用于農(nóng)田害蟲圖像會(huì)出現(xiàn)目標(biāo)檢測(cè)精度較低的問題。針對(duì)上述出現(xiàn)的問題,本文提出一種基于注意力機(jī)制和新的邊界框損失函數(shù)的YOLOv5的農(nóng)田害蟲目標(biāo)檢測(cè)算法。首先,本文為了避免主干網(wǎng)絡(luò)中隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深,小目標(biāo)的語義信息在深層特征圖中丟失問題,在主干網(wǎng)絡(luò)的C3卷積塊引入Swin Transformer網(wǎng)絡(luò)結(jié)構(gòu);其次,為了提高Neck網(wǎng)絡(luò)對(duì)目標(biāo)的特征提取能力,在頸部的C3卷積塊后引入CBAM[20]模板;最后,引入SIOU函數(shù)作為新的邊界框回歸損失函數(shù),提高模型的收斂速度和精確率。
1 材料與方法
1.1 材料
本文采用2022年中國高校大數(shù)據(jù)教育創(chuàng)新聯(lián)盟和泰迪杯數(shù)據(jù)挖掘委員會(huì)提供的公開數(shù)據(jù)集作為試驗(yàn)的檢測(cè)基準(zhǔn)。該數(shù)據(jù)集中圖像尺寸較大,數(shù)據(jù)集包含對(duì)農(nóng)作物生長(zhǎng)有危害的28種農(nóng)田害蟲目標(biāo),害蟲的尺寸較小且分布不均衡,某些類別害蟲目標(biāo)數(shù)量少且分辨率較為模糊,不易檢測(cè),如圖1所示。對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗和增強(qiáng)[21, 22]操作后獲得2 200張標(biāo)注準(zhǔn)確的圖像,可以用于研究。其中最多的156類(八點(diǎn)灰燈蛾)共有288次標(biāo)記,占總標(biāo)記的24.26%;而最少的430類(豆野螟)和673類(干紋冬夜蛾)均小于10次標(biāo)記;各類害蟲標(biāo)記數(shù)量并不平衡,且每張圖片的類別數(shù)不相同,此時(shí)模型對(duì)于數(shù)目少的類別的學(xué)習(xí)效果有可能不如數(shù)目多的類別的學(xué)習(xí)效果。因此人工劃分訓(xùn)練集和驗(yàn)證集,以確保驗(yàn)證集中每種害蟲的圖片至少存在一張,進(jìn)一步驗(yàn)證算法對(duì)每一類別害蟲的預(yù)測(cè)精度。具體劃分方法:若包含某種害蟲的圖片少于或等于10張,則隨機(jī)選擇1張圖片劃分入驗(yàn)證集,其余圖片劃分入訓(xùn)練集[23];若包含某種害蟲的圖片多于10張,則以1∶9的比例劃分入驗(yàn)證集和訓(xùn)練集。
按照上述方法對(duì)2 200張圖片進(jìn)行劃分,最后訓(xùn)練集中包含1 760張圖片,測(cè)試集中包含440張圖片。
1.2 試驗(yàn)環(huán)境及參數(shù)設(shè)置
本試驗(yàn)使用的操作系統(tǒng)為Ubuntu 18.04 LTS,GPU為2塊NVIDI A10 24G,CUDA版本為11.6,深度學(xué)習(xí)框架為pytorch1.10。預(yù)訓(xùn)練權(quán)重采用Yolov5s.pt,輸入圖片大小為640像素×640像素,batch-size為16。采用隨機(jī)梯度下降算法訓(xùn)練300epoch[24]。其中初始學(xué)習(xí)率為0.01;采用余弦退火衰減策略調(diào)整學(xué)習(xí)率,余弦函數(shù)動(dòng)態(tài)降低學(xué)習(xí)率為0.1;權(quán)重衰減度為0.937;預(yù)熱訓(xùn)練時(shí)輪數(shù)的學(xué)習(xí)率為0.000 5;預(yù)熱訓(xùn)練時(shí)的梯度動(dòng)量為3;預(yù)熱訓(xùn)練時(shí)偏置b的學(xué)習(xí)率為0.8。Loss函數(shù)的定位框損失函數(shù)的增益比為3;分類損失的增益比為0.5;正樣本的權(quán)重為1;目標(biāo)距離的權(quán)重為1;負(fù)樣本的權(quán)重為1。
1.3 YOLOv5原理
YOLOv5[25]網(wǎng)絡(luò)模型主要分為如下4個(gè)模塊:輸入端、主干網(wǎng)絡(luò)(backone)、頸部網(wǎng)絡(luò)(neck)和預(yù)測(cè)端(prediction)。其中YOLOv5在輸入端使用了Mosaic方法,隨機(jī)將訓(xùn)練集中的任意4張圖像拼接在一起生成一張新的圖像,增強(qiáng)圖像的輸入,同時(shí)在輸入端自適應(yīng)計(jì)算錨框的尺寸,自適應(yīng)縮放圖像縮的尺寸。在主干網(wǎng)絡(luò)中引入一種新的SPPF結(jié)構(gòu)對(duì)處理后的特征圖在通道方向進(jìn)行拼接,同時(shí)引入一種新的C3網(wǎng)絡(luò)結(jié)構(gòu),有效減少了信息丟失。在Neck部分使用FPN+PAN結(jié)構(gòu),首先FPN通過將上采樣后的特征圖和backbone中的低層特征圖進(jìn)行concat,增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)圖像特征的能力。然后PAN對(duì)FPN獲得的圖像通過自下向上傳遞強(qiáng)的定位信息,同時(shí)使用兩者達(dá)到互補(bǔ)效果,增強(qiáng)模型的特征提取能力。
YOLOv5網(wǎng)絡(luò)進(jìn)行通用目標(biāo)檢測(cè)時(shí),雖然其精度較好,但是在小目標(biāo)農(nóng)田害蟲檢測(cè)中仍存在不理想的地方:一是由于主干網(wǎng)絡(luò)對(duì)于小目標(biāo)的特征提取能力較弱;二是由于Neck網(wǎng)絡(luò)在連續(xù)多次采樣過程中會(huì)出現(xiàn)目標(biāo)信息丟失嚴(yán)重的情況,特別是在融合不同層級(jí)特征時(shí),淺層特征會(huì)受到深層特征的干擾,而淺層特征通常包含小目標(biāo)豐富的位置信息,這樣會(huì)造成定位失準(zhǔn)。對(duì)此,本文提出了更適用于小目標(biāo)農(nóng)田害蟲檢測(cè)的改進(jìn)YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)。
1.4 主干網(wǎng)絡(luò)的改進(jìn)
在主干網(wǎng)絡(luò)中隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深,經(jīng)過多次卷積操作,農(nóng)田害蟲圖像中小目標(biāo)應(yīng)該具有的大部分目標(biāo)特征信息在深層特征圖中可能會(huì)丟失。所以,在主干網(wǎng)絡(luò)最后兩個(gè)C3卷積塊特征融合部分借鑒Swin Transformer的思想,將其替換掉原有的BottleNeck模塊。替換后的C3STR結(jié)構(gòu)作為一個(gè)輔助模塊,借助窗口自注意力模塊增強(qiáng)小目標(biāo)的語義信息和特征表示,改進(jìn)后的卷積結(jié)構(gòu)圖2所示。
Swin Transformer Block將Transformer Block中多頭自注意力模塊(MSA)改進(jìn)成窗口多頭自注意力模塊(W-MSA)和滑動(dòng)窗口多頭自注意力模塊(SW-MSA),兩個(gè)模塊成對(duì)出現(xiàn),再經(jīng)過多層感知機(jī)MLP,其中每個(gè)模塊內(nèi)部均采用殘差連接。具體結(jié)構(gòu)如圖3所示。
其中局部窗口大小為7,多層感知機(jī)隱藏層的嵌入維度為4。多頭自注意力機(jī)制[26]的計(jì)算過程引入相對(duì)位置編碼,具體公式如式(1)所示。
Attention(Q,K,V)=softmax(QKT/d+B)V(1)
式中:Q、K、V——對(duì)應(yīng)Query、Key和Value矩陣;
d——輸入特征圖的channels;
B——相對(duì)位置偏差,由網(wǎng)絡(luò)學(xué)習(xí)得到。
與傳統(tǒng)的Transformer[27]中的多頭自注意力模塊相比,W-MSA和SW-MSA模塊和通過劃分局部窗口控制每一個(gè)窗口中計(jì)算區(qū)域的方法降低計(jì)算復(fù)雜度和網(wǎng)絡(luò)計(jì)算量,同時(shí)利用Shifted Windows實(shí)現(xiàn)跨窗口的信息交互。
1.5 Neck網(wǎng)絡(luò)的改進(jìn)
為提高Neck網(wǎng)絡(luò)對(duì)目標(biāo)的特征提取能力,更好地抑制連續(xù)多次采樣過程中出現(xiàn)的目標(biāo)信息丟失嚴(yán)重的情況,得到具有方向感知和位置感知信息的特征圖,對(duì)融合后的特征圖進(jìn)行更新,在Neck的C3卷積塊后引入卷積注意力機(jī)制模板(CBAM),CBMA模塊通過卷積核池化操作計(jì)算出特征圖在空間維度和通道維度的不同權(quán)重,使網(wǎng)絡(luò)能夠更加關(guān)注到圖像中關(guān)于檢測(cè)目標(biāo)的特征信息,如圖4所示。假設(shè)特征圖有C個(gè)通道,通道注意力機(jī)制對(duì)特征圖進(jìn)行全局最大池化和全局平均池化兩種池化操作,分別得到C個(gè)1×1大小的特征圖,再將得到的兩個(gè)特征圖分別進(jìn)行MLP操作后加在一起,最后經(jīng)過Sigmoid函數(shù)獲得特征圖在每一個(gè)通道的權(quán)重。通道注意力具體如式(2)所示。
Mc(F)=σ(W1(W0(Fcavg))+W1(W0(Fcmax)))(2)
式中:σ——使用Sigmoid函數(shù)近激活;
Fcmax——對(duì)特征圖進(jìn)行全局最大池化;
Fcavg——對(duì)特征圖進(jìn)行全局平均池化;
W0、W1——對(duì)應(yīng)第1個(gè)和第2個(gè)全連接層的權(quán)重,為了降低計(jì)算參數(shù),通道注意力模塊在MLP的第一個(gè)全連接層中采用了一個(gè)降維系數(shù)r;
Mc(F)——通道注意力得到每一個(gè)通道權(quán)重。
如圖5和式(3)所示,假設(shè)特征圖在每個(gè)通道上的尺寸為H×W,空間注意力機(jī)制模塊對(duì)學(xué)習(xí)到的特征圖在通道方向上進(jìn)行平均和最大池化操作,分別得到1個(gè)H×W大小的特征圖,再將兩個(gè)特征圖在通道方向上進(jìn)行拼接,得到一個(gè)2×H×W大特征圖,最后經(jīng)過卷積核為7×7的卷積操作和Sigmoid激活函數(shù)獲得學(xué)習(xí)到的特征圖在每一空間位置上的權(quán)重。
Ms(F)=σ(f7×7([Fsavg;Fsmax]))(3)
式中:f7×7——空間注意力模塊的MLP操作采用的是7×7卷積操作。
1.6 損失函數(shù)的改進(jìn)
YOLOv5自身的交并比函數(shù)為CIoU[28]邊界框回歸損失函數(shù),只考慮到IoU loss、中心點(diǎn)損失和長(zhǎng)寬比例損失,沒有考慮到真實(shí)框與預(yù)測(cè)框之間的方向,導(dǎo)致收斂速度較慢,對(duì)此本文考慮到期望的真實(shí)框和預(yù)測(cè)框之間的向量夾角,引入SIoU函數(shù)重新定義相關(guān)損失函數(shù),SIoU[29]函數(shù)具體包含四個(gè)部分。
角度損失(Angle cost),定義如式(4)和圖6所示。
Λ=1-2×sin2arcsinckξ-π4(4)
式中:ck——真實(shí)框和預(yù)測(cè)框中心點(diǎn)的高度差;
ξ——真實(shí)框和預(yù)測(cè)中心點(diǎn)的距離。
距離損失(Distance cost),定義如式(5)所示。其中ρx=bgtcx-bcxcw2,ρy=bgtcy-bcych2,γ=2-Λ,(bgtcx,bgtcy)和(bcx,bcy)分別表示真實(shí)框和預(yù)測(cè)框中心點(diǎn)坐標(biāo),(cw,ch)為真實(shí)框和預(yù)測(cè)框最小外接矩形的寬和高。
Δ=∑t=x,y(1-e-rρt)=2-e-rρx-e-rpy(5)
形狀損失(Shape cost),定義如式(6)所示。其中Ww=|w-wgt|max(w,wgt),Wh=|h-h(huán)gt|max(h,hgt),(w,h)和(wgt,hgt)分別為預(yù)測(cè)框和真實(shí)框的寬和高,θ控制對(duì)形狀損失的關(guān)注程度,一般取4。
Ω=∑t=w,h(1-e-wt)θ=(1-e-ww)θ+(1-e-wh)θ(6)
IoU損失(IoU cost),定義如式(7)所示。
IoU=交集A并集B(7)
最終SIoU損失函數(shù)定義如式(8)所示。改進(jìn)后的YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
LossSIoU=1-IoU+Δ+Ω2(8)
1.7 評(píng)價(jià)指標(biāo)
本文對(duì)算法的性能評(píng)估,以準(zhǔn)確率(Precision,P)、召回率(Recall,R)和平均準(zhǔn)確率(mAP)為主要評(píng)價(jià)指標(biāo)。當(dāng)真實(shí)框與預(yù)測(cè)框的IoU值大于0.5時(shí)即認(rèn)為檢測(cè)正確。評(píng)價(jià)指標(biāo)計(jì)算公式如式(9)~式(11)所示。
P=TPTP+FP(9)
R=TPTP+FN(10)
mAP=∫10P(R)dR(11)
其中,正確預(yù)測(cè)框TP表示真實(shí)框與預(yù)測(cè)框正確匹配,兩者間的IoU大于0.5;誤檢框FP表示將背景預(yù)測(cè)為目標(biāo);漏檢框FN表示本應(yīng)被模型檢測(cè)出的目標(biāo)被預(yù)測(cè)為背景。
2 結(jié)果與分析
2.1 不同檢測(cè)試驗(yàn)結(jié)果及分析
為了驗(yàn)證本文提出的改進(jìn)YOLOv5算法模型的性能,在公開數(shù)據(jù)集上將其與其他主流目標(biāo)檢測(cè)算法進(jìn)行了試驗(yàn)對(duì)比,試驗(yàn)結(jié)果如表1所示。
由表1可知,本文改進(jìn)的算法模型YOLOv5+C3STR+CBMA+SIOU相比于其他主流目標(biāo)檢測(cè)算法,準(zhǔn)確率、召回率和平均準(zhǔn)確率均有所提升。與SSD、YOLOv3相比,mAP值分別提升16.7%、9.4%。
TPH-YOLOv5是基于Transformer改進(jìn)的YOLOv5模型,在YOLOv5的基礎(chǔ)上又添加了一個(gè)用來檢測(cè)小目標(biāo)的預(yù)測(cè)頭,為其設(shè)置初始錨框,并同時(shí)對(duì)YOLOv5的head部分進(jìn)行改進(jìn),將Transformer Prediction Heads集成到Y(jié)OLOv5中,代替原來的prediction heads,能有效提高小目標(biāo)的平均檢測(cè)精確度。本文模型與TPH-YOLOv5相比,準(zhǔn)確率提升了2.8%,召回率提升了9.1%,平均準(zhǔn)確率mAP提升了2.1%。
由表1可知,本文算法相比于原始的YOLOv5模型,改進(jìn)后的YOLOv5算法模型對(duì)農(nóng)田害蟲檢測(cè)的準(zhǔn)確率、召回率、平均正確率的指標(biāo)參數(shù)都有所提升。將改進(jìn)前后的模型在數(shù)據(jù)集上的準(zhǔn)確率、召回率、mAP等參數(shù)變化進(jìn)行了可視化展示。一般來說,準(zhǔn)確率和召回率為負(fù)的相關(guān)的互斥關(guān)系,但文本改進(jìn)后的算法在數(shù)據(jù)集上準(zhǔn)確率相較于原始值提升了2.5%,召回率提升了近11.3%,平均準(zhǔn)確率mAP提升了4.7%,在準(zhǔn)確率和召回率中達(dá)到了最優(yōu)的平衡狀態(tài),因此本文提出的YOLOv5改進(jìn)模型是適合用于小目標(biāo)農(nóng)田害蟲的檢測(cè)實(shí)際應(yīng)用中,如圖8和圖9所示。
對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練得到的結(jié)果,如圖10所示。
從圖10可以得知,改進(jìn)后的算法對(duì)農(nóng)田害蟲的檢測(cè)結(jié)果精度更高,檢測(cè)結(jié)果更全面;同時(shí)改進(jìn)后的算法對(duì)小目標(biāo)檢測(cè)具有良好的識(shí)別性,比原始算法具有更高的置信度。對(duì)于訓(xùn)練樣本中某些標(biāo)記次數(shù)較多的害蟲類別,如148類(黃足獵蝽)、156類(八點(diǎn)灰燈蛾)和256類(蟋蟀)等,不存在誤檢和漏檢情況。但由于訓(xùn)練樣本中有些類別害蟲標(biāo)記次數(shù)過少,如430類(豆野螟)和673類(干紋冬夜蛾)等,網(wǎng)絡(luò)對(duì)于這些類別學(xué)習(xí)能力不足,仍然會(huì)出現(xiàn)部分害蟲誤檢和漏檢情況。
2.2 消融試驗(yàn)結(jié)果及分析
通過本文對(duì)原始YOLOv5s模型的三個(gè)改進(jìn),在公開數(shù)據(jù)集上進(jìn)行了消融試驗(yàn),證明所提出的改進(jìn)模型的有效性,試驗(yàn)結(jié)果如表2所示。
其中,C3STR是指在主干網(wǎng)絡(luò)的C3卷積塊特征融合部分引入Swin Transformer模塊;CBAM是指在Neck的C3卷積塊后引入卷積注意力機(jī)制模板CBAM;SIOU是指在YOLOv5中引入SIOU邊界框回歸損失函數(shù)。
由表2可知,本文所提出改進(jìn)方法中,在YOLOv5s主干網(wǎng)絡(luò)中加入C3STR,mAP可以提升1.6%;加入C3STR并進(jìn)入SIOU損失函數(shù),mAP可以提升2.6%;加入C3STR并在Neck中加入CBAM,mAP可以提升3.5%;當(dāng)所有改進(jìn)方法同時(shí)加入原始YOLOv5s模型后,模型整體的mAP可以提升4.7%,達(dá)到79.4%。
3 討論
本文針對(duì)小目標(biāo)多類別農(nóng)田害蟲圖像識(shí)別問題提出的改進(jìn)后的YOLOv5模型,對(duì)圖像數(shù)據(jù)集進(jìn)行預(yù)處理并進(jìn)行數(shù)據(jù)增強(qiáng)處理,克服部分類別的訓(xùn)練樣本數(shù)據(jù)量不足的問題。模型能夠較好地識(shí)別定位出小目標(biāo)和大目標(biāo)的害蟲圖像,檢測(cè)效率高。模型中采用自適應(yīng)錨框,能夠根據(jù)圖像數(shù)據(jù)選擇合適的錨框并進(jìn)行檢測(cè),很好地解決農(nóng)業(yè)害蟲圖像多尺度檢測(cè)的問題,模型適應(yīng)性強(qiáng),對(duì)害蟲圖像數(shù)據(jù)的魯棒性較好。模型的模塊化和可遷移性較好,下一批害蟲圖像數(shù)據(jù)可以添加進(jìn)入模型的訓(xùn)練中,不需要重新訓(xùn)練全部數(shù)據(jù),在之前訓(xùn)練權(quán)重基礎(chǔ)上進(jìn)行訓(xùn)練。在處理更大的數(shù)據(jù)量,模型的遷移性好。
本文是針對(duì)農(nóng)業(yè)病蟲害圖像的識(shí)別,模型可以推廣到其他的包含小目標(biāo)檢測(cè)的問題。模型可以進(jìn)一步考慮剔除一些不是病蟲的昆蟲,減小其噪聲的干擾。
4 結(jié)論
針對(duì)農(nóng)田害蟲圖像中目標(biāo)檢測(cè)存在的問題,本文提出了改進(jìn)后的YOLOv5算法。
1) 首先,主干網(wǎng)絡(luò)中隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深,經(jīng)過多次卷積操作,小目標(biāo)應(yīng)該具有的大部分目標(biāo)特征信息可能會(huì)丟失。故在主干網(wǎng)絡(luò)最后兩個(gè)C3卷積塊引入Swin Transformer網(wǎng)絡(luò)結(jié)構(gòu),借助窗口自注意力模塊增強(qiáng)小目標(biāo)的語義信息和特征表示。
2) 其次,在頸部的C3卷積塊后引入CBAM模板,CBMA模塊通過卷積核池化操作計(jì)算出特征圖在空間維度和通道維度的不同權(quán)重,使網(wǎng)絡(luò)能夠更加關(guān)注到圖像中關(guān)于檢測(cè)目標(biāo)的特征信息。
3) 最后,由于YOLOv5自身的交并比函數(shù)為CIOU邊界框回歸損失函數(shù),沒有考慮到真實(shí)框與預(yù)測(cè)框之間的方向,導(dǎo)致收斂速度較慢,且對(duì)小目標(biāo)的檢測(cè)精度不準(zhǔn)確。對(duì)此本文考慮到期望的真實(shí)框和預(yù)測(cè)框之間的向量夾角,引入SIOU函數(shù)重新定義相關(guān)損失函數(shù)。
4) 經(jīng)過試驗(yàn)對(duì)比,本文算法相比于原始的YOLOv5s,平均檢測(cè)準(zhǔn)確率在公開數(shù)據(jù)集上提升4.7%,可以表明本文算法在農(nóng)田害蟲圖像目標(biāo)檢測(cè)領(lǐng)域的有效性。
本文算法也存在一定的局限性:改進(jìn)后的模型會(huì)使得網(wǎng)絡(luò)結(jié)構(gòu)變復(fù)雜,使得網(wǎng)絡(luò)的訓(xùn)練時(shí)間增加,檢測(cè)速度下降,實(shí)時(shí)性變差。未來的研究方向是采用網(wǎng)絡(luò)剪枝、權(quán)重量化等手段使模型更加輕量化,繼續(xù)優(yōu)化硬件資源占用,提高檢測(cè)速度,實(shí)現(xiàn)農(nóng)田害蟲的實(shí)時(shí)監(jiān)測(cè)在工業(yè)中的實(shí)際應(yīng)用。
參 考 文 獻(xiàn)
[1]肖忠毅. 農(nóng)業(yè)生產(chǎn)數(shù)字化轉(zhuǎn)型的實(shí)踐機(jī)制研究[D]. 無錫: 江南大學(xué), 2022.
Xiao Zhongyi. Practical mechanism of digital transformation of agricultural production [D]. Wuxi: Jiangnan University, 2022.
[2]牛霆葳. 基于機(jī)器視覺的農(nóng)田害蟲自動(dòng)識(shí)別方法研究[D]. 天津: 天津科技大學(xué), 2015.
Niu Tingwei. Study on automatic identification method of agricultural pests based on machine vision [D]. Tianjin: Tianjin University of Science and Technology, 2015.
[3]Larios N, Deng H, Zhang W, et al. Automated insect identification through concatenated histograms of local appearance features: feature vector generation and region detection for deformable objects [J]. Machine Vision and Applications, 2008, 19(2): 105-123.
[4]Zhu L Q, Zhang Z. Auto-classification of insect images based on color histogram and GLCM [C]. 2010 Seventh International Conference on Fuzzy Systems and Knowledge Discovery. IEEE, 2010, 6: 2589-2593.
[5]Wang J, Lin C, Ji L, et al. A new automatic identification system of insect images at the order level [J]. Knowledge-Based Systems, 2012, 33: 102-110.
[6]Faithpraise F, Birch P, Young R, et al. Automatic plant pest detection and recognition using k-means clustering algorithm and correspondence filters [J]. Int. J. Adv. Biotechnol. Res, 2013, 4(2): 189-199.
[7]Xia C, Chon T S, Ren Z, et al. Automatic identification and counting of small size pests in greenhouse conditions with low computational cost [J]. Ecological Informatics, 2015, 29: 139-146.
[8]Wang X F, Huang D S, Xu H.An efficient local Chan-Vese model for image segmentation [J]. Pattern Recognition, 2010, 43(3): 603-618.
[9]Xie C, Zhang J, Li R, et al. Automatic classification for field crop insects via multiple-task sparse representation and multiple-kernel learning [J]. Computers and Electronics in Agriculture, 2015, 119: 123-132.
[10]文斌, 曹仁軒, 楊啟良, 等. 改進(jìn)YOLOv3算法檢測(cè)三七葉片病害[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2022, 38(3): 164-172.
Wen Bin, Cao Renxuan, Yang Qiliang, et al. Detecting leaf disease for Panax notoginseng using an improved YOLOv3 algorithm [J]. Transactions of the Chinese Society of Agricultural Engineering, 2022, 38(3): 164-172.
[11]周逸博, 馬毓?jié)?趙艷茹. 基于YOLOv5s和Android的蘋果樹皮病害識(shí)別系統(tǒng)設(shè)計(jì)[J]. 廣東農(nóng)業(yè)科學(xué), 2022, 49(10): 155-163.
Zhou Yibo, Ma Yutao, Zhao Yanru. Design of mobile app recognition system for apple bark disease based on YOLOv5s and Android [J]. Guangdong Agricultural Sciences, 2022, 49(10): 155-163.
[12]Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014, 1: 580-587.
[13]Girshick R. Fast R-CNN [C]. Proceedings of the IEEE International Conference on Computer Vision, 2015, 1: 1440-1448.
[14]Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks [J]. Advances in Neural Information Processing Systems, 2015, 28.
[15]He K, Gkioxari G, Dollár P, et al. Mask R-CNN [C]. Proceedings of the IEEE International Conference on Computer Vision, 2017: 2961-2969.
[16]Dai J, Li Y, He K, et al. R-FCN: Object detection via region-based fully convolutional networks [J]. Advances in Neural Information Processing Systems, 2016, 29.
[17]Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection [C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 779-788.
[18]Liu Z, Lin Y, Cao Y, et al. Swin transformer: Hierarchical vision transformer using shifted windows [C]. Proceedings of the IEEE/CVF International Conference on Computer Vision, 2021: 10012-10022.
[19]Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector [C]. European Conference on Computer Vision, 2016: 21-37.
[20]Woo S, Park J, Lee J Y, et al. CBAM: Convolutional block attention module [C]. Proceedings of the European Conference on Computer Vision (ECCV), 2018, 1: 3-19.
[21]趙文博, 周德強(qiáng), 鄧干然, 等. 基于改進(jìn)YOLOv5的甘蔗莖節(jié)識(shí)別方法[J]. 華中農(nóng)業(yè)大學(xué)學(xué)報(bào), 2023, 42(1): 268-276.
Zhao Wenbo, Zhou Deqiang, Deng Ganran, et al. Sugarcane stem node recognition method based on improved YOLOv5 [J]. Journal of Huazhong Agricultural University, 2023, 42(1): 268-276.
[22]Wan J, Chen B, Yu Y. Polyp detection from colorectum images by using attentive YOLOv5 [J]. Diagnostics, 2021, 11(12): 2264.
[23]汪斌斌, 楊貴軍, 楊浩, 等. 基于YOLO_X和遷移學(xué)習(xí)的無人機(jī)影像玉米雄穗檢測(cè)[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2022, 38(15): 53-62.
Wang Binbin, Yang Guijun, Yang Hao, et al. UAV images for detecting maize tassel based on YOLO_X and transfer learning [J]. Transactions of the Chinese Society of Agricultural Engineering, 2022, 38(15): 53-62.
[24]Xue Z, Lin H, Wang F. A small target forest fire detection model based on YOLOv5 improvement [J]. Forests, 2022, 13(8): 1332.
[25]Redmon J, Farhadi A. Yolov3: An incremental improvement [J]. arXiv Preprint arXiv: 1804.02767, 2018.
[26]Parmar N, Vaswani A, Uszkoreit J, et al. Image transformer [C]. International Conference on Machine Learning, 2018: 4055-4064.
[27]Bochkovskiy A, Wang C Y, Liao H Y M. Yolov4: Optimal speed and accuracy of object detection [J]. arXiv Preprint arXiv: 2004.10934, 2020.
[28]Yan B, Fan P, Lei X, et al. A real-time apple targets detection method for picking robot based on improved YOLOv5 [J]. Remote Sensing, 2021, 13(9): 1619.
[29]Gevorgyan Z. SIoU Loss: More powerful learning for bounding box regression [J]. arXiv Preprint arXiv:2205.12740, 2022.