国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于YOLOv5s的車輛實時檢測與跟蹤研究

2023-05-19 02:35:28阜遠遠王建平張?zhí)?/span>周晉偉方祥建王嘉鑫王天陽
安徽工程大學學報 2023年1期
關(guān)鍵詞:損失物體車輛

阜遠遠,王建平*,張?zhí)?,周晉偉,方祥建,王嘉鑫,王天陽

(1.安徽工程大學 機械工程學院,安徽 蕪湖 241000;2.中車浦鎮(zhèn)阿爾斯通運輸系統(tǒng)有限公司 工程部,安徽 蕪湖 241000)

在深度學習之前,物體檢測主要依賴于具有特征提取和分類器兩個階段的傳統(tǒng)方法,其操作實質(zhì)是用滑動窗遍歷整張圖片,提取窗內(nèi)的圖像特征,然后再進行分類器檢測[1-3]。但是傳統(tǒng)方法的特征與分類器之間的聯(lián)系比較弱,深度學習的發(fā)展改變了這種狀況,使得二者的聯(lián)系更加緊密,卷積神經(jīng)網(wǎng)絡(luò)本身就具有特征提取的能力,同時也具備分類能力。因此深度學習很好地將特征與分類器整合到一起使其發(fā)揮出更大的價值。

隨著人工智能的快速崛起,機器視覺、機器學習不斷推進,物體檢測的需求越來越強烈。計算機技術(shù)的發(fā)展使得物體檢測、目標跟蹤等人工智能技術(shù)不斷迭代更新[4-6],也越來越貼近人們的實際生活?;谏疃葘W習的物體檢測算法可以分為兩類,一類是Two-stage,代表算法有Fast Rcnn、Faster Rcnn、Mask Rcnn等,這種方式將檢測問題劃分為兩個階段,首先產(chǎn)生候選區(qū),然后對候選區(qū)進行分類,這類算法誤識別率和漏識別率低,但是識別速度較慢,很難滿足實時檢測的場景;另一類檢測算法被稱為One-stage檢測算法,代表算法有SSD、YOLO 算法等,這類算法直接產(chǎn)生物體的類別概率和位置坐標值,經(jīng)過一次檢測就可以得到最終的檢測結(jié)果。與其他的算法相比,YOL Ov5最快每秒可檢測140幀,速度更快,更適合于視頻流的物體實時檢測。

文中基于YOLOv5s開展道路前方車輛實時檢測與跟蹤研究,通過對YOLOv5s檢測層的改進[7-8],把車輛行駛視頻輸入檢測網(wǎng)絡(luò),車輛檢測的準確率有明顯的提升。此外,通過增加目標跟蹤模塊,進一步擴展了該算法在車輛環(huán)境感知方面的應(yīng)用。

1 YOLOv5算法

1.1 YOLOv5算法特點

機器視覺主要解決圖像分類、目標檢測、圖像分割三類問題。對于目標檢測來說,已經(jīng)涌現(xiàn)了很多不同的算法,并且算法逐漸完善。YOL O 算法與Faster RCNN、Res Net等算法相比,將候選區(qū)和對象識別這兩個階段融合為一個階段,將圖片劃分成網(wǎng)格(Grid),每一個網(wǎng)格可以檢測網(wǎng)格中的目標,并且將全部格子含有的目標邊界框、定位的置信度以及全部類別的概率向量一次性預(yù)測出來,這樣就粗略地覆蓋了圖片的整個區(qū)域。YOLOv5是YOLO 系列物體識別中最先進的對象檢測技術(shù),并且推理速度更快,YOLOv5按模型大小分為4個模型YOLOv5s、YOLOv5 m、YOLOv5l、YOLOv5x。YOLOv5s在YOLOv5的系列中不但深度最小而且特征圖的寬度也最小,因此其識別檢測的速度相對較快。后面的3種通過不斷加深、不斷加寬特征層來提高圖像識別的準確率。在YOLOv5中有多種因素能影響圖像識別準確率,損失函數(shù)對最終結(jié)果的影響不可忽略。

1.2 YOLOv5s的損失函數(shù)

損失函數(shù)的作用為度量神經(jīng)網(wǎng)絡(luò)預(yù)測信息與期望信息(標簽)的距離,預(yù)測信息越接近期望信息,損失函數(shù)值越小。YOLOv5s包含了3種損失函數(shù)[9-10]:(1)分類損失(Classification Loss)。在YOLOv5s中考慮到一個目標可能同時屬于多個類別,如“行人”“兒童”兩個結(jié)果,此時概率之和可能大于1,故采用二元交叉熵損失作為其分類失:

式中,N表示類別總個數(shù);xi為當前類別預(yù)測值;yi為經(jīng)過激活函數(shù)后得到的當前類別的概率;y*i為當前類別的真實值(0或1);Lclass為分類損失。

(2)定位損失(Localization Loss)。目標檢測想要框出檢測到的目標,就需要通過對邊界框所在的位置數(shù)據(jù)進行預(yù)測,YOLOv5s采用GIo U 作為定位損失:橙色2部分(包括藍色1和綠色3)即為最小方框C。C的面積減去預(yù)測框與真實框的面積,再比上C的面積,即可反映出真實框與預(yù)測框距離。

GIo U 損失計算公式如下:

圖1 損失函數(shù)示意圖

在GIo U 中,真實框與預(yù)測框距離越遠時,C的值也越大,C減去預(yù)測框與真實框面積的值也越大,最后趨近于1。那么真實框與預(yù)測框當越遠時,損失也越接近2。

文中把原模型的GIo U 改為CIo U 作為Y OL Ov5s的損失函數(shù),即在Io U 損失后面添加預(yù)測框和目標框的懲罰項與一個影響因子,這個影響因子把預(yù)測框長寬比擬合目標框的長寬比考慮進去。

CIo U 具體的損失函數(shù)定義為:

式中,v是預(yù)測框和真實框長寬比例差值的歸一化:

α是權(quán)重系數(shù):

CIo U 在考慮中心點距離和重疊面積的基礎(chǔ)上進一步考慮了長寬比,使得預(yù)測框更加符合真實框。

為了體現(xiàn)CIo U 對本文研究的影響,采用EIo U 作為損失函數(shù)與CIo U 作對比。EIo U 的損失函數(shù)為:

EIo U 在CIo U 的基礎(chǔ)上將縱橫比的損失項拆分成預(yù)測的寬高分別與最小外接框?qū)捀叩牟钪?優(yōu)化了邊界框回歸任務(wù)中的樣本不平衡問題,減少了與目標框重疊較少的大量錨框?qū)吔缈蚧貧w的優(yōu)化貢獻,使回歸過程專注于高質(zhì)量錨框。

(3)置信度損失(Confidence Loss)。每個預(yù)測框的置信度表示這個框的可信度,置信度越大,表示預(yù)測框越靠譜,反之,則預(yù)測框越不接近真實框。用Sig moid函數(shù)代替Soft max來計算概率分布,損失函數(shù)采用BCEl oss。

1.3 注意力機制

YOLOv5s注意力機制是模仿人在觀察事物時,會將注意力集中在感興趣的區(qū)域,目前應(yīng)用的比較多的是CBA M、SE、CA、ECA,本文把位置注意力(Coordinate Attention,CA)引入到Y(jié)OLOv5s網(wǎng)絡(luò)中。位置注意力將通道注意力分解為兩個一維特征編碼過程,分別沿2個空間方向聚合特征。這樣可以沿一個空間方向保留精確的位置信息。將生成的特征圖分別編碼為一對方向感知和位置敏感的注意力特征圖,將其互補地應(yīng)用于輸入特征圖,以增強關(guān)注對象的表示。

表1 引入注意力機制的部分網(wǎng)絡(luò)結(jié)構(gòu)層

2 數(shù)據(jù)集建立及模型訓練

2.1 數(shù)據(jù)集建立

本次實驗主要是檢測路面上的車輛,YOLOv5s原模型用的是Coco數(shù)據(jù)集,其中車輛目標并不多,訓練出來的權(quán)重參數(shù)在車輛檢測的準確性方面不高,針對這種問題,研究建立新的數(shù)據(jù)集。對生活中常見的車輛拍照獲取原始數(shù)據(jù)集2 025張,如今生活中常見的車輛大小和樣式越來越多,大致可以分為出行代步的小型車(Tinycar)、短途載人車輛(Midcar)、中長途載人車輛(Bigcar)、小型運輸車輛(Smalltr uck)、大型運輸車輛(Bigtr uck)、油罐車(Oiltr uck)和一些社會中的特殊車輛(Specialcar),將車輛分為這7類可以在實際車輛檢測跟蹤過程中對不同車型在不同的距離設(shè)置不同的提示語,如果前方是社會中的特殊車輛(如警車、救護車),駕駛系統(tǒng)持續(xù)向駕駛員預(yù)警保持車距,注意避讓,給駕駛員更加舒適更加文明的駕駛體驗。

采用makesense在線標注工具對原始數(shù)據(jù)集中的圖片進行框選標注,接著導出yol o格式的文件。在YOLOv5s項目中新建數(shù)據(jù)集Mydata,劃分訓練集、驗證集以及測試集,在YOLOv5s框架內(nèi)復(fù)制Coco.yaml文件并且修改其中的類別個數(shù)以及具體的類別,保存為Mydata.ya ml,數(shù)據(jù)集建立完成后開始對模型進行訓練。

2.2 模型訓練

本次的模型訓練機器選用的CPU 為Intel(R)Core(T M)i5-7300 HQ CPU@2.50 GHz,4 GB顯存,512 GB固態(tài)硬盤。使用Windows版本的Pytorch框架,將基于Pytorch深度學習框架的YOLOv5s模型嵌入到文中的項目中,由于設(shè)備配置無法用GPU 完成訓練,故采用CPU 對模型進行訓練。

在模型訓練前要進行超參數(shù)優(yōu)化,良好的初始參數(shù)值能得到更好的最終結(jié)果,YOLOv5利用遺傳算法進行超參數(shù)的優(yōu)化,文中的超參數(shù)設(shè)置如表2所示。

表2 超參數(shù)設(shè)置

對原模型YOLOv5s訓練300 輪,損失函數(shù)為EIo U 和損失函數(shù)為CIo U 且引入注意力機制的YOLOv5s訓練300輪分別得到圖3和圖4的PR 曲線,P表示精度(Precision),R 表示召回率(Recall),PR 曲線與坐標軸圍成的面積越大,表示該模型對該數(shù)據(jù)集效果越好。圖4與圖3相比,PR 曲線結(jié)果更好,說明YOLOv5損失函數(shù)CIo U 與EIo U 均優(yōu)于GIo U。由圖4可見,當損失函數(shù)為CIo U 時,訓練的結(jié)果稍微優(yōu)于EIo U。

圖2 數(shù)據(jù)集車輛類別

圖3 GIo U 作為損失函數(shù)的PR 曲線

圖4 CIo U 與EIo U 作為損失函數(shù)的PR 曲線

由圖4及表3、4可以看出,YOLOv5s使用CIo U 作為邊界框損失函數(shù),訓練300輪后損失已經(jīng)降低到0.01以下,精度可以達到0.98,召回率可以達到0.98。當Io U 閾值為0.5 時mAP值為0.99,當Io U 閾值為0.95 時mAP也能達到0.87。訓練結(jié)果與原模型相比得到了較大提升,可以將其用于車輛的檢測與跟蹤。

表3 CIo U 作為損失函數(shù)的訓練結(jié)果對比

表4 EIo U 作為損失函數(shù)的訓練結(jié)果對比

2.3 目標跟蹤

文中基于訓練完成的YOLOv5s 檢測模型,開展了目標跟蹤研究。在視頻檢測的過程中,增加幀數(shù)計數(shù)功能,將前一幀圖片上的物體打上標注,得到物體的中心點坐標,然后比較當前幀圖像與上一幀圖像中物體的坐標。當前后兩幀的同一目標的中心點移動距離小于規(guī)定值,認為是同一物體,對其進行追蹤[11]。遍歷當前幀與前一幀物體的中心點坐標,計算距離。如果距離小于20像素,認為是同一目標,記錄當前目標的索引以及當前幀中物體的中心目標。在后續(xù)的比較當中,比較當前幀物體的中心點與被追蹤目標物體的中心點之間的距離。如果當前幀中,上一幀跟蹤的對象不存在了,則刪除該對象的標記,如果當前幀中出現(xiàn)新的目標,則給新出現(xiàn)的目標打上標記,然后遍歷每一幀需要跟蹤的目標,在跟蹤目標的中心點畫圈,并且顯示出該目標的id。本文的目標跟蹤流程如圖5所示。

圖5 目標跟蹤流程圖

將車載攝像頭安裝在車輛前部,將車輛檢測視頻輸入網(wǎng)絡(luò),在經(jīng)過非極大值抑制之后,得到車輛預(yù)測框,在輸出圖像對預(yù)測框中心畫圈計數(shù),存儲當前幀預(yù)測框像素中心點和預(yù)測框大小,若下一幀圖片中同一目標的車輛預(yù)測框變大且超過某一閾值,在輸出端輸出“靠近前車,注意安全!”的警示語,提醒駕駛員及時調(diào)整車輛行駛速度,保證行車安全。

2.4 實驗結(jié)果比較

(1)速度比較。YOLOv5s改進前后檢測速度對比如表5所示。由表5可知,在實際檢測時,同一設(shè)備上改進檢測模型前與改進模型后的檢測速度沒有區(qū)別,改進之前213層,改進(損失函數(shù),引入注意力機制)之后270層,每秒10億次的浮點運算數(shù)數(shù)均為15.9 GFLOPs。所以本文對YOLOv5s模型的改進對車輛檢測速度沒有影響,即保證了車輛的檢測速度。

表5 YOLOv5s改進前后檢測速度對比

(2)精度比較。對于視頻流的物體檢測識別是將視頻中的圖片逐幀檢測,由于YOLOv5s檢測算法速度較快,在輸出端仍然能以視頻的方式輸出。把訓練好的最優(yōu)模型權(quán)重參數(shù)應(yīng)用于detect部分,把一段車輛行駛視頻輸入到Y(jié)OLOv5 檢測端,視頻中某一幀如圖6 所示。由圖6 可見,改進損失函數(shù)后的YOLOv5檢測精度有所提高。前方車輛1、2、3均已不在實驗車輛的視野中,已經(jīng)刪除了它們的標記,保留仍然存在車輛的標記id。在當前幀圖片發(fā)現(xiàn)距離前方車輛較近,此時系統(tǒng)向駕駛員發(fā)出預(yù)警。

圖6 實驗檢測結(jié)果對比圖

3 結(jié)論

文中基于YOLOv5s檢測算法開展了目標車輛檢測和實時跟蹤的研究,研究結(jié)果表明:

(1)改進損失函數(shù),對模型訓練得到最優(yōu)權(quán)重參數(shù),對比損失函數(shù)EIo U 與CIo U 對檢測模型的影響,發(fā)現(xiàn)本文應(yīng)用CIo U 作為YOLOv5s在檢測車輛模型的損失函數(shù)更好,在實際檢測車輛時,所得到的檢測結(jié)果比在原有模型下得到的結(jié)果更好,在保證檢測速度的前提下,檢測的準確率有所提高。

(2)目標跟蹤模塊可以對前方車輛目標打上數(shù)字標簽,記錄車輛在像素中的實時坐標,一旦兩幀之間車輛的像素坐標發(fā)生較大變化,駕駛員可以通過對預(yù)測框的變化判斷前方車輛的行駛情況,及時調(diào)整車輛的跟蹤行為。

猜你喜歡
損失物體車輛
少問一句,損失千金
胖胖損失了多少元
深刻理解物體的平衡
玉米抽穗前倒伏怎么辦?怎么減少損失?
我們是怎樣看到物體的
車輛
小太陽畫報(2018年3期)2018-05-14 17:19:26
冬天路滑 遠離車輛
車輛出沒,請注意
一般自由碰撞的最大動能損失
提高車輛響應(yīng)的轉(zhuǎn)向輔助控制系統(tǒng)
汽車文摘(2015年11期)2015-12-02 03:02:53
河南省| 鄯善县| 永安市| 迭部县| 涿州市| 泰顺县| 巴彦淖尔市| 长武县| 庐江县| 大邑县| 左云县| 石城县| 喜德县| 高雄县| 麦盖提县| 原平市| 天台县| 信宜市| 洪湖市| 洪江市| 梁山县| 福建省| 寻乌县| 武平县| 辽阳县| 定西市| 吉木萨尔县| 米脂县| 新余市| 西安市| 朝阳县| 尼木县| 沁阳市| 剑阁县| 伊宁市| 乌拉特前旗| 兴仁县| 酒泉市| 沐川县| 织金县| 凭祥市|