覃海華 胡偉平 張永金 李鳳珍 陳俊陽
(廣西科技大學,廣西 柳州 545006)
目前無人駕駛技術普遍存在的缺點是行人檢測的速度慢、精度低,行人跟蹤的遮擋問題未能有效處理。張旭[1]提出基于紅外圖像的、姜其政[2]提出基于ORB 的、昝孟恩[3]提出的基于粒子濾波的和郭琦[4]提出基于卷積神經網絡的行人跟蹤方法,這些方法也是不能很好的解決行人跟蹤的一些問題。總之,行人軌跡預測還存在很多問題需要去解決。本文針對行人軌跡跟蹤時的遮擋問題進行處理,目標檢測階段采用Anchor-Free 機制,目標軌跡跟蹤采用DeepSort 跟蹤框架,進而提升行人軌跡預測的速度和精度。
首先,使用Anchor-Free 框架的centerNet 模型檢測到目標在圖像中的位置。然后通過卡爾曼濾波預測檢測到的目標的下一幀軌跡。緊接著通過每一個原標記框經過reid 網絡得到的外觀信息特征向量和候選框中已經存儲的外觀信息特征向量計算余弦距離,并計算馬氏距離,然后使用匈牙利算法進行級聯(lián)匹配。同時計算交并比,也使用匈牙利算法進行IoU 匹配。整合級聯(lián)匹配和IoU 匹配的結果,最后更新每一個匹配成功的目標軌跡。行人軌跡跟蹤框架如圖1 所示。
本文主要采用Anchor-Free 機制中的centerNet 模型,centerNet 模型是基于中心點的檢測模型。centerNet 模型的核心思想是直接檢測物體中心點和尺寸。centerNet 模型預測目標中心點的位置是使用heatmap 思想和centerNet 損失函數進行訓練。
目標中心點偏移損失函數公式如(2):
目標長度損失函數公式如(3):
總的損失函數公式如(4):
目標軌跡跟蹤算法對實時性有很大的要求,卡爾曼濾波是一個非常適合目標跟蹤的算法。卡爾曼濾波算法推導過程如下:
下一步狀態(tài)的預測公式如(5):
下一步預測協(xié)方差矩陣公式如(6):
狀態(tài)更新公式如(7):
濾波增益矩陣公式如(8):
協(xié)方差陣更新公式如(9):
匈牙利算法是一種易于理解和解決分配問題的算法,目標是確定最優(yōu)分配,例如,降低總成本或使團隊效率最大化。匈牙利算法處理可以解決目標跟蹤中的候選框與原標記框匹配問題,通過匈牙利算法進行級聯(lián)匹配和IoU匹配可以很好的得出預測軌跡是否和行人實際軌跡一致。
級聯(lián)匹配完美結合了匈牙利算法的優(yōu)點,通過每個候選框和原標記框的廣義交并比來匹配候選框和原標記框,這樣子可以得到目標的行動軌跡。假設候選框的面積為A,原標記框的面積為B,C 為能包含候選框和原標記框的最小矩形框面積,則候選框和原標記框的廣義交并比的計算公式如(10)。
級聯(lián)匹配使用匈牙利算法對目標的運動信息和目標的外部特征信息進行初步匹配,然后再次通過匈牙利算法對未被匹配的目標軌跡和未被匹配的原標記框的廣義交并比進行二次匹配。當原級聯(lián)匹配完成時,未被匹配的目標可能出現被遮擋的情況。如果未匹配的目標軌跡與完成匹配的目標軌跡的交并比大于一個閾值時,那么我們就可以判斷有目標軌跡發(fā)生了遮擋。
在基于DeepSort 的目標軌跡跟蹤方法中,使用卡爾曼濾波進行目標的軌跡預測,使用匈牙利算法進行預測軌跡和目標進行級聯(lián)匹配。在目標物體密集的場景中,目標跟蹤過程里可能會發(fā)生目標的遮擋問題,從而導致預測的準確度下降的結果。因為卡爾曼濾波無法解決跟蹤的連續(xù)性間斷問題。所以采用級聯(lián)匹配效果會更好,級聯(lián)匹配優(yōu)先匹配比較頻繁出現的行人,使被遮擋時間短的行人優(yōu)先匹配,如此就可以避免卡爾曼濾造成的問題了。
為了證明本算法的實用性,本實驗使用現實生活中拍攝的視頻。通過分析實驗結果可知,該算法很好地完成對行人進行檢測和跟蹤的任務,能夠有效地檢測出兩個并列行走的行人。當行人在行走過程中被其他行人遮擋住,沒有檢測到被遮擋行人時,被遮擋行人不會被當作一個新的目標行人并繼續(xù)使用被遮擋前的編號,說明本實驗有效地解決了目標的遮擋問題。實驗最終結果用線條畫出了行人將要行走的軌跡,如圖2 所示。
本文Anchor-Free 機制的centerNet 模型可以更加快速且精準地檢測到目標,在跟蹤行人方面使用了DeepSORT 跟蹤框架,通過廣義交并比來提高目標軌跡的精度,級聯(lián)匹配對遮擋問題有很好的效果,有效地減少了目標被遮擋時目標丟失的情況,提高目標軌跡的完整性,從而達到提升行人軌跡預測的準確度和速度。但程序對輸入的視頻格式有要求,使用的視頻必須為.mp4格式的視頻。