張紅艷,黃宏博,2+,何嘉玉,劉亞輝,李 穎
(1.北京信息科技大學 計算機學院,北京 100101;2.北京信息科技大學 計算智能研究所,北京 100192;3.北京信息科技大學 信息管理學院,北京 100192)
多目標跟蹤是計算機視覺領域的重要方向之一[1],目前的多目標跟蹤算法主要是基于檢測的跟蹤。該類算法將目標檢測和重識別作為兩個獨立的任務分開進行(也稱兩步法),即首先使用目標檢測器來定位圖像中所有運動的對象并分別用邊界框標記出來,接著將目標檢測框送入重識別(re-identification,ReID)網絡,以提取判別性特征,最后通過關聯算法將每幀中各個目標的邊界框連接起來形成多個目標運動軌跡,如Deep SORT[2]。兩步法多目標跟蹤可以分別為目標檢測和重識別選擇最合適的模型,并且可以把檢測框調整到相同的大小,然后再提取重識別特征,這有助于處理目標的尺度變化。因此,兩步法在公共數據集上取得了很好的性能。然而,由于目標檢測和重新識別特征嵌入都需要大量的計算,且兩者之間沒有共享特征,跟蹤模型很難實現視頻幀率推斷。而單步雙分支多目標跟蹤在單一網絡架構中同時完成目標檢測和重識別特征提取,通過共享大部分計算來減少推理時間,可以解決上述問題,如JDE[3]。
在上述研究的基礎上,為了進一步提高多目標跟蹤精度,使用融合改進注意力機制的深度聚合主干網絡[4]來提取共享特征,得到同時適用于檢測與重識別的判別性特征;然后將特征圖送入聯合訓練的無錨框檢測與重識別兩個任務分支來預測目標的位置以及得到外觀特征向量,提高了跟蹤的準確度;最后使用簡潔的卡爾曼濾波和匈牙利算法組合的方式進行軌跡匹配與更新,提高算法跟蹤效率。
為了提高多目標跟蹤的跟蹤準確度,本文使用深層聚合網絡的改進結構作為主干網絡,并融入改進的通道注意力機制,以此來提取目標特征,進而將特征送入檢測分支和重識別分支,圖1為該階段的框架。

圖1 單步雙分支多目標跟蹤網絡框架
在單步雙分支多目標跟蹤中,特征共享網絡需要同時滿足后續的檢測和重識別特征提取兩個任務的需求:①具備多層特征聚合功能;②解決目標尺度變化和形變問題。
根據上述條件,設計如下方案:為了在準確性和速度之間取得良好的平衡,使用深層聚合網絡(deep layer aggregation,DLA[5])改進的DLA-34作為主干網絡。具體網絡結構如圖1所示,其中,根據特征圖的分辨率不同,每個層次(Stage)由不同的基礎塊(BasicBlock)聚合而成。在原有結構的基礎上,改進后的網絡在低級特征和高級特征之間添加了更多的跳躍連接以此來滿足目標檢測和重識別兩個分支(前者需要深度和抽象的特征來估計目標的類別和位置,后者更注重使用低級的外觀特征來區分同一類的不同實例)使用不同深度特征圖的需求,同時使用可變形卷積代替上采樣模塊中的卷積層動態調整感受野,解決目標尺度變化和形變問題。
注意力機制歸根結底是模仿人腦視覺信號處理機制獲取信息,即注意力只關注其本身認為重點的信息,從而忽視或相對忽視其它方面的信息。改進的DLA-34特征提取網絡僅關注特征圖的空間信息,忽略了特征通道間的相互依賴關系,從而使提取的特征不能準確地代表目標。SENet(squeeze-and-excitation networks)[6]是一種通道注意力機制,它可以學習特征通道之間的相互依賴關系,自動實現特征通道之間的權重標注,根據特征通道產生的效果大小賦予不同的權重值。該網絡包括Squeeze和Excitation兩部分。
1.2.1 Squeeze部分
傳統的卷積操作利用固定大小的卷積核進行,導致輸出特征圖上的特征點無法利用卷積核區域以外的上下文信息。為了解決這個問題,Squeeze網絡使用全局平均池化對每個特征通道進行特征壓縮,將全局空間信息壓縮到一個特征通道描述符z∈Rc中。具體過程如下式所示
(1)
其中,Fsq表示Squeeze操作,H表示輸入特征圖的高度,W表示輸入特征圖的寬度,zc表示特征通道描述符z的第c個元素,uc表示特征圖U的第c通道。由公式可以看出使用極簡單的操作就可以實現全局信息的聚合,降低了計算量,提高了效率。
1.2.2 Excitation部分
為了利用上步操作中的全局平均池化信息,需要進行第二步操作來標注不同特征通道的權重。為了完成上述目標,需要設計滿足如下標準的函數:第一,它必須具有靈活性,可以學習特征通道之間的非線性關系;第二,它必須學會構造非互斥關系,因為需要多個特征通道并存,而不是類似于獨熱編碼那樣只允許一個通道存在。所以,Excitation網絡部分使用一個簡單的門控機制和Sigmoid非線性激活函數來完成上述要求。具體實現過程如下式所示
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(2)


圖2 改進的通道注意力機制

(3)

將該改進網絡嵌入到特征共享網絡的基礎塊,充分學習特征通道之間的依賴關系,提取更具判別性的特征,以實現更好的跟蹤性能。
1.3.1 目標檢測分支
目標檢測按照表現形式可以分為無錨框和基于錨框的。但是基于錨框的目標檢測一般采用非極大值抑制(NMS)進行邊界框的棄留,所以通常會面臨如圖3(a)所示的問題,即一個錨框包含多個目標(左側)或者一個目標由多個錨框(右側)表示,這樣容易導致特征提取歧義。針對這些問題,借鑒文獻[7],本文擬采用無錨框的CenterNet目標檢測器,將目標檢測作為一個在高分辨率的特征圖上基于中心點的邊界框回歸任務,將主干網絡輸出的特征圖作為輸入,輸出目標在當前幀的位置,以更好適應跟蹤場景。

圖3 基于錨框與無錨框檢測效果
如圖1所示,在主干網絡上附加3個平行分支回歸頭來分別輸出目標的熱力圖、目標中心偏移量和邊界框大小。
(1)熱力圖分支
熱力圖分支采用基于熱力圖的表示方法估計目標中心的位置,熱力圖的尺寸為1×H×W。 其實現思想是:如果熱力圖中某一位置與真實標記目標中心重合,其響應預計為1,并且響應隨著熱力圖中位置和目標中心之間的距離越大呈指數衰減。
(4)
其次,通過劃分步長得到其在特征圖上的對應位置為
(5)
再次,在特征圖 (x,y) 位置處的熱力圖響應計算為
(6)
其中,N表示圖像中目標的數量,σc表示標準差。
最后,損失函數定義為焦點損失[8]的像素級邏輯回歸
(7)

(2)中心偏移和邊界框大小回歸分支
重識別特征需要根據精確的目標中心來提取,然而由于特征圖的縮放步長會引入量化誤差,所以該誤差對于跟蹤的影響比較大。中心偏移分支估計每個像素相對于對象中心的連續偏移,負責更精確地定位物體,以減輕下采樣的影響。邊界框大小回歸分支負責估計目標邊界框的高度和寬度,該分支定位的精度會影響對目標檢測性能的評估。
(8)
同樣,真實標記框偏移量計算為
(9)
(10)
其中,N表示目標數量。
1.3.2 重識別網絡分支
重識別網絡分支的目標是提取能夠區分不同目標的判別性特征。在同一空間維度中,同一物體之間的距離應該遠遠小于不同物體之間的距離。為了達到上述目標,重識別分支使用128核的卷積層來提取特征圖上每個位置的重識別特征,進而得到的特征映射E∈R128×W×H。 最后從特征圖中提取以 (x,y) 為中心的目標的重識別特征Ex,y∈R128。

P={p(k),k∈[1,K]}
(11)
其中,K為總類別數。
定義Li(k) 為真實標記框的類標簽的獨熱編碼,重識別網絡的損失函數定義為
(12)
1.3.3 損失函數聯合訓練
為了使檢測與重識別兩個分支同時得到充分學習,采用聯合訓練的方式,即不確定性損失[9]加權式(7)、式(10)和式(12),自動平衡檢測與重識別任務
Ldetection=Lheat+Lbox
(13)
(14)
其中,w1和w2是平衡這兩項任務的可學習參數。
使用上述加權損失函數來訓練整個網絡模型,以期達到魯棒的跟蹤性能。
在整個單步雙分支多目標跟蹤中,數據關聯階段也是至關重要的一部分。該階段主要考慮如何使用檢測結果和身份嵌入信息來執行后續跟蹤流程。為了實現實時在線跟蹤,本文使用卡爾曼濾波加匈牙利算法組合的方式實現幀間連接。首先,使用上文提到的無錨框目標檢測器檢測目標,并對每個目標初始化一個跟蹤器(ID號)。然后計算當前幀中的每個檢測目標與上一幀的所有目標軌跡之間的外觀余弦距離代價矩陣,接著計算卡爾曼濾波預測的每個軌跡的平均軌道位置和實際檢測框之間的平方馬氏距離代價矩陣。隨后將這兩個代價矩陣進行加權,并使用匈牙利算法以加權代價矩陣為輸入將檢測與軌跡進行匹配,返回初步的匹配結果。對于未匹配的軌跡和檢測,使用IOU距離作為代價矩陣輸入到匈牙利算法進行匹配,得到最終的匹配結果。最后是軌跡更新和后續處理階段,使用卡爾曼濾波對軌跡進行更新,并確定軌跡狀態是開始還是終止。
1.4.1 卡爾曼濾波
卡爾曼濾波(Kalman)[10]是利用目標的動態信息進行狀態估計,在已知上一幀圖像的估計值及當前幀圖像的觀測值的情況下,預測并更新目標在當前幀中可能出現的位置。通過對目標位置進行線性預測能夠解決一些復雜情況下的目標漂移現象。所以其可以在無合適匹配檢測框的情況下,根據目標狀態歷史信息線性預測目標位置,為后續應用匈牙利算法提供匹配信息。
1.4.2 匈牙利算法
解決卡爾曼濾波預測的運動狀態與目標檢測之間的匹配的方法是把其看作分配問題。常規做法是使用匈牙利算法[11]來求解分配問題。匈牙利算法本質上是在二分圖中尋找最大匹配。二分圖將無向圖的頂點劃分為兩個子集,并且這兩個子集互不相交,圖中每條邊的兩個頂點分別連接兩個子集且每兩條邊之間沒有公共頂點。在視頻多目標跟蹤中,由于同一幀圖像的不同檢測框不會是同一個目標不需要互相關聯匹配,所以適合二分圖的應用。連續兩幀圖像中的所有檢測邊界框可以看作二分圖的全部頂點,前一幀圖像中全部邊界框作為一個集合,當前幀圖像所有邊界框作為另一個集合。兩個集合之間需要相互連通,最終相鄰兩幀圖像的檢測邊界框被盡可能地連接起來,實現最大匹配。本文通過結合運動信息和外觀信息以及IOU距離來實現匈牙利算法的匹配。
(1)外觀信息

(15)
其中,rj是第j個目標檢測邊界框的外觀向量。
(2)運動信息
為了計算運動度量,使用卡爾曼濾波預測的運動狀態與目標檢測結果之間的(平方)馬氏距離如式(16)所示
(16)
其中,dj表示第j個檢測的邊界框位置,yi表示第i個跟蹤器在當前幀中的預測位置,Si表示檢測位置與平均跟蹤位置之間的協方差矩陣。即馬氏距離考慮狀態測量誤差的標準是計算檢測位置和平均跟蹤位置之間的標準差。
對于本文多目標跟蹤中的數據關聯,首先已完成了用單步雙分支聯合檢測與重識別網絡得到當前幀圖像中的目標邊界框的坐標位置以及目標的外觀特征向量,然后計算已有軌跡與當前幀中檢測結果外觀向量的最小余弦距離,接著使用卡爾曼濾波根據上一幀圖像的跟蹤結果完成了當前幀中目標位置的預測,進而計算目標位置預測與當前幀檢測之間的馬氏距離,最后利用余弦距離和馬氏距離加權構造關聯矩陣,表達式如下
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)
(17)
其中,λ為權重系數,負責控制外觀度量與運動度量所占的比重,為匈牙利算法提供更準確的匹配矩陣。
(3)IOU距離
使用匈牙利算法將加權代價矩陣作為輸入,將軌跡與檢測進行匹配,得到初步的多目標跟蹤匹配成功結果以及沒有匹配上的檢測與軌跡。然后計算未匹配的檢測與未匹配的軌跡之間的IOU距離作為新的代價矩陣,并將其輸入到匈牙利算法進行匹配,再次得到匹配結果以及未匹配的檢測和軌跡。進而使用卡爾曼濾波更新軌跡狀態,并確定未匹配的軌跡與檢測的狀態。其具體確定流程如下:對于每個軌跡,設置一個計數器。在沒有合適檢測框匹配的時間段內,卡爾曼濾波將持續預測,計數器的數字在預測期間持續增大,直到軌跡與檢測相關聯時重置為0。當計數器增大到最大閾值時,認為該目標離開場景并從軌跡設置中刪除。對于不能與現有軌跡相關聯的每一個檢測,都啟動一個新的軌跡假設(即假定新目標軌跡開始)。這些新的軌跡在它們出現的前三幀中被監督。在這段時間內,沒有成功關聯到新檢測的軌跡將被刪除(目標離開了畫面),反之,則被確定軌跡狀態并分配新的ID號。
使用的操作系統為Ubuntu 16.04.7,CPU為Intel(R) Core(TM) i9-9820X CPU @ 3.30 GHz,內存為32 GB;GPU為兩塊TITAN RTX,每塊TITAN RTX的顯存是24 GB。
實驗采用多目標跟蹤綜合評價指標[12]多目標跟蹤準確度(MOTA)、多目標跟蹤精確度(MOTP)、成功跟蹤的目標軌跡占真實標注目標軌跡比例(MT)、丟失的目標軌跡占真實標注目標軌跡比例(ML)、誤檢目標總數(FP)和漏檢目標總數(FN)以及身份切換次數(IDs)進行結果分析,其中前3種指標表示數值越大跟蹤性能越好,而后4種指標表示數值越小跟蹤性能越好。
為了保持整個訓練過程的簡潔性以及與其它算法對比的公平性,本文不使用其它額外數據集,僅使用多目標跟蹤挑戰(MOT challenge)官網提供的2D MOT2015數據集[13]進行訓練以及測試。2D MOT 2015數據集收集在固定或移動攝像機拍攝、不同的環境和照明條件等情況下的各類視頻,包含22個視頻序列,分為訓練數據集和測試數據集兩部分,每部分都各有11個視頻序列。其中,訓練數據集提供了真實標注,測試數據集沒有提供真實標注。所以,本文將上述訓練數據集劃分為訓練集和驗證集以驗證本文提出的算法性能,具體的劃分情況見表1。

表1 2D MOT 2015訓練數據集的劃分
本文提出的添加改進注意力機制與沒改進之前的對比實驗見表2。其中,“DLA-34”表示未融合注意力機制的單步雙分支多目標跟蹤算法,“Se-DLA-34”表示加入原始SENet的單步雙分支多目標跟蹤,“Ours”表示本文提出的算法。由表2可以發現,融合注意力機制的多目標跟蹤算法比未添加的跟蹤算法跟蹤性能有了明顯提升,其中MOTA提升了1.9%,FP和IDs都有明顯下降。而本文改進的通道注意力機制更是發揮了巨大的作用,相對于原始的跟蹤算法,其MOTA提高了2.7%,說明在降低計算參數量的同時,使模型更容易訓練,避免陷入局部最優。更進一步說明了提出的融合改進的通道注意力的單步雙分支多目標跟蹤更加適合多目標跟蹤場景。

表2 驗證集上的對比實驗
在驗證集上驗證本文提出的算法有效后,接著使用2D MOT 2015中的全部訓練數據集進行訓練,然后將測試結果提交MOT Benchmark進行跟蹤性能測評,并與其它4種在線的使用私有檢測器的多目標跟蹤器CDA-DDAL[14]、HFRN[15]、Tracktor++[16]和IFMOT[17]進行對比,見表3。

表3 各類算法在2D MOT 2015測試數據集的結果
從表3可知,本文的算法在MOTA和MOTP上實現了最好的性能,且MOTA得分比位于第二位的CDA-DDAL算法高3.8%。并且丟失的目標軌跡占真實目標軌跡比例以及漏檢的數目最少,在單塊TITAN RTX上以28.6 FPS的速度運行。上述結果驗證了本文提出的融合改進注意力機制的單步雙分支多目標跟蹤算法具有較高的多目標跟蹤準確度和精確度,并且可以有效解決目標的遮擋問題導致的軌跡丟失以及身份切換問題。
為直觀體現本文提出的跟蹤算法的跟蹤效果,從測試數據集TUD-Crossing中選擇3幀視頻圖像來定性分析說明,其中第一行是第36幀行人遮擋發生前;第二行是第47幀行人遮擋正在發生,最右側的兩個行人發生了遮擋與被遮擋;第三行是第56幀遮擋結束。圖4顯示了本文跟蹤算法與其它4種跟蹤算法的跟蹤性能對比結果。由圖4可以看出,本文的算法在遮擋前后的目標檢測以及身份號保持都有不錯的效果;而CDA-DDAL算法雖然身份號保持不錯,但是在第47幀發生了明顯的漏檢;HFRN在第36幀有目標漏檢;Tracktor++不僅在第36幀和47幀有漏檢,而且還發生了明顯的身份號切換;IFMOT在3幀圖像中均出現了漏檢現象,并且還伴隨著遮擋前后的身份號切換,跟蹤準確度較低。結果表明,本文提出的算法在應對遮擋時能保持不錯的跟蹤性能,并且擁有魯棒的檢測性能。

圖4 5種算法跟蹤結果
為了在實現實時多目標跟蹤的同時進一步提高多目標跟蹤精度、減少身份切換次數,本文提出了一種融合注意力機制的單步雙分支多目標跟蹤算法。在聯合檢測與重識別網絡框架的基礎上,添加改進的通道注意力機制,使模型學習到更豐富更具判別性的特征,提高了目標檢測器的精度,同時有效解決了由于遮擋問題引起的身份切換次數增加的問題。為了進一步提高跟蹤速度,在數據關聯階段使用卡爾曼濾波加匈牙利算法的組合方法并利用了運動信息、外觀信息以及IOU信息,實現了快速、準確的跟蹤。從實驗結果可以看出,本文提出的算法在遮擋以及目標形變的復雜環境下,都可以實現不錯的跟蹤性能。