亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進(jìn)YOLOv5的交通監(jiān)控視頻車輛檢測方法研究

        2022-05-06 04:59:18張美月
        內(nèi)蒙古公路與運輸 2022年2期
        關(guān)鍵詞:損失車輛函數(shù)

        張 漪,張美月

        (1.內(nèi)蒙古自治區(qū)交通運輸教育中心,內(nèi)蒙古 呼和浩特 010051;2.長安大學(xué)信息工程學(xué)院,陜西 西安 710046)

        1 引言

        截至2021 年5 月,公安部公布中國全國機動車保有量達(dá)到3.8 億輛[1],全國有70 個城市汽車保有量超過100 萬輛。日益增加的機動車數(shù)量和落后的交通管理系統(tǒng)是導(dǎo)致城市道路交通擁堵的重要原因,在傳統(tǒng)交通系統(tǒng)之上建立全新的智能交通系統(tǒng)(Intelligent Transportation System,ITS)已經(jīng)成為未來的發(fā)展方向和研究熱點。交通視頻監(jiān)控作為ITS的重要數(shù)據(jù)來源,在不同等級的公路均得到廣泛應(yīng)用,特別在城市路段,監(jiān)控視頻提供的數(shù)據(jù)對緩解城市交通擁堵、提高通行效率以及合理分配交通資源等方面起到重要作用。針對交通監(jiān)控視頻進(jìn)行車輛目標(biāo)檢測是后續(xù)進(jìn)行車輛識別、車輛跟蹤的基礎(chǔ),但在城市交通擁堵路段,環(huán)境復(fù)雜,車流量高,車輛互相遮擋嚴(yán)重,對準(zhǔn)確進(jìn)行車輛目標(biāo)檢測提出了挑戰(zhàn)。

        基于圖像或視頻的目標(biāo)檢測是車輛檢測的典型任務(wù)。傳統(tǒng)目標(biāo)檢測方法主要是利用人工構(gòu)建目標(biāo)特征,之后利用分類算法進(jìn)行分類,從而判斷目標(biāo)是否存在,常用分類算法有Haar+Adaboost[2]、Hog+SVM[2]、DPM[3]等。目標(biāo)檢測的傳統(tǒng)方法采用在圖像中進(jìn)行滑動窗口操作,檢測效率低、消耗資源高,并且手工特征魯棒性低、遷移效果差。隨著機器學(xué)習(xí)和GPU 并行計算技術(shù)的不斷發(fā)展,目標(biāo)檢測算法最重要的特征提取工作逐漸由人工構(gòu)建發(fā)展為從數(shù)據(jù)中自動學(xué)習(xí)?;诰矸e神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)逐漸發(fā)展了眾多目標(biāo)檢測算法,按網(wǎng)絡(luò)結(jié)構(gòu)主要分為兩類:One-Stage 結(jié) 構(gòu) 和Two-Stage 結(jié) 構(gòu)[4]。Two-Stage 結(jié) 構(gòu) 是 將 檢測目標(biāo)定義為一個由粗到細(xì)的過程,首先生成一系列的目標(biāo)候選區(qū)域,然后進(jìn)行目標(biāo)分類和校準(zhǔn),此結(jié)構(gòu)檢測效率低,但準(zhǔn)確率高,代表算法有R-CNN[5]、Fast RCNN[6]、Faster R-CNN[7];One-Stage結(jié)構(gòu)則是在檢測時沒有生成候選區(qū)域的步驟,而是對目標(biāo)的類別和邊界直接進(jìn)行回歸,準(zhǔn)確率相比Two-Stage 結(jié)構(gòu)稍低,但是檢測 速 度 快,代 表 算 法 有SSD[8]、RetinaNet[9]、YOLO[10-14]。YOLO 系列算法是目前最廣泛應(yīng)用的目標(biāo)檢測算法之一,并且經(jīng)過五個版本的迭代,YOLO 算法在保留檢測速度快的優(yōu)勢的同時,補齊了檢測準(zhǔn)確率低的短板。YOLOv5 系列[10]由Ultralytics 公司發(fā)布,在COCO[15]2017測試集上的平均準(zhǔn)確率(mean Average Precision,mAP)達(dá)到72%,在GPU 為Nvidia Tesla V100 的條件下達(dá)到2ms/img的推理速度,是目前的領(lǐng)先水平。

        基于YOLOv5 的性能優(yōu)勢,在其基礎(chǔ)上進(jìn)行改進(jìn),以提高城市道路交通中車輛檢測的準(zhǔn)確率,同時降低誤檢和漏檢率。首先是引入SE[16]通道注意力模塊到Y(jié)OLOv5 網(wǎng)絡(luò)的Backbone 主干網(wǎng)絡(luò)、Neck 網(wǎng)絡(luò)層、Head輸出端,為測試SE 模塊在網(wǎng)絡(luò)中不同位置對結(jié)果造成的影響,在網(wǎng)絡(luò)的三個不同位置引入并進(jìn)行對比實驗。針對One-Stage 結(jié)構(gòu)正負(fù)樣本不平衡問題,將Focal Loss[9]作為目標(biāo)損失函數(shù)和分類損失函數(shù),以優(yōu)化訓(xùn)練過程。為提高模型魯棒性,在公開數(shù)據(jù)集UA-DETRAC[17]的基礎(chǔ)上引入自建數(shù)據(jù)集。在UA-DETRAC數(shù)據(jù)集進(jìn)行模型訓(xùn)練和驗證,并在自建數(shù)據(jù)集上進(jìn)行測試,結(jié)果表明提出的改進(jìn)YOLOv5算法相較原始算法在指標(biāo)精確率Precision、召回率Recall、平均準(zhǔn)確率mAP上均有所提高,并在城市交通擁堵路段降低了誤檢率和漏檢率[18-20]。

        2 YOLOv5概述

        YOLOv5 系列根據(jù)模型參數(shù)(Params)和浮點運算量(FLOPs)的不同分為s、m、l、x四個模型,從s到x模型Params 和FlOPs 不斷增加。針對監(jiān)控現(xiàn)場多為嵌入式設(shè)備,算力不高,因此采用Params和FLOPs最少的YOLOv5s 作為研究的基礎(chǔ)模型。YOLOv5s 采用One-Stage結(jié)構(gòu),由四個模塊組成,分別是Input 輸入端、Backbone主干網(wǎng)絡(luò)、Neck網(wǎng)絡(luò)層、Head輸出端,如圖1所示。

        圖1 YOLOv5網(wǎng)絡(luò)模型結(jié)構(gòu)

        3 基于YOLOv5改進(jìn)的車輛檢測模型

        3.1 引入通道注意力機制

        目標(biāo)檢測模型隨著網(wǎng)絡(luò)層次的加深,提取的信息越來越抽象,對于監(jiān)控圖像中遠(yuǎn)處小目標(biāo)車輛的檢測就更加困難,對于擁堵路段的車輛遮擋問題難以準(zhǔn)確檢測。為此文章通過在網(wǎng)絡(luò)結(jié)構(gòu)中添加注意力機制(Attention Mechanism,AM)的方法改善這一問題。

        SE-Net 是典型的通道注意力網(wǎng)絡(luò),SE 模塊的有效性在一些應(yīng)用中已經(jīng)得到驗證,但是在具體將其嵌入網(wǎng)絡(luò)中的哪些位置更有效果,目前還沒有完整的理論說明[21]。文章針對YOLOv5 設(shè)計了三種融合SE 模塊的網(wǎng)絡(luò)模型形成YOLOv5s。如圖1 所示,YOLOv5 包含四個模塊,Input輸入端主要進(jìn)行圖像的預(yù)處理,沒有任何提取特征的操作,因此無需引入注意力機制。由于SE注意力機制本身是對重要的特征通道進(jìn)行增強,因此將SE 模塊分別嵌入Backbone、Neck、Head 三個網(wǎng)絡(luò)模塊中,由此產(chǎn)生的三個新的網(wǎng)絡(luò)模型分別記為SEA_YOLOv5s、SEB_YOLOv5s和SEC_YOLOv5s。

        3.1.1 SEA_YOLOv5s網(wǎng)絡(luò)模型

        SEA_YOLOv5s 是將SE 模塊嵌入Backbone 形成的網(wǎng)絡(luò),如圖2 所示。Backbone 在YOLOv5 中的主要作用是學(xué)習(xí)數(shù)據(jù)中的高中低不同層次的特征,其中Focus、CBL、BottleneckCSP 和SPP四個模塊主要起到特征聚合作用的是BottleneckCSP??紤]到計算量的問題,將SE模塊嵌入BottleneckCSP結(jié)構(gòu)中。

        圖2 SEA_YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)

        SE 模塊在Bottleneck 具體的嵌入位置如圖3 所示。SE模塊在Concat之后,也就是在特征融合之后,可以對不同通道的特征進(jìn)行重新標(biāo)定。Backbone 中的四個SE_BottleneckCSP均為此方式。

        圖3 SE_BottleneckCSP結(jié)構(gòu)

        3.1.2 SEB_YOLOv5s網(wǎng)絡(luò)模型

        SEB_YOLOv5s是將SE嵌入Neck形成的網(wǎng)絡(luò),如圖4 所示。Neck 網(wǎng)絡(luò)層主要包括加強信息傳播的PANet結(jié)構(gòu),將SE模塊嵌入到特征的融合階段,即Concat結(jié)束之后,BottleneckCSP2_1開始之前。

        圖4 SEB_YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)

        3.1.3 SEC_YOLOv5s網(wǎng)絡(luò)模型

        SEC_YOLOv5s是將SE嵌入Head形成的網(wǎng)絡(luò),如圖5 所示。Head 輸出端用于最終的目標(biāo)檢測,將SE 模塊嵌入到模型的每一個YOLO檢測頭之前。

        圖5 SEC_YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)

        3.2 引入Focal Loss損失

        3.2.1 原始損失函數(shù)

        原始YOLOv5 的損失函數(shù)包括目標(biāo)損失函數(shù)和分類損失函數(shù)、邊界框回歸損失函數(shù)。

        ①目標(biāo)損失函數(shù)和分類損失函數(shù)。YOLOv5 使用BCE With Logits作為目標(biāo)損失函數(shù)和分類損失函數(shù),二分類交叉熵?fù)p失函數(shù)的計算公式見公式(1)。式中,y為真實樣本標(biāo)簽;p為經(jīng)過Sigmoid函數(shù)的預(yù)測輸出,見公式(2),取值在[0,1]之間。

        3.2.2 改進(jìn)損失函數(shù)

        在原始損失函數(shù)的基礎(chǔ)上對損失函數(shù)進(jìn)行改進(jìn),提出利用權(quán)重控制不平衡樣本的損失計算方案——焦點損失函數(shù)Focal Loss。主要包含三個步驟。

        ①正負(fù)樣本的權(quán)重控制。

        ③兩種權(quán)重控制方法合并。

        通過將兩種方法得到的公式合并得到

        4 基于YOLOv5改進(jìn)的車輛檢測模型

        4.1 數(shù)據(jù)集

        UA-DETRAC[17]數(shù)據(jù)集在北京和天津兩個城市不同地方進(jìn)行拍攝,拍攝照片如圖6 所示,拍攝角度和交通監(jiān)視視頻的角度一致。選用UA-DETRAC 數(shù)據(jù)集作為本文的車輛檢測數(shù)據(jù)集,文獻(xiàn)[22,23]同樣選用此數(shù)據(jù)集。UA-DETRAC數(shù)據(jù)集包含訓(xùn)練和測試集,由于訓(xùn)練集中的圖像數(shù)量已經(jīng)滿足需求并且已經(jīng)進(jìn)行標(biāo)注,因此本文僅采用訓(xùn)練集數(shù)據(jù)。去除數(shù)據(jù)集中夜間圖像,其余剩余共50051 張,其中40000 張作為網(wǎng)絡(luò)的訓(xùn)練集,剩余10051張作為驗證集。

        圖6 UA-DETRAC數(shù)據(jù)集拍攝車輛效果圖

        為驗證模型的性能,在西安市南二環(huán)文藝路天橋上再次進(jìn)行數(shù)據(jù)采集,共得到5000張圖像,作為實驗的測試集。圖像按照UA-DETRAC的標(biāo)準(zhǔn),使用標(biāo)注工具LabelImg[24]進(jìn)行人工標(biāo)注,如圖7所示。

        圖7 LabelImg標(biāo)注

        4.2 結(jié)果與分析

        實驗所用GPU為Nvidia GeForce GTX 1660,網(wǎng)絡(luò)框架為Pytorch1.8.0。使用SGDM 優(yōu)化器,初始學(xué)習(xí)率為0.001,動量設(shè)為0.9,衰減系數(shù)設(shè)為0.0005,batchsize 設(shè)為8,共訓(xùn)練100epochs。

        4.2.1 改進(jìn)注意力機制實驗

        在不改變損失函數(shù)的條件下,將原始YOLOv5s、SEA_YOLOv5s、SEB_YOLOv5s、SEC_YOLOv5s 在UADETRAC 數(shù)據(jù)集進(jìn)行訓(xùn)練,并在自建數(shù)據(jù)集上進(jìn)行測試,檢測指標(biāo)為精確率P、召回率R 以及平均準(zhǔn)確率mAP。檢測結(jié)果見表1。

        表1 四個模型在測試集的檢測結(jié)果

        相比在Neck 和Head 引入SE 模塊,在Backbone 中的特征融合層后引入SE 可以大幅度提升YOLOv5s 對車輛目標(biāo)的檢測性能。通過對網(wǎng)絡(luò)算法的流程分析,認(rèn)為之所以會存在很大的性能差異,是因為在Backbone中目標(biāo)的特征圖語義信息種類較多但是語義信息量不足,仍然保留著目標(biāo)在特征圖中的較淺層的數(shù)據(jù)紋理信息,而這些信息對于本文研究背景下的兩種特殊情況的檢測至關(guān)重要。比如車輛目標(biāo)出現(xiàn)過多或者車輛出現(xiàn)在監(jiān)控攝像頭較遠(yuǎn)處時,在Backbone 中嵌入SE 模塊能更好對特征圖中目標(biāo)的通道特征進(jìn)行增強,較低層分辨率高,可以學(xué)習(xí)到較多的細(xì)節(jié)信息。

        而在網(wǎng)絡(luò)更深層的Neck和Head,隨著卷積操作會縮小特征圖的尺寸,小目標(biāo)的語義信息到高層已經(jīng)不存在了,高層次特征圖顯示出來了更豐富的語義功能、更大的感受野范圍和尺度更小的特征圖,SE 難以再從這種特征信息高度融合的特征圖中有效地區(qū)分出重要的通道特征,導(dǎo)致檢測精度下降。

        綜上所述,選擇在Backbone 主干網(wǎng)絡(luò)中引入SE 模塊的SEA_YOLOv5s 是最優(yōu)選擇,網(wǎng)絡(luò)定記為SE_YOLOv5s。

        4.2.2 改進(jìn)損失函數(shù)實驗

        使用Focal Loss 改進(jìn)SE_YOLOv5s輸出端的損失函數(shù),得到的網(wǎng)絡(luò)模型記為SES_YOLOv5s。由公式(8),F(xiàn)ocal Loss 主要是通過兩個參數(shù)α 和γ協(xié)調(diào)來控制不平衡樣本的權(quán)重,為了確定一組適合本次車輛檢測任務(wù)的最優(yōu)和,選擇10 組不同的和組合進(jìn)行實驗,結(jié)果見表2。

        表2 Focal Loss中的參數(shù)設(shè)置

        圖8和圖9是SES_YOLOv5s和SE_YOLOv5s兩個網(wǎng)絡(luò)模型在訓(xùn)練和測試階段的總損失的變化曲線??梢园l(fā)現(xiàn),SES_YOLOv5s 的Total Loss 總損失總體趨勢都是低于SE_YOLOv5s。SES_YOLOv5s 網(wǎng)絡(luò)直到訓(xùn)練100 Epochs 結(jié)束,訓(xùn)練和測試階段均呈現(xiàn)出持續(xù)下降的趨勢,且還存在下降空間,說明網(wǎng)絡(luò)仍在學(xué)習(xí),檢測精度仍有上升的可能性,而實線曲線逐漸趨于穩(wěn)定,說明網(wǎng)絡(luò)過擬合已經(jīng)沒有學(xué)習(xí)必要。

        圖8 訓(xùn)練階段總損失變化曲線

        圖9 測試階段總損失變化曲線

        將以上兩種網(wǎng)絡(luò)與原始YOLOv5s進(jìn)行檢測性能指標(biāo)對比,結(jié)果見表3。由表3 可知,SES_YOLOv5s 網(wǎng)絡(luò)模型獲得比SE_YOLOv5s 高1%的精確率、高0.3%的召回率以及高0.007%的mAP,與YOLOv5s 相比獲得高0.5%的精確率、高2.5%的召回率以及高0.02%的mAP,三個指標(biāo)均有提高。

        表3 三種網(wǎng)絡(luò)模型的目標(biāo)檢測性能指標(biāo)

        對于本文使用的單級結(jié)構(gòu)YOLOv5s 目標(biāo)檢測算法,訓(xùn)練過程中自動生成大量預(yù)選框,以致于訓(xùn)練過程會被負(fù)樣本所主導(dǎo),導(dǎo)致精度下降?;贖ead 輸出端的改進(jìn)從損失函數(shù)入手,將Focal Loss 分別用于目標(biāo)和分類損失函數(shù),此函數(shù)通過對二分類交叉熵?fù)p失函數(shù)進(jìn)行重新構(gòu)造,使算法在訓(xùn)練過程中對困難樣本進(jìn)行挖掘,更加關(guān)注難分類的樣本,降低簡單樣本在訓(xùn)練中所占權(quán)重,有效解決正負(fù)樣本比例嚴(yán)重失衡的問題。從實驗結(jié)果看,在保證速度的同時達(dá)到了檢測精度最優(yōu),并且Focal Loss 緩解樣本的不平衡問題的途徑是通過改變損失的方式,此種方式只影響訓(xùn)練部分的過程和時間,對檢測時間影響甚小,容易拓展。

        5 結(jié)語

        本文通過將注意力機制SE 模塊分別引入YOLOv5網(wǎng)絡(luò)的Backbone、Neck、Head,實現(xiàn)了改進(jìn)的YOLOv5網(wǎng)絡(luò)對城市道路交通監(jiān)控視頻進(jìn)行實時車輛檢測。在YOLOv5s 網(wǎng)絡(luò)的三個位置Backbone、Neck、Head 分別引入注意力機制SE 模塊,并進(jìn)行對比實驗分析,其中改進(jìn)的SEA_YOLOv5s 綜合性能最好。在引入SE 的基礎(chǔ)上,將原始的損失函數(shù)改為Focal Loss 焦點損失,改善正負(fù)樣本不均衡的問題,經(jīng)過實驗對比選取兩個參數(shù)α 和γ 的值。改進(jìn)的網(wǎng)絡(luò)模型SES_YOLOv5s 相較于原始YOLOv5s 有一定提升,其中精確率提升1%、召回率提升0.3、mAP 提升0.007,并且在對復(fù)雜的交通路段,對車輛遮擋和遠(yuǎn)處車輛目標(biāo)較小誤檢和漏檢的問題得到解決,證明了本文改進(jìn)方法的有效性。

        猜你喜歡
        損失車輛函數(shù)
        少問一句,損失千金
        二次函數(shù)
        第3講 “函數(shù)”復(fù)習(xí)精講
        胖胖損失了多少元
        二次函數(shù)
        函數(shù)備考精講
        玉米抽穗前倒伏怎么辦?怎么減少損失?
        車輛
        小太陽畫報(2018年3期)2018-05-14 17:19:26
        冬天路滑 遠(yuǎn)離車輛
        車輛出沒,請注意
        97人妻蜜臀中文字幕| 日本大片在线看黄a∨免费| 色丁香久久| 精品伊人久久香线蕉| 国产99页| 色老板在线免费观看视频日麻批| 所有视频在线观看免费| 狠狠色狠狠色综合| 国产在线观看免费观看| 国产精品美女黄色av| 一区二区三区国产偷拍| 国产成人亚洲一区二区| 日韩亚洲欧美久久久www综合| 日产国产精品亚洲系列| 国产视频最新| 亚洲一区二区三区色偷偷| 中文字幕在线亚洲精品| 亚洲aⅴ在线无码播放毛片一线天| 99久久国语露脸精品国产| 亚洲综合色区无码专区| 色偷偷av一区二区三区人妖| 久久精品人妻一区二三区| 国产a∨天天免费观看美女| 国产精品福利自产拍久久 | aⅴ精品无码无卡在线观看| 亚洲在AV极品无码天堂手机版| 偷拍女厕尿尿在线免费看 | 国产高颜值女主播在线| 人人妻人人妻人人片av| 日韩亚洲中文图片小说| 亚洲熟女熟妇另类中文| 老熟女富婆激情刺激对白| 国产l精品国产亚洲区久久| 国产a级网站| 亚洲免费视频一区二区三区| 亚洲国产中文字幕在线视频综合| 国产亚洲精品久久久闺蜜| 84pao强力打造免费视频34| 国产91九色视频在线播放| 无套内谢孕妇毛片免费看| 亚洲av无码精品色午夜果冻不卡|