晏 康,曾鳳彩,何 寧,賀宇哲,張 人
1.北京聯合大學 智慧城市學院,北京 100101
2.北京聯合大學 北京市信息服務工程重點實驗室,北京 100101
多目標跟蹤(multi-object tracking,MOT)是計算機視覺中的基本任務之一,是指在不需要事先知道目標的外觀和數量的情況下,對視頻中的多個物體進行識別和跟蹤[1]。與目標檢測算法不同,目標檢測算法的輸出是一些包含有目標的矩形邊界框,而MOT 算法還要將目標的ID 與這些邊界框進行關聯,不同的目標應該分配不同的ID,以區(qū)分類內對象。多目標跟蹤仍然存在一些挑戰(zhàn),目前先進的解決方案[2-5]大多屬于基于檢測的跟蹤(tracking by detection)方法,它們將多目標跟蹤分為兩個步驟:(1)檢測出單獨幀中的所有感興趣目標;(2)將這些目標按照邊界框裁剪下來分別輸入到一個嵌入模型中,并提取它們的表觀特征,將目標根據表觀特征和邊界框的交并比關聯到已有軌跡上。這類MOT模型需要兩個計算量非常大的組件,即目標檢測器和嵌入模型(通常是重識別模型,即Re-ID模型)。由于目標檢測和Re-ID技術發(fā)展迅速,產生了許多優(yōu)秀的目標檢測方法和Re-ID方法,基于這兩種算法的多目標跟蹤算法具有很高的準確率。但是,這類算法的推理耗時通常都很長,這是因為它們需要經歷兩個提取特征的過程:提取目標檢測特征和目標的表觀特征,并且這兩個過程中提取的特征是無法共享的,因此也就會帶來過長的推理時間,導致跟蹤速度過慢,無法實時應用。
隨著多目標跟蹤技術的發(fā)展,一類針對現有多目標跟蹤模型推理速度過慢的問題所提出方法正引起關注,這類方法將表觀嵌入和目標檢測集成到單一網絡中并行地完成目標檢測和表觀特征的提取,將多目標跟蹤轉化為多任務學習,即同時完成目標的分類、定位和跟蹤三項任務,讓目標檢測和重識別能夠共享同一組特征,不再需要一個單獨的Re-ID模塊,二者分擔了大部分的計算,使得這類方法能夠達到接近實時的推理速度。Wang等人[6]提出了JDE(joint detection and embedding)方法,Zhan等人提出了FairMOT方法[7]并將這類模型稱為one-shot方法。
本文在JDE算法的基礎上,提出基于注意力機制的Attention-JDE算法,針對目標尺度小以及目標重疊的問題,設計了一種基于注意力機制的特征增強模塊,使得模型更加關注視頻中的重要特征且能夠擴大模型感受野,通過添加特征增強模塊并引入Mish 激活函數能夠提升模型對于小目標以及重疊目標的跟蹤效果,最終Attention-JDE 算法在MOT16 數據集[8]取得了比原JDE方法更高的跟蹤精度(MOTA)并且能夠保持較高的推理速度。
Zhan等人提出的FairMOT中將多目標跟蹤方法分為兩種類型:two-step 方法和one-shot 方法,two-step 方法也就是基于檢測的跟蹤方法,雖然這類方法通常有較高的準確率,但速度通常很慢。比較具有代表性的oneshot 方法有Track-RCNN[9]和JDE 方法,Track-RCNN 在Mask-RCNN[10]網絡的頂部添加一個全連接層提取一個128維表觀特征用于后續(xù)的軌跡關聯,不僅通過檢測邊界框進行跟蹤,而且能夠在像素級層面進行目標跟蹤,但是由于Track-RCNN是在兩階段目標檢測方法上進行擴展,因此速度仍然很慢。針對這一問題,Wang等人提出了JDE方法,通過擴展單階段目標檢測方法YOLOv3[11],在YOLOv3 的yolo 層額外提取一段特征作為表觀特征,能夠并行提取目標檢測特征和表觀特征,隨后利用卡爾曼濾波和匈牙利算法完成目標的跟蹤和匹配,將原YOLOv3 方法轉化為分類、定位、嵌入的多任務學習網絡模型,具體地說,JDE方法基于特征金字塔[12]構建,將Darknet-53作為骨干網絡,通過骨干網絡后三個尺度的特征圖構建特征金字塔,再將三個尺度的特征圖分別利用跳躍連接將YOLOv3的yolo層加深512維,最后將加深后的特征圖用于目標檢測和軌跡關聯,JDE 相比two-step 方法節(jié)省了一個Re-ID 模塊的計算量,最終準確率接近領先的two-step方法,同時可以獲得接近實時的推理速度。
注意力機制可以用人類的生物系統(tǒng)來解釋,由于人體計算資源的限制,人們往往會有選擇地將注意力集中在一部分信息上,同時忽略其他信息,從而有助于人的感知[13-14],而在計算機視覺任務中使用注意力機制同樣能夠使模型更加關注有用的信息,有助于提取視頻中的復雜特征信息。注意力機制按照作用維度可分為空間域注意力機制、通道域注意力機制以及混合域注意力機制,其中混合域注意力機制是前兩者的結合??臻g域注意力機制的主要思想是關注特征圖中更重要的像素位置,相當于關注目標“在哪里”,而通道域注意力機制的主要思想是關注特征圖中更重要的通道,相當于關注目標“是什么”。Hu 等人[15]提出的SENet 通過損失函數來學習各個特征通道的權重參數,使重要的通道獲得更高的權重,同時抑制重要性較低的通道對輸出的影響。Woo等人[16]在SENet的基礎上提出CBAM(convolutional block attention module),CBAM 方法在通道注意力的基礎上結合空間注意力,能夠對通道維度和空間維度的特征進行壓縮和重新加權操作,使得網絡模型同時關注通道和空間維度上更重要的特征,在多個計算機視覺任務中獲得良好的效果。Wang等人[17]提出的ECA-Net利用自適應卷積核尺寸的一維卷積來代替SENet 中的全連接層,能夠有效地減少參數量,利用這種注意力模塊能夠使輕量化模型在僅增加極少參數量的同時獲得較高的性能提升。Jaderberg 等人[18]提出的空間變換網絡(spatial transform networks)通過對圖像或者特征圖進行空間變換來提取圖像中的關鍵信息,使得網絡模型具有空間不變性,即在目標被縮放、旋轉、平移后模型仍然能有效地對目標進行識別。Wang等人[19]提出一種殘差注意力網絡(residual attention network),分為主干分支和掩膜分支,主干分支是一個普通的前向網絡,掩膜分支包含多次下采樣和上采樣,通過編碼-解碼的結構能夠學習輸入特征圖上每個像素點的重要性,從而增強重要的特征,抑制無意義的特征,將這種殘差注意力模塊與ResNet[20]結合能夠進行端到端的學習,最終該網絡在ImageNet[21]數據集上表現良好。
Attention-JDE 網絡使用改進的DarkNet-53[11]作為骨干網絡,共有5 次下采樣操作,利用最后三次下采樣得到的特征圖構建特征金字塔,在特征金字塔的三個尺度的特征圖之后分別接入特征增強模塊,通過特征增強模塊能夠進一步獲得多尺度特征,增強對于小尺度目標的跟蹤能力,并且能夠使得網絡更加關注重要的特征,增強對于重疊目標的檢測能力,最后利用三個尺度下的特征圖進行預測,輸出最終結果,整體網絡結構及計算流程如圖1所示。
本文骨干網絡根據DarkNet-53修改設計,該網絡在DarkNet-19[22]的基礎上加入了殘差模塊并且使用了大量的3×3 和1×1 卷積構成的Bottleneck 結構,使網絡擴展到了53 層。如表1 所示,DarkNet-53 共包含5 次下采樣卷積操作,每次下采樣卷積操作使特征圖大小縮小至一半,同時通道數增加一倍,網絡末端的特征圖比初始輸入降低了32 倍,因此初始輸入圖像的大小應該為32 的整數倍,本文根據視頻數據集的分辨率,將原網絡的輸入大小修改為1 088×608,網絡末端輸出的特征圖大小為34×19,利用最后三個尺度的特征圖構建特征金字塔,利用特征金字塔完成多尺度特征融合,有利于提取小尺度目標的特征。除此之外,本文將原DarkNet-53使用的Leaky Relu 激活函數替換為Mish 激活函數[23],Mish 激活函數是一個光滑的、連續(xù)的、非單調函數,并且Mish 激活函數無上界有下界,使用Mish 激活函數能夠讓模型的梯度傳導更加平滑,保留更多的有效信息,增強模型的泛化能力,在Attention-JDE 中使用Mish 激活函數能夠提升模型對于目標的檢測能力,從而更有利于對重疊目標的檢測與跟蹤,有效地減少ID 切換的發(fā)生,Mish 激活函數的數學形式如公式(1)所示,函數圖像如圖2所示。
表1 DarkNet-53網絡結構Table 1 Network structure of DarkNet-53
其中
本文在骨干網絡末端增加了特征增強模塊,如圖3所示。特征增強模塊由通道注意力模塊、空間注意力模塊以及空間金字塔池化模塊組成,使用該特征增強模塊能夠有效地提煉關鍵特征,同時擴大模型感受野,提高特征提取效率。
(1)通道注意力模塊
通道注意力模塊的輸入為前一次卷積的輸出,表示為F∈?C×H×W,如圖4所示,利用最大池化和平均池化獲取全局的通道特征分布信息,分別表示為FCmax∈?C×1×1,FCavg∈?C×1×1,下一步將上述兩個特征向量經過含有一個隱藏層的多層感知機(MLP),再將得到的特征向量相加并經過一次sigmoid 操作(σ)得到最終的通道注意力權重MC(F),通過MC(F)與原輸入特征相乘,為包含關鍵信息的通道分配高權值,為其他通道分配低權值,從而實現通道注意力,通道注意力的表示如公式(3)所示:
(2)空間注意力模塊
其中,f7×7表示卷積核尺寸為7的卷積操作。
(3)空間金字塔池化模塊
空間金字塔池化(spatial pyramid pooling,SPP)模塊屬于多尺度融合的一種,使用SPP能夠擴大模型感受野,使特征包含更多的上下文信息,從而增加模型的目標檢測精度,進而提升目標跟蹤效果。SPP模塊包含三次最大池化操作,將輸入特征Fin∈?C×H×W分別進行5×5、9×9、13×13的最大值池化,均通過在特征圖周圍補0保持特征圖大小,接著將三次池化的特征圖進行通道維度的拼接完成特征融合,SPP 的計算過程如公式(5)所示:
其中,Maxpooln×n()表示核大小為n的最大池化操作,⊕表示concatenate操作。
本文在特征增強模塊之后,利用所提取的特征圖完成結果預測。如圖6所示,Attention-JDE的預測層可分為兩個分支,分別是目標檢測分支和嵌入分支,其中目標檢測分支完成對目標的分類與定位,嵌入分支完成目標表觀特征的提取,隨后將表觀特征用于后續(xù)的軌跡關聯。
(1)目標檢測分支
采用與YOLOv3相同的方式,本文將目標的分類與定位視為回歸任務,在網絡末端的三個尺度的特征圖上利用預定義的Anchor box 進行回歸,每一個尺度上都分配4 個尺寸的Anchor box。Anchor box 的預定義尺寸通過在基準數據集上使用k-means聚類計算獲得,共聚成12類,公式(6)表示k-means的代價函數:
給定樣本{x(1),x(2),…,x(m)},x(i)在本文中是二維向量,即寬和高,首先隨機選取k個聚類中心{μ1,μ2,…,μk},對于每個樣本點,遍歷所有的k個聚類中心,計算與該樣本點x(i)的歐氏距離最小的中心μj,將x(i)的類別設為μj所對應的簇ci,即:
接著在更新完所有樣本的類別后,計算每個簇ci中所有樣本的均值,并將這個均值作為新的聚類中心,進行下一次迭代,直到聚類中心不再變化或者達到最大迭代次數為止,將最終得到的聚類中心作為本文的Anchor box設定。
根據所設定的Anchor box尺寸以及輸入圖像的尺寸1 088×608,分別在圖像上劃分136×76、68×38、34×19個網格單元,分別對應網絡末端三個尺度的特征圖。當Ground Truth中目標的坐標落入的網格單元時,那么這個網格單元就負責預測這個目標,利用邏輯回歸,得到na×(1+4+len(classes))維的向量作為檢測結果輸出,其中na對應每個網格單元上分配的anchor box 的數量,在這里設置為4,1對應目標置信度,4對應邊界框的中心坐標和寬高,len(classes)對應目標種類的數量。此外,網絡輸出的邊界框的坐標實際上是相對于網格單元的偏移量,因此根據公式(8)轉換為實際圖像中的位置,(tx,ty,tw,th)是模型輸出的中心坐標和寬高,σ表示sigmoid 函數,cx、cy分別表示當前網格單元的行號和列號,pw、ph分別表示Anchor box的寬和高,(bx,by,bw,bh)表示邊界框的實際中心坐標和寬高。
(2)嵌入分支
嵌入分支的作用是生成一段能夠用于區(qū)分同類內不同目標的特征,因此,本文在網絡的特征金字塔后方添加一系列卷積操作,提取一段512維的特征圖作為跟蹤所需的表觀特征,尺寸與相應的特征尺度相同,為136×76、68×38、34×19,對于單個目標,表觀特征就是特征圖中的單個512 維的特征向量。隨后通過多目標跟蹤中常用的卡爾曼濾波[24]和匈牙利算法[25],利用前面提取的表觀特征完成軌跡關聯。具體做法是,首先根據視頻第一幀的檢測結果初始化一些軌跡,對于后續(xù)幀中檢測出的目標,根據它們與現有軌跡之間的表觀特征的距離和交并比計算代價矩陣,利用匈牙利算法完成匹配,除此之外還利用卡爾曼濾波預測目標在當前幀的位置,當目標位置與其被分配的軌跡距離超過設定的閾值時放棄匹配這個目標。如果某條軌跡沒有被分配新的目標,就將這條軌跡標記為丟失狀態(tài),當某條軌跡丟失時間超過給定的閾值時,就放棄繼續(xù)更新這條軌跡。
3.1.1 數據集
本文使用的訓練集為六個用于行人檢測、多目標跟蹤的公開數據集的整合數據集,分別是ETH 數據集[26]、CityPersons 數據集[27]、CalTech 數據集[28]、CUHK-SYSU數據集[29]、PRW 數據集[30]、MOT17 數據集[8],在MOT16數據集上進行結果驗證,訓練集中與測試集重復的部分已被剔除。訓練集共包含54 000 張圖片,270 000 個邊界框標注和8 700個ID標注。
3.1.2 評估標準
評估標準采用MOT challenge評估標準進行評價,具體評價指標以及各指標含義如下,↑表示該值越高效果越好,反之亦然:
MOTA(↑):多目標跟蹤準確度;
MOTP(↑):多目標跟蹤精度;
MT(↑):目標跟蹤軌跡占ground truth長度80%以上的軌跡總數;
ML(↓):目標跟蹤軌跡占ground truth長度不超過20%的軌跡總數;
IDSw(↓):目標ID發(fā)生改變的總數;
FP(↓):false positives總數,即誤檢總數;
FN(↓):false negatives總數,即漏檢總數;
FPS(↑):幀率。
其中除MOTA 以及MOTP 外的指標均通過對結果統(tǒng)計獲得,MOTA的計算如公式(9)所示,其中GT表示ground truth的數量:
MOTP的計算如公式(10)所示,其中ct表示第t幀中匹配成功的數目,dt,i表示檢測結果i和相應的ground truth直接的重疊率。
實驗基于單個NVIDIA RTX 2080Ti GPU進行,以DarkNet-53 為骨干網絡,所有網絡均未使用預訓練權重,訓練過程中,使用SGD 隨機梯度下降法進行50 個epochs 的訓練,動量值0.9,衰減因子為1E-4,初始學習率為0.625×1E-2,并分別在第25 個和第37 個epoch 衰減為0.625×1E-3 和0.625×1E-4,batch size 設置為4。此外使用了諸如旋轉、縮放和色彩抖動等常用的數據增強技術以防止模型過擬合。
本文首先探討了不同類型的注意力機制對跟蹤效果的影響,包括空間域注意力機制(SAM)、通道域注意力機制(CAM)和混合域注意力機制(CBAM),表2展示了上述幾類注意力機制對Attention-JDE的影響,數據在MOT16 訓練集上驗證獲得??梢钥闯鯯AM 對模型提升比CAM 大,究其原因,MOT16 數據集中的目標類別僅包含行人一類,所以對網絡模型的分類能力要求較低,對定位能力要求較高,因此能夠使網絡更關注目標“在哪里”的空間域注意力機制能夠為模型帶來更大的提升。此外,本文探討了混合域注意力機制中兩種排列方式對結果的影響,可以發(fā)現,在SAM 之后添加CAM后效果反而不如單獨添加SAM。為此將添加了上述幾種注意力機制輸出結果可視化后得到如圖7 所示的結果。顏色越深代表對模型結果的影響越大,通過觀察該可視化結果可以看出,圖7(a)的熱力圖的紅色區(qū)域最為彌散,包含了過多的背景信息,圖7(d)則能夠較為完整地覆蓋整個目標并且紅色區(qū)域相對集中,圖7(b)、(c)則介于兩者之間,由此可以得出,在SAM之后添加CAM,會對已經被SAM 提煉出的關鍵特征造成一定的破壞,導致網絡對于關鍵特征的提取能力下降,影響最終的跟蹤效果。
表2 不同注意力機制間的對比結果Table 2 Comparison of different attention mechanisms
表3 展示了Attention-JDE 在MOT16 測試集上與其他主流方法的對比,Attention-JDE 可以達到62.1%MOTA,同時FPS 能夠達到19.5,值得注意的是,表3 中其他方法都是two-step 方法,因此表中的FPS 數據只與關聯步驟有關,實際應用中檢測步驟會消耗更多的時間,而Attention-JDE屬于one-shot方法,推理速度與整個系統(tǒng)中從檢測到關聯所有步驟有關,可以看出Attention-JDE在跟蹤精度接近的情況下,能夠獲得遠超于其他方法的推理速度。表3所有引用數據均來自MOT challenge官方網址https://motchallenge.net/。
表3 不同方法在MOT16測試集上的結果對比Table 3 Comparison of different methods on MOT16 test set
同時,本文在MOT16 訓練集上做了相應的消融實驗,如表4 所示,展示了本文在JDE 方法基礎上添加各模塊以及修改骨干網絡激活函數對模型的影響。結果顯示,添加CBAM 后MOTA 提升了2.2 個百分點,并且能少量降低IDSw,添加SPP模塊后MOTA提升了1.8個百分點,但是也會導致更多的IDSw,使用Mish 激活函數MOTA 能夠提升0.7 個百分點,同時能夠降低IDSw約10%。結果表明,添加特征增強模塊后能夠有效地提升模型性能,但是SPP的加入會導致過高的IDSw,使用Mish 激活函數則能夠有效地改善跟蹤過程中的ID 切換問題。由于特征增強模塊會增加模型的計算量,也就會導致推理速度略微降低,而Mish 激活函數相比起Leaky Relu具有更多的負梯度傳傳導,因此也會略微降低推理速度。最終Attention-JDE 相比原JDE 在只降低1.8 FPS的情況下MOTA提升了2.6個百分點,同時能夠減少IDSw。此外,如圖8 所示,將Attenttion-JDE 與原JDE 的預測效果可視化后對比,從高亮部分可以看出,在目標遮擋或尺度較小時JDE 并不能有效地對目標檢測并跟蹤,而Attention-JDE 則能有效地改善這些問題,結果表明Attention-JDE在目標尺度較小、目標有重疊情況時的跟蹤效果更好,具有更強的魯棒性。
表4 各模塊消融實驗Table 4 Ablation experiment of each module
本文提出了一種引入注意力機制的JDE 多目標跟蹤算法:Attention-JDE,該算法使用Mish 函數作為骨干網絡的激活函數,使得模型的梯度傳導更加平滑。因此,保留了更多有效的特征信息,有效降低了模型跟蹤時的ID切換次數。該模型使用注意力機制并結合空間金字塔池化方法,提出了一種特征增強模塊,從而提升了網絡提取目標關鍵特征的能力,增強了模型對于不同感受野下特征的提取效果。并且能夠有效改善目標尺度較小、目標重疊時的跟蹤能力,有效地提升了模型檢測與跟蹤的準確率。實驗結果表明,本文提出的Attention-JDE 模型在幾乎不降低推理速度的情況下能夠取得較高的MOTA,在精度和速度之間做到了更好的權衡,有較強的綜合性能。未來的工作針對模型在跟蹤過程中的ID切換次數較多的問題進行探索研究。