• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      多尺度YOLOv5的交通燈檢測算法

      2022-09-22 05:59:40王國中李國平
      軟件導刊 2022年9期
      關鍵詞:交通燈類別尺度

      錢 伍,王國中,李國平

      (上海工程技術大學電子電氣工程學院,上海 201620)

      0 引言

      近年來,計算機視覺和深度學習的快速發(fā)展使很多領域都取得了重大突破,其中自動駕駛領域也發(fā)展十分迅猛?;谝曈X的交通燈檢測、行人檢測和車輛檢測作為自動駕駛的核心技術受到眾多學者關注。對交通燈的準確定位與類別識別能夠獲取路口信息,為自動駕駛汽車的決策提供重要的數(shù)據(jù)支持,減少了汽車行駛的安全隱患。因此,一個具有可靠性與實時性的交通燈檢測算法能夠保障自動駕駛汽車的行駛安全,避免交通事故發(fā)生。

      傳統(tǒng)交通燈檢測算法通常從顏色特征出發(fā),并結合機器學習、圖像處理等方法,其中Hough[1]、SVM(Support Vector Machine)[2]和Tophat[3]等方法被廣泛使用。如田謹?shù)龋?]提出一種箭頭形交通信號燈識別方法,將多種機器學習方法相結合,在模板匹配下實現(xiàn)對箭頭形交通信號燈的識別。

      隨著深度學習的發(fā)展,基于卷積神經(jīng)網(wǎng)絡的目標檢測算法被提出。葉飛等[5]通過改進YOLOv3[6]實現(xiàn)了對行人的檢測,且精度提高了5%;嚴廣宇等[7]將Faster R-CNN[8]與Deeplab v3+網(wǎng)絡相結合,實現(xiàn)了對共享單車類別與違停的檢測,其中類別檢測mAP(mean Average Precision)達到72.36%,違停檢測的平均準確率為89.11%;Zhu 等[9]從10萬張街景圖中構建交通標志數(shù)據(jù)集TT100K,使用6 層卷積神經(jīng)網(wǎng)絡實現(xiàn)了交通標志檢測;Kim 等[10]將交通燈的顏色部分與R-CNN[11]和R-FCN[12]相結合,把交通燈檢測應用于汽車輔助駕駛系統(tǒng)中;Liu 等[13]建立了自己的數(shù)據(jù)集,提出基于改進YOLOv3 的檢測交通燈,改進后模型的檢測速度達到59FPS,mAP 達到91.12%?;谏疃葘W習的目標檢測算法能夠自動提取特征,且對顏色信息不敏感。但這些方法在特征提取過程中不可避免地會對圖像進行下采樣,且對小目標的檢測能力差。

      以交通燈尺度小、環(huán)境復雜為研究重點,本文采集現(xiàn)實場景中的交通燈圖像建立數(shù)據(jù)集?;赮OLOv5[14]模型,提出多尺度訓練與多尺度融合輸出的方法,增加了模型對小目標的檢測能力。多尺度YOLOv5檢測速度最快可達到9.5ms,mAP 最高可達到99.8%。在Bosch 數(shù)據(jù)集[15]上,改進方法直接提高了6.5%的檢測性能,最后以消融實驗驗證改進方法的有效性。

      1 數(shù)據(jù)獲取與相關算法

      1.1 數(shù)據(jù)集制作

      在自動駕駛和輔助駕駛任務中,BDD100K[16]、KITTI[17]和Cityscapes[18]數(shù)據(jù)集是首選的公共數(shù)據(jù)集。由于其均采集自于國外,與國內交通環(huán)境具有很大差異,且沒有對交通燈進行類別標注,因此以這些數(shù)據(jù)集為研究背景的模型很難適用于國內的交通環(huán)境。清華大學發(fā)布的TT100K[9]以交通標志為主,而沒有對交通燈進行標注,不能作為交通燈檢測的數(shù)據(jù)集。長沙理工大學發(fā)布的CCTSDB[19]將常見的交通標志標注為3種,也沒有對交通燈進行標注。

      針對國內交通環(huán)境,本文采集了10 萬張現(xiàn)實中的交通燈影像,從中篩選出16 333 張圖像,并使用Labelme 工具進行標注,制作成交通燈檢測數(shù)據(jù)集,以8:2 的比例劃分為訓練集和測試集,部分樣本數(shù)據(jù)如圖1 所示。數(shù)據(jù)集包含時間、類別和尺度屬性。在時間分布上,白天、夜晚、黎明/黃昏的圖像個數(shù)分別是9 548、5 620 和1 165;在標簽類別分布上,紅燈有24 937 個標簽,黃燈有787 個,綠燈有12 433 個,None 有12 450 個;在標簽尺度分布上,小中大3種尺度的比例為29 875:19 602:1 130。

      1.2 YOLOv5

      Fig.1 Sample images of traffic light data set圖1 交通燈數(shù)據(jù)集樣本

      YOLOv5 延續(xù)了網(wǎng)格預測方法,將圖像劃分為S×S的網(wǎng)格,每個網(wǎng)格負責預測B個邊界框和C個條件類別概率,在輸出結果中還要計算預測框的置信度值。在正負樣本選擇上,YOLOv5 拋棄了基于最大IOU(Intersection Over Union)的匹配規(guī)則,而是直接通過寬高比選取正負樣本,相比于YOLOv3/v4[20],正樣本至少增加了3倍。

      如圖2(a)所示,YOLOv5 將圖像固定為640*640 尺度輸入網(wǎng)絡,經(jīng)過Focus 層將圖像的寬高信息轉化為通道信息,既減少了計算量,又增加了感受野。經(jīng)過多個正則卷積層和BottleneckCSP 層提取特征,將8 倍、16 倍和32 倍下采樣后的特征圖送入PANet[21]網(wǎng)絡進行特征融合。最后,檢測頭對融合后的高級語義信息進行分類與回歸,給出置信度值。圖2 中的Conv 用于下采樣和改變通道數(shù)目,BottleneckCSP 是參考CSPNet[22]設計的特征提取層。

      YOLOv5擁有4種規(guī)模,分別記為YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x。隨著模型的深度和寬度逐漸增加,特征提取與檢測能力也隨之提高。因為YOLOv5具有推理速度快、自適應錨框和高召回率等特點,十分適合交通燈檢測任務,所以本文以YOLOv5 的4 種模型為基礎,針對YOLOv5 的不足進行改進。針對YOLOv5 模型泛化能力差,容易出現(xiàn)過擬合,且采集的數(shù)據(jù)集規(guī)模不大的問題,本文提出復合數(shù)據(jù)增強策略;針對YOLOv5 的輸入是固定尺度,提取到的特征信息有限的問題,本文提出多尺度代替固定尺度的訓練方式;針對YOLOv5 將3 種尺度語義信息送入檢測頭,對小目標的檢測能力不足的問題,本文提出多尺度特征融合的改進方式,并引入遠跳連接傳輸語義信息。

      2 多尺度YOLOv5

      2.1 復合數(shù)據(jù)增強

      YOLOv5 使用mosaic[20]方法對圖像進行增強處理??紤]到本文制作數(shù)據(jù)集的規(guī)模不大,且環(huán)境復雜多樣,因此在mosaic 基礎上提出復合數(shù)據(jù)增強方式對模型的輸入進行增強,以提高模型輸入的復雜性、增加訓練難度,從而提升模型的泛化能力。使用mosaic、透視變換與顏色變換相結合的方式對輸入進行增強,復合數(shù)據(jù)增強流程如圖3 所示。具體步驟如下:①讀取當前需要增強的圖像f,長寬分別是l和d;②從數(shù)據(jù)集中隨機讀取3 張不同于f的圖像f1、f2和f3;③以2l為邊生成矩形畫布,將4 副圖像拼接得到mosaic 結果g1;④使用透視變換對g1隨機進行旋轉、平移和縮放,得到g2;⑤從g2中隨機截取與模型輸入尺度相同的圖像,對其進行顏色變換,隨機調整圖片的色調、飽和度和明度得到g3;⑥以0.5 和0.3 的概率對g3進行水平翻轉與垂直翻轉,得到g4;⑦將g4作為復合數(shù)據(jù)增強結果輸入模型。

      Fig.2 Network structure of YOLOv5 and MS-YOLOv5圖2 YOLOv5與MS-YOLOv5網(wǎng)絡結構

      Fig.3 Composite data augmentation process圖3 復合數(shù)據(jù)增強流程

      經(jīng)過復合數(shù)據(jù)增強后,模型的輸入由一幅固定圖像變成多幅圖像的隨機組合。與mosaic 相比,增強后的圖像更為復雜,模型能夠學習到更多復雜特征,提升了模型對不同場景的適應能力。消融實驗結果證明,復合數(shù)據(jù)增強方法的mAP 提高了5.2%,相比mosaic 增加了0.8%。

      2.2 多尺度訓練

      在卷積神經(jīng)網(wǎng)絡中,通常通過增加模型輸入尺寸以提高模型對小目標的檢測能力。但是該方法會帶來新問題:①模型計算量隨輸入的增加而成倍增加,使訓練和推理速度變慢;②模型感受野隨之變小,對大尺度目標的檢測能力下降。

      針對YOLOv5 的固定尺度訓練,本文提出多尺度訓練方法,將目標可能出現(xiàn)的不同尺度送入網(wǎng)絡進行訓練學習。在多尺度訓練過程中,模型不會側重于學習小尺度或大尺度,而是較均衡地學習不同尺度的信息,對不同尺度的目標都具有檢測能力。

      在訓練階段,將數(shù)據(jù)分批次送入模型。在當前的batch 下,按照公式(1)選擇圖像尺度作為訓練尺度,圖像被縮放到訓練尺度后進行前向推理和反向學習。在測試階段,以固定尺度作為模型輸入尺度,對模型進行測試。消融實驗結果表明,多尺度訓練可顯著提高模型的特征提取能力,在沒有數(shù)據(jù)增強的情況下,mAP 可提高5.8%。

      其中,input是模型固定尺度,λ是隨機數(shù),out是模型輸入尺度。

      2.3 多尺度特征融合與輸出

      YOLOv5 借鑒PANet 的思想對主干網(wǎng)絡提取到的基礎特征進行融合(見圖4(a)),生成高層特征信息送入檢測器計算損失。由于交通燈尺度集中于小尺度,較多信息分布在基礎特征中,所以YOLOv5 會出現(xiàn)較多漏檢測的情況。針對小尺度目標檢測,本文受BiFPN[23]啟發(fā),設計了多尺度的特征融合(見圖2(b))代替YOLOv5 的PANet。將4倍、8 倍、16 倍和32 倍采樣信息作為輸入,生成4 種不同尺度的語義信息用于分類與回歸,其中4 倍采樣和8 倍采樣結果用于檢測小尺度目標,16 倍采樣結果用于檢測中尺度目標,32倍采樣結果用于檢測大尺度目標。

      Fig.4 Feature fusion network圖4 特征融合網(wǎng)絡

      多尺度特征融合網(wǎng)絡結構如圖4(b)所示,在融合過程中通過自上而下傳遞信息以強化中間兩層特征。最后生成多尺度高級語義信息,引入遠跳連接方式傳遞原始基礎特征,并將低級特征與高級語義信息再次融合,以強化高級語義信息中的低級特征。

      多尺度融合輸出后,生成的高級語義信息被送入檢測器,按照4 種尺度的方式重新計算回歸損失LCIOU、分類損失Lcls和置信度損失Lobj。其中,分類損失使用交叉熵函數(shù)作為損失函數(shù),回歸損失使用CIOU 損失作為損失函數(shù)。計算方法如下:

      其中,IOU是預測框與真實框的交并比;ρ2(b,bgt)表示預測框與真實框中心點之間的歐式距離;D 表示同時包含預測框和真實框的最小閉合矩形區(qū)域對角線距離;L是檢測層個數(shù);w、h是預測框的寬和高;wgt、hgt是真實框的寬和高;n是預測框個數(shù);nc是一個錨框下的預測框個數(shù);C是預測類別是目標真實類別;M、N分別是網(wǎng)格的寬和高;表示網(wǎng)格位置(M,N)是否負責預測該目標,取0 或者1;P是預測概率;hbox、hcls和hobj分別是回歸損失、分類損失與置信度損失系數(shù);s是檢測層的輸出尺度系數(shù);bs是批量大小。

      如圖2(b)所示,多尺度YOLOv5 流程如下:①使用提出的復合數(shù)據(jù)增強對模型輸入進行增強;②使用多尺度訓練方法隨機為增強結果選擇尺度,并輸入模型;③主干網(wǎng)絡提取特征信息,將4 倍、8 倍、16 倍和32 倍采樣提取的信息作為基礎特征;④將4 種不同尺度特征送入設計的特征融合網(wǎng)絡,生成多尺度的高級語義信息;⑤對多尺度高級語義信息計算損失,通過反向傳播訓練模型權重。

      3 實驗與結果分析

      3.1 實驗環(huán)境與網(wǎng)絡訓練

      模型的訓練在Ubuntu18.04 操作系統(tǒng)、Pytorch 框架下完成,硬件平臺為:Nvidia Tesla V100 PCIE 32GB GPU,處理器為:Intel(R)Xeon(R)Silver 4214R CPU 2.4GHz,軟件環(huán)境為:CUDA10.1,Python3.8。實驗訓練300 個epochs,初始學習率為0.001,學習率衰減系數(shù)為0.2,采用余弦退火衰減方式,設置動量常數(shù)為0.937,batch 大小為32,回歸損失系數(shù)為0.05,分類損失系數(shù)為0.5,置信度損失系數(shù)為1.0。實驗訓練了數(shù)據(jù)集中的13 066 張圖像,測試了3 267張圖像,在訓練過程中對每個epoch 的訓練結果進行驗證。為驗證模型的有效性,本文還在Bosch 小尺度交通燈數(shù)據(jù)集上測試模型性能。

      為客觀評估模型性能,本文計算了模型的混淆矩陣,并通過混淆矩陣計算常用的算法評估指標——召回率(Recall)和mAP(IOU=0.5),計算公式如下:

      其中,QTP是正確檢測的目標,QFP是模型誤檢測的目標,QFN是模型漏檢測的目標。

      如圖5(a)所示,MS-YOLOv5l 在訓練開始的前20 個epochs,訓練損失快速下降到0.045。從第40 個epoch 開始,模型損失下降逐漸變緩,模型開始趨于收斂,損失值在0.02 附近浮動。改進后模型的損失穩(wěn)步下降,其中前期下降速度較快。訓練過程中,MS-YOLOv5l 的驗證結果如圖5(b)所示。驗證集的mAP 在前20 個epochs 快速上升,達到0.96。隨著模型的收斂,mAP 的上升速度也逐漸變慢,最后趨于穩(wěn)定。通過驗證mAP 曲線,可知模型未發(fā)生過擬合。

      3.2 實驗結果

      Fig.5 Model training process圖5 模型訓練過程

      在不同場景下分別對YOLOv5 和MS-YOLOv5 進行測試。如圖6 所示,在逆光場景下,YOLOv5 漏檢嚴重,對被遮擋住的目標沒有檢測能力。而MS-YOLOv5 不僅檢測出紅燈的位置和類別,而且,當目標被大范圍遮擋時,也能夠正確檢測其位置。如圖7 所示,在夜晚場景下,受到汽車尾燈影響,YOLOv5 很難識別交通燈,因此漏檢了兩個交通燈。MS-YOLOv5 則準確檢測出每一個交通燈的類別,對交通燈的定位也沒有受到干擾。在圖8 中,兩種算法都能夠正確檢測交通燈,但是MS-YOLOv5 對每個交通燈的置信度更高,對預測坐標框和類別有更高的確信度。由圖9可知,在交通燈尺度極小的場景下,YOLOv5 的檢測性能驟降,而MS-YOLOv5 不僅能準確識別每一個交通燈,而且提高了置信度分數(shù)。

      表1 量化了本文數(shù)據(jù)集上的模型檢測性能,通過計算模型在測試集上的召回率、mAP 和檢測速度來評估模型性能。YOLOv5x 作為YOLOv5 最好的模型,召回率為0.809,mAP 為0.828,檢測速度為18.1ms。相比之下,MS-YOLOv5s在9.5ms的檢測速度下,召回率達到0.989,mAP 達到0.998,相比YOLOv5 提高了17%。改進后的方法相比YOLOv5 在召回率和mAP 上有大幅提升,召回率最多提升了27.8%,mAP 最多提升了28.2%。

      表2 給出了模型改進前后在Bosch 數(shù)據(jù)集上的測試結果,并與其他方法進行對比。YOLOv5 算法作為較新的目標檢測算法,相比Faster RCNN 和SSD 的改進方法具有更好的檢測能力、更快的檢測速度。MS-YOLOv5 與YOLOv5同級別模型相比,檢測性能均有所提高,mAP 最少增加了6.5%,達到0.673,擁有對比算法中最高的檢測能力。改進方法在大幅提高模型檢測能力的同時,對速度的影響僅約為2ms。Bosch 數(shù)據(jù)集的測試結果表明,改進模型在其他交通燈數(shù)據(jù)集上同樣適用,并優(yōu)于其他模型。

      Fig.6 Detection results of YOLOv5 and MS-YOLOv5 in backlitscenes圖6 YOLOv5與MS-YOLOv5在逆光場景下的檢測結果

      Fig.7 Detection results of YOLOv5 and MS-YOLOv5 in night scenes圖7 YOLOv5與MS-YOLOv5在夜晚場景下的檢測結果

      Fig.8 Detection results of YOLOv5 and MS-YOLOv5 in dusk scenes圖8 YOLOv5與MS-YOLOv5在黃昏場景下的檢測結果

      Fig.9 Detection results of YOLOv5 and MS-YOLOv5 for small objects圖9 YOLOv5與MS-YOLOv5對小目標的檢測結果

      Table 1 Results of model on our dataset表1 本文數(shù)據(jù)集上模型測試結果

      Table 2 Results of model on Bosch dataset表2 Bosch數(shù)據(jù)集上模型測試結果

      為探究模型對不同類別交通燈的檢測能力,本文測試了不同類別的AP 值(見表1),并繪制了YOLOv5 和MSYOLOv5 的PR 圖。從表1 中可知,YOLOv5s 對黃燈的AP值僅有0.462,YOLOv5x 對黃燈的AP 也僅有0.635。改進后模型對所有類別的檢測能力都有顯著提高,其中AP 值最低也可達到0.983,最高為0.994。如圖10(a)所示,YOLOv5l 對紅燈和綠燈的檢測能力一般,對黃燈和None 的檢測能力嚴重不足。如圖10(b)所示,MS-YOLOv5l 對所有類都有很好的檢測能力,PR 曲線逼近右上方。

      Fig.10 PR curve of Yolov5l and MS-YOLOv5l on the test set圖10 YOLOv5與MS-YOLOv5在測試集上的PR曲線圖

      3.3 消融實驗

      通過構建消融實驗,可逐步探究改進方法對模型的有效性。實驗以YOLOv5l 為基礎模型,逐步引入改進方法,并在本文數(shù)據(jù)集上測試模型召回率和mAP,將結果記錄在表3中。

      Table 3 Ablation experiments based on YOLOv5l表3 以YOLOv5l 為基礎模型的消融實驗

      沒有進行數(shù)據(jù)增強的YOLOv5 對交通燈檢測的mAP只有0.808,在使用YOLOv5 自帶的mosaic 數(shù)據(jù)增強條件下,mAP 提升了4.4%。在使用本文提出的數(shù)據(jù)增強方法后,mAP 提升了5.2%,召回率更是提升了7.1%。因此,數(shù)據(jù)增強對于YOLOv5 十分關鍵,可大幅提高模型召回率。引入多尺度訓練后,模型的mAP 和召回率都有所改善,其中mAP 提升了5.8%,達到0.866。使用多尺度特征融合后,模型檢測能力提升不夠顯著,mAP 提升了4%。相比與其他幾種改進方法,mAP 和召回率的提升幅度較小。

      通過逐步引入改進方法,模型檢測能力也隨之得到提升,最終mAP 達到0.991,召回率達到0.994。可發(fā)現(xiàn)在經(jīng)過數(shù)據(jù)增強和多尺度訓練后,多尺度特征融合效果顯著增加,召回率提升了8.3%,mAP 提升了8.4%,相比單獨使用多尺度特征融合的效益更高。

      4 結語

      由于國內缺乏交通燈數(shù)據(jù)集,本文采集了現(xiàn)實場景中的交通燈圖像,制作了交通燈數(shù)據(jù)集。針對交通燈檢測存在的尺度小、環(huán)境復雜等難點,提出多尺度YOLOv5 的交通燈檢測方法:首先使用數(shù)據(jù)增強方式對模型輸入增強,增加圖像的復雜度,提高模型的魯棒性;然后針對模型輸入尺度提出多尺度訓練方式,增加模型對不同尺度的檢測能力;最后提出一種多尺度輸出的特征融合方式,并使用遠跳傳遞低級特征信息,有效提升了模型對小目標的檢測能力。實驗結果表明,多尺度YOLOv5 增加了少量推理時間,大幅提升了模型的召回率和mAP,模型的魯棒性也得到提高,實現(xiàn)了對國內交通環(huán)境中交通燈的實時、準確檢測。本文下一步工作是將該算法與行人檢測、車輛檢測與車道線檢測算法相結合,構建自動駕駛汽車周圍環(huán)境快速檢測系統(tǒng)。

      猜你喜歡
      交通燈類別尺度
      財產(chǎn)的五大尺度和五重應對
      基于單片機的交通燈控制系統(tǒng)設計
      電子測試(2018年23期)2018-12-29 11:11:34
      一直飄紅的交通燈
      宇宙的尺度
      太空探索(2016年5期)2016-07-12 15:17:55
      基于單片機的LED模擬交通燈設計
      電子制作(2016年21期)2016-05-17 03:52:44
      服務類別
      新校長(2016年8期)2016-01-10 06:43:59
      9
      論類別股東會
      商事法論集(2014年1期)2014-06-27 01:20:42
      中醫(yī)類別全科醫(yī)師培養(yǎng)模式的探討
      基于protues仿真的交通燈即時控制的一種實現(xiàn)
      河南科技(2014年11期)2014-02-27 14:09:57
      高雄市| 磴口县| 偃师市| 盘锦市| 金阳县| 滕州市| 方正县| 沂水县| 郸城县| 昭苏县| 宣武区| 黄陵县| 武冈市| 邯郸县| 榆树市| 土默特左旗| 东丰县| 彝良县| 万源市| 盐亭县| 富源县| 蓬安县| 邯郸县| 昭觉县| 太湖县| 湖北省| 阿拉尔市| 韶关市| 宾川县| 孟津县| 穆棱市| 长春市| 台前县| 额济纳旗| 冀州市| 永福县| 衡山县| 讷河市| 德州市| 洛南县| 台北市|