楊興龍 蔣佳彤 韓嘉熠 顏新云



摘要:針對高速公路小目標檢測召回率低、準確率低等問題,提出一種基于YOLOv5改進的高速公路小目標檢測算法。針對數據集樣本不均衡問題,引入克隆數據增強對數據集進行增廣;通過K-means算法以IOU作為度量值,聚類產生適合該文數據集的Anchors boxes;通過添加注意力模塊,加強通道注意力,降低模型噪聲并提高準確率;針對檢測小目標困難問題,引入三層特征融合機制,加強模型對淺層信息特征的提取能力;通過增加檢測頭,提高對小目標特征的提取能力。實驗結果表明,改進后的YOLOv5模型在自建數據集上mAP達到了0.68,Recall達到了0.64,對小目標有很好的檢測效果。
關鍵詞:YOLO; 注意力機制;小目標檢測;特征融合
中圖分類號:TP311? ? 文獻標識碼:A
文章編號:1009-3044(2022)25-0103-04
開放科學(資源服務) 標識碼(OSID) :
高速公路在現代交通占據著重要地位,其迅速發展的同時也為管理機關和交通參與者帶來了嚴峻的挑戰。行人的異常闖入甚至違規逗留,不僅危害自身安全,還關乎高速公路交通的安全和暢通。因此,對高速公路行人異常事件[1]的檢測變得尤為重要。
然而,當前高速公路系統中采用的基本巡檢方式過于依賴人工巡檢,監控員工作負荷大,導致視覺疲勞,存在準確率低下的缺點,極易因信息延誤而產生后續的交通堵塞。部分自動檢測裝置因行人目標過小[2]且易被遮擋[3],檢測效率較低,同時,天氣因素對其影響極大,行人異常事件的檢測存在很大的偏差。
由于高速上不僅有誤闖入的異常行人,還有一些高速公路施工人員以及交警。因此,在檢測異常行人的同時,本文還對高速公路上的錐桶、水馬桶及施工人員進行檢測,以便判斷進行施工作業的工作人員是否處于安全的施工區域,其操作是否規范,以免因其不恰當的施工位置或動作,影響車輛在高速公路上的正常行駛。
本文在復雜環境下對行人異常事件進行實時檢測,針對小目標較多、樣本不均衡問題,通過克隆數據增強對數據集進行增廣,同時進行數據清洗,保證數據集的高效可用性。 運用 K-means 聚類算法[4]得出適用于小目標行人檢測的 anchors[5];以YOLOv5網絡模型為基礎,將SE模塊[6]嵌入到Neck中,在重要的通道上投入更多的注意力,以加強網絡的去噪效果;在網絡模型最后加入三層FPN[7]+PAN[8],將backbone[9]前端的小目標特征圖接到Neck層進行特征融合,加強對小目標的檢測能力。運用增強后的數據集,在數據清洗[10]過后的自制高速公路行人數據集上進行訓練,結果表明:改進后的YOLOv5算法比改進前的mAP值提升了9%,Recall提升了3%;在加入克隆數據增強后,mAP值提升了11%,Recall值提升了5%,同時,改進后的網絡模型相比原YOLOv5模型,檢測速度沒有明顯影響,能充分滿足高速公路行人異常事件檢測任務高召回率和高精度的要求。
1 改進的YOLOv5模型
為了提高網絡模型對高速公路小目標的檢測能力,對原始的YOLOv5做出如下改進:①使用K-means算法以IOU作為度量值,聚類[11]產生適合本文數據集的anchors boxes[12];②在Neck中添加SE模塊,對通道賦予注意力機制,降低模型噪聲并提高準確率;③針對檢測小目標困難問題,引入三層特征融合,削弱深層信息并加強淺層信息,增強模型對淺層信息特征的提取能力;④通過增加檢測頭,在較大的特征圖上檢測小目標,以提高網絡模型的特征提取能力。
1.1 Anchor boxes
原始的YOLOv5采用k-means[13]算法根據coco數據集聚類得出初始的anchor boxes,這些anchor boxes具有普遍性,但不適合本文的高速公路小目標數據集。因此需要重新聚類得出適合本文的anchor boxes。
K-means的核心思想是把給定的數據集分為K個簇(增大類內聚,減小類間距),使得聚類的損失函數最小,如公式(1),式中[xi]代表第[i]個樣本,[ci]是[xi]所屬的簇,[M]是樣本總數,[μci]是簇對應的中心點。
K-means算法通常采用歐式距離、曼哈頓距離等作為度量值,具有局限性,不適合用來聚類anchor boxes,因此本文采用IOU作為K-means聚類算法的度量值。
IOU的公式為相交面積/相并面積,能夠作為anchor boxes與bounding boxes重合情況的重要指標。K-means聚類anchor boxes的步驟為:首先采用公式(2) 根據圖片的高和寬和box的高和寬,做歸一化處理。
[Jc,μ=mini=1M|xi-μci|2]? ? ? ? ? ?(1)
[w=wboxwimg , h=hboxhimg]? ? ? ? ? ? ? ?(2)
[dbox, anchor=1-IOU(box, anchor)]? ? (3)
然后根據公式(3) 循環聚類最終得出最符合數據集的anchor boxes。公式(3) 中的box代表真實的目標框大小,anchor代表聚類得出的anchor boxes大小。IOU(box,anchor) 代表目標框與聚類框的交占比,最終聚類出的anchor boxes尺寸如表1所示。
1.2 注意力模塊
原始的YOLOv5模型在進行特征提取時,對于輸入進來的通道一視同仁,每個通道的重要性沒有區別。這有可能將不重要的通道也學習到,為目標檢測增加噪聲。針對上述問題,本文在Neck中引入了通道注意力SE模塊,得到每個通道的重要性權重值,從而突出重要的通道,削弱用處不大的通道,使網絡將注意力集中在重要的通道上,對網絡模型進行去噪,提高精度。
SE模塊的架構如圖1。首先是壓縮部分(Squeeze),通過平均池化將輸入進來的feature map維度壓縮成1*1*c的特征向量,如公式(4),具有之前feature map的全局視野。其次是激勵部分(Excitation),通過全連接、Relu、全連接、sigmoid四步操作將輸入進來的1*1*c的特征向量來預測每個通道的重要程度。最后,在獲得每個通道的重要性權重值后,將其激發到與先前特征映射對應的每個通道,增強網絡模型去噪能力并提高準確率。
[Zc=1w×hi=1w j=1h Uc(i,j)]? ?(4)
1.3 多尺度特征融合結構
針對高速公路小目標檢測困難、精度低的問題,提出了多尺度特征融合結構。
如圖2所示,a圖為原始圖片,b圖為經過第一個C3模塊后的圖片,c圖為經過第二個C3模塊后的圖片,d圖為經過第三個C3模塊后的圖片。
從圖像可以很明顯地看出,淺層特征圖保留了更多的細節,小目標特征也更加明顯。但是只融合淺層信息,會導致模型的精度不高,針對這個問題,我們設計了三層特征融合結構,如圖3。
為了充分利用模型前端淺層信息,提高對小目標的檢測能力,模型在第一個C3模塊、第二個C3模塊、第三個C3模塊后均進行了特征融合,然后用Concat與深層信息相融合,如公式(5)所示。
[Zconcat =i=1c Xi*Ki+i=1c Yi*Ki+c]? ? (5)
Concat后的特征圖可視化如圖4所示。從圖像中可以明顯看出融合了深層信息與淺層信息后,細節信息更豐富,小目標特征更突出,有利于檢測小目標。
1.4 4 分支檢測
原始的YOLOv5采用3分支檢測,分別用于檢測大、中、小目標。但本文數據集以小目標為主,將圖片縮放至640*640輸入網絡,有些小目標甚至小于3像素,原有的3分支檢測不能很好地滿足小目標檢測,甚至還有漏檢現象。為了解決以上問題,增加了一個檢測分支,采用320*320、160*160、80*80、20*20四個尺度,在320*320這個更大的特征圖上檢測小目標,提高網絡模型對小目標的檢測能力。
2 數據處理
2.1 數據采集
訓練模型依賴于大規模且高質量的訓練數據集。但由于現階段并沒有公開、開放的高速公路行人數據集,且關于目標標簽種類及數量稀少,所以本實驗采用自建數據集的方式來訓練測試。
自建數據集共有來自高速公路抓拍的圖片及視頻取幀的1835張圖片,分為4個label,分別為錐桶(taper barrel)、水馬桶( water toilet)、施工人員( builders)、行人(pedestrian)。標簽的分布如圖6。此數據集包含了不同人員、不同比例、不同視角、不同光照和各種復雜背景中不同遮擋的圖片。
考慮到拍攝角度的原因,數據集中的目標大多為小目標為主,通過查閱文獻與網上調研,本文設置目標在圖片中占比5%以內即為小目標。以圖片寬度為橫軸,高度為縱軸,由圖5可知大部分的標簽集中在[0.2,0.2]范圍內,即大部分的標簽面積僅占圖片總面積的4%之內,是一個以小目標為主的數據集。
2.2 克隆數據增強
為清晰顯示數據集分布情況,對各個類別的目標數量做出統計分析,從圖7可以看出樣本出現不均衡的特性。水馬桶具有體積較大、顏色統一的鮮明特征,故具有較好的訓練效果,對實驗結果影響較小。而行人的服飾裝扮、動作姿勢統一程度不高,從圖7可以看出行人和施工人員的樣本數量較少,這將對最終的檢測效果產生較大影響。為了解決上述問題,本文通過多次克隆小目標到樣本中從而達到數據增廣的效果。
在實際交通場景中,行人和施工人員大多出沒在高速公路兩側,出沒地點單一有規律且道路兩側的背景色單一。本文主要是對以上兩個目標進行克隆數據增強,將行人和施工人員進行克隆,如圖7所示,放在圖片中道路的兩側,且保證近大遠小的視覺規律,不違背現實規律的同時也不會對訓練產生負面影響,以此擴充數據集。
3 消融實驗
實驗采用adam自適應學習率,300輪epoch,img_size為640*640,batch_size為16,實驗結果如表2。
針對高速公路小目標檢測,實驗數據表明,相比于原始的YOLOv5,改進后的YOLOv5模型召回率提升了3%,map提升了9%;加入克隆數據增強后,召回率提升了5%,map提升了11%,對于高速公路小目標具有良好的檢測效果。
4 總結與展望
由于在高速公路目標的監測中,對于召回率和準確率具有極高要求,所以本文主要考慮模型的召回率和精度,提出了一種基于 YOLOv5 的改進模型。通過克隆數據增強擴充數據集,并通過 K-means聚類獲取行人的 anchor boxes,將SE模塊融合在與YOLOv5 網絡模型中。引入三層特征融合,加強淺層信息,提高模型對淺層信息特征的提取能力,從而能夠準確定位行人位置,實現高速公路目標的精準檢測。實驗結果表明本文使用的 YOLOv5改進模型在將召回率提升3%的同時將自建數據集的檢測精度提高了9%,加入克隆數據增強后,召回率提升了5%,平均檢測精度提高了11%。對于小目標行人或施工人員的檢測效果突出,可以較好適應高速公路復雜的路況,保障高速公路的安全和暢通。
盡管本文模型在實驗中取得了較好的檢測成果,但仍有許多問題需要完善。自建數據集中的路況和天氣情況還存在局限性,需要進一步地細化和擴充。接下來的實驗中將使用更龐大更全面的數據集來對進行模型訓練,并結合其他的監測設備從而實現行人異常事件的實時監測和及時處理。未來將繼續優化模型,增強模型的泛化性和數據集的多樣性,使本文的模型能夠在更加復雜背景下的高速公路行人目標檢測任務中發揮更好的效果。
參考文獻:
[1] 崔海龍.高速公路交通事件監測系統研究[D].西安:長安大學,2007.
[2] 李科岑,王曉強,林浩,等.深度學習中的單階段小目標檢測方法綜述[J].計算機科學與探索,2022,16(1):41-58.
[3] 賈慧星,章毓晉.車輛輔助駕駛系統中基于計算機視覺的行人檢測研究綜述[J].自動化學報,2007,33(1):84-90.
[4] 楊智雄,唐云祁,張家鈞,等.基于改進YOLOv4的行人鞋部檢測算法[J].激光與光電子學進展,2022,59(8):121-130.
[5] 李聞,李小春,閆昊雷.基于改進YOLO v3的PCB缺陷檢測[J].電光與控制,2022,29(4):106-111.
[6] 高明華,楊璨.基于改進卷積神經網絡的交通目標檢測方法[J].吉林大學學報(工學版),2022,52(6):1353-1361.
[7] Lin T Y,Dollár P,Girshick R,et al.Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition.Honolulu,HI,USA.IEEE,:936-944.
[8] 鐘志峰,夏一帆,周冬平,等.基于改進YOLOv4的輕量化目標檢測算法[J].計算機應用,2022,42(7):2201-2209.
[9] 王建軍,魏江,梅少輝,等.面向遙感圖像小目標檢測的改進YOLOv3算法[J].計算機工程與應用,2021,57(20):133-141.
[10] 陳冠宇.基于深度學習的小目標檢測方法研究[D].武漢:中國地質大學,2020.
[11] 魏瑋,蒲瑋,劉依.改進YOLOv3在航拍目標檢測中的應用[J].計算機工程與應用,2020,56(7):17-23.
[12] 唐志剛.基于YOLO V3的航拍車輛圖像檢測方法研究[D].贛州:江西理工大學,2020.
[13] 張素潔,趙懷慈.最優聚類個數和初始聚類中心點選取算法研究[J].計算機應用研究,2017,34(6):1617-1620.
【通聯編輯:梁書】