摘要
針對深度學習算法在多目標跟蹤中的實時性問題, 提出一種基于MobileNet的多目標跟蹤算法. 借助于MobileNet深度可分離卷積能夠對深度網絡模型進行壓縮的原理, 將YOLOv3主干網絡替換為MobileNet, 通過將標準卷積分解為深度卷積和逐點卷積, 保留多尺度預測部分, 以有效減少參數(shù)量. 對于檢測得到的邊框信息, 利用Deep-SORT算法進行跟蹤. 實驗結果表明, 所提出方法在跟蹤效果基本不變的情況下可提升處理速度近50%.
關鍵詞
深度學習多目標跟蹤目標檢測YOLOv3deep-SORTMobileNet
0 引言
多目標跟蹤是計算機視覺領域的研究熱點, 可應用于交通監(jiān)測、安防等多個領域, 具有一定的應用價值和挑戰(zhàn)性[1]. 檢測方式可以分為檢測跟蹤和無檢測跟蹤兩類, 前者需要檢測目標后再進行跟蹤; 后者需要在第1幀手動初始化目標, 然后進行跟蹤. 在目標跟蹤中, 涌現(xiàn)出許多具有良好性能的算法, 如SSD[2]、R-CNN[3-4]以及YOLO系列[5-7], 其中YOLOv3[7]算法在檢測跟蹤中體現(xiàn)出較強的優(yōu)勢.
由于深度學習的發(fā)展, 卷積神經網絡模型逐漸替代了傳統(tǒng)手工設計的特征, 提供了一種端到端的處理方法, 精度也大幅提高. 但CNN模型在不斷提高精度的同時, 其網絡深度和尺寸也在成倍增長, 需要GPU來進行加速, 使得基于深度學習的跟蹤算法無法直接應用于移動設備, 導致難以符合實時性要求. 因此降低算法復雜度、提高實時性、簡化和加速模型便成為亟待解決的問題. 文獻[8-10]使用剪枝方法對神經網絡進行網絡壓縮. 文獻[11]提出從零開始訓練低秩約束卷積神經網絡模型的方法, 不僅速度得到提升, 而且在一些情況下模型性能也有所提高. 目前, 深度網絡模型壓縮方法分為兩個方向: 一是對已經訓練好的深度網絡模型進行壓縮得到小型化模型; 二是直接設計小型化模型進行訓練, 如SqueezeNet[12]、ShuffleNet[13]、MobileNet[14]等.
在多目標跟蹤方面, Zhang等[15]提出一種新型檢測跟蹤方法, 即將檢測與軌跡聯(lián)系起來, 形成長軌跡. Mahmoudi等[16]使用卷積神經網絡代替手工標注進行特征提取, 以改善算法精度, 并提出一種新的2D在線環(huán)境分組方法, 具有較高的準確率和實時性. Xiang等[17]設計了一個卷積神經網絡提取針對人的重識別, 并使用長期短期記憶網絡(long short-term memory, LSTM)提取運動信息來編碼目標的狀態(tài); 此外, 還設計了基于遞歸神經網絡的貝葉斯過濾模塊, 并將LSTM網絡的隱藏狀態(tài)作為輸入, 執(zhí)行遞歸預測和更新目標狀態(tài). 而Deep-SORT[18]多目標跟蹤算法則在SORT[19]算法的基礎上, 提取深度表觀特征,使跟蹤效果有了明顯的提升.
本文針對算法的實時性問題, 結合深度學習目標檢測、深度網絡模型壓縮以及多目標跟蹤算法, 提出基于MobileNet的多目標跟蹤算法, 在保證精度的前提下, 有效改善深度網絡模型龐大以及計算復雜的問題, 提高了算法的執(zhí)行速度.
1 YOLOv3目標檢測算法
YOLOv3算法的基本思想是: 將輸入圖像分割為S×S 個單元格, 每個單元格用于檢測中心點落在該網格內的目標, 并預測B 個邊界框和置信度. 邊界框用(x,y,w,h,c)5個參數(shù)表達, 其中(x,y) 為目標中心相對于單元格左上角的相對坐標, 而w 和h 則分別是目標與整張圖像的寬和高之比. 單元格還預測C 個類別的各類概率值. 因此, 每個單元格共預測B×(5+C) 個值. YOLOv3借鑒ResNet的理念, 采用YOLOv2的Darknet-19, 并創(chuàng)建一個新的特征提取網絡Darknet-53[20]. YOLOv3采用類似FPN的上采樣和特征融合機制, 使用不同的特征尺度進行預測. 考慮到其對小目標檢測的良好效果, 本文采用該算法進行目標檢測.
2 基于MobileNet的多目標跟蹤算法
利用MobileNet將標準卷積分解為深度卷積和逐點卷積以減少參數(shù)量的特點, 替換YOLOv3目標檢測算法的主干網絡框架, 并保留多尺度預測, 形成基于MobileNet的目標檢測算法, 再進一步結合Deep-SORT算法進行多目標跟蹤.
2.1
MobileNet算法
MobileNet是Google為移動端和嵌入式設備提出的高效模型. 使用深度可分離卷積構建深度神經網絡,并通過兩個超參數(shù), 從通道數(shù)量和特征圖大小兩個方面減少計算量. 分解過程如圖 1所示.
圖 1 深度可分離卷積分解過程
假設輸入的特征映射F尺寸為(DF,DF,M) , 采用的標準卷積K 為(DK,DK,M,N) , 則輸出的映射G 尺寸為(DF,DF,N) . M 為輸入通道數(shù), N 為輸出通道數(shù), 對應的計算量為
(1)
將標準卷積分解為深度卷積和逐點卷積, 深度卷積起濾波作用, 尺寸大小為(DK,DK,1,M) , 輸出特征映射尺寸為(DF,DF,M) ; 逐點卷積用于通道轉換, 尺寸大小為(1,1,M,N), 輸出映射尺寸為(DF,DF,N) . 兩者對應的計算量為
(2)
相比于標準卷積, 深度可分離卷積計算量減少, 即
(3)
此外, MobileNet還引入了寬度乘子α 和分辨率乘子ρ 兩個超參數(shù), 分別用于改變通道數(shù)和特征圖分辨率, 便于控制模型大小, 降低參數(shù)量.
2.2
基于MobileNet的目標檢測模型
MobileNet網絡基于深度可分離卷積, 除全連接層外, 所有層后跟有BatchNorm和ReLU, 最后使用softmax進行分類. MobileNet將深度卷積和逐點卷積計為單獨的層, 共有28層.
針對實時性問題, 本文結合卷積神經網絡模型壓縮方法, 選用MobileNet與YOLOv3檢測模型相結合, 用前者代替后者的網絡框架, 同時保留YOLOv3的多尺度預測, 最終得到輕量級的檢測模型.
YOLOv3中包括13×13、26×26和52×52三個尺度, 在MobileNet網絡中找到對應13×13×1024、26×26×512和52×52×256的部分, 使用YOLOv3多尺度預測的方法進行融合, 替換后的網絡結構如圖 2所示.
圖 2 YOLOv3-MobileNet框架
2.3
多目標跟蹤
由于Deep-SORT算法加入了深度表觀特征, 并具有較高的準確度和實時性, 本文將基于MobileNet的目標檢測算法與Deep-SORT相結合進行多目標跟蹤, 主要分為以下部分:
1、目標檢測. 首先對輸入的視頻進行目標檢測, 得到目標的邊框及特征信息, 并根據(jù)置信度和非極大值抑制進行邊框過濾.
2、軌跡處理和狀態(tài)估計. 運動狀態(tài)估計中使用8個參數(shù)
進行運動狀態(tài)的描述, 其中(u,υ)為邊框的中心坐標, γ為長寬比, h為高度, 這4個參數(shù)來源于目標檢測部分, 其余4個參數(shù)表示對應圖像坐標系中的速度信息.使用卡爾曼濾波器對運動狀態(tài)進行預測.
3、對跟蹤器參數(shù)和特征集進行更新, 判斷有無目標消失或者有無新目標出現(xiàn). 對每個目標, 記錄其上次檢測結果和跟蹤結果匹配后的幀數(shù)ak, 只要檢測結果與跟蹤結果正確關聯(lián), 就將該參數(shù)置為0. 如果ak超過了設置的最大閾值Amax, 則結束對該目標的跟蹤.
4、檢測結果與跟蹤預測結果匹配. 區(qū)分已確認和未確認狀態(tài)的跟蹤器, 對已確認狀態(tài)的跟蹤器進行匹配指派. 其中指派問題使用了匈牙利算法, 并同時考慮運動信息的關聯(lián)和目標外觀信息的關聯(lián).
運動信息關聯(lián): 使用卡爾曼濾波器預測狀態(tài)和新測量之間的馬氏距離, 以此表達運動信息, 有
(4)
式(4)表示第j個檢測結果與第ii條軌跡之間的運動匹配度. 其中: Si為卡爾曼濾波器當前時刻觀測空間的協(xié)方差矩陣, yi為當前時刻的預測觀測量, dj為第j個檢測的狀態(tài)(u,υ,γ,). 馬氏距離通過測量遠離平均軌道位置的標準偏差考慮狀態(tài)估計的不確定性, 通過逆卡方分布的0.95分位點作為閾值t(1), 指標函數(shù)定義如下:
(5)
目標外觀信息關聯(lián): 由于相機運動會使馬氏距離度量方法失效, 引入第2種關聯(lián)方法, 對每個跟蹤目標構建一個庫, 存儲每個跟蹤目標成功關聯(lián)的最近100幀特征向量, 則第i個跟蹤器與當前幀第j個檢測結果之間的表觀匹配度為
(6)
指標函數(shù)表示為
(7)
采用上述兩種度量的線性加權作為最終度量, 有
(8)
只有當ci,j位于兩種度量閾值的交集內時, 才認為實現(xiàn)了正確的關聯(lián). 當指派完成后, 分類出未匹配的檢測和跟蹤器.
5) 對未確認狀態(tài)的跟蹤器、未匹配的跟蹤器和未匹配的檢測進行IOU匹配, 再次使用匈牙利算法進行指派.
6) 對于匹配的跟蹤器進行參數(shù)更新, 刪除再次未匹配的跟蹤器, 未匹配的檢測初始化為新目標.
算法整體流程如圖 3所示.
圖 3 多目標跟蹤算法流程
3 實驗結果
本文算法使用keras實現(xiàn), 并利用PASCAL VOC 2007和VOC 2012數(shù)據(jù)集進行訓練. 作為視覺分類檢測的基準測試, PASCAL VOC數(shù)據(jù)集包含20類物體, 如人、動物、交通工具、家具等, 每張圖片均有標注.本文使用VOC 2007 trainval數(shù)據(jù)集和VOC 2012 trainval數(shù)據(jù)集、共16 551張圖片進行訓練, 訓練環(huán)境為Google Colab云平臺. 所使用的操作系統(tǒng)為Ubuntu18.04.1, GPU為Tesla K80. 其他測試均在Windows 8.1下進行, CPU為Intel(R) Core(TM) i5-5200U, 無GPU.
在目標檢測評價中, 常用的評價指標為mAP(mean average precision), 表示對目標類的AP值取平均, 本文采用mAP、單張圖片檢測時間及模型大小等指標對目標檢測模型進行評估. 對于多目標跟蹤算法, 由于很難使用單一評分評估多目標跟蹤性能, 采用MOT Challenge評價標準.
3.1
目標檢測算法對比實驗
表 1為YOLOv3目標檢測算法、基于MobileNet的目標檢測算法和其他檢測算法實驗對比結果.
表 1 目標檢測算法性能對比結果
本文選取比較流行的單階段檢測算法和兩階段檢測算法進行對比實驗. 由表 1可見, 基于MobileNet的目標檢測算法模型是YOLOv3算法模型的1/3, 并且相比SSD和Fater R-CNN, 模型最小; 單張圖片檢測時間相比YOLOv3模型提高了2倍; 在精度方面, 本文檢測算法相比YOLOv3模型下降約12.4 %, 但相比SSD提高1.5 %. 總體而言, 雖然本文檢測算法在檢測精度上有所降低, 但可以滿足檢測跟蹤的實際需求, 并且在模型大小和單張檢測時間上具有優(yōu)勢. 精度降低的原因是由于YOLOv3的網絡結構中使用了殘差網絡, 并且網絡層數(shù)更深, 而MobileNet網絡結構僅使用深度可分離卷積, 沒有使用殘差結構, 在網絡深度方面也比YOLOv3更淺, 因此造成本文檢測算法在mAP值上與YOLOv3差距較大. 雖然本文檢測算法在一定程度上犧牲了精度, 但實現(xiàn)了模型的小型化和速度上的提升.
3.2
多目標跟蹤算法對比實驗
在MOT基準數(shù)據(jù)庫提供的序列集上評估跟蹤性能, 以MOT Challenge標準對多目標跟蹤算法進行評價, 具體評價指標如表 2所示, 各指標含義如下:
表 2 評價指標對比
MOTA(↑): 多目標跟蹤準確度;
MOTP(↑): 多目標跟蹤精度;
MT(↑): 目標跟蹤軌跡占真實長度80 %以上的軌跡數(shù)目;
ML(↓): 目標跟蹤丟失軌跡占真實長度至多20 %的軌跡數(shù)目;
IDs(↓): 目標ID發(fā)生變化的次數(shù);
FP(↓): 誤報總數(shù);
FN(↓): 未命中目標的總數(shù);
FPS(↑): 幀頻率.
對于帶有(↑)的評價指標, 分數(shù)越高表示效果越好; 對于帶有(↓)的評價指標, 結果相反.
由表 2可見: 本文算法的MOTP值與YOLOv3-Deep-SORT算法相差不大, 但均高于表中其他算法; 被跟蹤的軌跡比例(MT)相比YOLOv3-Deep-SORT算法有所上升, 跟丟軌跡占比(ML)有所下降, 均優(yōu)于TC_ODAL和RMOT算法; ID變換次數(shù)低于表中前4個算法(即TC_ODAL、RMOT、SORT、MDP), 但相比YOLOv3-Deep-SORT算法有所上升; 幀頻率提高為該算法的3倍, 檢測跟蹤時間提高顯著. 本文算法雖然在跟蹤準確度、ID變換次數(shù)和誤報總數(shù)上不及YOLOv3-Deep-SORT算法, 但其他跟蹤指標均優(yōu)于該算法, 并且本文算法相比于TC_ODAL、RMOT和SORT等算法優(yōu)勢明顯. 為進一步表現(xiàn)本文算法的優(yōu)越性, 以ID標號為3的目標為例, 給出如圖 4所示的部分跟蹤結果, 且跟蹤框上帶有數(shù)字ID標識. 由圖 4可見, 該算法在第200幀、260幀、320幀均能連續(xù)跟蹤, 跟蹤效果良好.
圖 4 跟蹤結果
3.3
無人機人流監(jiān)控實驗
以某城市交通路口人流監(jiān)控為例, 將本文算法應用于無人機, 利用其高空獨特視角, 對十字路口行人進行統(tǒng)計, 實時監(jiān)測人流密度以及人流密度變化情況, 以配合地面警力巡查, 對各類警情及交通情況進行預警, 輔助警力調度, 實現(xiàn)對城市環(huán)境下的安全監(jiān)控. 此類監(jiān)管系統(tǒng)的關鍵是要具有良好的實時性, 因此降低網絡參數(shù)量, 提高實時性顯得十分重要.
本文以無人機數(shù)據(jù)集進行實驗, 選取第76、133和182幀, 如圖 5所示. 由圖 5可見, 本文算法可有效檢測和跟蹤大部分行人, 且實時性與之前檢測跟蹤實驗結果具有相同數(shù)量級, 但對于相互遮擋和全身信息不全的行人檢測跟蹤效果相對較差.
圖 5 無人機數(shù)據(jù)集跟蹤結果
4 結論
本文在YOLOv3和Deep-SORT算法的基礎上, 針對實時性問題, 使用輕量級網絡MobileNet代替原有網絡結構對檢測模型進行壓縮. 實驗結果表明, 盡管改進算法由于更淺的網絡結構和未使用殘差網絡等因素導致精度下降, 但實時性提高顯著, 實現(xiàn)了精度和速度間的折衷, 達到了快速有效跟蹤的目的.
審核編輯:湯梓紅
-
算法
+關注
關注
23文章
4588瀏覽量
92505 -
深度學習
+關注
關注
73文章
5466瀏覽量
120891
發(fā)布評論請先 登錄
相關推薦
評論