摘 ?要:多目標檢測與跟蹤是當今計算機視覺領(lǐng)域中重要的子課題,因為當下攝像設(shè)備質(zhì)量以及計算機科技水平的不斷提高和使用成本的減少,相關(guān)技術(shù)的發(fā)展突飛猛進。文章通過對現(xiàn)有表現(xiàn)出色的目標檢測算法YOLOv3進行調(diào)優(yōu),使其更適配于行人檢測、目標跟蹤算法Deep SORT以及Counting算法,以進行行人檢測計數(shù),實現(xiàn)一個基于圖像處理的多目標行人檢測與追蹤的平臺。
關(guān)鍵詞:計算機視覺;多目標跟蹤;YOLOv3;行人檢測;Deep SORT
中圖分類號:TP391.41;T18 ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)12-0006-04
Abstract:Multi-target detection and tracking is an important sub-topic in the field of computer vision. With the continuous improvement of the quality of camera equipment and the level of computer science and technology and the reduction of the cost of use,the development of related technologies has made great progress. This paper optimizes the existing excellent target detection algorithm YOLOv3 to make it more suitable for pedestrian detection,target tracking algorithm Deep SORT and Counting algorithm,so as to count pedestrian detection and realize a multi-target pedestrian detection and tracking platform based on image processing.
Keywords:computer vision;multi-target tracking;YOLOv3;pedestrian detection;Deep SORT
0 ?引 ?言
隨著人工智能產(chǎn)業(yè)的持續(xù)火熱,計算機視覺逐漸成為較為活躍的研究領(lǐng)域,而多目標跟蹤是其重要的子分支。其中的多目標行人檢測追蹤技術(shù)的主要目的是對視頻內(nèi)的行人目標進行分析以及軌跡追蹤。本文針對本校“數(shù)字圖像處理”課程進行深入研究,探討目標跟蹤性能的好壞受到所使用的檢測算法、用于匹配區(qū)分的特征以及數(shù)據(jù)關(guān)聯(lián)算法的影響,找到一種最適用于目標跟蹤的算法,并在此基礎(chǔ)上進行算法調(diào)優(yōu),使其能夠在真實的場景中準確地進行行人檢測和數(shù)量統(tǒng)計。
1 ?項目應(yīng)用前景
如圖1所示,多目標行人檢測計數(shù)和追蹤技術(shù)主要應(yīng)用于交通網(wǎng)絡(luò)實時監(jiān)測(如行人流量估測等防線)、人機交互或視頻監(jiān)控設(shè)備、實時安防系統(tǒng)(安防系統(tǒng)早期依靠于傳感裝置進行,在引入目標檢測和追蹤技術(shù)后可以自動完成對行人的檢測和軌跡追蹤)和智能或無人車載系統(tǒng)(需要對車外的復(fù)雜行人環(huán)境及行人軌跡進行判斷和行車規(guī)劃,使車輛行駛脫離人為操作)等有益于人們社會生活的眾多領(lǐng)域。目前其仍是計算機視覺中的研究熱點,具有較好的發(fā)展和應(yīng)用前景。
2 ?研究重難點綜述
行人目標檢測與追蹤是計算機視覺領(lǐng)域的一個重要方向,由于其技術(shù)應(yīng)用場景愈發(fā)復(fù)雜,如何優(yōu)化算法性能來應(yīng)對這樣的復(fù)雜場景,是我們的重要研究目標。當前的復(fù)雜環(huán)境問題主要有以下幾點。
(1)行人的遮擋問題,對于行人的遮擋可以大致的劃分為行人的主動性和被動性遮擋,針對遮擋的情況可以劃分為部分遮擋和完全遮擋,其中的完全遮擋可能會導致追蹤目標和前期檢測目標的不匹配并導致ID跳變,造成判斷失誤。
(2)行人的外觀剛性形變問題,如果行人自身發(fā)生不確定的形變(動作或者行人重疊等變化),追蹤行人的特征就會產(chǎn)生變化,導致低匹配的追蹤失效。這個問題也可能由拍攝光線、攝像角度等因素引起。
(3)視頻模糊/視頻背景復(fù)雜問題,視頻中行人的高速運動會導致行人的外觀特征(如輪廓、紋理、邊緣等)變得模糊,而造成追蹤失效。同時,復(fù)雜的環(huán)境也對追蹤算法的模型有著較高的要求。
3 ?概要設(shè)計
3.1 ?項目基本流程
行人目標檢測與追蹤的流程主要可以分為目標候選框提取模塊、目標特征提取模塊、分類器選取候選樣本模塊、下一幀目標位置的估測模塊以及NMS處理模塊,如圖2所示。
其中目標候選框提取模塊是針對輸入的檢測算法計算出的檢測結(jié)果,確認目標樣本候選框。
目標特征提取模塊主要是選擇合適的表達特征,并據(jù)此構(gòu)建出特征模板用于后續(xù)的候選樣本分析對比。
分類器選取候選樣本模塊是利用分類器對不確定的目標進行區(qū)分(因為行人移動較慢,所以僅在候選框有限距離內(nèi)進行采樣)。
目標估測模塊是將之前的特征樣本和候選樣本進行比對,置信度高的即為目標的下一幀位置(NMS處理即為非極大值抑制,是為了去除置信度不高的多余候選框)。
NMS處理模塊(Non-Maximum Suppression,非極大值抑制),對多個候選框,是為了去除置信度不高的多余候選框,得到最具代表性的結(jié)果,以加快目標檢測的效率。
4 ?詳細設(shè)計
4.1 ?目標檢測算法選型思路
目標檢測的主要目的是根據(jù)圖像提取目標的位置以及類別,所以檢測器的優(yōu)劣也在一定程度上決定了目標跟蹤技術(shù)的效率。目標檢測一般分為以下三個部分。
(1)候選區(qū)域選定:這種方式主要是通過區(qū)域推薦(Region Proposal)的方式實現(xiàn),這種方式的思路是利用滑窗遍歷圖像,結(jié)合分類器來判別滑過的區(qū)域是否存在目標。篩選后的區(qū)域即為候選區(qū)域,再結(jié)合特征進行進一步的檢測,但是這種方式無法自由縮放尺度,篩選任務(wù)較為繁重。
(2)候選區(qū)域特征提?。横槍ι弦画h(huán)節(jié)中的候選區(qū)域,我們需要結(jié)合上一章中所闡述的目標特征進行判別,利用深度學習算法對其進行回歸分析。
(3)判定候選目標:根據(jù)特征的判別完成分類任務(wù),結(jié)合類別分類器(例如SVM、Boosting等)識別和判定。
但是上述的流程中也存在著如下缺陷。
(1)通過滑窗確定的候選區(qū)域多為無效區(qū)域。
(2)目前的特征識別大多依賴于人工識別。
(3)人工識別的結(jié)果不能進行推廣拓展。
為了能進一步優(yōu)化這種方式,我們結(jié)合深度學習的方式對圖像的深層特征進行提取以達到提高檢測精度的效果,提出了基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Region-based Convolutional Neural Network,R-CNN)的檢測方式:其在候選區(qū)域的選擇時使用的是選擇性搜索策略(Selective Search,SS),切分圖像時僅選擇部分區(qū)域;再利用卷積網(wǎng)絡(luò)(Darknet-53)提取深度特征,利用SVM分類器進行目標分類。同時為了進一步提高其處理效率,我們提出了Fast R-CNN(利用ROI池化層及Softmax分類器)來解決其執(zhí)行效率的問題,但是仍舊不能夠滿足檢測對實時性的要求。
YOLO系列算法將上述的流程統(tǒng)一到一個卷積網(wǎng)絡(luò)中,這種方式放棄了傳統(tǒng)的區(qū)域推薦網(wǎng)絡(luò)(Region Proposal Network,RPN)策略,提高了執(zhí)行效率。而YOLOv3則擁有目前YOLO系列的最高效率,其相較于之前版本主要有以下明顯的改進。
(1)先驗框(Prior Box)的數(shù)量從5個提升到9個,提升了IoU(平均交并比)。
(2)提高對小目標的檢測力,YOLOv3的416版本應(yīng)用了52個Feature Map(v2版本僅應(yīng)用了13個),改進了其Detection策略,在整個Darknet-53中不同卷積層通道數(shù)均使用先減后增的方式。
(3)將Loss方式從Softmax轉(zhuǎn)換為Logistic方式且每個Ground Truth只匹配一個先驗框。
其相較于同屬One-stage方法的SSD、DSSD方法依然具有很多優(yōu)勢,如下所述。
(1)不局限目標檢測類別,只要大于設(shè)置的閾值均可檢測。
(2)先驗框設(shè)置的思想是均勻地將不同尺寸的Default Box分配到不同尺度的Feature Map上。
(3)Bounding Box的預(yù)測方法是對于位置偏移值再做一次Sigmoid激活,將其范圍縮為0~1以保證預(yù)測有效。
4.2 ?目標跟蹤算法選型思路
對于目標跟蹤算法,我們僅針對多目標跟蹤算法展開選型思路分析。本項目是針對視頻中的行人目標的檢測與跟蹤,因為視頻流是具有時間性和空間性的,如果對視頻中的每一幀進行圖像識別檢測會造成計算的浪費,所以我們選擇加入追蹤使檢測框更加穩(wěn)定、輸出內(nèi)容更為平滑。視頻目標跟蹤主要可以劃分為以下幾個步驟,如圖3所示。
目標追蹤算法我們大致可以將其分為TBD和DFT兩類,如果將其進一步地細致劃分,可以劃分為以下3類。
(1)基于多線程的單目標追蹤器的多目標追蹤算法,這種算法的代表性算法主要有KCF、LEDS等,這類算法的思路是對每一個目標分配一個追蹤器,算法的追蹤效果很好,但是算法對追蹤目標的尺度變化要求較大且極耗CPU。
(2)以卡爾曼濾波器、匈牙利算法及KM匹配的后端多目標追蹤算法,這種算法的代表性算法主要有SORT、Deep SORT等,這類算法依賴于檢測的前期結(jié)果以及提取特征的區(qū)分程度,同時卡爾曼濾波和匈牙利算法可以極大程度地減少了ID跳變的次數(shù)。
(3)基于深度學習的端到端多目標追蹤算法,這種算法的代表性算法主要有SST、MCSA等,能實現(xiàn)不錯的跟蹤效果,但是其目前還不夠成熟。所以在本項目中我們選取了較為成熟的Deep SORT算法,并選取了較大型視頻行人重識別數(shù)據(jù)集來訓練特征提取網(wǎng)絡(luò)模型。這種借助了深度特征和成熟追蹤器的方式可以進一步提高追蹤的效果,同時加上微調(diào)的行人目標檢測算法,相信可以對整體模型有著一定的幫助。
4.3 ?實驗結(jié)果分析
如圖4所示,經(jīng)過微調(diào)后的行人目標檢測算法在針對行人的目標檢測上已經(jīng)可以實現(xiàn)不錯的效果,如一般場景下的行人檢測、多尺度的行人檢測、密集行人檢測。但是也確實存在著由于遮擋、模糊、過于密集等原因?qū)е聶z漏的現(xiàn)象出現(xiàn)。
再結(jié)合特定的評價指標來對實驗結(jié)果進行定量分析,我們選擇Classification Accuracy作為正確性的評價標準,其評價類別有四種:目標為行人且檢測為行人即為True Positive,目標為非行人但檢測為行人即為False Positive,目標非行人且檢測為非行人即為True Negative,目標為行人但檢測為非行人即為False Negative。可以看出,YOLO系列算法作為One-stage類型的檢測算法,其檢測效果明顯優(yōu)于R-CNN與Fast R-CNN;同時針對行人進行微調(diào)的YOLOv3算法彌補了原本的YOLOv3算法類別概率的不足。同時,我們也可以結(jié)合對目標定位的精準度來對檢測算法進行評估,通常我們采用IoU指標來判定檢測的定位準確性。IoU是計算檢測目標的真實區(qū)域與預(yù)測區(qū)域之間的重復(fù)面積,正常的YOLOv3算法的IoU可以達到68.12%,微調(diào)后的檢測算法IoU指標有一定程度的提高,可達78.64%,表明其檢測定位效果較為優(yōu)良。這是因為我們選擇了更加適配的先驗框,同時在每一個網(wǎng)格上增加了候選框的數(shù)量,這樣就可以更好地檢測同網(wǎng)格的不同行人。
5 ?視頻目標檢測與追蹤測試
多目標檢測與跟蹤算法的執(zhí)行流程包括:給定原始視頻幀、運行項目中的檢測器、獲取檢測器得到的目標檢測框、利用模型提取目標框中目標的表觀特征/運動特征、進行前后兩幀的目標匹配、進行數(shù)據(jù)關(guān)聯(lián)并分配ID。其中檢測器使用的是本項目的微調(diào)YOLOv3行人檢測器、特征提取模型使用在行人重識別數(shù)據(jù)集上訓練的128維特征、目標匹配使用卡爾曼濾波器進行預(yù)測和更新、數(shù)據(jù)關(guān)聯(lián)部分使用加權(quán)匈牙利算法進行ID分配。
在測試視頻中,我們監(jiān)測了出現(xiàn)在當前畫面的人數(shù),統(tǒng)計了整個視頻出現(xiàn)的人數(shù),部分測試效果如圖5所示。
6 ?結(jié) ?論
在一個優(yōu)良的檢測器的基礎(chǔ)上,為了更加平滑地輸出視頻的跟蹤效果,我們選定了基于TBD的目標追蹤算法Deep SORT,并融合深度外觀特征模型提取目標特征,從而更好地解決之前SORT算法因為短暫重疊和長期遮擋所導致的ID跳變頻繁的情況。
這種結(jié)合YOLOv3和Deep SORT算法的多目標行人檢測和追蹤算法可以在一定程度上提高對于行人的識別和跟蹤準確度,但是其中也存在著一些待改善的問題。如視頻檢測的實時性還有待改善,可以選用更加快捷的檢測器進行行人檢測以節(jié)約更多的時間,也可以考慮嘗試利用不同的特征提取模板進行訓練以及考慮將特征提取部分和目標檢測網(wǎng)絡(luò)進行融合(例如無需匹配先驗框匹配的CenterNet等),通過參數(shù)重用降低時耗。
參考文獻:
[1] 王春艷,劉正熙.結(jié)合深度學習的多目標跟蹤算法 [J].現(xiàn)代計算機(專業(yè)版),2019(6):55-59.
[2] 李牧子.基于圖像識別的目標檢測與跟蹤系統(tǒng)的設(shè)計與實現(xiàn) [D].北京:北京郵電大學,2019.
作者簡介:徐耀建(1999.09—),男,漢族,江西上饒人,本科在讀,研究方向:軟件工程。