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

改進YOLOv7的復雜道路場景目標檢測算法

2024-01-18 16:52:16崔少華晉美娟
計算機工程與應用 2024年1期
關鍵詞:特征檢測

杜 娟,崔少華,晉美娟,茹 琛

1.太原科技大學 機械工程學院,太原 030024

2.山西平陽重工機械有限責任公司,山西 臨汾 043000

在過去的幾年中,隨著計算機技術和深度學習的發展,道路目標檢測技術在實現自動駕駛和智能交通系統等領域中扮演著越來越重要的角色。道路目標檢測的主要目的是在道路圖像中檢測和識別各種交通標志、行人、車輛和其他障礙物,從而為自動駕駛和智能交通系統提供必要的信息。因此,準確地檢測和識別這些目標對于保證車輛和行人的安全和提高道路交通效率至關重要。

道路目標檢測技術已經經歷了多個發展階段。早期的目標檢測方法主要基于傳統的計算機視覺算法,如Haar[1]特征分類器、HOG[2]特征分類器和SIFT[3]特征分類器等。這些方法需要手動選擇特征并且對特征提取和分類算法進行調試,難以適應復雜的場景,并且準確率和魯棒性相對較低。

近年來,隨著深度學習技術的發展,基于深度學習的道路目標檢測方法逐漸興起。深度學習模型能夠自動學習特征,并且在目標檢測和識別任務中表現出色。常用的深度學習目標檢測框架主要分為兩類:基于區域的目標檢測(region-based detection)和單階段目標檢測(single-stage detection)。基于區域的目標檢測算法主要是通過提取圖像中的區域(region proposal)來實現目標檢測,這些區域通常是預先選定的,然后通過CNN進行分類和定位。基于區域的目標檢測算法主要包括RCNN[4]、Fast R-CNN[5]、Faster R-CNN[6]等。單階段目標檢測算法則是直接在圖像中進行分類和定位,通常比基于區域的算法速度更快,但在精度方面稍遜一籌。單階段目標檢測算法主要包括SSD[7]、RetinaNet[8]、YOLO[9-12]系列等算法在復雜道路場景目標檢測方面,這些算法已經得到了廣泛的應用。

例如針對道路中的行人檢測問題,樊嶸等人[13]以DETR[14]為基礎模型,引入注意力編碼器來有效利用小目標的特征信息,并在訓練時使用Smooth-L1與GIoU[15]結合的損失函數來加速收斂,在Wider-Person數據集上取得了較好的檢測效果。針對道路中的交通標志檢測問題,韋強等人[16]以YOLOv5 為基礎模型,引入遞歸門控卷積[17]用于骨干網絡,并引入F-EIoU[18]損失函數和SOCA[19]注意力進一步小目標的檢測精度,并在TT100K數據集上得到了較大的檢測精度提升。對于復雜道路場景中的目標檢測問題,盛博瑩等人[20]提出基于反饋機制的特征提取網絡(RFP-PAN),并提出級聯注意力機制(SECA)用來提高雜交通場景下的小目標檢測精度;冉險生等人[21]基于YOLOv5算法,改進了特征融合方式并改進了感受野模塊以增大網絡感受野從而更好地學習目標特征信息,最后引入quality focal loss[22]進一步加速網絡收斂,在BDD100K 數據集和自制數據集上得到了較高的精度提升,且檢測速度沒有下降,使復雜道路場景下的檢測性能得到提升。

目前,雖然基于深度學習的目標檢測算法在復雜道路場景中的目標檢測方面已經取得了很好的效果,但是對于場景中的小目標檢測仍然存在一些問題。首先,目前的算法在小目標檢測方面仍然存在一定的誤檢率和漏檢率。這是由于小目標的尺寸和形狀各異,加之環境因素的干擾,容易導致誤檢或漏檢。其次,復雜道路場景中的背景干擾也是一個難點問題。由于道路場景中背景復雜多變,很容易出現背景中的物體被誤檢為小目標的情況。另外,復雜道路場景中小目標的檢測速度也是一個需要關注的問題。對于自動駕駛這些對實時性和準確性要求較高的任務而言,算法的檢測速度需要足夠快,準確度要足夠高,以便及時做出決策。

針對上述問題,本文提出一種基于YOLOv7[23]的改進算法,可以有效改善復雜道路場景中的小目標檢測精度低的問題,且滿足了精度與速度的平衡。改進主要包括以下5 點:(1)在檢測頭部增加了一個小目標檢測層,用于降低對小目標的漏檢誤檢概率;(2)對先驗框用K-means++算法進行重聚類,用于增加對小目標的定位能力;(3)替換損失函數為WIoU loss[24],增加對低質量錨框的聚焦能力,加快模型收斂速度;(4)在頸部和頭部引入協調坐標卷積,增強對特征圖的空間感知能力;(5)提出一種partial convolution(PConv)與ELAN 結構融合的P-ELAN 結構來使網絡輕量化,減少模型參數,加快推理速度。

1 YOLOv7算法概述

YOLOv7 是一款優秀的一階段目標檢測器,它是在YOLOv5 的基礎上進行改進和優化得到的,它結合了眾多優秀的先進思想,共有YOLOv7-tiny、YOLOv7、YOLOv7-d6、YOLOv7-e6、YOLOv7-e6e、YOLOv7-w6六個版本。其中YOLOv7 保證了在邊緣設備推理時的精度與速度平衡,本文也是在此版本基礎上進行改進,在推理速度不受影響的前提下使其獲得更高的精度。

YOLOv7 算法由輸入端(InPut)、特征提取網絡(Backbone)、頸部網絡(Neck)、多尺度檢測頭(Head)組成。YOLOv7網絡結構圖如圖1所示。

1.1 輸入端

輸入端進行圖像的預處理,包括一些mixup、mosaic等數據增強方案,并把圖像對齊為特定尺寸大小的圖片,之后送入特征提取網絡。

1.2 特征提取網絡

特征提取網絡主要由多個CBS,ELAN[25]和MP 模塊的連續堆疊組成,總共對圖像進行了32 倍下采樣。CBS 由Conv、BN、SiLu[26]組成,ELAN 由多個CBS 模塊堆疊組成,含有豐富的梯度流信息,能夠有效地使用網絡參數并且加速網絡的推理,MP模塊由CBS和最大池化層組成,主要用于下采樣操作,能夠有效減少特征丟失。各個模塊結構圖如圖2所示。

1.3 頸部網絡

頸部網絡主要由SPPCSPC、ELANW、CBS、MP 等模塊組成一個自上而下的FPN 和自下而上的PAN。ELANW 相比于ELAN 增加了兩個拼接操作,SPPCSPC主要用于增大感受野。FPN 主要對含有高維強語義信息的特征進行上采樣,增強多個尺度上的語義表達,PAN主要將淺層的定位信息傳遞到深層,增加多個尺度上的定位能力,從而實現特征高效融合。各個模塊結構如圖3所示。

圖3 頸部網絡結構圖Fig.3 Structure diagram of Neck

1.4 多尺度檢測頭

多尺度檢測頭主要為REP 結構。REP 采用重參數化設計,通過加大訓練代價換取推理時的迅速。融合的多尺度特征圖(分別為80×80×128,40×40×256,20×20×512)通過REP模塊進行錨框位置和物體分類的預測,最后用CIoU 損失函數進行反向傳播從而更新權重參數,從而實現模型對不同尺度目標的檢測。REP結構如圖4所示。

圖4 REP結構圖Fig.4 Structure diagram of REP

2 改進的YOLOv7算法

針對YOLOv7對于復雜道路場景中的密集目標,遠處的小尺度目標檢測精度低,容易出現漏檢誤檢等問題對其進行改進,改進后的YOLOv7網絡結構圖如圖5所示。

圖5 改進的YOLOv7網絡結構Fig.5 Improved YOLOv7 network structure

2.1 小目標檢測層

由于道路場景目標情況復雜,離得比較遠的目標尺度較小,原YOLOv7在經過骨干網絡特征提取之后經過特征融合網絡進行特征融合,最后在檢測頭輸出三個不同尺度的特征圖,分別為20×20、40×40、80×80,在原有的YOLOv7 架構中,發現對于小目標的檢測效果不佳,為解決YOLOv7對小目標檢測的能力較弱,本文增加了一個輸出尺寸為160×160 的小目標檢測層用于提高YOLOv7的小目標檢測精度,該層位于原有的最后一個特征融合模塊之后,該層的輸入由兩部分拼接組成,一部分來自于骨干網絡第一個ELAN 模塊經過卷積之后的特征圖,另一部分為FPN繼續上采樣為一個160×160的特征圖,之后經過ELANW 模塊融合特征之后,得到一個具有高維度信息的特征圖,該征圖感受野較小,包含的位置信息更為豐富,能夠充分降低小目標的誤檢漏檢概率,更適用于小目標的檢測。增加小目標檢測層之后進一步使得YOLOv7網絡的目標檢測尺寸范圍增大,增加了在復雜道路背景下的檢測魯棒性。增加的小目標檢測層如圖5中的紅色虛線框所示。

2.2 用K-means++對先驗框進行重聚類

原YOLOv7 網絡的先驗框是通過在COCO 數據集使用K-means 算法聚類得來,雖然也能用于本文數據集,但并不完全符合道路目標的特征,導致其先驗框高寬尺寸與道路目標的尺寸不吻合,從而導致尺寸較小目標定位存在一定的偏差。

針對這一問題,本文在增加小目標檢測層的基礎上提出優化先驗框的方法,以提高YOLOv7網絡的目標定位精度。首先使先驗框總數增加到12,然后使用K-means++算法對SODA10M數據集標注的物體邊界框進行聚類分析,以得到更適用于道路目標的先驗框。具體而言,K-means++算法首先隨機選取一個點作為第一個聚類中心,然后以概率的形式選取其他點作為新的聚類中心,使得新的聚類中心與已選取的聚類中心距離越遠的點被選中的概率越高,重復執行該過程,直到所有聚類中心被選出為止。這一方法使得網絡能夠更好地檢測復雜道路場景中的小目標。重聚類后的先驗框尺寸如表1所示。

表1 先驗框重聚類結果Table 1 Priori box reunites class results

2.3 損失函數改進

損失函數是用來衡量預測結果與實際標簽之間的差異,一個好的損失函數能夠加速網絡收斂,提高網絡精度,原YOLOv7 采用的損失函數為CIoU loss[27],CIoU loss 把預測框與真實框的長寬比、中心點距離、重疊面積這三個對損失函數影響較大的因素都考慮進去了,但是對于一些標注質量較低的錨框并不能很好地收斂。CIoU的相關公式如下:

式(1)中b、bgt分別表示預測框和真實框的中心點,ρ代表兩個中心點的歐氏距離,c代表真實框和預測框最小外接矩形的對角線長度,α是權重函數,v用來衡量寬高比的一致性。

從式(3)中可以看出CIoU 中使用的是預測框與真實框之間的比值,當預測框的寬高比滿足一定條件時,CIoU 的懲罰函數會退化失效,會阻礙模型的收斂。CIoU中w、h相對于v的梯度如式(4)和(5),通過觀察發現這兩個梯度是一對相反數,也就是說,w和h不能同時增大或減小。

因此本文引入WIoU loss,WIoU是基于動態非單調的聚焦機制設計的,動態非單調聚焦機制使用“離群度”替代IoU對錨框進行質量評估,并提供了明智的梯度增益分配策略,使得模型更聚焦于低質量的錨框,提高模型的定位能力。WIoU包含三個版本,分別為WIoUv1、WIoUv2、WIoUv3,本文使用WIoUv3 版本,它是在WIoUv1、WIoUv2基礎上優化得來的。其中WIoUv1相關公式如下:

式中,RWIoU∈[1,e) 這將顯著放大普通錨框的LIoU。LIoU∈[0,1],這將顯著降低高質量錨框的RWIoU,并在錨框與目標框重合較好的情況下顯著降低其對中心點距離的關注。Wg、Hg分別為最小外接矩形的寬和高。*表示將Wg、Hg從計算圖中分離,作用是為了防止RWIoU產生阻礙收斂的梯度。

WIoUv3在WIoUv2的基礎上引入動態非單調聚焦系數。其相關公式如下:

式(11)中β為離群值,式(12)中α和δ是控制梯度增益r的超參數,本文選取α=1.9,δ=3。

2.4 協調坐標卷積

為了使網絡更好地感知特征圖中的位置信息,引入了協調坐標卷積,它可以感知空間信息。該方法是標準卷積的簡單擴展,其中卷積由空間坐標作為條件。通過為過濾器提供像素的位置信息,可以在笛卡爾空間和像素空間之間建立映射。一般而言,卷積具有三個主要特征:少量的訓練參數、通過GPU進行快速計算以及平移不變性。然而,就許多任務而言,關于平移不變性是否真正有助于模型性能是有爭議的。CoordConv[28]允許網絡根據任務需要保留或丟棄平移不變性的特性。在這個過程中,CoordConv確保了卷積和空間特征的最佳效果。CoordConv的實現方式是通過將兩個額外的i和j通道連接到輸入通道來完成的。如果連接CoordConv的坐標層與卷積的權重不為零,會使得CoordConv允許學習具有一定程度平移依賴性的函數,或者如果它們設置為零,則可以模擬常規卷積層。本文使用CoordConv替換FPN 中的1×1 卷積和檢測頭前的REP 卷積。常規卷積如圖6所示,CoordConv如圖7所示。

圖6 常規卷積Fig.6 Convolution

圖7 協調坐標卷積Fig.7 CoordConv

2.5 骨干網絡輕量化

為了降低網絡參數量和計算量,加快網絡推理速度,本文基于PConv 算子提出輕量化的P-ELAN。P-ELAN結構如圖8所示。

圖8 P-ELAN結構Fig.8 P-ELAN structure

PConv 算子是Chen 等人[29]提出來的一種能夠提高每秒浮點運算效率的輕量化卷積模塊,通過同時減少冗余計算和內存訪問從而更有效地提取空間特征。

圖9 為PConv 基本工作原理。它只需要對輸入特征圖中的一部分通道進行常規卷積運算(圖9 中*操作),其余通道保持不變并進行Identity操作。

圖9 部分卷積工作原理Fig.9 Principle of PConv

對于大小為k的卷積核,輸入特征圖大小為h×w,通道數為c,若輸入和輸出特征圖大小和通道數相同,則常規卷積的計算量為:

由此可知,ELAN作為原YOLOv7骨干網絡中的主要組成模塊,在ELAN中引入PConv算子能夠大幅降低計算量和內存訪問量,從而使模型輕量化并加速推理速度。

3 實驗

3.1 實驗環境及參數設置

本文所有實驗所使用的運行環境:13th Gen Intel?Core?i5-13600KF@3.5 GHz 處理器,NVIDIA GeForce RTX 4090(24 GB 顯存)顯卡,32 GB 內存;Windows10專業版操作系統,Python3.9.16 編譯語言,Pytorch1.13.1深度學習框架,CUDA11.7加速計算架構。

本文以YOLOv7 為基礎模型,采用SGD 方法訓練300 個epoch,初始學習率設置為0.01,批次大小設置為16,動量參數設置為0.937,預熱訓練3 個epoch,并按一定概率使用mixup、mosaic、fliplr等一系列數據增強操作。

3.2 數據集

本文選用華為諾亞方舟實驗室聯合中山大學發布的自動駕駛數據集SOAD10M[30]。該數據集收集了我國不同城市在不同天氣條件、不同時間段、不同位置的場景。劃分后的數據集包含5 000張訓練集,2 500張驗證集和2 500張測試集,共包含6種主要的人車場景類別:Pedestrian、Cyclist、Car、Truck、Tram、Tricycle。

3.3 評價指標

本文選用的算法評價指標包括參數量(Parameters)、計算量(FLOPs)、準確率(Percision)、召回率(Recall)、平均精度(mAP)、每秒傳輸幀數(FPS)。相應的計算公式如下:

其中,TP代表正確檢測框,FP代表誤檢框,FN代表漏檢框,len(GTs)代表所有標簽框數量,AP代表一個目標的檢測精度,N代表檢測類別數,Frames代表幀數,Time代表檢測時間。

3.4 消融實驗

采用消融實驗驗證本文所提各個改進方法的有效性,本消融實驗共分為10 組,各組實驗均保持輸入圖像、訓練超參數等的一致性。其中Head、K-means++、WIoU、CoordConv、P-ELAN為本文所提改進方法,表中“√”表示引入此改進方法。消融實驗結果如表2所示。

表2 消融實驗結果Table 2 Ablation experimental results

從表2 可以得出,第一組為原始YOLOv7 算法,mAP 為62.2%;第二組為加入小目標檢測層,mAP 上升了1個百分點,說明加入小目標檢測層能夠增加小目標尺寸的可檢測范圍;第三組為使用K-means++重聚類先驗框,mAP 上升了0.9 個百分點,說明重聚類先驗框能夠增加對小目標的定位能力;第四組為使用WIoU損失函數,使模型對普通質量錨框更加關注,mAP上升了0.6個百分點;第五組為使用CoordConv 模塊,mAP 上升了0.6 個百分點,說明CoordConv 模塊可以使網絡更好地感受特征圖中的空間位置信息;第六組為將ELAN模塊替換為P-ELAN 模塊,雖然mAP 略微下降,但是換來了參數量和運算量的下降,使模型更加輕量化;第七組為在第二組的基礎上使用K-means++重聚類先驗框,mAP上升了2.2 個百分點;第八組為在第七組的基礎上更換損失函數為WIoU,mAP上升了2.7個百分點;第九組為在第八組的基礎上引入CoordConv 模塊,mAP 上升了3.4 個百分點;第十組為本文所提最終算法,mAP 較原YOLOv7 上升了2.6 個百分點,達到了64.8%,且參數量和運算量分別下降12%和7%,證明了本文各個改進方法對復雜道路場景目標的有效性。

3.5 模塊對比實驗分析

3.5.1 增加小目標檢測層實驗分析

基于YOLOv7提出YOLOv7-H(增加一個輸出尺寸為160×160 的檢測層),為驗證增加小目標檢測層的有效性,將改進后的算法與原始算法在SOAD10M數據集上進行實驗對比,實驗結果如表3所示。

表3 小目標檢測層實驗結果Table 3 Experimental results of small target detection layer

從表3 中可以看出,增加了小目標檢測層之后,參數量和運算量都有所上升,在一定程度上增加了計算復雜度,但在可接受范圍內使mAP 增加了1.0 個百分點,證明了改進方法的有效性。

3.5.2 改進ELAN模塊實驗分析

為了驗證P-ELAN 模塊的有效性,將P-ELAN 模塊與根據不同算子提出的ELAN 模塊進行對比分析。G-ELAN 模塊是由GhostConv[31]組成;DS-ELAN 模塊是由高效卷積(DSConv[32])組成;D-ELAN是由可變形卷積(DCNv2[33])組成。實驗結果如表4所示。

表4 改進ELAN模塊實驗結果Table 4 Improved experimental results of ELAN module

從表4 中可以得出P-ELAN 模塊相較于其他模塊而言,FPS 最高,達到了94,參數量最少,運算量只比DS-ELAN 模塊多了4.2×109,mAP 達到了61.3%。實驗結果表明P-ELAN 模塊在保持較高檢測精度的同時檢測速度更快。

3.6 對比實驗

為了進一步驗證本文算法的有效性,將本文所提最終算法與SSD、Faster R-CNN、YOLOv3、YOLOv5、YOLOX、YOLOv6、YOLOv8m、RetinaNet等主流的目標檢測算法在SOAD10M 數據集上進行mAP 和FPS 指標的比較,實驗結果如表5所示。

表5 對比實驗結果Table 5 Comparative experimental results

通過對比表5中不同算法的實驗結果,可以看出本文算法在SOAD10M 數據集上的mAP 指標明顯高于其他主流的目標檢測算法,達到了64.8%;FPS比其他一階段檢測算法略微低一些,但比二階段檢測FasterR-CNN算法高很多。本文算法的FPS為80,相較于主流的一階段檢測算法,犧牲了一點檢測速度換取了更高的檢測精度,達到了速度和精度的平衡。綜上所述,本文所提算法與其他主流算法相比更加符合復雜道路場景目標檢測的實時性和準確性需求。

4 結束語

針對復雜道路場景中目標遮擋以及小尺度目標漏檢誤檢等問題。本文在YOLOv7 的基礎上增加一個小目標檢測層,用于增加對小目標特征的學習能力并增加小尺寸目標的可檢測范圍;使用K-means++算法重聚類先驗框,使先驗框尺寸更加貼合本文數據集,增加對小目標的定位能力;替換損失函數為WIoU,進一步增加網絡對普通質量錨框的關注度,使錨框預測更加準確,有效降低漏檢誤檢概率;在頸部和頭部引入CoordConv,使網絡能夠更好地感受特征圖中的空間位置信息,從而更好地檢測出小目標;提出一種P-ELAN結構用來降低網絡的復雜度,使檢測速度和精度能夠達到更好的平衡。改進后的算法在SOAD10M 數據集上進行了大量實驗,證明了本文算法在速度和精度上的平衡,能夠更好地適用于復雜道路場景下的目標檢測任務。在未來的工作中,將對本文算法在嵌入式設備上進行部署,并與實例分割等領域進行結合,進一步提高模型的實用性。

猜你喜歡
特征檢測
抓住特征巧觀察
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
主站蜘蛛池模板: 精品人妻无码中字系列| 亚洲视频一区在线| 久久这里只有精品66| 国产熟女一级毛片| 亚洲中文无码h在线观看| 国产福利微拍精品一区二区| 无码免费试看| 中文无码精品A∨在线观看不卡| 午夜性爽视频男人的天堂| 奇米影视狠狠精品7777| 中文字幕在线不卡视频| 欧美综合区自拍亚洲综合天堂| 亚洲无码高清视频在线观看| 日韩高清无码免费| 噜噜噜久久| 国产免费羞羞视频| 漂亮人妻被中出中文字幕久久| 精品视频第一页| 亚洲精品午夜天堂网页| 99精品视频在线观看免费播放| 狼友视频国产精品首页| 精品视频福利| 日本精品影院| 一本久道久久综合多人| 激情爆乳一区二区| 就去吻亚洲精品国产欧美| 成人精品区| 毛片免费在线| 99久久精品国产综合婷婷| 四虎成人精品在永久免费| 亚洲天堂久久新| 亚洲人成网站在线播放2019| 尤物在线观看乱码| 日本在线国产| 亚洲国产欧洲精品路线久久| 亚洲第一黄色网址| 免费一级毛片| 日韩亚洲高清一区二区| 熟妇丰满人妻av无码区| 国产欧美日本在线观看| 精品欧美日韩国产日漫一区不卡| 色婷婷国产精品视频| 亚洲人人视频| 巨熟乳波霸若妻中文观看免费| 欧美精品亚洲精品日韩专区va| AV熟女乱| 熟妇人妻无乱码中文字幕真矢织江| 黄色在线不卡| 亚洲成人一区二区| 在线免费观看AV| 精品福利视频导航| 国产在线麻豆波多野结衣| 91久草视频| 亚洲综合18p| 免费看黄片一区二区三区| 国产农村1级毛片| 国产精品性| 日韩中文字幕亚洲无线码| 国产精品福利导航| 99re热精品视频中文字幕不卡| 欧美无专区| 天堂久久久久久中文字幕| 无码一区二区三区视频在线播放| 亚洲欧洲日韩久久狠狠爱| 亚洲人成网址| 国产成人亚洲无码淙合青草| 精品久久久久久中文字幕女 | 亚洲成aⅴ人片在线影院八| 黄片在线永久| 国产成年无码AⅤ片在线| 久久久久无码国产精品不卡| 9cao视频精品| 日韩专区第一页| 精品人妻一区二区三区蜜桃AⅤ| 精品视频一区二区观看| 国产一区二区网站| 国产视频一二三区| 香蕉eeww99国产在线观看| 国产AV毛片| 久久国产精品电影| 一本色道久久88| 91精品啪在线观看国产|