曹婷婷,侯 進,鄧小豪,萬斌楊
(西南交通大學信息科學與技術學院,四川 成都 611730)
多目標跟蹤在計算視覺領域中占據核心地位,其任務是在視頻中確定多個目標的運動軌跡,一般是同一個場景下所有同類目標,比如全部的行人或者車輛等。尤其是針對行人的跟蹤,應用非常廣泛。例如在視頻監控、智能交通、軍事制導等領域具有十分重要的作用[1,2]。近幾年在深度學習技術快速發展下,基于卷積神經網絡的目標檢測精度達到了很高的水平,所以基于檢測的跟蹤算法成為了目前的主流方法。隨著科學技術的迅猛發展,越來越多的多目標跟蹤方法被提出,李興瑋等人[3]通過目標間相對運動模型完成軌跡恢復,采用事件匹配算法改進當前幀的檢測響應和原始軌跡分配,最終達到多目標跟蹤的目的;何嘉等人[4]通過HOG檢測目標位置,同時根據地面柵格估計目標3D信息,使得算法擁有較好的遮擋魯棒性。對于未檢測到的目標,算法通過捕捉消失點變化情況來重新估算目標位置,實驗證明此方法相較于通過目標前后幀運動狀態變化來估算目標位置,擁有更好的魯棒性和更低的算法運行復雜度;以及Wojke等人[5]提出的DeepSORT算法,通過自定義的殘差網絡提取外觀信息同時結合對象運動信息,使用余弦距離可以有效對長期遮擋后的對象恢復身份。
本文提出一種基于檢測的在線多行人目標跟蹤方法。使用改進的YOLOv4[6]作為檢測器,DeepSORT算法作為跟蹤器進行聯合跟蹤。仿真結果表明,所提算法能夠有效提升定位和跟蹤結果準確性。
YOLO算法主要是將對象檢測視為回歸問題,模型采用單一的卷積神經網絡預測邊界框和類別概率,可以平衡檢測精度和速度,因此選擇YOLOv4作為檢測器。YOLOv4主要架構由CSPDarknet53+SPP+PANet路徑聚合+Yolo head組成,主干網絡CSPDarknet53由Darknet53與CSPNet結合,特征金字塔部分由SPP結構和PANet模型組成,SPP模塊在CSPdarknet53的最后一個特征層進行三次卷積后分別進行四個不同尺度的最大池化處理,以此增強感受野。PANet模塊則可以建立淺層特征和深層特征之間的信息路徑,增強了特征的層次架構。在數據增強方面,YOLOv4使用Mosaic將四張圖片制作成一張,豐富了檢測物體的背景,同時可以一次計算四張圖片的數據;增加了自對抗訓練(SAT),使神經網絡在正常訓練之前向相反方向更新和干擾圖像等。
為了提高YOLOv4在復雜背景下的檢測能力,通過Focal loss[7]優化YOLOv4的置信度損失。Focal loss可用于解決單步檢測模型中簡單樣本與困難樣本不平衡問題以及正負樣本不平衡問題。它通過權重值來降低易分類樣本的影響,使得模型的損失值更多地受到難分類樣本的影響。Focal loss損失函數主要是由標準交叉熵損失函數經過變化得到的,其中二分類交叉損失函數L的表達式為
L=-ylogy′-(1-y)log(1-y′)

(1)
式中,y代表真實樣本標簽,通常情況下取值為0或者1;y′代表激活函數的輸出,通常取值為0~1。通過式(1)可知,當采用交叉熵作為損失函數時,對于正樣本而言,輸出概率越大,損失就越小;負樣本則相反。當類別不平衡時,大量的負樣本會導致模型的損失值增加,促使模型無法達到最優狀態。為此,提出Focalloss,具體的表達式形式如下

(2)
式中,在原損失值函數的基礎上加一個因子γ(γ>0),以此減少易分類樣本的損失,使損失函數更加關注難分類樣本。
在上述分析的基礎上,加入平衡因子α,促使數量較少的正樣本權重系數增加,數量較大的負樣本權重系數減少,有效解決正負樣本比例不均衡問題,則最終Focalloss的計算式為

(3)
引入Focal loss后,YOLOv4算法的置信度損失函數如式(4)所示

(4)
多目標跟蹤中一個十分重要的問題就是將當前幀中已經跟蹤到的目標與檢測結果關聯起來[8]。DeepSORT主要通過運動特征和外觀特征進行數據關聯。
DeepSORT算法以檢測結果為輸入,通過檢測結果對卡爾曼濾波器進行初始化操作,構建目標對應的運動模型;同時提取檢測結果的外部特征,構建目標外觀模型。其中,運動模型主要通過卡爾曼濾波器的線性運動模型,將目標表示為
x=[u,v,r,h,x′,y′,r′,h′]
(5)
式中,(u,v)代表目標的中心坐標;r代表目標的長寬比;h代表目標的高度;(x′,y′)代表目標在水平方向和垂直方向的速度;r′代表目標長寬比的變化率;h′代表目標高度的變化率。
卡爾曼濾波器采用勻速直線運動模型進行目標運動狀態的預測,目標一直處于直線運動狀態,變化頻率和長寬比保持不變,將(u,v,r,h)作為目標對象狀態的預測結果。
在在線多行人目標跟蹤過程中,需要將運動估計和圖像信息全部考慮進去,DeepSORT算法通過運動模型和外觀模型所得到的數據將新的檢測結果和軌道進行關聯,結合匈牙利算法進行匹配。其中,目標關聯問題表示為二分圖的最優匹配問題,具體如圖1所示。

圖1 關聯問題表示為二分圖的最優匹配問題
為了將運動信息全面整合到目標關聯問題中,需要設定一個距離度量函數,將距離作為度量函數。其中,根據運動軌跡獲取的目標位置和新一幀中檢測到的目標位置兩者間的距離計算式為

(6)
式中,yi代表第i個跟蹤到的目標在當前幀的預測位置;Si代表預測位置與平均跟蹤位置之間的協方差矩陣;dj代表當前幀中第j個檢測到的包圍盒。
優先設定馬氏距離的區間范圍,刪除無利用價值的數據,則指數函數能夠通過以下公式表示

(7)
式中,t(1)代表設定閾值,小于此距離,運動狀態關聯成功。
d(2)(i,j)=cosine(rj,Ri)
(8)
對于圖像特征的距離可以設置一個閾值函數表示目標之間的關聯性,即

(9)
將運動估計的距離和圖像特征之間的距離采用加權的方式獲取最終的距離函數
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)
(10)
兩種距離對最終距離的影響可以通過參數λ進行調節。
為了判斷目標的創建與移除,DeepSORT算法將軌跡分為“不確定態”、“確定態”和“刪除態”,每個軌跡初始時都處于“不確定態”。為每個“確定態”軌跡k分配一個Ak值,當預測結果與檢測器的檢測結果成功匹配時,就將Ak值設置為0;如果預測結果沒有相對應的檢測結果,則使用卡爾曼濾波預測結果來更新目標的狀態,Ak值加1。當Ak的值大于設定的閾值時,認為目標已經消失,此時軌跡由“確定態”轉換為“刪除態”,處于“刪除態”的軌跡及其相關信息會被立即移除。如果某次檢測結果中某個目標無法與已經存在的任何一個軌跡關聯,則對其啟動新的軌跡假設,此時的軌跡就處于“不確定態”。如果這個軌跡在未來的連續t幀中的預測結果可以與檢測結果成功匹配,則認為出現了新目標,此時軌跡轉換為“確定態”;如果軌跡在未來的連續t幀中有任意一幀的預測結果沒有匹配上檢測結果,則軌跡會立即轉變為“刪除態”。
檢測算法會通過設置置信度閾值的方式過濾掉置信度低于閾值的所有檢測對象。新的檢測對象必須通過這個閾值才能成為數據關聯的候選對象,因為一般認為置信度低于閾值的檢測很可能是假陽性。但是檢測結果不可能完全可靠,不可靠地檢測結果會影響之后跟蹤器的性能。為了更好地解決這個問題,本文對DeepSORT算法的軌跡濾除方式進行擴展:在“不確定態”軌跡初始化過程中,為其設置一個total 值,total 的初始值為0,在未來的連續t 幀中,記錄每幀中與“不確定態”軌跡成功關聯的檢測對象的檢測置信度,將其與total值進行累加,之后將total值更新為累加值。此時的total 值是該檢測結果在連續t 幀中所有檢測置信度的累加和,將其與t 相除,得到的就是該檢測結果的平均檢測置信度。只有當平均檢測置信度大于設定的閾值時,才最終確認出現了新目標。改進后的軌跡過濾算法描述如下表1所示。

表1 軌跡過濾算法
通過增加平均檢測置信度閾值的方式,在檢測階段可以適當降低檢測置信度閾值,以此降低漏檢率,同時依靠平均檢測置信度閾值抑制低檢測置信度閾值產生的假陽性軌跡,從而更準確地判斷新軌跡的刪除或保留。
為了驗證所提基于YOLOv4和DeepSORT的在線多行人目標跟蹤算法的有效性,通過目前最常用的MOT 2017數據集進行算法性能的評估。MOT 2017數據集由14個序列組成,一半用于訓練,一半用于測試。每個視頻的拍攝角度,拍攝天氣和時間都不一樣,還具有較高的人群密度。
MOTA和MOTP共同衡量算法的連續目標跟蹤能力,兩者的取值越高,證明跟蹤能力越強。其中,MOTA主要統計跟蹤過程中的誤差累積情況,即跟蹤結果準確性,具體計算式如下

(11)
式中,fpt代表判斷錯誤的次數;mt代表漏檢的次數;mmet代表錯誤匹配的次數。
MOTP主要量化檢測器的定位精度,可以有效地衡量位置誤差

(12)

Focal loss 存在兩個超參數α和γ,參考Focalloss的相關論文,γ值通常設置為2,α取值一般在0.1~0.3之間。為了確定α取值,使用YOLOv4作為基礎網絡模型,結合Focal loss損失函數在MSCOCO 2017數據集上進行模型訓練(以下簡稱YOLOv4-F),通過調整不同的α值得到不同的訓練結果。讓訓練完成的YOLOv4-F檢測算法忽略所有其它類,只將行人檢測結果傳遞給DeepSORT算法,聯合DeepSORT在MOT2017上進行測試,關注它們MOTP值的變化,結果如表2所示:

表2 不同α值實驗結果(γ=2)
可以發現當α=0.25時,模型檢測效果達到最優。因此,本文最終選取α=0.25和γ=2作為Focalloss的超參數值。
為了驗證平均檢測置信度閾值(tave_c)的效果并選擇最佳閾值,使用YOLOv4-F聯合DeepSORT在MOT2017測試集上進行測試,通過實驗對比了tave_c在0.0 ~ 0.8之間時DeepSORT的MOTA值,結果如表3所示。

表3 不同tave_c實驗結果
從表3可以看出,使用平均檢測置信度(tave_c=0.1~0.5)的DeepSORT算法的準確度(MOTA)比不使用平均檢測置信度(tave_c=0)時要高,證明了平均檢測置信度的有效性。當tave_c=0.4時,YOLOv4-F檢測算法搭配DeepSORT跟蹤算法的效果最好,因此本文選擇0.4作為平均檢測置信度閾值。
為了驗證本文算法的性能,在MOT2017數據集上對算法進行測試,并與一些先進的算法進行對比。

表4 MOT 2017測試結果
分析表4中的實驗數據可知,本文算法與DeepSORT相比,MOTP和MOTA分別提高了1.4和1.7,無論檢測器還是跟蹤器均具有較好的性能。算法在MOT 2017測試集上的跟蹤效果如圖2所示,可以看出,本文算法對于多行人目標可以進行有效檢測和持續跟蹤。

圖2 算法在MOT 2017測試效果
本文使用YOLOv4檢測算法和DeepSORT跟蹤算法構建一個針對行人的多目標跟蹤模型。并通過引入Focal loss優化YOLOv4損失函數,增加平均檢測置信度對DeepSORT算法的軌跡濾除方式進行改進。仿真結果表明,優化后的模型檢測和跟蹤效果均有提高。
所提算法雖然現階段取得了較為顯著的研究成果。但是在復雜環境下,由于圖像特征相似性更高,可能會出現錯誤關聯的情況,后續將重點針對該方面的內容進行研究,確保算法適用于任何場景和環境。