蔣心璐,陳天恩,王聰,趙春江*
(1.西北農(nóng)林科技大學(xué)信息工程學(xué)院,陜西楊凌 712100;2.國家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京 100097;3.北京市農(nóng)林科學(xué)院信息技術(shù)研究中心, 北京 100097)
農(nóng)田中存在大量不同種類的昆蟲,其中不乏對作物危害巨大的害蟲,若未能及時測報和治理,將影響作物產(chǎn)量和質(zhì)量,造成經(jīng)濟損失。害蟲檢測通過對大田中害蟲種類進(jìn)行測報,幫助農(nóng)技人員及時采取相應(yīng)的防治方法,確保大田作物生長環(huán)境的安全性。
傳統(tǒng)的害蟲測報技術(shù)依賴人工對害蟲信息進(jìn)行鑒別,效率較低,無法保證田間診斷的持續(xù)性和可靠性。隨著圖像處理技術(shù)與深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)算法逐漸被應(yīng)用于自動化蟲情監(jiān)測設(shè)備,害蟲測報更加智能和便捷。
根據(jù)應(yīng)用場景不同,基于深度學(xué)習(xí)的害蟲檢測可分為基于固定式簡單環(huán)境和基于田間復(fù)雜環(huán)境的2 大類害蟲檢測?;诠潭ㄊ胶唵苇h(huán)境的害蟲檢測方法主要使用誘蟲燈、粘蟲板等誘捕裝置和固定攝像頭完成拍攝和檢測工作。因此這類方法得到的圖像幾乎不受噪聲和光照的影響,背景簡單,害蟲與背景區(qū)分度高。由于害蟲特征較顯著,因此這類方法往往具有較高的準(zhǔn)確率。例如,文獻(xiàn)[1]通過粘蟲板捕獲害蟲,并獲取5 000 余張簡單背景圖像,檢測3 類溫室害蟲,平均精度均值(mAP)達(dá)到98.17%。文獻(xiàn)[2]使用三分支注意力機制和殘差結(jié)構(gòu)優(yōu)化YOLO 模型的特征提取網(wǎng)絡(luò),平均精度均值和召回率在7 類昆蟲數(shù)據(jù)集上分別達(dá)到85.9%和91.2%。文獻(xiàn)[3]通過多種誘捕設(shè)備捕獲2 類主要水稻害蟲,在室內(nèi)白板背景下對稻縱卷葉螟和二化螟的識別準(zhǔn)確率分別為91.67%、93.39%。文獻(xiàn)[4]通過優(yōu)化錨框尺度并將高分辨率原圖切片檢測,對白蠅和薊馬的平均精度(AP)達(dá)到95.2%。上述方法雖然具有較優(yōu)的檢測精度,但是檢測環(huán)境多為固定式誘蟲燈或粘蟲板,圖像背景簡單,使用場景和監(jiān)測范圍有限,無法在復(fù)雜的田間環(huán)境下進(jìn)行靈活測報。
主流的小目標(biāo)定義包括絕對尺寸和相對尺寸2 種方式[5]。COCO 數(shù)據(jù)集[6]提出小目標(biāo)的絕對定義,將像素點數(shù)小于32×32 的物體定義為小目標(biāo)。相對定義則根據(jù)目標(biāo)在原圖中所占的面積比例進(jìn)行定義,若相同類別下所有對象邊界框的面積與原圖面積比例的中位數(shù)在0.08%~0.58%之間,則將該物體定義為小目標(biāo)[7]。小目標(biāo)檢測技術(shù)在遙感檢測[8-10]、交通檢測[11-13]等領(lǐng)域應(yīng)用廣泛,為農(nóng)業(yè)領(lǐng)域小目標(biāo)檢測任務(wù)提供了良好的設(shè)計思路和技術(shù)基礎(chǔ)。在大田環(huán)境下的農(nóng)業(yè)害蟲小目標(biāo)檢測面臨圖像拍攝背景復(fù)雜、樣本獲取困難和樣本不均衡等諸多挑戰(zhàn)。由于小目標(biāo)對象可提取特征少,其特征在多次卷積中容易丟失,因此在田間復(fù)雜環(huán)境下較準(zhǔn)確地檢測小目標(biāo)害蟲是害蟲檢測領(lǐng)域主要的難點問題之一。文獻(xiàn)[14]通過空洞卷積層在不丟失分辨率的情況下增大感受野,同時引入優(yōu)化的K 均值聚類算法優(yōu)化先驗框尺度,提高桃蚜的檢測效果。文獻(xiàn)[15]利用多任務(wù)學(xué)習(xí)架構(gòu)提取非圖像上下文信息并編碼為圖像特征,通過融合深層和淺層的上下文信息,改善深層卷積中害蟲特征消失問題。文獻(xiàn)[16]設(shè)計一種基于區(qū)域的級聯(lián)檢測器,在金字塔網(wǎng)絡(luò)中引入自適應(yīng)特征融合方法,在21 類害蟲數(shù)據(jù)集上準(zhǔn)確率為77%。文獻(xiàn)[17]針對田間水稻褐飛虱設(shè)計雙層檢測網(wǎng)絡(luò),先檢測水稻根部,再進(jìn)行害蟲檢測,性能優(yōu)于單層檢測網(wǎng)絡(luò)。文獻(xiàn)[18]針對真實環(huán)境下小麥蚜蟲等微小目標(biāo),計算候選區(qū)域的害蟲目標(biāo)密度水平并分組,通過并行檢測器對不同密度組進(jìn)行精細(xì)檢測,改善微小目標(biāo)的檢測準(zhǔn)確率。雖然上述方法提高了小目標(biāo)害蟲的檢測精度,但是當(dāng)小目標(biāo)數(shù)量較多或聚集時,仍存在難以檢測和漏檢的問題。
為解決田間復(fù)雜環(huán)境下小目標(biāo)害蟲難以檢測和目標(biāo)遺漏問題,本文基于YOLOv5[19]檢測模型提出改進(jìn)的小目標(biāo)害蟲檢測模型Pest-YOLOv5。通過在主干網(wǎng)絡(luò)中引入坐標(biāo)注意力[20](CA),增強小目標(biāo)害蟲特征提取能力。使用加權(quán)的雙向特征金字塔網(wǎng)絡(luò)[21](BiFPN)優(yōu)化頸部連接結(jié)構(gòu),為輸入特征賦予相應(yīng)權(quán)重,通過增加跨層連接路徑,將高分辨率下的小目標(biāo)特征輸入到深層特征中,聚合多尺度特征,加強深層特征中小目標(biāo)特征表示。使用SIoU[22]計算邊框交并比(IoU),變焦損失[23](VFL)計算目標(biāo)置信度損失和分類損失,并增加分類損失權(quán)重系數(shù),提高模型對難分類樣本的關(guān)注,提高小目標(biāo)害蟲檢測精度和網(wǎng)絡(luò)收斂速度。
YOLOv5 是最經(jīng)典的單階段檢測網(wǎng)絡(luò)之一,以整個圖像作為網(wǎng)絡(luò)的輸入,直接預(yù)測目標(biāo)類別和位置信息,極大地加快檢測速度。YOLOv5 結(jié)構(gòu)簡潔、體積較小。本文基于此開展大田環(huán)境農(nóng)業(yè)害蟲檢測算法研究,為模型在移動設(shè)備中的部署奠定了基礎(chǔ)。
YOLOv5 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,包含輸入、主干網(wǎng)絡(luò)、頸部結(jié)構(gòu)和預(yù)測頭。輸入部分對圖像進(jìn)行數(shù)據(jù)增強和預(yù)處理。主干網(wǎng)絡(luò)通過堆疊卷積層提取圖像特征。頸部結(jié)構(gòu)通過特征融合形成小、中、大3 種尺度的特征。預(yù)測頭輸出對象的邊界框和類別結(jié)果。主干網(wǎng)絡(luò)組成模塊的結(jié)構(gòu)如圖2 所示。CBS(Conv+BN+SiLU)模塊由卷積、批量歸一化(BN)和SiLU 激活函數(shù)構(gòu)成。C3 模塊是帶有3 個CBS 的跨階段局部(CSP)網(wǎng)絡(luò)結(jié)構(gòu),推理速度快,參數(shù)量少,并且具有較好的融合特性。BottleNeck 即殘差結(jié)構(gòu),解決因模型加深存在梯度消失問題,在不同版本的YOLOv5 模型中殘差結(jié)構(gòu)的數(shù)量有所不同,其數(shù)量N通過C3 模塊堆疊次數(shù)與模型深度系數(shù)乘積計算得到??焖倏臻g金字塔池化(SPPF)模塊將空間金字塔池化(SPP)模塊中最大池化層的并行連接方式修改為串行,同時將池化核尺寸統(tǒng)一設(shè)為5,融合不同尺度池化層特征,實現(xiàn)局部和整體特征融合,提升模型推理速度。
圖1 YOLOv5 模型結(jié)構(gòu)Fig.1 Structure of YOLOv5 model
圖2 CBS、C3 和SPPF 模塊結(jié)構(gòu)Fig.2 Structure of CBS,C3 and SPPF modules
本文以YOLOv5 為基準(zhǔn)模型,提出大田環(huán)境害蟲檢測模型Pest-YOLOv5,結(jié)構(gòu)如圖3 所示。在主干網(wǎng)絡(luò)部分加入坐標(biāo)注意力機制(CA),從水平和垂直方向編碼坐標(biāo)信息并嵌入到通道中,使模型關(guān)注更重要的小目標(biāo)特征,減少背景噪聲的干擾。在頸部結(jié)構(gòu)采用BiFPN 結(jié)構(gòu)融合多尺度特征,并將其中相加操作替換為拼接操作,減少特征丟失。在損失函數(shù)部分中,由于小目標(biāo)對邊框的偏移更加敏感,因此使用SIoU 計算邊框交并比以減少預(yù)測框震蕩情況。使用VFL 函數(shù)計算目標(biāo)置信度和分類損失以解決樣本不平衡問題,并為分類損失增加并確定最優(yōu)權(quán)重系數(shù),使模型更關(guān)注難分類樣本。
圖3 Pest-YOLOv5 模型結(jié)構(gòu)Fig.3 Structure of Pest-YOLOv5 model
大田環(huán)境存在各種顏色、體型與目標(biāo)害蟲相似的干擾物,這種情況下小目標(biāo)害蟲的檢測任務(wù)難度較大。注意力機制可以讓網(wǎng)絡(luò)更加關(guān)注目標(biāo)害蟲的相關(guān)信息,抑制冗余無關(guān)的干擾信息,從而提高對小目標(biāo)害蟲的檢測能力。
坐標(biāo)注意力具有輕量、高效的特點,通過編碼水平和垂直方向的特征,將害蟲圖像的空間坐標(biāo)信息嵌入到通道特征中,顯式構(gòu)建通道間的遠(yuǎn)距離依賴關(guān)系。坐標(biāo)注意力增強了模型對通道信息的敏感度,同時聚合了位置信息。坐標(biāo)注意力模塊的具體結(jié)構(gòu)如圖4 所示。其步驟主要有:1)嵌入空間坐標(biāo)信息,將輸入特征分別沿水平和垂直方向進(jìn)行平均池化,生成水平和垂直2 個具有方向感知的特征圖,這對特征圖分別沿水平和垂直方向路徑捕獲遠(yuǎn)距離依賴關(guān)系;2)生成注意力,在空間維度上拼接上述2 個特征圖,1×1 卷積降維,BN 層和非線性激活層在垂直和水平方向上對空間信息進(jìn)行編碼以生成具有空間位置信息的注意力圖;3)使用1×1 卷積分別在水平和垂直方向降維,并使用Sigmoid 激活函數(shù)實現(xiàn)歸一化和加權(quán);4)通過將2 個注意力圖應(yīng)用于原輸入特征圖,實現(xiàn)空間坐標(biāo)信息在通道上的加權(quán)融合。
圖4 坐標(biāo)注意力模塊結(jié)構(gòu)Fig.4 Structure of coordinate attention module
雖然C3 結(jié)構(gòu)中的殘差結(jié)構(gòu)可以在一定程度上改善梯度消失問題,但是對于小目標(biāo)檢測效果較差。為了改善小目標(biāo)檢測效果,本文在主干網(wǎng)絡(luò)最后1 個C3 模塊后(對應(yīng)圖3 中第9 層)引入坐標(biāo)注意力機制,將空間位置信息嵌入到通道注意力中。在主干網(wǎng)絡(luò)中,隨著卷積次數(shù)增加,特征圖的特點由分辨率高、通道少變?yōu)榉直媛实?、通道多。?0 層的通道信息豐富,在此處增加坐標(biāo)注意力,可以將注意力機制編碼的空間信息充分嵌入到通道中,加強主干網(wǎng)絡(luò)對于空間坐標(biāo)信息的利用,有利于提高對小目標(biāo)的定位和識別能力。
淺層特征包含的細(xì)節(jié)信息有助于小目標(biāo)的檢測。原模型的頸部結(jié)構(gòu)部分采用路徑聚合網(wǎng)絡(luò)[24](PANet),通過自底向上的路徑將淺層特征連接到頂層,極大地縮短特征金字塔(FPN)結(jié)構(gòu)中淺層特征向上傳遞的路徑,減少淺層特征丟失。但是隨著卷積次數(shù)增加,有利于檢測小目標(biāo)的特征仍然存在嚴(yán)重丟失的情況。由于田間環(huán)境復(fù)雜,因此在該場景下對小目標(biāo)害蟲的檢測難度增大。因此,本文使用BiFPN 改進(jìn)頸部連接結(jié)構(gòu),通過融合多尺度特征,增強深層特征中的小目標(biāo)特征,提高檢測精度。
PANet 和BiFPN 結(jié)構(gòu)如圖5 所示。本文所提的BiFPN 結(jié)構(gòu)如圖5(b)所示,在PANet 結(jié)構(gòu)相同層級的特征傳遞路徑基礎(chǔ)上增加了來自原輸入的特征。對應(yīng)圖 3 中虛線箭頭標(biāo)記處,在Pest-YOLOv5 模型第21 層增加了來自第7 層的特征。BiFPN 刪除了沒有進(jìn)行特征融合的單輸入節(jié)點,通過跨尺度連接從不同分辨率的特征圖中獲取特征,重復(fù)利用自頂向下和自底向上的特征以實現(xiàn)雙向特征融合。同時,考慮到這些不同分辨率的輸入特征對小目標(biāo)害蟲定位和分類的貢獻(xiàn)大小不同,按照其重要程度為不同輸入特征分配相應(yīng)的權(quán)重,實現(xiàn)了跨尺度加權(quán)特征融合。另外,BiFPN 結(jié)構(gòu)中使用add 操作進(jìn)行特征融合,本文使用Concat 代替add,通過合并通道信息增加總特征數(shù),同時避免了add 操作可能帶來的信息損失。
圖5 PANet 和BiFPN 模塊結(jié)構(gòu)Fig.5 Structure of PANet and BiFPN modules
損失函數(shù)由定位損失(Lbox)、目標(biāo)置信度損失(Lobj)和分類損失(Lclass)3 部分構(gòu)成,其計算式如(1)所示:
其中:Α、Β和Γ分別為3 種損失的權(quán)重系數(shù),默認(rèn)值分別為0.05、1.00 和1.00。
定位損失函數(shù)通過計算模型預(yù)測框和真實框位置間的差值來判斷和優(yōu)化模型預(yù)測框的質(zhì)量。YOLOv5 使用CIoU[25]優(yōu)化定位損失。CIoU 考慮了預(yù)測框和真實框之間的距離、重疊面積和寬高比等因素,但是未考慮到邊界框之間相對位置方向的影響。當(dāng)預(yù)測框和真實框不匹配時,網(wǎng)絡(luò)的預(yù)測框定位在優(yōu)化過程中往往存在擾動情況,甚至產(chǎn)生位置更差的預(yù)測框。
SIoU 考慮到預(yù)測框和真實框相對位置的方向,將2 框中心點連線與水平和豎直方向的2 個夾角引入到損失函數(shù)中。SIoU 綜合考慮角度、距離、形狀和IoU 4 種因素,計算式如式(2)所示:
其中:?為距離損失;Ω為形狀損失。距離損失?的計算式如(3)所示。距離損失?結(jié)合角度損失Λ進(jìn)行定義。參數(shù)ρx、ρy和γ的計算式如式(4)~式(6)所示:
形狀損失Ω的計算式如式(11)所示,參數(shù)ww和wh的計算式如式(12)所示:
其中:wgt和hgt分別表示預(yù)測框的寬和高;w和h分別表示真實框的寬和高;θ為控制對形狀損失關(guān)注程度的參數(shù),當(dāng)θ值為1 時將立即優(yōu)化邊框形狀,限制邊框自由移動。本文沿用Gevorgyan[22]的參數(shù),將θ值設(shè)為4。由于本文研究對象為小目標(biāo)害蟲,因此對預(yù)測框的偏移比大目標(biāo)物體更敏感。而SIoU 不僅考慮了距離、形狀和IoU 等傳統(tǒng)因素,還將預(yù)測框與真實框的相對位置方向引入損失函數(shù),有效減少預(yù)測框的振蕩。因此,本文使用SIoU 代替CIoU,優(yōu)化邊框回歸的匹配方向,提高定位精度。
目標(biāo)置信度損失和分類損失使用VFL 代替二元交叉熵函數(shù)進(jìn)行計算,計算式如式(13)所示:
其中:p為預(yù)測的IoU 感知分類得分;q為目標(biāo)分?jǐn)?shù);α是負(fù)樣本控制因子,通過調(diào)整負(fù)樣本損失比例平衡正負(fù)樣本,默認(rèn)值為1.0[23];pγ為控制負(fù)樣本損失縮放的因子。VFL 通過該因子降低負(fù)樣本權(quán)重,減少其對損失的貢獻(xiàn),參數(shù)沿用文獻(xiàn)[21]中的設(shè)置,γ取值為1.5,VFL 將預(yù)測框和真實框的IoU 設(shè)置為前景對象的目標(biāo)分?jǐn)?shù),其余所有類均設(shè)為0,對于背景點,所有類別的目標(biāo)分?jǐn)?shù)q均為0。若某正樣本具有較高的目標(biāo)分?jǐn)?shù),則該樣本權(quán)重相應(yīng)比較大,對于損失的貢獻(xiàn)也會比較大,有利于模型學(xué)習(xí)高質(zhì)量正樣本。最后,在總損失中為分類損失分配更大的權(quán)重,提高模型對難分類害蟲樣本的關(guān)注度。
本文實驗數(shù)據(jù)采用公開數(shù)據(jù)集AgriPest[26]的子數(shù)據(jù)集。AgriPest 數(shù)據(jù)集是1 個小目標(biāo)害蟲識別和檢測數(shù)據(jù)集,包含在真實田間環(huán)境下采集的14 類害蟲圖像。本文選用AgriPest 數(shù)據(jù)集中的稻飛虱(RPH)和小麥螨(WM)這2 類小目標(biāo)害蟲圖像作為研究對象,將該子數(shù)據(jù)集命名為PEST2。RPH 和WM 的圖像如圖6 所示,圖像背景復(fù)雜,目標(biāo)尺寸小,檢測具有一定難度。PEST2 具體信息如表1 所示。其中,稻飛虱圖像為1 205 張,小麥螨圖像為230 張,共1 435 張圖片,包含13 653 只稻飛虱和3 704 只小麥螨,按照9∶1∶1 的比例劃分訓(xùn)練集、驗證集和測試集,使用隨機水平翻轉(zhuǎn)和Mosaic 數(shù)據(jù)增強方法進(jìn)行在線數(shù)據(jù)增強。
表1 PEST2 數(shù)據(jù)集詳細(xì)信息Table 1 Details information of PEST2 dataset
圖6 PEST2 數(shù)據(jù)集圖像示例Fig.6 Image examples of PEST2 dataset
本文實驗基于64 位Ubuntu16.04.1 操作系統(tǒng)下的Python3.7 運行環(huán)境,并在此基礎(chǔ)上搭建1.12.1 版本PyTorch 框架,使用Intel?Xeon?Gold 5118 CPU 和2 塊顯存15 GB 的Tesla T4 GPU,并通過CUDA10.2和CuDNN10.2 加速運算。
YOLOv5 通過配置文件中的深度參數(shù)和寬度參數(shù)的大小控制模型的深度和寬度,這對參數(shù)默認(rèn)的取值有(0.33,0.50)、(0.67,0.75)、(1.0,1.0)和(1.33,1.25)。隨著深度和寬度的增加,YOLOv5 模型劃分為YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x。由于大田害蟲檢測模型需要應(yīng)用于可在田間使用的移動設(shè)備上,因此選用體積更小、速度更快的YOLOv5s 模型作為基準(zhǔn)檢測模型。模型深度參數(shù)和寬度參數(shù)取值分別為0.33 和0.50。P3 特征層的錨框尺度為(10,13)、(16,30)、(33,23)。P4 特征層的錨框尺度為(30,61)、(62,45)、(59,119)。P5 特征層的錨框尺度為(116,90)、(156,198)、(373,326)。分類損失系數(shù)Γ的最優(yōu)值須通過實驗確定。在式(11)中,SIoU 中形狀損失控制參數(shù)θ常取值為1 或4[22],也需要進(jìn)行實驗確定最優(yōu)取值。
模型訓(xùn)練參數(shù)設(shè)置:初始學(xué)習(xí)率為0.01,動量為0.937,權(quán)重衰減量為0.000 5,使用SGD 作為優(yōu)化器,批量大小為64,訓(xùn)練迭代數(shù)量為300,輸入圖片大小統(tǒng)一為640×640 像素。
本文主要以準(zhǔn)確率(P)、召回率(R)和平均精度均值[27](mAP)作為評價指標(biāo)對模型性能進(jìn)行分析與評價。
準(zhǔn)確率為模型檢測正確結(jié)果所占的比例,其計算式如式(14)所示:
其中:TTP表示被正確預(yù)測的正樣本害蟲數(shù)量;FFP表示將負(fù)樣本害蟲預(yù)測為正樣本的害蟲數(shù)量。召回率表示模型檢測出目標(biāo)類型數(shù)據(jù)的能力,其計算式如式(15)所示:
其中:FFN表示正樣本害蟲被錯誤預(yù)測為負(fù)樣本的情況。mAP 通過計算所有類別平均精度[28]的均值得到,是衡量檢測精度的指標(biāo),也是目標(biāo)檢測算法的主要評估指標(biāo),計算式如式(16)所示[27]:
其中:K代表所有類別總數(shù)代表第i類的平均準(zhǔn)確率,當(dāng)取值為1 時,mAP 等于AP。AP 的值通過對P-R曲線積分得到。mAP0.5和mAP0.50∶0.95都屬于COCO 挑戰(zhàn)賽定義的mAP 計算方式,本文選取mAP0.5和mAP0.50∶0.95來評估模型在不同IoU 閾值水平下的檢測精度。mAP0.5是指IoU 閾值為0.5 時計算得到的mAP 值。mAP0.50∶0.95值通過計算10 個IoU 閾值(在0.50~0.95 范圍內(nèi),以0.05 為步長)下的mAP 值,并對10 個mAP 求取均值得到,mAP0.50∶0.95更全面地評估模型的檢測能力,計算式如式(17)所示:
在模型主干網(wǎng)絡(luò)中加入坐標(biāo)注意力機制,記作+CA。主干網(wǎng)絡(luò)加入CA 的驗證集結(jié)果如表2 所示。相比YOLOv5s,坐標(biāo)注意力機制的加入提高了mAP0.5、mAP0.50:0.95和召回率,且mAP0.50:0.95提升效果比mAP0.5大,說明優(yōu)化后的主干網(wǎng)絡(luò)可以有效提升高閾值下的小目標(biāo)定位效果。
表2 主干網(wǎng)絡(luò)加入坐標(biāo)注意力機制的驗證集結(jié)果Table 2 Validation set results of adding coordinate attention mechanism to the backbone network
為充分利用不同分辨率的輸入特征,本文使用BiFPN 結(jié)構(gòu)改進(jìn)模型頸部結(jié)構(gòu),使用add 操作進(jìn)行特征融合的BiFPN 結(jié)構(gòu),記作+add,使用Concat 替代add 進(jìn)行特征融合,增加特征數(shù)量,進(jìn)一步提高檢測效果,將使用Concat 的模型記作+Concat。頸部結(jié)構(gòu)使用BiFPN 的驗證集結(jié)果如表3 所示。從表3 可以看出,使用Concat 的BiFPN 結(jié)構(gòu)在mAP0.5、mAP0.50:0.95和召回率這3 個指標(biāo)上都明顯優(yōu)于基準(zhǔn)模型和使用add 的BiFPN 結(jié)構(gòu),證明使用Concat 的BiFPN 結(jié)構(gòu)具有一定的有效性。
表3 頸部結(jié)構(gòu)使用BiFPN 的驗證集結(jié)果Table 3 Validation set results using BiFPN in neck structure
本文對損失函數(shù)的優(yōu)化包括3 個部分:使用SIoU替代CIoU,將其記作+SIoU;使用VariFocal Loss 函數(shù)計算目標(biāo)置信度損失和分類損失,記作+VFL;給式(1)中的分類損失分配更大權(quán)重,記作+cls。使用優(yōu)化后損失函數(shù)的驗證集結(jié)果如表4 所示。使用YOLOv5s+SIoU+VFL+cls 時,mAP0.5提升效果最佳,與YOLOv5s 模型相比,mAP0.5、mAP0.50:0.95和R分別提高3.7%、3.3%和6.2%。
表4 使用優(yōu)化后損失函數(shù)的驗證集結(jié)果Table 4 Validation set results using the optimized loss function
使用優(yōu)化后的損失函數(shù)與原損失函數(shù)在訓(xùn)練過程中的變化情況對比如圖7 所示。優(yōu)化后損失函數(shù)的曲線更加平滑,且優(yōu)化后的損失函數(shù)使目標(biāo)置信度和分類損失在網(wǎng)絡(luò)迭代不到50 次時就趨于穩(wěn)定,有效加快網(wǎng)絡(luò)的收斂過程。
圖7 損失函數(shù)收斂效果對比Fig.7 Comparison of convergence effects of loss function
本文以5 為步長在1~50 的范圍內(nèi)進(jìn)行分類損失權(quán)重系數(shù)Γ對比實驗,為分類損失選擇最優(yōu)系數(shù),其結(jié)果如表5 所示,加粗表示最優(yōu)值。當(dāng)系數(shù)Γ取35時,Pest-YOLOv5 在精度上達(dá)到最優(yōu),與系數(shù)Γ取1相比,mAP0.5、mAP0.50:0.95和R分別提高3.1%、5.8%和7.8%。
表5 不同分類損失權(quán)重系數(shù)Γ 結(jié)果對比Table 5 Comparison of the results among different classification loss weight coefficients Γ
此外,本文對SIoU 形狀損失控制參數(shù)θ進(jìn)行對比實驗,當(dāng)θ取值為4 時效果更好,結(jié)果如表6 所示。
表6 不同形狀損失控制參數(shù)θ 結(jié)果對比Table 6 Results comparison among different shape loss control parameters θ
為驗證改進(jìn)后主干網(wǎng)絡(luò)、頸部結(jié)構(gòu)和損失函數(shù)的有效性,本文對各個部分進(jìn)行消融實驗,結(jié)果如表7所示。其中,+CA 表示使用融合坐標(biāo)注意力機制的主干網(wǎng)絡(luò),+BiFPN 表示使用Concat 的BiFPN 結(jié)構(gòu),+Loss表示使用優(yōu)化后的損失函數(shù)。損失函數(shù)中分類系數(shù)Γ為最優(yōu)值35,形狀損失控制參數(shù)θ為最優(yōu)值4。
表7 消融實驗結(jié)果Table 7 Results of ablation experiment
從表7 可以看出,改進(jìn)后的主干網(wǎng)絡(luò)、頸部結(jié)構(gòu)和損失函數(shù)都能有效提升模型性能。其中,優(yōu)化后的主干網(wǎng)絡(luò)給網(wǎng)絡(luò)檢測精度帶來了全面提升,在不同IoU 閾值下的mAP 都優(yōu)于YOLOv5s 模型。BiFPN 結(jié)構(gòu)主要提升了模型的R和mAP0.5,與優(yōu)化后的主干網(wǎng)絡(luò)組合使用時,可以顯著提升模型召回率。優(yōu)化后的損失函數(shù)則對模型的mAP0.5和召回率具有良好的提升效果。CA+BiFPN+Loss 一起使用的提升效果最顯著,有效提高YOLOv5s 模型對于田間環(huán)境下小目標(biāo)害蟲的檢測精度和召回率。為了更好對比模型的改進(jìn)效果,本文將YOLOv5 和改進(jìn)模型Pest-YOLOv5的P-R曲線進(jìn)行對比,如圖8 所示。在絕大部分不同水平的召回率下,Pest-YOLOv5 的檢測精度都優(yōu)于YOLOv5,驗證了改進(jìn)算法的有效性。
圖8 YOLOv5 模型改進(jìn)前后的P-R 曲線對比Fig.8 Comparison of P-R curves before and after improvement of YOLOv5 model
表8 所示為Pest-YOLOv5、SSD300[29]、Faster R-CNN[30]和YOLOv5s 等經(jīng)典目標(biāo)檢測模型在PEST2 數(shù)據(jù)集上的實驗結(jié)果。其中SSD300 和Faster R-CNN 分別使用VGG 16、ResNet 50 作為主干網(wǎng)絡(luò)。Pest-YOLOv5 在mAP0.5指標(biāo)上優(yōu)于其他經(jīng)典網(wǎng)絡(luò),分別比SSD300、Faster R-CNN 和YOLOv5s提高31.6%、19.5%和8.1%,在R指標(biāo)上也具有一定優(yōu)勢,比Faster R-CNN 和YOLOv5s分別提高18.9%和12.8%。
表8 不同模型在PEST2 數(shù)據(jù)集上的實驗結(jié)果Table 8 Experimental results among different models on PEST2 dataset
受圖像背景復(fù)雜、蟲體相互堆疊遮擋和陰影枝葉遮擋等因素的影響,導(dǎo)致田間小目標(biāo)害蟲檢測精度降低。圖9 和圖10 所示為原始YOLOv5 和Pest-YOLOv5模型在田間環(huán)境下對小目標(biāo)害蟲的檢測效果。
圖9 YOLOv5 和Pest-YOLOv5 模型的漏檢情況對比Fig.9 Comparison of missed detections between YOLOv5 and Pest-YOLOv5 models
圖10 YOLOv5 和Pest-YOLOv5 模型的定位檢測效果對比Fig.10 Comparison of location detection effects between YOLOv5 and Pest-YOLOv5 models
圖9圓圈處突出了模型改進(jìn)前后對于漏檢問題的對比情況。在第1 行中是當(dāng)害蟲處在較暗處時,YOLOv5模型出現(xiàn)漏檢情況,Pest-YOLOv5未發(fā)生漏檢情況,還檢測出了未進(jìn)行預(yù)標(biāo)記的新對象。在第2 行和第3 行中,當(dāng)小目標(biāo)害蟲數(shù)量較多時,YOLOv5 模型出現(xiàn)較多漏檢情況,而Pest-YOLOv5 雖然也存在漏檢情況,但是相比YOLOv5,極大地改善了漏檢情況。
Pest-YOLOv5 在邊界框定位方面也表現(xiàn)較好。圖10 中的圓圈突出了邊界框定位的對比情況。在第1 行的標(biāo)記處,真實框?qū)? 個距離極近的害蟲對象標(biāo)注為1 個目標(biāo),YOLOv5 在此處檢測到1 個害蟲對象,Pest-YOLOv5 則檢測出2 個害蟲對象。在第2 行和第3 行中,當(dāng)害蟲間距極近時,YOLOv5 模型在同1 個目標(biāo)上預(yù)測生成2 個重復(fù)的邊界框,改進(jìn)后的Pest-YOLOv5 則為每個對象生成唯一的預(yù)測框。
從模型改進(jìn)前后的檢測結(jié)果可以看出,Pest-YOLOv5 有效改善了原YOLOv5 模型在田間復(fù)雜環(huán)境下對小目標(biāo)害蟲的難檢和漏檢情況,并且預(yù)測框?qū)οx的定位更加合理。
針對真實大田環(huán)境下的小目標(biāo)害蟲難檢和漏檢問題,本文提出一種改進(jìn)YOLOv5 的農(nóng)業(yè)害蟲檢測模型Pest-YOLOv5。在主干網(wǎng)絡(luò)中結(jié)合坐標(biāo)注意力機制,提高特征提取能力。在頸部網(wǎng)絡(luò),使用BiFPN有效融合多分辨率特征,在深層特征中增強小目標(biāo)特征。使用SIoU 計算邊框交并比,VFL 函數(shù)計算目標(biāo)置信度損失和分類損失,并為分類損失分配更多權(quán)重,加快收斂速度。在公開數(shù)據(jù)集AgriPest 上的實驗結(jié)果表明,Pest-YOLOv5 優(yōu)于其他經(jīng)典目標(biāo)檢測模型。與YOLOv5 模型相比,Pest-YOLOv5 性能得到顯著提升,有效改善了田間復(fù)雜環(huán)境下小目標(biāo)害蟲的難檢和漏檢情況。下一步將對網(wǎng)絡(luò)進(jìn)行輕量化和實時化研究,使模型部署在算力受限的移動設(shè)備上,提高檢測精度且減少漏檢情況。