999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于YOLOv8的無人機圖像目標檢測算法

2024-04-23 10:03:10趙繼達甄國涌儲成群
計算機工程 2024年4期
關鍵詞:特征檢測模型

趙繼達,甄國涌,儲成群

(中北大學儀器與電子學院,山西 太原 030051)

0 引言

近年來,無人機(UAV)技術因具有視野范圍廣、飛行速度快的優勢而逐漸應用于目標檢測領域,但是無人機目標檢測存在的目標尺度小、容易受到環境干擾等問題,限制了算法的目標檢測性能。因此,提高小目標的檢測精度成為了近年來的熱點問題。

在目標檢測領域存在2種算法:傳統的目標檢測算法和基于深度學習的目標檢測算法。傳統的目標檢測算法魯棒性差,檢測效率和準確度都很低,本文不做考慮。基于深度學習的目標檢測算法分為2種:兩階段目標檢測算法(如R-CNN系列算法)和單階段目標檢測算法(如YOLO系列算法、SSD系列算法)。兩階段目標檢測算法雖然檢測精度比較高,但是算法復雜度高,不適用于無人機快速運動、快速檢測的運行環境。在檢測速度較快的單階段目標檢測算法中,開發程度較高的YOLO系列算法對檢測精度和檢測速度有很好的平衡性。其中,2023年1月發布開源的YOLOv8算法是YOLO家族最新成員,可以更好地平衡算法的檢測速度和檢測精度。因此,本文將YOLOv8算法作為無人機目標檢測基礎算法并加以改進[1]。

本文研究的重點和難點主要集中在以下幾個方面:特征信息不容易提取[2];通用的模型適用于中等大小的目標和大目標,對于小目標效果不佳;小目標數據集樣本質量不如一般數據集[3]。針對以上問題,研究人員首先基于錨框(Anchor)機制對小目標檢測算法進行優化,如ZHANG等[4]提出加入錨框密度參數,在令不同錨框具有相同密度的情況下提高了小目標檢測的召回率。雖然錨框有很大的作用,但是近年來大量實驗表明,基于錨框的目標檢測算法也有不足:預設錨框會導致正負樣本失衡,而且需要對錨框大小、數量和比例進行計算,這提高了算法復雜度。因此,近年來無錨框(Anchor-free)機制因其優良的特性而逐漸興起,例如:LAW等[5]提出一種CornerNet網絡模型,根據左上、右下2個角點實現定位,避免了原來固定尺寸的錨框對小目標檢測不友好的缺點;DUAN等[6]提出CenterNet網絡模型,在CornerNet基礎上增加了中心點參數,取得了比CenterNet更好的效果。其次,研究人員基于模型網絡結構進行了優化,如謝星星等[7]提出一種動態特征融合網絡,該網絡可以動態調整特征融合的權重,有效減少特征融合過程中小目標特征的丟失。近年來,在目標檢測優化方面,注意力機制的引入也成為了研究熱點,如LIM等[8]提出一種融合目標上下文信息的注意力機制,使網絡聚焦于需要的部分從而降低背景信息的干擾,間接增強了所需要的小目標特征信息。此外,還有直接增強小目標特征的優化方法,主要有以下幾類:設計生成對抗網絡(GAN)[9],如BAI等[10]提出的SOD-MTGAN、RABBI等[11]提出的EESRGAN等,都是對GAN方法的改進;對訓練用數據集進行數據增強,如KISANTAL等[12]提出的將小目標復制增多的方法,提高了網絡對小目標的訓練量,ZOPH等[13]提出的強化學習的方法,先將質量好的數據進行篩選再訓練,有效提高了檢測性能;由于不同尺度的特征圖有不同的特征信息,通過融合多尺度特征圖也可以有效提升檢測精度,有很多基于經典特征融合網絡——特征金字塔網絡(FPN)的改進,如ZENG等[14]提出的空洞空間金字塔池化平衡特征金字塔網絡(ABFPN),創新性地使用了跳躍連接,大幅提升了多尺度特征融合效果。

為了提高小目標檢測的測量精度,本文提出YOLOv8-smr模型,相較于YOLOv8s做出的改進主要有以下4點:

1)針對無人機拍攝目標普遍為小目標的應用場景,減少YOLOv8s算法骨干網絡(Backbone)的層數,增大檢測頭(Head)部分待檢測特征圖的尺寸,保留更多小目標特征信息;

2)針對數據集存在一定數量低質量示例的問題,引入Wise-IoU損失函數優化數據集訓練效果;

3)引入上下文增強模塊(CAM),通過不同擴張率的擴張卷積將待檢測目標本身及其周圍特征信息結合起來,改善模型在復雜環境中對小目標的定位和分類效果;

4)設計空間-通道濾波模塊(SCFM),通過濾除干擾信息、增強小目標特征信息,緩解卷積過程中微小目標特征信息被淹沒的問題。

1 系統模型

1.1 YOLOv8網絡結構

YOLOv8的總體結構包括Backbone、頸部網絡(Neck)、Head這3個部分。根據具體的需要,將模型按照網絡模型的大小分為YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l和YOLOv8x這5種模型[15]。

Backbone部分采用的結構為Darknet53,其中包括基本卷積單元(Conv)、實現局部特征和全局特征的featherMap級別的融合的空間金字塔池化模塊(SPPF),以及增加網絡的深度和感受野、提高特征提取能力的C2f模塊。C2f模塊結構如圖1所示(彩色效果見《計算機工程》官網HTML版,下同)。

圖1 C2f模塊結構Fig.1 Structure of C2f module

Neck部分采用PAN-FPN結構實現多個不同尺寸特征圖的特征融合,其中同樣使用了C2f模塊作為特征提取的主要模塊。

Head部分采用解耦頭結構將分類和檢測分離,同時在檢測過程中采用效果較好的Anchor-free機制。解耦頭模型結構如圖2所示。

圖2 解耦頭模型結構Fig.2 Structure of decoupling head model

在損失函數計算方面,采用了Task Aligned Assigner正樣本分配策略,由分類損失(VFL)和回歸損失(CIoU+DFL)2個部分的3個損失函數加權組合而成。

1.2 本文網絡結構

經過在YOLOv8s的基礎上優化模型結構、優化損失函數、添加上下文增強模塊、添加SCFM模塊,本文最終的無人機目標檢測算法網絡模型如圖3所示。下面各節分別對各個優化模塊的具體結構與算法進行介紹。

圖3 本文目標檢測算法模型結構Fig.3 Structure of the proposed target detection algorithm model

1.3 模型結構優化

YOLOv8s模型輸入圖片的大小會被resize為640×640×3像素,最終檢測的3個特征圖的大小為80×80×128像素、40×40×256像素和20×20×512像素。當待檢測目標普遍為小目標的時候,特征圖尺寸最小被壓縮到20×20×512像素,這會造成小目標特征信息有較大的損失,而且經過深層卷積會導致小目標的特征信息被淹沒,從而影響檢測精度。因此,本文將Backbone部分的Stage Layer3去除,令網絡模型不進行過于深層次的卷積,同時將待檢測特征圖的尺寸放大到160×160×64像素、80×80×128像素和40×40×256像素。通過改進,模型可以保留更多的小目標特征信息。在VisDrone2019數據集上,本文將所優化的模型結構與直接增加一層小目標檢測層的模型YOLOv8-large[16]以及初始模型YOLOv8s進行實驗對比,實驗結果如表1所示,用每秒10億次的浮點運算數(GFLOPs)衡量算法復雜度。與常見的直接增加一層小目標檢測層的模型相比,本文模型結構的算法復雜度大幅降低,但檢測精度差別不大,與初始YOLOv8s算法相比,優化參數量明顯下降、精度明顯提升,證明降低網絡卷積層次在大幅提升小目標檢測性能的同時,不會帶來復雜的算法開銷,能夠實現模型復雜度和精度之間更好的平衡。

表1 3種算法復雜度和精度比較Table 1 Comparison of complexity and accuracy between three algorithms

1.4 損失函數優化

損失函數的計算是目標檢測算法的重要組成部分,YOLOv8s算法的損失函數由VFL和CIoU+DFL這2個部分的3個損失函數加權組合而成。其中,CIoU是對邊界框的損失進行計算,它加入了縱橫比的損失計算,但是沒有考慮數據集樣本本身的平衡問題。以往的大多數損失函數很少考慮數據集本身標注示例的質量,而是不斷致力于強化邊界框損失的擬合能力,導致一些低質量標注對檢測性能有很大的影響[17]。因此,本文引入Wise-IoU作為新的邊界框損失函數。Wise-IoU定義為:

(1)

(2)

LIoU=1-RIoU

(3)

其中:(x,y)和(xgt,ygt)分別為錨框和目標框中心點的坐標;Wg和Hg是最小包圍框的尺寸;RIoU表示交并比(IoU),是度量預測框和真實框的重疊程度的常見量;α和β作為超參數,通常設定為1.9和3.0[17]。

通過引入離群度參數來描述錨框的質量,β與錨框質量負相關。離群度計算公式為:

(4)

(5)

其中:t為epoch的值;n為batch size的值。引入動量m的意義是經過t輪訓練以后,WIoU將小梯度增益分配給低質量錨框以減少有害梯度。

WIoU所增加的計算成本主要在于聚焦系數的計算和IoU損失的均值統計。在相同實驗條件下,WIoU因為沒有對縱橫比進行計算反而有更快的速度,所以在更換損失函數后,在精度提高的基礎上,訓練時間也得到有效降低。

1.5 上下文增強模塊

通過對數據集的觀察分析可以發現,在無人機目標檢測過程中,待檢測目標小而密,小目標檢測可以通過上下文信息作為特征的一部分。因此,本文引入上下文增強模塊,通過擴張率為1、3、5的擴張卷積增大檢測感受野,同時將待檢測目標及其周圍的特征信息相結合,變相增強小目標的特征信息,增強算法對目標的理解能力。CAM結構如圖4所示。將Backbone部分輸出的圖像經過擴張率為1、3、5的擴張卷積處理,將目標自身特征與目標周圍環境的相對特征都考慮在內,再將處理后的3個特征圖經Concat函數拼接后輸入網絡結構的下一層進行處理。

圖4 CAM結構Fig.4 Structure of CAM

1.6 空間-通道濾波模塊

在YOLOv8s模型結構中,Neck部分使用了PAN-FPN結構,可以實現多個不同尺寸特征圖的特征融合。但是在卷積過程中,網絡各個層的特征圖中會存在大量的干擾信息,這些干擾信息在不斷卷積的過程中會導致部分特別小的小目標的特征信息丟失,嚴重影響檢測精度。因此,本文設計空間-通道濾波模塊,這種結構可以有效地從通道和空間濾除特征圖的干擾信息,增強小目標特征信息。SCFM結構如圖5所示。

圖5 SCFM結構 Fig.5 Structure of SCFM

首先,將輸入的特征圖在通道方向上進行壓縮,再將其分別輸入空間濾波模塊(SPM)和通道濾波模塊(CPM)。

空間濾波模塊將壓縮處理后的特征圖采用Log_Softmax激活函數處理,在空間上對特征圖過濾增強特征信息。Log_Softmax算法是在Softmax算法基礎上對結果進行Log操作,生成所有位置相對于通道的相對權重。

Softmax算法公式為:

(6)

Log_Softmax算法公式為:

lLog_Softmax=lnσ(Zi)

(7)

其中:Z為輸入向量,Zj和Zi表示其中某個元素。

由兩者的算法公式可以得,雖然Log_Softmax和Softmax都是單調的,但是它們對損失函數相對值的影響不同,使用Log_Softmax函數可以更高地懲罰似然空間中的誤差,使算法收斂得更快。

通道濾波模塊結構如圖6所示。將特征圖輸入CPM后,分別經過平均池化和最大池化,兩者結合將會得到更詳細的全局特征,引入2層卷積層和Hardswish激活函數對小目標特征進行增強,最后經過最鄰近上采樣操作將特征圖尺寸大小還原,再將2個經過濾波的特征圖相加得到CPM模塊最終的輸出。

圖6 CPM結構 Fig.6 Structure of CPM

Hardswish激活函數計算方式如式(8)[18]所示:

(8)

在這里引入Hardswish作為激活函數,是因為Hardswish不但具有Swish函數的優點,即有助于防止慢速訓練期間梯度逐漸接近0并導致飽和、平滑度在優化和泛化中起了重要作用,以及導數恒大于0,而且在Swish函數的基礎上使用常見的算子組合而成,在達到相似效果的情況下大大降低了算法模型的計算量。

2 實驗與分析

本文實驗均基于VisDrone2019數據集。VisDrone2019數據集有6 471張圖片用于訓練、548張圖片用于驗證,由配備攝像頭的無人機在不同地點和高度拍攝,包括pedestrian、person、car、van、bus、truck、motor、bicycle、awning-tricycle,以及tricycle的10個預定義類別,幾乎包含了交通運輸的全部常見目標種類,是小目標檢測常見的訓練評估用數據集。

實驗軟件環境為Python 3.8.13、PyTorch 1.7.1、cuda 10.1,硬件環境為NVIDIA GeForce RTX 2080 Ti顯卡。所有實驗都在相同超參數下進行。性能評價指標有mAP@0.5、mAP@0.5∶0.95、GFLOPs、檢測幀率(FPS)。其中:mAP@0.5表示閾值為0.5時所有類別(共10類)待檢測目標的平均檢測精度;mAP@0.5∶0.95表示閾值為0.5~0.95時所有類別待檢測目標的平均檢測精度;GFLOPs用來衡量算法復雜度;FPS用來衡量算法檢測速度。

為了證明本文提出模塊的有效性,通過消融實驗來驗證不同模塊對小目標檢測算法性能的影響,與此同時,通過展示同一張圖片的處理結果來可視化這種差異。通過與其他經典目標檢測算法以及近年來具有代表性的小目標檢測算法的對比實驗,體現本文所提出的整體算法模型在小目標檢測領域的優越性。

2.1 消融實驗

為了證明本文所提出的各個改進模塊的優越性,進行消融實驗,實驗結果如表2所示,其中加粗表示最優值。通過優化YOLOv8s模型結構得到的YOLOv8s-smr結構,較原模型mAP@0.5提升5.5個百分點,mAP@0.5∶0.95提升3.8個百分點,參數量下降70.3%,算法復雜度基本一致,這里FPS下降較多是因為待檢測特征圖尺寸加大之后后處理時間由5.5 ms增加到9.3 ms造成的。將YOLOv8s原來的損失函數由CIoU替換為WIoU,mAP@0.5提升1.0個百分點,FPS提升9.1幀/s,這是因為更換的損失函數降低了數據集中低質量示例的影響,而且與CIoU相比,WIoU因為沒有對縱橫比進行計算,所以有更快的計算速度,其余參數變化較小。如圖7所示,在相同模型下將損失函數替換為CIoU、SIoU和WIoU進行對比實驗,在設定耐心值為30的情況下,CIoU、SIoU在138個epoch的訓練完全收斂,CIoU、SIoU和WIoU下精度分別為43.67%、43.64%和44.67%,雖然WIoU收斂較慢,但是明顯達到較高的精度,說明WIoU的加入對提升小目標檢測精度有效。通過直觀對比也可以發現WIoU漏檢和誤檢最少。在YOLOv8s-smr-WIoU基礎上加入CAM后,mAP@0.5和mAP@0.5∶0.95都提升0.3個百分點,證明CAM擴大感受野的操作對于小目標檢測確實有明顯提升。在此基礎上加入SCFM后,通過將特征層中的小目標特征進行增強,mAP@0.5提升0.5個百分點,mAP@0.5∶0.95提升0.2個百分點。最終算法模型的實驗結果表明,相較于基礎YOLOv8s算法模型,本文提出的算法模型mAP@0.5提升7.3個百分點,mAP@0.5∶0.95提升4.8個百分點,參數量下降26.13%,算法復雜度增加45.26%,FPS下降24.1幀/s。雖然算法復雜度有所增加,但是FPS可以達到62.1幀/s,表明本文目標檢測算法可以滿足實時性的要求。

表2 消融實驗中目標檢測精度和算法復雜度對比Table 2 Comparison of target detection accuracy and algorithm complexity in ablation experiment

圖7 不同損失函數下目標檢測精度對比 Fig.7 Comparison of target detection accuracy under different loss functions

目標檢測效果可視化對比如圖8所示。可以看出,通過改進,紅框標注的地方漏檢情況相比于上一張圖明顯減少,藍框標注的地方誤檢率也有下降,每一代算法模型在誤檢和漏檢方面都相比于前一代有一定的改進,最終算法模型相比于前幾代模型也取得了更好的目標檢測效果。

圖8 消融實驗目標檢測效果可視化對比Fig.8 Visual comparison of target detection effects in ablation experiment

通過檢測結果的直觀對比,可以看到小目標檢測精度不斷地提升。但是可以明顯看到,雖然算法經過多輪改進,但還是不可避免地存在漏檢和誤檢的問題,這也是最終算法的mAP@0.5只有45.4%的直觀體現。

2.2 對比實驗

為了體現本文所提出的算法在檢測精度和檢測速度上的優越性和平衡性,將本文算法與目前主流的經典的小目標檢測算法進行對比,包括RetinaNet[19]、Faster-RCNN[20]、CornerNet[5]、YOLOv5s[21]、Deformable DETR[22]、TPH-YOLOv5[23]、YOLOv7[24],以及最近公開發表的小目標檢測精度最優算法YOLO-DCTI[25]、速度最優算法YOLO-PWCA[26],在相同數據集和軟硬件條件下進行比較,驗證本文算法模型所作改進的有效性和優越性。

表3給出了不同算法的指標對比,圖9給出了部分算法目標檢測效果的可視化對比。在檢測效果可視化對比中,觀察各個算法檢測結果的紅框標注部分出現的漏檢和誤檢現象可知,本文算法相較于精度最高的YOLO-DCTI方法,雖然檢測率略低,但是圖片右側誤檢現象有所減少,相較于其他算法,左上角微小汽車以及圖像中央的motor、bicycle的檢測率更高。在指標對比中,本文算法的檢測精度雖然不是最高,但是精度最高的YOLO-DCTI方法是以犧牲檢測速度為前提的,11幀/s的檢測速度無法滿足實時性,而YOLO-PWCA算法雖然速度非常快,達到181幀/s,但是檢測精度是明顯短板。對比以上多種算法,本文算法雖然精度沒有達到最高,速度也不是最快,但是可以在滿足62幀/s實時目標檢測的條件下達到最高精度,在精度和速度之間達到了更好的平衡,更適合無人機的應用環境。以上對比結果可以證明,本文所提出的算法在小目標檢測方面的精度和速度更加平衡,具有優越性。

表3 對比實驗結果Table 3 Comparative experiment result

圖9 對比實驗目標檢測效果可視化對比Fig.9 Visual comparison of target detection effects in comparative experiment

3 結束語

本文提出一種改進YOLOv8s的小目標檢測算法,用于提高無人機目標檢測精度,從目前主流的幾個方向優化,包括網絡結構、數據集、注意力機制,使得經過改進的網絡模型更適用于小目標檢測的應用場景。本文放大待檢測特征圖的尺寸而不是單純地增加小目標檢測層,通過這樣的改進可以使網絡專注于小目標的特征信息,而且不會帶來很大的計算開銷,更適合無人機目標檢測的應用場景;將損失函數更換為WIoU可以將數據集本身標注示例的質量加入訓練參數;加入CAM將目標與其周圍的特征信息聯系起來,可以改善對目標的分類識別效果;設計SCFM,通過濾除干擾信息、增強小目標特征信息,可以改善卷積過程中部分微小目標特征信息被淹沒的問題。通過消融實驗結果可以看出,以上所做出的改進都對檢測精度有一定提升作用。本文所提出的算法相對于YOLOv8s算法雖然復雜度有所增加,但是最終模型的檢測速度可以滿足應用需求。與目前主流的經典目標檢測算法以及近年來公開發表的具有代表性的小目標檢測算法相比,本文所提出的改進算法在小目標檢測精度和檢測速度上可以達到平衡,具有一定的優越性,算法模型的mAP@0.5達到了45.4%,實現了較大的精度提升。

為了使無人機在光照條件惡劣的情況下保持高精度目標檢測,下一步計劃添加圖像預處理模塊,包括圖像增強和曝光校正2個部分。此外,還將對算法做進一步輕量化處理,包括但不限于更換主干網絡等,將其部署到嵌入式GPU設備Nvidia Jetson AGX Xavier上,在無人機有限的算力與功耗資源上實現實時目標檢測。

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产精品理论片| 天天色综网| 中文无码精品A∨在线观看不卡| 国产乱视频网站| 精品国产自在在线在线观看| 一区二区三区在线不卡免费| 在线观看无码av免费不卡网站 | 高清欧美性猛交XXXX黑人猛交| 国产综合网站| 久久99国产综合精品女同| 全免费a级毛片免费看不卡| 在线无码私拍| 国内毛片视频| 欧美在线天堂| 亚洲精品视频在线观看视频| 五月天久久综合| 日本国产精品一区久久久| 97影院午夜在线观看视频| 国产精女同一区二区三区久| 国产成人综合日韩精品无码首页| 亚洲第一成人在线| 国产亚洲现在一区二区中文| 91精品国产丝袜| 国产一区二区网站| 久久国产拍爱| 久久黄色视频影| a天堂视频在线| 99久久精品国产自免费| 亚洲精品麻豆| 国产亚洲日韩av在线| 亚洲成肉网| 91色爱欧美精品www| 久久99热这里只有精品免费看| 国产欧美在线| 欧美中文字幕无线码视频| 蜜桃视频一区二区| 亚洲欧美日本国产综合在线 | 国产欧美另类| 亚洲中文字幕无码爆乳| 国产www网站| 狠狠色丁香婷婷综合| 成人免费午夜视频| 99这里只有精品6| 丝袜无码一区二区三区| 热99精品视频| 日韩在线欧美在线| 亚洲AV一二三区无码AV蜜桃| 国产极品美女在线播放| 亚洲综合色婷婷| 亚洲美女久久| 亚洲91在线精品| 无码高潮喷水在线观看| 国产AV无码专区亚洲A∨毛片| 综合五月天网| 精品1区2区3区| 四虎影视库国产精品一区| 久久精品无码中文字幕| 午夜性爽视频男人的天堂| 国产剧情无码视频在线观看| 激情午夜婷婷| 波多野结衣一区二区三区四区| 一级爆乳无码av| 中文字幕在线一区二区在线| 亚洲综合第一区| 中国黄色一级视频| 少妇极品熟妇人妻专区视频| а∨天堂一区中文字幕| 波多野衣结在线精品二区| 国产偷国产偷在线高清| 国产女人18水真多毛片18精品 | 日韩大乳视频中文字幕| 欧美综合中文字幕久久| 免费人成网站在线观看欧美| 中文字幕伦视频| 99视频在线观看免费| 小说 亚洲 无码 精品| 免费人欧美成又黄又爽的视频| 色久综合在线| 亚洲欧美国产视频| 国产成人三级| 亚洲中文字幕97久久精品少妇| 国产在线小视频|