張映 張志偉 崔琳
摘 要:隨著現(xiàn)代技術的迅速發(fā)展,在智能交通領域上有著不凡的發(fā)展,在行人車輛目標檢測在計算機視覺方向的研究有著不凡的研究,目前目標檢測算法可以分成3類:傳統(tǒng)的目標檢測算法:Cascade + HOG/DPM + Haar/SVM;候選區(qū)域/框 + 深度學習分類:R-CNN? SPP-net YOLO/SSD/DenseBox 等方法。其中在YIOLO模型中YOLOV5上提出了目標檢測算法,研究表明,較傳統(tǒng)目標檢測算法而言。該算法在目標檢測上有著更高的精確度。
關鍵詞:目標檢測算法;計算機視覺;深度學習;YOLO模型
一、概述
近幾年,我國在智能交通領域迅速發(fā)展,人們在出行前通常會提前了解道路出行情況,這個研究對于人們出行有著極大的便利。而目標檢測是計算機視覺領域中的難題,對于行車檢測,車輛跟蹤,其中利用了在深度學習技術,圖像處理技術,當然對于目標的選定,分類識別等檢查是研究的難點。基于目標檢測的階段數(shù)可以分為單階段目標,兩階段目標以及多階段目標檢測,而本文中使用了單階段目標檢測算法[1]。
二、目標檢測算法存在的問題
對于同一檢測畫面下,對于檢測的行人和車輛可能同時存在許多個,目標之間密度大小,物體之間的遮擋問題。在距離不同時,目標的大小隨之改變,在距離很遠時,對于檢測就會產生相當大的難度。外界的光線程度,天氣都會影響機器對目標的檢測。在識別過程中不僅僅只有行人和車輛這兩種物體,不同的物體對于識別判斷中也會產生誤差。
三、深度學習目標檢測方法[2]
(一)One-stage類別的目標檢測算法
One-stage算法是針對物體的類別概率和坐標,常用于SSD,DSSD和Retina-Net等。通過主干網絡信息對類別和坐標進行分析,使得算法運行速度更快。
(二)Two-stage類別的目標檢測算法
Two-stage算法通過卷積神經網絡來對候選目標進行檢測,使用CNN模型,對目標網絡進行訓練,其中分為訓練RPN網絡和訓練目標區(qū)域檢測網絡。
四、目標檢測算法的基本流程
(一)候選框
輸入模塊是將我們檢測的目標對象圖像或視頻等,候選框包含了很大背景信息,我們需要的僅僅是一部分,其中我們先向檢測目標產生的區(qū)域進行劃分,然后再對這些可能的位置進行微調。
(二)特征提取
本文采用了動態(tài)移動窗口的方法進行提取,然后對每個候選區(qū)域模塊中的信息進行特征提取,通常我們會采用計算機視覺算法。而計算機視覺提取特征方法一般有三種:底層次、中層次、高層次特征。這里的YOLOV算法通常使用了底層次和中層次兩種。
(三)分類器判定目標or背景
在特征提取過后,我們需要使用分類器對目標進行分類,分類器的選擇是我們事先通過學習和訓練得到的,YOLOV5模型使用的單類別目標檢測,只需要確定當前的候選框是候選目標還是背景。在目標識別過程中會存在目標重疊的情況,我們需要一個NMS來將重疊的數(shù)量達到真實目標的數(shù)目。
(四)NMS
NMS即非極大值抑制,其基本思想是將目標最為準確的確定出來,解決目標重疊問題,使檢測結果更加具有準確性。
五、YOLOV5算法
YOLOV5與傳統(tǒng)的目標檢測算法相比有著較大的不同,其中算法的速度和對目標檢測的精確度上有著更好的性能。在YOLO算法上添加了新的功能:分別在輸入端、基準網絡、Neck網絡和Head輸出層上進行了一些改動[3]。在輸入端對Mosaic數(shù)據(jù)的修改、自適應錨框計算、自適應圖片縮放;在基準網上增加了Focus和CSP結構;在Neck網絡上Yolov5中添加了FPN+PAN結構;在Head輸出層改進了損失函數(shù)以及預測框的篩選。
六、損失函數(shù)
目標檢測中的損失函數(shù),主要由邊界框回歸函數(shù)和分類損失函數(shù)構成。
(一)邊界框回歸函數(shù)
邊界框回歸損失一般的比較策略是并交比即IOU,其計算公式如公式(1)所示:
IoU可以計算出預測框與真實框之間的距離,但作為損失函數(shù)它時存在不足:當兩個預測框沒有相交,就不能體現(xiàn)出兩者的重合程度,就無法得到我們想要的結果。YOLOV5算法采用GIOU作為損失函數(shù),與IoU不同的是GIoU在此基礎上做出了改進,其計算方公式如公式公式(2)與(3)所示:
作為邊界框損失函數(shù)IOU只適用真實框與預測框重疊的區(qū)域,而GIOU與IOU不同,對于預測框和真實框非重疊區(qū)域也同樣適用。
(二)基于分類的損失函數(shù)
Gross Entropy Loss是損失函數(shù)中非常重要的一類函數(shù),在損失函數(shù)領域應用程度占比也是最高的。對于二分類交叉熵Loss主要有兩種方式:一種是基于輸出標簽label的表達方式為{0,1}另一種輸出標簽label的表達方式為:{-1,1}。而兩種不同形式的交叉熵是一樣的,只不過是標簽的表達方式不同。在模型選擇時,使用損失函數(shù)對檢測異常干擾的程度也就越小,在模型預測表現(xiàn)的結果也就好。
七、多目標跟蹤算法
Deep SORT是常用的多目標跟蹤算法之一,適用于運動的物體,對行人、車輛的檢測有著極大的應用[4]。在Deep SORT算法下當兩個或多個物體相互遮擋時仍有可以被檢測出來的可能。所以Deep SORT更加成熟,在處理待測目標遮擋上有一定程度的提升,但對于遮擋數(shù)目上的精確度仍有較大提升空間。
八、改進的YOLOV5算法[6]
通常我們針對最小化或最大化的函數(shù)稱之為目標函數(shù),當對其進行最小化處理時,我們稱之為損失函數(shù)。學習率是SGD算法中的關鍵參數(shù),隨著時間的推移學習率會逐漸下降,而在SGD中引入了一個噪聲源數(shù)據(jù),當批量梯度達到極小點是,目標函數(shù)的數(shù)值就變得很小。通過不停的學習率迭代,選擇表現(xiàn)最佳的學習率。
九、結束語
本文整合了計算機視覺技術,對于這些檢測框架,在特征融合層上表現(xiàn)的性能就很重要,目前兩者都是使用PANET,根據(jù)研究表明,特征融合層的最佳選擇是BIFPN,而YOLOV5使用了PyTorch框架,對用戶非常良好,對于模型的訓練具有良好的速度,以及在行人和車輛目標檢測過程中的識別速度跟準確率都有著不錯的效果。
參考文獻:
[1]楊曉玲,蔡雅雯.基于yolov5s的行人檢測系統(tǒng)及實現(xiàn)[J].電腦與信息技術,2022,30(01):28-30.DOI:10.19414/j.cnki.1005-1228.2022.01.006.
[2]謝富,朱定局.深度學習目標檢測方法綜述[J].計算機系統(tǒng)應用,2022,31(02):1-12.DOI:10.15888/j.cnki.csa.008303.
[3]馬琳琳,馬建新,韓佳芳,李雅迪.基于YOLOv5s目標檢測算法的研究[J].電腦知識與技術,2021,17(23):100-103.DOI:10.14004/j.cnki.ckt.2021.2402.
[4]黃凱文,凌六一,王成軍,吳起,李學松.基于改進YOLO和DeepSORT的實時多目標跟蹤算法[J/OL].電子測量:1-8[2022-04-26].http://kns.cnki.net/kcms/detail/11.2175.TN.20220331.1537.096.html
[5]劉彥清.基于YOLO系列的目標檢測改進算法[D].吉林大學,2021.DOI:10.27162/d.cnki.gjlin.2021.005205.
[6]紀澤宇,張興軍,付哲,高柏松,李靖波.分布式深度學習框架下基于性能感知的DBS-SGD算法[J].計算機研究與發(fā)展,2019,56(11):2396-2409.