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