摘 要:針對(duì)現(xiàn)存無人機(jī)航拍圖像目標(biāo)檢測(cè)算法檢測(cè)精度較低、模型較為復(fù)雜的問題,提出一種改進(jìn)YOLOv8 的目標(biāo)檢測(cè)算法。在骨干網(wǎng)絡(luò)引入多尺度注意力EMA,捕捉細(xì)節(jié)信息,以提高模型的特征提取能力;改進(jìn)C2f 模塊,減小模型的計(jì)算量。提出了輕量級(jí)的BiYOLOv8 特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)YOLOv8 的頸部,增強(qiáng)了模型多尺度特征融合能力,改善網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)精度。使用WIoU Loss 優(yōu)化原網(wǎng)絡(luò)損失函數(shù),引入一種動(dòng)態(tài)非單調(diào)聚焦機(jī)制,提高模型的泛化能力。在無人機(jī)航拍數(shù)據(jù)集VisDrone2019 上的實(shí)驗(yàn)表明,提出算法的mAP50 為40. 7% ,較YOLOv8s 提升了1. 5% ,參數(shù)量降低了42% ,同時(shí)相比于其他先進(jìn)的目標(biāo)檢測(cè)算法在精度和速度上均有提升,證明了改進(jìn)算法的有效性和先進(jìn)性。
關(guān)鍵詞:航拍圖像;小目標(biāo)檢測(cè);YOLOv8;BiYOLOv8;輕量化
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
文章編號(hào):1003-3106(2024)04-0871-11
0 引言
隨著無人機(jī)技術(shù)的蓬勃發(fā)展以及制造成本的降低,無人機(jī)憑借其機(jī)動(dòng)靈活的特點(diǎn),能夠飛越人類無法到達(dá)的地方,實(shí)現(xiàn)大范圍區(qū)域的監(jiān)測(cè),已廣泛應(yīng)用于各行各業(yè)當(dāng)中[1]。無人機(jī)航拍圖像目標(biāo)檢測(cè)是無人機(jī)的一個(gè)重要應(yīng)用,在民用和軍事領(lǐng)域發(fā)揮著重要作用,應(yīng)用于測(cè)繪航測(cè)、應(yīng)急救援、危險(xiǎn)區(qū)域監(jiān)測(cè)和識(shí)別易受災(zāi)地區(qū)等諸多方面[2]。
目前,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)性能已經(jīng)遠(yuǎn)超傳統(tǒng)方法,根據(jù)有無候選框的生成,可以分為單階段的目標(biāo)檢測(cè)(SSD[3]、YOLO 系列[4]和RetinaNet[5]等)及雙階段的目標(biāo)檢測(cè)(RCNN 系列[6]等)。雖然單階段目標(biāo)檢測(cè)的檢測(cè)精度略低于雙階段目標(biāo)檢測(cè),但其有著更快的檢測(cè)速度,便于部署到各項(xiàng)任務(wù)當(dāng)中。
盡管基于深度學(xué)習(xí)的目標(biāo)檢測(cè)已經(jīng)具備了很好的效果,但其在無人機(jī)目標(biāo)檢測(cè)中表現(xiàn)不佳。一方面是因?yàn)闊o人機(jī)航拍圖像不同于自然場(chǎng)景的圖像,具有大場(chǎng)景、多尺度、小目標(biāo)、背景復(fù)雜和相互遮擋的特點(diǎn),難以準(zhǔn)確地識(shí)別目標(biāo)[7];另一方面,無人機(jī)目標(biāo)檢測(cè)任務(wù)對(duì)實(shí)時(shí)性和準(zhǔn)確性有著很高的要求,而復(fù)雜的模型難以部署在無人機(jī)這樣的小型設(shè)備當(dāng)中,輕量化的模型又難以提高準(zhǔn)確度[8-9]。
為解決這些問題,國(guó)內(nèi)外學(xué)者展開了一系列的研究。Liu 等[10]提出了一種基于SSD 的特征增強(qiáng)檢測(cè)算法,利用ResNet50 網(wǎng)絡(luò)的殘差結(jié)構(gòu)來獲取更多的特征信息并融合到骨干網(wǎng)絡(luò),保留更多的淺層特征,提升了對(duì)小目標(biāo)的檢測(cè)能力。Wang 等[11]以RetinaNet 為基礎(chǔ)模型,優(yōu)化其特征金字塔結(jié)構(gòu)并引入注意力機(jī)制來關(guān)注目標(biāo)信息。王殿偉等[12]提出一種改進(jìn)Double-Head RCNN 的檢測(cè)算法,在骨干網(wǎng)絡(luò)引入Transformer 和可變形卷積,設(shè)計(jì)了基于內(nèi)容感知特征重組的特征金字塔網(wǎng)絡(luò)結(jié)構(gòu),以模型變復(fù)雜為代價(jià)換取更高的精度。Demesquita 等[13]提出了一種完全卷積的Siamese 自動(dòng)編碼器方法,用少量無人機(jī)航拍圖像作為訓(xùn)練樣本就能取得不錯(cuò)的效果。趙耘徹等[14]提出了改進(jìn)YOLOv4 的檢測(cè)算法,用輕量級(jí)網(wǎng)絡(luò)MobileNetv3 作為特征提取網(wǎng)絡(luò),深度可分離卷積替換3 ×3 常規(guī)卷積,簡(jiǎn)化了模型,提升了檢測(cè)速度。Wang 等[15]提出了一種改進(jìn)YOLOXX 的檢測(cè)算法YOLOX_w,用SAHI 算法進(jìn)行數(shù)據(jù)增強(qiáng)以及引入淺層特征圖來提高對(duì)小目標(biāo)的檢測(cè)能力,并加入新的檢測(cè)頭和超輕量子空間注意力模塊(ULSAM)使模型聚焦于關(guān)鍵特征,最后優(yōu)化了邊界框回歸損失函數(shù),雖然提升了檢測(cè)精度,但帶來了參數(shù)量變大、運(yùn)行速度較慢的問題。
上述方法仍存在檢測(cè)精度較低、模型較為復(fù)雜的問題,不能滿足實(shí)時(shí)性和準(zhǔn)確性的需求,于是本文提出了一種改進(jìn)YOLOv8 的無人機(jī)航拍圖像目標(biāo)檢測(cè)算法來解決這一問題,以下是該算法主要改進(jìn)和創(chuàng)新:① 采用先提升精度再減輕模型參數(shù)的設(shè)計(jì)理念改進(jìn)主干,可以在不影響速度的前提下提升精度;② 通過添加跨尺度連接方式和加權(quán)特征方法,設(shè)計(jì)了特征金字塔網(wǎng)絡(luò)結(jié)構(gòu),將深層語義和淺層定位信息進(jìn)行多尺度特征融合,解決尺度差異大、特征丟失嚴(yán)重的問題;③ 用WIoU 替換CIoU,降低低質(zhì)量樣本對(duì)模型的危害,提高了模型的泛化能力。
1 YOLOv8 算法原理
在各種目標(biāo)檢測(cè)算法中,YOLO 系列因具備速度和準(zhǔn)確度間的優(yōu)異平衡脫穎而出,能夠準(zhǔn)確、快速地識(shí)別目標(biāo),便于部署到各種移動(dòng)設(shè)備中,已經(jīng)廣泛應(yīng)用于各種領(lǐng)域的目標(biāo)檢測(cè)、跟蹤和分割。目前最新版本YOLOv8 由原v5 的開發(fā)團(tuán)隊(duì)Ultralytics 于2023 年1 月提出,按規(guī)格大小可劃分為n、s、m、l、x五個(gè)版本,是目前最先進(jìn)的目標(biāo)檢測(cè)算法,有著優(yōu)異的性能,很適合用于無人機(jī)航拍圖像目標(biāo)檢測(cè)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
YOLOv8 模型包括Input、Backbone、Neck 和Head 四部分。其中Input 選用了Mosaic 數(shù)據(jù)增強(qiáng)方法,并且對(duì)于不同大小的模型,有部分超參數(shù)會(huì)進(jìn)行修改,典型的如大模型會(huì)開啟MixUp 和CopyPaste數(shù)據(jù)增強(qiáng),能夠豐富數(shù)據(jù)集,提升模型的泛化能力和魯棒性。Backbone 主要用于提取圖片中的信息,提供給Neck 和Head 使用,由多個(gè)Conv、C2f 模塊和尾部的SPPF 組成。Conv 模塊由單個(gè)Conv2d、BatchNorm2d 和激活函數(shù)構(gòu)成,用于提取特征并整理特征圖。YOLOv8 參考了C3 模塊的殘差結(jié)構(gòu)以及YOLOv7[16]的ELAN 思想,設(shè)計(jì)出了C2f 結(jié)構(gòu),可以在保證輕量化的同時(shí)獲得更加豐富的梯度流信息,并根據(jù)模型尺度來調(diào)整通道數(shù),大幅提升了模型性能。SPPF 是空間金字塔池化,能夠融合不同尺度的特征。Neck 部分主要起特征融合的作用,充分利用了骨干網(wǎng)絡(luò)提取的特征,采用FPN[17]+ PAN[18]結(jié)構(gòu),能夠增強(qiáng)多個(gè)尺度上的語義表達(dá)和定位能力。Head 輸出端根據(jù)前兩部分處理得到的特征來獲取檢測(cè)目標(biāo)的類別和位置信息,做出識(shí)別,換成了目前主流的解耦頭結(jié)構(gòu),將分類和檢測(cè)頭分離,解決了分類和定位關(guān)注側(cè)重點(diǎn)不同的問題,同時(shí)也采用了無錨框的目標(biāo)檢測(cè)(AnchorFree),能夠提升檢測(cè)速度。Loss 計(jì)算方面采用了正負(fù)樣本動(dòng)態(tài)分配策略,使用VFL Loss 作為分類損失,使用DFL Loss+CIoULoss 作為回歸損失。
2 改進(jìn)的YOLOv8 網(wǎng)絡(luò)結(jié)構(gòu)
2. 1 骨干網(wǎng)絡(luò)的改進(jìn)
2. 1. 1 引入EMA 注意力模塊
注意力機(jī)制能夠捕獲局部重要信息,使模型聚焦于檢測(cè)目標(biāo)的相關(guān)特征,在各種計(jì)算機(jī)視覺任務(wù)當(dāng)中發(fā)揮著重要作用。EMA[19]是一種高效多尺度注意力機(jī)制,將部分通道重塑為批量維度,避免了通道降維的情況,從而能夠保留每個(gè)通道的信息并降低計(jì)算成本。EMA 不僅對(duì)全局信息編碼來調(diào)整并行子網(wǎng)絡(luò)通道權(quán)重,還通過跨緯度交互融合2 個(gè)并行子網(wǎng)絡(luò)的輸出特征。EMA 總體結(jié)構(gòu)如圖2所示。
對(duì)于輸入特征X∈RC×H×W ,EMA 按通道數(shù)將其劃分為G 個(gè)子特征,來學(xué)習(xí)不同的語義,輸入特征X = [X0 ,Xi,…,XG-1 ],Xi∈RC∥G×H×W 。在不損失一般性的前提下,令G-C,并假設(shè)學(xué)習(xí)到的權(quán)重描述符將用于增強(qiáng)每個(gè)子特征中感興趣區(qū)域的特征表示。
EMA 通過2 條在1×1 分支和1 條在3×3 分支上的平行路徑來提取分組特征圖的權(quán)重描述符,在1×1 分支中采用了2 個(gè)1D 全局平均池化操作沿著2 個(gè)空間方向?qū)π诺肋M(jìn)行編碼,并將2 個(gè)編碼特征連接起來,使其不在1 ×1 分支上降維;再將1 ×1 卷積后的輸出重新分解為2 個(gè)向量,使用2 個(gè)Sigmoid非線性函數(shù)來擬合線性卷積上的2D 二進(jìn)制分布;最后通過乘法聚合通道注意力實(shí)現(xiàn)跨通道交互。在3×3 分支中用1 個(gè)3 × 3 卷積以捕獲多尺度特征表示。
使用2D 全局平均池化對(duì)1×1 分支和3×3 分支輸出中的全局空間信息編碼,輸出將被轉(zhuǎn)換為相應(yīng)的維度形狀,即:R1×C∥G1 ×RC∥G×HW2 。最后添加非線性函數(shù)Softmax 來擬合線性變換,將2 個(gè)分支相同規(guī)模的輸出連接起來轉(zhuǎn)換為R1×H×W 的格式,使用矩陣點(diǎn)積運(yùn)算將上述并行處理的結(jié)果相乘,得到了空間注意力圖,能夠收集不同尺度的空間信息。EMA 的最終輸出與輸入X 的大小相同,便于直接添加到YOLOv8 網(wǎng)絡(luò)中,本文選擇在骨干網(wǎng)絡(luò)前2 個(gè)C2f 后添加EMA 注意力。
2. 1. 2 改進(jìn)C2f 模塊
YOLOv8 骨干網(wǎng)絡(luò)主要使用了常規(guī)卷積和C2f模塊,能夠?qū)D像進(jìn)行高質(zhì)量的特征提取??紤]到EMA 注意力的使用一定程度上增加了模型的復(fù)雜度,于是選用更簡(jiǎn)單的卷積方法替換部分常規(guī)卷積來簡(jiǎn)化模型,而FasterNet[20]提出了一種新的卷積方式PConv,通過減少計(jì)算和內(nèi)存訪問來有效提取特征,原理如圖3 所示。只對(duì)部分輸入通道使用常規(guī)卷積進(jìn)行特征提取,將第1 個(gè)或最后1 個(gè)cp 通道看作整個(gè)特征圖的代表進(jìn)行計(jì)算,并保持通道數(shù)不變。
基于PConv 和Bottleneck,得到了新的卷積網(wǎng)絡(luò)結(jié)構(gòu)FasterNet Block,其結(jié)構(gòu)如圖4 所示,有1 個(gè)PConv 層,后跟2 個(gè)1×1 Conv 層。
用FasterNet Block 模塊替換C2f 中的Bottleneck,得到了C2f-Faster 模塊來替換骨干網(wǎng)絡(luò)中的最后1 個(gè)C2f,C2f-Faster 結(jié)構(gòu)如圖5 所示。
2. 2 改進(jìn)頸部
小目標(biāo)檢測(cè)精度不足一直是當(dāng)下航拍圖像目標(biāo)檢測(cè)存在的主要問題,這主要是因?yàn)殡S著網(wǎng)絡(luò)的加深,一些淺層特征會(huì)被網(wǎng)絡(luò)刪除,而小尺寸目標(biāo)的信息主要存在于淺層位置,但通過多尺度特征融合的方法可以有效解決這一問題。谷歌大腦2019 年提出了一種全新的特征融合方法Bi-FPN[21],采用了跨尺度連接方式和加權(quán)特征融合思想,能夠在不增加太多成本的情況下融合更多的特性。YOLOv8 很好地結(jié)合了FPN 和PAN 的結(jié)構(gòu),而本文在YOLOv8的基礎(chǔ)上,結(jié)合Bi-FPN 的思想,增加了新的跨尺度連接方式和特征融合方法,設(shè)計(jì)了一種新的特征融合網(wǎng)絡(luò)Bi-YOLOv8,上述特征融合網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 中紅色圓圈代表小型目標(biāo)檢測(cè)器,綠色圓圈代表中型目標(biāo)檢測(cè)器,橙色圓圈代表大型目標(biāo)檢測(cè)器。如圖6(a)所示,FPN 是自上向下的特征金字塔,把高層的語義特征傳遞下來,但對(duì)定位信息傳遞的效果很差。如圖6(b)所示,PAN 針對(duì)這一點(diǎn),在FPN 后面補(bǔ)充了一個(gè)自下向上的特征金字塔,將低層的定位特征傳遞上去,形成了一個(gè)具備語義信息和定位信息的特征金字塔。如圖6 (c )所示,YOLOv8 在PAN 思想基礎(chǔ)上進(jìn)一步優(yōu)化,去除了沒有特征融合的節(jié)點(diǎn),簡(jiǎn)化了網(wǎng)絡(luò)結(jié)構(gòu)。上述特征融合方法都存在對(duì)小目標(biāo)定位和識(shí)別能力弱的問題,這是因?yàn)樵谔卣魈崛∵^程中,小目標(biāo)很容易受到正常尺寸目標(biāo)的干擾以及網(wǎng)絡(luò)會(huì)刪除不明顯信息的影響,使得小目標(biāo)信息會(huì)不斷減少,導(dǎo)致小目標(biāo)檢測(cè)效果不能滿足預(yù)期要求。如圖6(d)所示,引入了更有效的雙向特征金字塔網(wǎng)絡(luò)BiFPN,不僅刪除了沒有特征融合的節(jié)點(diǎn),還在處于同一層的原始輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)之間添加1 條額外的邊,并用一種簡(jiǎn)單而高效的加權(quán)特征融合機(jī)制替換了原本簡(jiǎn)單相加的特征融合,能夠保留更多的漸層特征。如圖6(e)所示,本文提出的結(jié)構(gòu)在Bi-FPN 基礎(chǔ)上添加新的跨尺度連接方法,對(duì)第2 層和第3 層的原始特征分別添加額外的3×3 和1 ×1 的常規(guī)卷積來調(diào)整圖片尺寸為80 pixel×80 pixel,并與相應(yīng)規(guī)模的輸出連接起來;在輸入節(jié)點(diǎn)與中間節(jié)點(diǎn)之間添加了1 ×1 的卷積,使用加權(quán)特征融合方法,能夠在減少模型參數(shù)的情況下保留更多的原始特征信息。
2. 3 損失函數(shù)的改進(jìn)
YOlOv8 使用CIoU Loss[22]作為邊界框回歸損失函數(shù),記真實(shí)框?yàn)椋拢纾?= [xgt,ygt,wgt,hgt ],預(yù)測(cè)框?yàn)椋?= [x,y,w,h],Bgt 和B 內(nèi)的值對(duì)應(yīng)邊界框的中心坐標(biāo)和尺寸大小,原CIoU Loss 定義如式(1 )~式(4)所示:
式中:LIoU 為度量預(yù)測(cè)框和真實(shí)框的重疊程度,α 為平衡參數(shù),ν 為長(zhǎng)寬比的一致性,其余參數(shù)定義如圖7 所示。
CIoU Loss 假設(shè)了訓(xùn)練數(shù)據(jù)具有較高的質(zhì)量,側(cè)重于增強(qiáng)邊界框損失的擬合能力,沒有考慮到低質(zhì)量數(shù)據(jù)對(duì)模型性能的危害,為了解決這一問題,選擇使用WIoU Loss[23]來替換CIoU Loss。WIoU Loss 在降低高質(zhì)量邊界框競(jìng)爭(zhēng)力的同時(shí),也減小了低質(zhì)量數(shù)據(jù)的有害梯度,使得模型可以聚焦普通質(zhì)量的錨框,從而提高模型的整體性能。
用β 表示預(yù)測(cè)框的異常程度,定義如下:
使用β 構(gòu)建動(dòng)態(tài)非單調(diào)聚焦機(jī)制,并與基于注意力的邊界框損失相結(jié)合,得到了能隨時(shí)分配符合當(dāng)時(shí)情況梯度增益的WIoU Loss,定義如下:
式中:α、δ 為學(xué)習(xí)參數(shù),RWIoU ∈[1,e),會(huì)顯著放大正常質(zhì)量錨框的LIoU 。
至此,完成了對(duì)YOLOv8 骨干網(wǎng)絡(luò)、頸部結(jié)構(gòu)和損失函數(shù)三方面的改進(jìn),改進(jìn)后的模型網(wǎng)絡(luò)結(jié)構(gòu)如圖8 所示。在骨干網(wǎng)絡(luò)中引入EMA 注意力機(jī)制,增強(qiáng)其特征提取能力,還提出了C2f-Faster 模塊來解決使用注意力導(dǎo)致的模型復(fù)雜度上升及運(yùn)行速度變慢的問題。此外,設(shè)計(jì)了輕量級(jí)的特征融合網(wǎng)絡(luò)Bi-YOLOv8 改進(jìn)頸部,增強(qiáng)了模型多尺度特征融合能力,改善網(wǎng)絡(luò)對(duì)小目標(biāo)檢測(cè)精度。最后通過使用WIoU 損失函數(shù)降低了低質(zhì)量樣本的不良影響,提升了模型的整體性能。
3 實(shí)驗(yàn)結(jié)果與分析
3. 1 實(shí)驗(yàn)數(shù)據(jù)集
為評(píng)估本文提出算法的有效性和先進(jìn)性,在VisDrone2019[24]公開數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證。該數(shù)據(jù)集包含10 209 張靜態(tài)圖像,其中6 471 張用于訓(xùn)練,548 張用于驗(yàn)證,3 190 張用于測(cè)試,由各種無人機(jī)攝像機(jī)拍攝,涵蓋廣泛的方面,預(yù)測(cè)10 種不同的類別。
3. 2 實(shí)驗(yàn)環(huán)境及參數(shù)配置
本文實(shí)驗(yàn)基于64 位Windows 11 操作系統(tǒng),實(shí)驗(yàn)環(huán)境為Python3. 8、CUDA11. 7 及PyTorch2. 0。實(shí)驗(yàn)所用計(jì)算機(jī)CPU 為Intel (R ) Core (TM ) i7-12700H,GPU 為NVIDIA GeForce RTX3070,16 GB運(yùn)行內(nèi)存。相關(guān)參數(shù)如下:訓(xùn)練輪數(shù)為150,此時(shí)可以達(dá)到收斂狀態(tài);批量大小為8,設(shè)備GPU 能夠滿功率運(yùn)行;輸入圖片尺寸為640 pixel×640 pixel,縮放圖片,統(tǒng)一尺寸,提升速度;隨機(jī)種子為1,固定隨機(jī)數(shù),避免消融實(shí)驗(yàn)受到誤差影響;數(shù)據(jù)增強(qiáng)為1,開啟數(shù)據(jù)增強(qiáng),提高訓(xùn)練效率,提升模型魯棒性;優(yōu)化器為SGD,采用梯度下降法調(diào)整學(xué)習(xí)率;初始學(xué)習(xí)率為0. 01,最小學(xué)習(xí)率為0. 000 1,隨著訓(xùn)練的進(jìn)行不斷減小學(xué)習(xí)率,初始學(xué)習(xí)率設(shè)置較大以節(jié)省訓(xùn)練時(shí)間,設(shè)置最小學(xué)習(xí)率防止網(wǎng)絡(luò)被困在局部最小值;α(WIoU)為1. 9,δ(WIoU)為3,WIoU 損失函數(shù)的超參數(shù),實(shí)驗(yàn)中得到的最優(yōu)解。
3. 3 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
為了能夠有效直觀地展示本文對(duì)YOLOv8 的改進(jìn)效果,采用查準(zhǔn)率(Precision,P)、召回率(Recall,R)、平均精度均值(mean Average Precision,mAP)、模型參數(shù)量(Params)、總浮點(diǎn)運(yùn)算量(FLOPs)和每秒檢測(cè)幀數(shù)(Frame Per Second,FPS)作為模型性能的評(píng)價(jià)指標(biāo)。其中Params 是指模型中參數(shù)的數(shù)量,FLOPs 用來衡量模型的復(fù)雜度,FPS 指模型每秒鐘處理的圖像數(shù)量。查準(zhǔn)率用以評(píng)估預(yù)測(cè)的準(zhǔn)確度,召回率用以評(píng)估找到正確樣本的能力,查準(zhǔn)率與召回率定義如下:
式中:TP 表示預(yù)測(cè)與實(shí)際都為真,FP 表示預(yù)測(cè)為真,實(shí)際為假;FN 表示預(yù)測(cè)為假,實(shí)際為真。
平均精度(Average Precision,AP)用以衡量模型在每個(gè)類別上的性能,mAP 取所有類別AP 的平均值,以衡量模型在所有類別上的性能,mAP 定義如式(10)所示。mAP50 表示IoU 取值為0. 5 時(shí)的總類別平均精度,mAP50:95 表示不同IoU 取值(0. 5 ~ 0. 95,步長(zhǎng)0. 05)的平均精度。
3. 4 添加不同數(shù)量EMA 對(duì)比實(shí)驗(yàn)結(jié)果與分析
YOLOv8 骨干網(wǎng)絡(luò)中有4 個(gè)C2f 模塊,為確定添加在C2f 后的EMA 的數(shù)量,以YOLOv8s 為基準(zhǔn)算法,分別在骨干網(wǎng)絡(luò)第1 個(gè)C2f、前2 個(gè)C2f、前3 個(gè)C2f 和所有C2f 模塊后添加EMA 注意力機(jī)制,進(jìn)行了簡(jiǎn)單的對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1 所示。
由實(shí)驗(yàn)結(jié)果可知,添加多個(gè)EMA 注意力機(jī)制會(huì)導(dǎo)致模型計(jì)算速度變慢,且對(duì)精度的提升效果并不顯著。相較于只添加1 個(gè)EMA,添加2 個(gè)EMA 在精度有所提升的同時(shí)并沒有使得速度大幅降低。因此,選擇在骨干網(wǎng)絡(luò)前2 個(gè)C2f 模塊后添加EMA 注意力機(jī)制,在速度與精度間達(dá)到了一個(gè)較好的平衡。
3. 5 消融實(shí)驗(yàn)結(jié)果與分析
為證明本文提出的各項(xiàng)改進(jìn)措施對(duì)無人機(jī)航拍圖像目標(biāo)檢測(cè)算法性能的提升作用,以YOLOv8s 為基準(zhǔn)算法,依此對(duì)其添加相應(yīng)的改進(jìn)措施,進(jìn)行了一系列消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2 所示。
對(duì)表2 中實(shí)驗(yàn)結(jié)果進(jìn)行分析:① A 表示在骨干網(wǎng)絡(luò)引入EMA 注意力和C2f-Faster 模塊,大部分指標(biāo)均有提升,表明對(duì)骨干網(wǎng)絡(luò)的改進(jìn)能提升模型的特征提取能力,進(jìn)而提升網(wǎng)絡(luò)的檢測(cè)精度。② B 表示將本文提出的Bi-YOLOv8 結(jié)構(gòu)應(yīng)用于YOLOv8s頸部,與基準(zhǔn)算法對(duì)比,除查準(zhǔn)率外,其余指標(biāo)均有較大提升,在保證提高精度的前提下實(shí)現(xiàn)了模型的輕量化,考慮到查準(zhǔn)率并不是評(píng)估模型性能的關(guān)鍵指標(biāo),可以認(rèn)為對(duì)頸部結(jié)構(gòu)的改進(jìn)是十分有效的。③ C 表示用WIoU 作為邊界框回歸函數(shù),相較于基準(zhǔn)算法,在不增加模型復(fù)雜度的情況下,提升了網(wǎng)絡(luò)的檢測(cè)精度。④ 在YOLOv8s 和改進(jìn)了骨干網(wǎng)絡(luò)的2 種網(wǎng)絡(luò)結(jié)構(gòu)上應(yīng)用WIoU 損失函數(shù),mAP50 均只提升了0. 1% ,召回率分別提升了0. 5% 和0. 2% ,而查準(zhǔn)率反而有所降低,改進(jìn)效果一般;但在改進(jìn)頸部結(jié)構(gòu)的網(wǎng)絡(luò)上應(yīng)用WIoU,mAP50 提升了0. 7% ,召回率提升了1% ,并且查準(zhǔn)率也提升了0. 3% ,由對(duì)比結(jié)果可以看出損失函數(shù)優(yōu)化在改進(jìn)了頸部結(jié)構(gòu)的網(wǎng)絡(luò)上取得了更好的效果,表明WIoU 損失函數(shù)更適用于進(jìn)行了多尺度特征融合的網(wǎng)絡(luò)。⑤ Ours表示對(duì)YOLOv8s 添加本文所有改進(jìn)措施,相較于基準(zhǔn)算法,本文方法mAP50 提升了1. 5% ,查準(zhǔn)率提升了0. 5% ,召回率提升了1. 8% ,參數(shù)量降低了4. 629 M,總浮點(diǎn)運(yùn)算量降低了3. 7 G,每秒檢測(cè)幀數(shù)提升了5,改進(jìn)算法各項(xiàng)指標(biāo)均優(yōu)于YOLOv8s,表明本文方法不僅提升了檢測(cè)精度,還實(shí)現(xiàn)了模型的輕量化,能夠滿足實(shí)時(shí)性和準(zhǔn)確性的需求。
為能更好地表現(xiàn)本文改進(jìn)算法的有效性,還將YOLOv8s 基準(zhǔn)算法與改進(jìn)后的算法在訓(xùn)練過程中的查準(zhǔn)率、召回率、mAP50 和mAP50:95 四項(xiàng)指標(biāo)變化情況進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果如圖9 所示。從圖中可以看出,2 種算法隨著迭代次數(shù)的增加,最終都能達(dá)到收斂狀態(tài),但是改進(jìn)算法的4 項(xiàng)指標(biāo)均高于基準(zhǔn)算法,表明本文改進(jìn)算法能有效提高檢測(cè)精度。
3. 6 本文改進(jìn)算法目標(biāo)檢測(cè)結(jié)果與分析
為了更直觀地展示本文改進(jìn)算法的檢測(cè)效果,用YOLOv8s 與本文方法對(duì)幾種不同無人機(jī)航拍場(chǎng)景進(jìn)行檢測(cè),得到的檢測(cè)效果對(duì)比如圖10 所示。其中左側(cè)為原圖,中間為YOLOv8s 算法檢測(cè)效果圖,右側(cè)為本文改進(jìn)算法檢測(cè)效果圖。
在尺度變化程度較大的情況下,如圖10(a)所示,卡車和汽車在同一場(chǎng)景且因拍攝角度呈現(xiàn)出不同的大小,YOLOv8s 算法對(duì)圖中左下角卡車存在漏檢、誤檢的問題,而本文改進(jìn)算法能準(zhǔn)確識(shí)別出2 種車輛。在檢測(cè)目標(biāo)密集分布的情況下,如圖10(b)所示,YOLOv8s 方法存在對(duì)圖中右上角較遠(yuǎn)距離行人漏檢的情況,本文方法能夠檢測(cè)出更多的小目標(biāo)。對(duì)于復(fù)雜背景情況下的小目標(biāo)檢測(cè),如圖10(c)所示,本文改進(jìn)算法也能檢測(cè)出更多的目標(biāo)。對(duì)于檢測(cè)目標(biāo)被遮擋的情況,如圖10(d)所示,YOLOv8s 算法生成了很多重疊的邊界框,且存在對(duì)汽車誤判面包車的情況,本文算法能夠準(zhǔn)確檢測(cè)到圖中的所有目標(biāo)。綜上對(duì)比分析可知,改進(jìn)后的算法檢測(cè)效果更好。
3. 7 對(duì)比實(shí)驗(yàn)結(jié)果與分析
為進(jìn)一步驗(yàn)證本文提出方法對(duì)無人機(jī)航拍圖像目標(biāo)檢測(cè)的性能優(yōu)勢(shì),將YOLOv8s 基準(zhǔn)算法、改進(jìn)算法與相關(guān)領(lǐng)域具有代表性的網(wǎng)絡(luò)如Faster-RCNN、SSD、RetinaNet、YOLOv5s、YOLOv5x、YOLOX-s 和YOLOv7-tiny 進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表3 所示。
由對(duì)比實(shí)驗(yàn)結(jié)果可知,相較于同等規(guī)格的模型,本文改進(jìn)算法的mAP50 值最高,并且也只略低于YOLOv5x,但YOLOv5x 參數(shù)量、計(jì)算量和檢測(cè)速度都遠(yuǎn)不及改進(jìn)算法。與輕量型算法YOLOv7-tiny 相比,改進(jìn)算法有著更好的性能,而且參數(shù)量相差也很小。改進(jìn)算法還有著最快的檢測(cè)速度,并且相較于基準(zhǔn)算法YOLOv8s,改進(jìn)算法所有指標(biāo)均展現(xiàn)出較大優(yōu)勢(shì)。結(jié)合各項(xiàng)指標(biāo)來看,本文改進(jìn)算法的綜合性能最好,對(duì)無人機(jī)航拍圖像有著良好的檢測(cè)能力,在速度和精度上都有很好的表現(xiàn),顯現(xiàn)出本文算法具有明顯的優(yōu)越性。
3. 8 DOTA 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果與分析
為充分驗(yàn)證本文改進(jìn)方法的適用性和魯棒性,在DOTA[25]數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn)。該數(shù)據(jù)集包含2 806 張航拍圖像,涵蓋15 種目標(biāo)類別,尺度差異大、背景復(fù)雜,很適合用于驗(yàn)證本文算法的適用性。DOTA 數(shù)據(jù)集中大部分圖片像素尺寸較大,接近4 000 pixel×4 000 pixel,若直接用來訓(xùn)練很難檢測(cè)到其中的小目標(biāo),因此將原圖統(tǒng)一裁剪為1 024 pixel×1 024 pixel 的圖像,裁剪后圖像數(shù)量擴(kuò)充至21 046 張,隨機(jī)選擇15 749 張圖片作為訓(xùn)練集,5 297 張圖片作為測(cè)試集。實(shí)驗(yàn)設(shè)置與3. 2 節(jié)一致,實(shí)驗(yàn)結(jié)果如表4 所示。
由實(shí)驗(yàn)結(jié)果可知,改進(jìn)后的算法在DOTA 數(shù)據(jù)集上檢測(cè)精度提升了1. 2% ,達(dá)到了74. 1% ,查準(zhǔn)率提升了0. 5% ,召回率提升了1. 5% ,每秒檢測(cè)幀數(shù)提升了3。充分證明了本文改進(jìn)方法具有良好的適用性和魯棒性,也再次證實(shí)了本文提出算法很適合用于航拍圖像目標(biāo)檢測(cè)。
4 結(jié)束語
無人機(jī)航拍圖像目標(biāo)檢測(cè)在民用和軍事領(lǐng)域中有著重要的應(yīng)用價(jià)值。為解決由于無人機(jī)圖像背景復(fù)雜、密集分布的小目標(biāo)相互遮擋嚴(yán)重且呈多尺度分布導(dǎo)致的目標(biāo)檢測(cè)精度較低及模型體積較大的問題,本文基于YOLOv8s 網(wǎng)絡(luò),通過在骨干網(wǎng)絡(luò)引入EMA 注意力和C2fFaster 模塊,設(shè)計(jì)BiYOLOv8 特征融合網(wǎng)絡(luò)改進(jìn)頸部結(jié)構(gòu),使用新的WIoU 損失函數(shù),提出了一種改進(jìn)YOLOv8 的無人機(jī)航拍圖像目標(biāo)檢測(cè)算法。在無人機(jī)航拍數(shù)據(jù)集VisDrone2019上的實(shí)驗(yàn)表明,本文提出算法全方面優(yōu)于基準(zhǔn)算法YOLOv8s,并且與其他先進(jìn)方法相比綜合性能最好,能夠滿足實(shí)時(shí)性和準(zhǔn)確性的需求;而在DOTA 數(shù)據(jù)集上的實(shí)驗(yàn)則是驗(yàn)證了改進(jìn)方法的適用性。改進(jìn)的算法在目標(biāo)檢測(cè)精度上仍有很大提升空間,尤其是針對(duì)小目標(biāo)檢測(cè)方面。此外,后期工作中仍需關(guān)注模型部署在無人機(jī)上的實(shí)際表現(xiàn)情況。
參考文獻(xiàn)
[1] 柴興華,胡炎,雷耀麟,等. 無人機(jī)智能測(cè)控技術(shù)研究綜述[J]. 無線電工程,2019,49(10):855-860.
[2] SURMANN H,WORST R,BUSCHMANN T,et al. Integration of UAVs in Urban Search and Rescue Missions[C]∥2019 IEEE International Symposium on Safety,Security,and Rescue Robotics (SSRR). Würzburg:IEEE,2019:203-209.
[3] LIU W,ANGUELOV D,ERHAN D,et al. SSD:SingleShot MultiBox Detector[C]∥2016 European Conferenceon Computer Vision(ECCV). Amsterdam:Springer,2016:21-37.
[4] REDMON J,DIVVALA S,GIRSHICK R,et al. You OnlyLook Once:Unified,Realtime Object Detection [C]∥2016 IEEE Conference on Computer Vision and PatternRecognition(CVPR). Las Vegas:IEEE,2016:779-788.
[5] LIN T Y,GOYAL P,GIRSHICK R,et al. Focal Loss forDense Object Detection [C]∥ Proceedings of the IEEEInternational Conference on Computer Vision (ICCV ).Venice:IEEE,2017:2980-2988.
[6] GIRSHICK R,DONAHUE J,DARRELL T,et al. RichFeature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Columbus:IEEE,2014:580-587.
[7] CAI W W,WEI Z G. Remote Sensing Image ClassificationBased on a Crossattention Mechanism and Graph Convolution[J]. IEEE Geoscience and Remote Sensing Letters,2020,19:1-5.
[8] CHENG Q Q,WANG H J,DING X C,et al. A UAV TargetDetection Algorithm Based on YOLOv4tiny and ImprovedWBF [C ] ∥ Proceedings of the 14th InternationalConference on Wireless Communications and Signal Processing (WCSP). Nanjing:IEEE,2022:122-126.
[9] 羅旭鴻,劉永春,楚國(guó)銘,等. 基于改進(jìn)YOLOv5 無人機(jī)圖像目標(biāo)檢測(cè)算法[J]. 無線電工程,2023,53 (7):1528-1535.
[10] LIU W J,QIANG J,LI X X,et al. UAV Image SmallObject Detection Based on Composite Backbone Network[J]. Mobile Information Systems,2022(15):1-11.
[11] WANG B B,YANG G J,YANG H,et al. Multiscale MaizeTassel Identification Based on Improved RetinaNet Modeland UAV Images[J]. Remote Sensing,2023,15(10):2530.
[12] 王殿偉,胡里晨,房杰,等. 基于改進(jìn)DoubleHeadRCNN 的無人機(jī)航拍圖像小目標(biāo)檢測(cè)算法[J]. 北京航空航天大學(xué)學(xué)報(bào),2023:10.
[13] DEMESQUITA D B,SANTOS R F D,MACHARET D G,et al. Fully Convolutional Siamese Autoencoder for ChangeDetection in UAV Aerial Images [J]. IEEE Geoscienceand Remote Sensing Letters,2020,17(8):1455-1459.
[14] 趙耘徹,張文勝,劉世偉. 基于改進(jìn)YOLOv4 的無人機(jī)航拍目標(biāo)檢測(cè)算法[J]. 電子測(cè)量技術(shù),2023,46(8):169-175.
[15] WANG X,HE N,HONG C,et al. Improved YOLOXXBased UAV Aerial Photography Object DetectionAlgorithm [J ]. Image and Vision Computing,2023,135:104697.
[16] WANG C Y,BOCHKOVSKIY A,LIAO H Y M. YOLOv7:Trainable Bagoffreebies Sets New Stateoftheart forRealtime Object Detectors[C]∥2023 IEEE / CVF Conference on Computer Vision and Pattern Recognition(CVPR). Vancouver:IEEE,2023:7464-7475.
[17] LIN T Y,DOLLAR P,GIRSHICK R,et al. FeaturePyramid Networks for Object Detection[C]∥2017 IEEEConference on Computer Vision and Pattern Recognition(CVPR). Honolulu:IEEE,2017:936-944.
[18] LIUS,QI L,QIN H F,et al. Path Aggregation Network forInstance Segmentation[C]∥2018 IEEE / CVF Conferenceon Computer Vision and Pattern Recognition (CVPR).Salt Lake City:IEEE,2018:8759-8768.
[19] OUYANG D L,HE S,ZHANG G Z,et al. Efficient Multiscale Attention Module with Crossspatial Learning[C]∥2023 IEEE International Conference on Acoustics Speechand Signal Processing (ICASSP). Rhodes Island:IEEE,2023:1-5.
[20] CHEN J R,KAO S H,HE H,et al. Run,Don’t Walk:Chasing Higher FLOPS for Faster Neural Networks[C]∥2023 IEEE / CVF Conference on Computer Vision and Pattern Recognition (CVPR ). Vancouver:IEEE,2023:12021-12031.
[21] TAN M X,PANG R M,LE G V. EfficientDet:Scalableand Efficient Object Detection [C]∥ 2020 IEEE / CVFConference on Computer Vision and Pattern Recognition(CVPR). Seattle:IEEE,2020:10778-10787.
[22] ZHENG Z H,WANG P,REN D W,et al. EnhancingGeometric Factors in Model Learning and Inference forObject Detection and Instance Segmentation [J ]. IEEETransactions on Cybernetics,2022,52(8):8574-8586.
[23] TONG Z J,CHEN Y H,XV Z W,et al. WiseIoU:Bounding Box Regression Loss with Dynamic FocusingMechanism[EB / OL]. (2023 -01 -24)[2023 -07 -15].https:∥arxiv. org / abs / 2301. 10051.
[24] DU D W,ZHU P F,WEN L Y,et al. VisDroneDET2019:The Vision Meets Drone Object Detection in Image Challenge Results[C]∥2019 IEEE / CVF International Conference on Computer Vision Workshop (ICCVW). Seoul:IEEE,2019:213-226.
[25] DING J,XUE N,XIA G S J,et al. Object Detection inAerial Images:A Largescale Benchmark and Challenges[J]. IEEE Transactions on Pattern Analysis and MachineIntelligence,2021,44 (11):7778-7796.
作者簡(jiǎn)介
程換新 男,(1966—),博士,教授,碩士生導(dǎo)師。主要研究方向:人工智能、先進(jìn)控制、機(jī)器視覺。
喬慶元 男,(2001—),碩士研究生。主要研究方向:計(jì)算機(jī)視覺、模式識(shí)別。
(*通信作者)駱曉玲 女,(1966—),博士,教授,碩士生導(dǎo)師。主要研究方向:過程裝備自動(dòng)化的優(yōu)化設(shè)計(jì)。
于沙家 女,(1986—),碩士,實(shí)驗(yàn)員。主要研究方向:神經(jīng)網(wǎng)絡(luò)控制。
基金項(xiàng)目:國(guó)家自然科學(xué)基金(62273192)