何 明, 朱梓涵,, 韓 偉, 胡 橋, 李明光
(1. 陸軍工程大學指揮控制工程學院, 南京 210007;2.聯勤保障部隊32667部隊,山東 臨沂 276100;3.西安交通大學機械工程學院, 西安 710049)
近年來,無人駕駛飛行器(unmanned aerial vehicle,UAV)在設備巡檢、影像采集、物流投送等任務中得到廣泛應用,無人集群智能應用引起廣泛關注[1]。為減少人工操作的成本,人們引入多目標跟蹤算法來提高無人機的自主導航和感知能力,使其可應用于場景更為復雜的任務中。
多目標跟蹤是指在連續視頻序列中同時估計多個對象隨時間變化的軌跡,傳統的計算機視覺算法多使用概率密度和圖像邊緣特征作為跟蹤標準,例如Meanshift[2]、粒子濾波器[3]和卡爾曼濾波器[4]。Mean-shift是一種基于概率密度分布的跟蹤方法,在進行目標搜索時沿著概率梯度上升的方向,最終迭代地收斂到概率密度分布的局部峰值,該方法適用于物體和背景顏色模型差異較大的情況,早期也用于人臉跟蹤。粒子濾波器基于粒子分布統計,在物體搜索的過程中設置分布粒子(如均勻分布或者高斯分布),統計這些粒子的相似度,從而確定物體可能的位置。卡爾曼濾波器常用于描述物體的運動模型,該方法并不對物體自身的特征建模,而是對物體的運動模型進行建模,通常用于估計下一幀中物體的位置。此外還有基于特征點的光流跟蹤算法,通過在物體上提取一些特征點,然后在下一幀計算這些特征點的光流匹配點,統計得到物體的位置。總體而言,傳統方法預處理過程繁瑣,且易受光照、目標外觀、物體運動等場景因素的影響,泛化能力不強,應用場景比較局限。
近年來,基于深度學習的多目標跟蹤算法不斷發展,其中先檢測后跟蹤(tracking before detection,TBD)的多目標跟蹤算法應用較為普遍,TBD算法通常由兩步組成:首先通過目標檢測器檢測當前幀的目標,然后使用跟蹤器匹配目標特征,并將其與正在跟蹤的目標進行關聯,實現對目標的連續跟蹤。這類方法應用靈活,但最終效果主要依賴于目標檢測器的精度。
當前典型的TBD算法(簡單在線實時跟蹤(simple online and realtime tracking,SORT)[5]、深度關聯度量的SORT(simple online and realtime tracking with a deep association,DeepSORT)[6]和興趣點(point of interest,POI[7])等)多是在通用的目標檢測數據集上進行訓練和驗證,將其直接應用到空對地多目標跟蹤任務中仍存在一定局限。與通用的目標檢測任務不同,空對地視角下的目標檢測數據集存在一定的數據失衡問題,在常用的COCO、ImageNet等數據集中,每張圖像包含1到15個物體,因此每個物體的視野范圍較大。而在航空圖像(如VisDrone[8]數據集)中,一張圖像可能包含數百個小物體,在此前提下小目標便占據較少的空間。
綜上所述,對于空對地多目標跟蹤任務而言,需要重點考慮以下問題:一方面,不同目標的顏色、大小等差異較大,會導致無人機目標識別不準確或錯誤。另一方面,在目標運動強烈或存在遮擋等情況下,一般的匹配跟蹤算法容易失效,無法準確追蹤目標。此外,現有的算法模型網絡層較深,參數較多,導致計算能耗大,難以適配無人機平臺搭載的邊緣計算設備。
針對上述問題,提出了一種基于注意力機制和特征匹配的多目標空對地跟蹤算法MatchSORT,主要工作如下:1)引入通道分離卷積設計SIR(Shu-ffleNet inverted residual)倒置殘差模塊,精簡目標檢測模型的骨干網絡,使其適用于無人機搭載的低算力平臺。2)添加融合空間注意力機制的小目標檢測分支,在不增加較多參數量的前提下保證檢測精度。3)精簡目標跟蹤算法的特征重識別網絡,在融合目標外觀特征的同時提高解算速度,實現對多目標的連續跟蹤。
基于深度學習的目標檢測方法是在圖像分類的基礎上,進一步判斷區域內是否有需要檢測的目標類別。目前的目標檢測算法可分為兩類,一類是以R-CNN、Fast R-CNN[9]、Mask R-CNN等為代表的兩階段(two stage)目標檢測算法,它們首先利用卷積神經網絡對輸入圖片提取深度特征,再由區域候選網絡(region proposal network)生成候選區,完成對目標位置的初步定位,最后解決分類和回歸問題,判定目標的類別。另一類是以YOLO[10]和 SSD[11]等為代表的單階段(one stage)目標檢測算法,核心思想是設計邊界框(bounding box)預測目標坐標,在完成特征提取后直接進行回歸和分類運算,得到位置和類別結果。與兩階段算法相比,單階段算法精度略低但運行速度更快,其中YOLO系列算法性能均衡,得到了業界的廣泛應用。
與目標檢測相比,多目標跟蹤需要在視頻序列中重新識別目標的特征,即對連續幀中的目標分配編號,實現幀間的關聯。BEWLEY等[5]提出了SORT跟蹤算法,使用了基于卷積神經網絡的網絡Faster RCNN和傳統的行人檢測模型ACF,通過線性卡爾曼濾波器和匈牙利算法解決動作預測和數據關聯的問題,但該算法的缺陷是當目標丟失后無法找回,只能通過檢測重新更新ID,因此融合外觀特征的DeepSORT算法應運而生,然而DeepSORT算法的外觀重識別網絡結構較為冗余,模型權重占據空間較大,一定程度上造成了計算資源的浪費。
所提MatchSORT算法,其主要流程如圖1所示。系統工作時,首先由采集輸入層將捕捉的視頻流轉換為連續的圖像幀,在視頻處理層實現對目標的連續跟蹤,為驗證算法的實時性能,設計了可視化前端,用于可視化物體運動軌跡。該算法主要分為目標檢測和目標跟蹤兩個階段,由于目標檢測是目標跟蹤的前置工作,本節首先介紹目標檢測算法的改進。

圖1 算法流程圖Fig.1 Algorithm flow chart
單階段目標檢測算法的骨干網絡部分負責圖像特征提取,當前通用的骨干網絡多是由二維卷積塊、批量歸一層、SiLU激活函數構成(如RestNet[12]、Darknet53等)。參考ShuffleNet[13]網絡結構,設計一種SIR倒置殘差(ShuffleNet inverted residual)模塊,用于替換原有骨干網絡中的二維卷積模塊,以減小參數量。核心思想是通過引入通道可分離卷積(channel split convolution),將輸入層的不同特征圖進行分組,而后使用1×1卷積逐點進行計算以降低計算開銷,對不同組進行通道混洗(channel shuffle),實現跨組信息交流。
如圖2(a)是SIR基本模塊,首先對輸入圖片進行通道維度的分離,而后通過逐點卷積以及深度可分離卷積實現特征提取,最后通過通道聚合以及通道混洗得到輸出特征圖。圖2(b)在此基礎上增加了下采樣操作,由于并沒有進行通道分離操作,其輸出通道數擴大1倍,相應的步長也變為2,實現對圖像的下采樣。與原有二維卷積模塊相比,SIR模塊通過通道相加,擴展網絡的寬度而不是深度,在不顯著增加推理速度的情況下提高了網絡的特征提取能力。此外,該模塊將原有ReLU激活函數替換為Leaky ReLU激活函數,在激活函數的負半區間引入一個泄漏(leaky)值,避免神經元的失活。

(a) 基本模塊

(b) 下采樣模塊
骨干網絡提取的特征要通過頸部網絡實現特征的聚合,骨干網絡的精簡一定程度上會削弱其特征提取的能力,為保證精簡后網絡的信息提取效果,在目標檢測模型的頸部網絡中增加小目標檢測分支,核心思想是通過采樣更大的特征圖和更小的錨框進行檢測,降低背景噪聲的影響。頸部網絡通過特征金字塔(feature pyramid network,FPN)結構實現對特征圖層的聚合操作,因此在分支中添加CBAM(convolutional block attention module)空間注意力機制[14],將其與自頂向下的FPN網絡結合,用來學習不同尺度特征對結果的貢獻率,融合后的特征圖被送入不同尺度的預測頭,得到最終結果。
如圖3所示,該機制同時作用于圖像的通道域和空間域,在這兩個維度上調整權重優化的方向,使得網絡專注于更重要信息的提取。CBAM設計了兩個獨立的子模塊,分別是通道注意力(channel attention, CA)模塊和空間注意力(spatial attention, SA)模塊。當特征圖輸入后,首先進入CA模塊,基于特征圖的寬、高進行最大池化和平均池化的并行操作,實現圖像維度的擠壓,相比較于單一池化操作,并行池化可以得到兩個1×1×C的特征圖,保留更多信息。這兩個特征圖經由共享的多層感知機后進行加和操作,并通過Sigmoid激活函數得到歸一化的通道注意力特征,將該特征與輸入特征圖進行乘法操作,生成SA模塊所需要的輸入特征。在SA模塊中,首先基于通道對輸入特征進行全局最大池化和平均池化的串行操作,得到兩個H×W×1的特征圖,將這兩個特征圖拼接,然后使用7×7卷積和Sigmoid激活函數得到空間維度的注意力特征,通過乘法操作逐通道加權到原始輸入特征圖上,得到最終輸出的特征圖。

圖3 空間注意力結構圖Fig.3 Spatial attention structure diagram
最終改進的網絡結果如圖4所示,以SIR模塊為基本單元,替換骨干網絡中的二維卷積模塊,并逐層增加卷積通道數,相對應的池化層規模也進行縮減。頸部網絡實現跨階段特征圖的融合,該部分參數量較小。為了增強頸部網絡提取關鍵信息的能力,添加了尺度為32×32的小目標檢測分支,并在FPN中融入空間注意力機制,以得到包含更多關鍵信息的特征圖。對比原YOLOv5s模型的規模(網絡層數270層,參數量約700萬個),優化后的模型網絡層數為277,參數量約為150萬個,雖然添加注意力機制增加了網絡層數,但全部參數量卻只有原模型的21%,整體上實現了網絡結構的輕量化。

圖4 網絡結構圖Fig.4 Network structure diagram
經典的SORT算法采用傳統的單假設跟蹤方法,即假設目標為勻速運動模型,使用遞歸卡爾曼濾波器來關聯逐幀數據,實現目標的連續跟蹤,由于運動特征的關聯較為單一,因此該方法的魯棒性一般,參考DeepSORT跟蹤算法引入外觀分支約束,并使用2.3節提出的SIR倒置殘差模塊重新設計了外觀提取網絡模型,提取目標的外觀特征進行最近鄰匹配,以提高遮擋情況下的多目標跟蹤效果,緩解跟蹤過程中目標ID丟失的問題。
視頻流經YOLOv5目標檢測模型經處理后,可初步得到目標的位置信息,然而僅靠單幀圖像的檢測結果難以實現人物軌跡的提取,還需對目標檢測的輸出結果進一步處理,實現對視頻目標的逐幀跟蹤。
目標檢測的最終輸出結果為矩陣H=[x,y,w,h,Confidence],其中Confidence為置信度。x和y表示圖像坐標系下邊界框的中心坐標,w和h表示邊界框相對于整個像素的寬度和高度,這四個變量可用來描述目標的運動信息。采用卡爾曼算法和匈牙利匹配算法實現對檢測目標的關聯,整體上分為預測和更新兩步。在預測階段,采用基于勻速運動模型的標準卡爾曼濾波器,使用8維狀態矩陣[u,v,r,h,u′,v′,r′,h′]作為目標的直接觀測模型,其中(u,v)為邊界框的中心坐標,(r,h)分別為邊界框的縱橫比和高,后4個值則表示它們的一階導數,即以中心點為運動質點,u′為水平方向的速度,v′為垂直方向的速度,r′為t時刻相對于t-1時刻邊界框寬高比的變化率,h′表示為t時刻相對于t-1時刻邊界框高度的變化率。根據該狀態矢量,使用公式(1)、(2)預測當前幀的目標幀位置和速度等參數。
(1)
(2)

(3)
Pt|t=Pt|t-1-Kt·Ht·Pt|t-1
(4)
(5)

參考DeepSORT算法,重新設計外觀識別網絡用于提取視頻幀中的人員ReID信息在級聯匹配的更新過程,通過比較幀間目標ReID的余弦相似度來約束關聯程度結果。
原有DeepSORT算法的人員重識別模型如圖5(a)所示,由BasicBlock殘差結構組成,為6層殘差網絡結構,該模塊擁有兩層卷積層,兩層批歸一化層,殘差結構經過交替出現的兩層卷積,與經過卷積運算的結果一起輸入到激活函數作為本層的最終輸出,總體而言網絡模型較為復雜,也容易提取較多冗余信息。采用基于2.1節所述的SIR基礎模塊和SIR下采樣模塊,設計新的外觀提取網絡如圖5(b)所示。

(a) 原有外觀提取網絡

(b) 改進后外觀提取網絡
在進行特征提取時,首先截取邊界框中的目標圖像,然后進行歸一化處理,將像素值縮減到[0,1]區間,之后調整為124×224的尺寸,減去圖像的標準值和方差,消除公共背景的影響,凸顯個體之間的差異和特征,經過特征提取網絡后,可以得到反映圖像樣本特征的多維矢量,改進后的外觀提取網絡參數量從115萬個降低到24萬個,大大降低了計算資源。
對于提取到的外觀特征矢量,利用特征庫B來存儲每個跟蹤ID的外觀特征。當有新的檢測結果出現時,將其依次與B內存儲的外觀特征進行比較,求出最小余弦距離,如公式(6)所示,該值即為外觀特征關聯的約束閾值d。
(6)
數據集:采用VisDrone2019-MOT數據集進行訓練與測試。該數據集由天津大學發布,源于多種型號的無人機在國內14個城市的實拍場景,訓練集包含27個視頻序列,測試集包含14個視頻序列。
實驗環境:實驗在Windows10操作系統下進行,CPU為Intel I9 10900K@3.20Ghz,GPU為NVIDIA RTX3090@24GB,內存為32GB,語言環境為Python 3.8.5,在深度學習框架Pytorch 1.8.0下進行訓練。
評價指標:綜合選取MOTA、IDF1、IDSwitch、FPS等指標,評估算法的運行精度和運行速度。其中MOTA是指多目標跟蹤的準確度,用于統計在跟蹤中的誤差積累情況,包括對跟蹤目標個數以及是否正確匹配;IDF1是指跟蹤的準確率和召回率的比值;IDSwitch是指目標ID改變的次數;FPS為算法運行時的幀率,用來評估算法的實際運行速度。
為更好驗證所提MatchSORT算法的性能,選取幾種具有代表性的目標跟蹤算法作對比,最終結果如表1所示。所提算法的MOTA值為43.1,IDF1值為62.3,IDSwitch值為802,FPS值為21.31,相比于原有DeepSORT算法各項指標均有所提升,特征匹配網絡的精簡則進一步提高了網絡的運行速度。與基于不同目標檢測模型的其他TBD算法相比,MatchSORT算法在算法精度和運行速度方面均實現了良好的平衡。
4.2.1 目標檢測模型改進分析
為檢驗所提目標檢測算法的改進效果,在VisDrone2019數據集上選取多種輕量化網絡結構作為骨干網絡,選取全類平均正確率mAP作為評估檢測模型的指標,最終結果如表2所示。所提SIR模塊在未添加CBAM時,精度達到77.4%,權重大小僅為2.64 MB。在添加CBAM注意力機制后上漲了1.9,而參數量僅增加了30萬個。原有YOLOv5s模型在精度上比改進檢測算法高4.49%,但其參數量非常大,不夠高效,因此無法在一般設備上實時運行。
圖6是不同模型的PR曲線,與EfficientNet、MoileNetV3、GhostNet、PP-LC以及原有的ShuffleNetV2相比,改進模型在精度和模型大小上都實現了很好的平衡。

表2 目標檢測結果對比圖

圖6 PR曲線對比圖Fig.6 Comparison of PR-Curve
為進一步評估添加的小目標檢測分支和注意力模塊的效果,對原有模型和改進后模型得到的特征圖進行可視化分析,如圖7所示,圖7(a)為改進前的目標檢測模型,當作對照組, 圖7(b)為改進后的實驗組。在特征提取的前期(階段1),兩種模型均可以提取出圖像的淺層語義特征(邊緣、顏色等),而在特征提取的后期階段,改進的目標檢測模型可以更好地抽象出圖像的高級語義特征,與之相比原有模型則丟失了很多特征信息(階段4)。

圖7 特征圖對比Fig.7 Comparison of feature maps
4.2.2 特征匹配模型改進分析
為驗證所提外觀提取網絡的識別精度,截取數據集中部分行人和車輛的圖片,分別將其劃分為正樣本對和負樣本對,進行特征提取后計算每對樣本間的余弦相似性,所得結果如圖8(圖中橫縱坐標表示像素值)所示。對于人員樣本而言,正負樣本的余弦相似度分別為90.42%和49.15%,可以較好判別樣本間的特征是否匹配。對于車輛樣本而言,正樣本的余弦相似度為81.44%,負樣本的余弦相似度為74.06%,類間并不是很大。這是由于與人員樣本相比,車輛樣本的外觀特征僅體現在顏色等較為明顯的特征,易受光線等外界因素的影響。

(a)

(b)圖8 外觀識別網絡效果圖Fig.8 Appearance recognition network rendering
4.2.3 可視化結果
為驗證算法的實際運行效果,使用QT框架實時顯示可視化跟蹤效果,結果如圖9所示,可見,MatchSORT算法對于空對地視角的視頻流可實現較好的跟蹤效果,當出現雜物遮擋或者光線強烈的復雜環境時也能實現對目標的連續跟蹤。

圖9 可視化界面圖Fig.9 Visualization interface diagram
針對多目標空對地跟蹤任務中存在的小目標檢測困難、算法能耗大等問題,提出多目標空對地跟蹤算法MatchSORT,用于無人機實時檢測,總體思路是先優化目標檢測模型,再改進目標匹配過程,并在VisDrone2019-MOT數據集進行驗證。根據實驗結果可得出如下結論:1)采用了新的目標檢測模型后,相比原DeepSORT算法,MatchSORT算法的MOTA值提高了0.6%,FPS值為21.31幀/s,精度值和運行速度方面均有一定提升。進一步實驗表明,所提的小目標檢測分支提升了算法提取深層特征的能力,所提的特征匹配模塊在經過網絡精簡后仍能保持一定的類間區分性,有助于目標的級聯匹配。2)綜合來看,各改進模塊均實現了預期效果,然而算法對于更為細小的目標仍存在跟蹤丟失的情況,下一步將針對此問題進行改進。