歐陽博,朱勇建,楊禮康,王本源
1.浙江科技學院機械與能源工程學院,杭州 310023
2.上海應(yīng)用技術(shù)大學計算機科學與信息工程學院,上海 401800
3.寧波敏捷信息科技有限公司,浙江 寧波 315300
隨著無人機技術(shù)的快速發(fā)展,無人機因其靈活、緊湊、輕便等優(yōu)點,廣泛應(yīng)用于智能視頻監(jiān)控、目標識別、醫(yī)學診斷、視覺導航和空間監(jiān)控等領(lǐng)域[1]。
多車輛跟蹤(multi-vehicle tracking,MVT)是無人機重要應(yīng)用場景之一。MVT是對視頻中多個車輛目標進行檢測和定位,并賦予身份識別號(identification,ID),再通過數(shù)據(jù)關(guān)聯(lián)方法來維持車輛各自的ID 號,實現(xiàn)軌跡追蹤的連續(xù)性。目前大多數(shù)的多目標跟蹤方法都采用先檢測后跟蹤(tracking by detection,TBD)范式[2],該范式實施步驟:首先通過檢測算法獲取當前幀目標檢測框消息(包括目標位置信息、類別、置信度得分),再使用現(xiàn)有的預測方法對當前幀目標位置進行估計或者使用特征提取方法(如重識別[3-4]、REID(re-identification)、Transformer[5]等網(wǎng)絡(luò)模型將檢測框內(nèi)的外觀特征處理成低維向量)獲得當前幀目標外觀特征向量,最后將目標位置的估計值或外觀特征向量與下一幀目標檢測框進行IOU 匹配或外觀特征匹配,若前后幀判定為同一目標,則賦予相同的ID,維持目標軌跡的連續(xù)性,實現(xiàn)多目標追蹤任務(wù)。
針對TBD 范式的研究,Bewley等人[6]提出SORT算法,利用卡爾曼濾波[7](Kalman filter,KF)對當前幀目標檢測框的位置進行預測,然后與下一幀檢測器獲取的目標檢測框進行IOU 匹配,再通過匈牙利算法[8]進行最優(yōu)分配,實現(xiàn)多目標跟蹤。但該算法未考慮目標被遮擋情況,導致ID 頻繁切換。DeepSORT[9]算法將外觀特征匹配引入到數(shù)據(jù)關(guān)聯(lián)中,用以解決SORT算法所存在的問題。當目標被遮擋時,通過保存目標遮擋前的外觀特征信息,用以保留該目標的ID,當目標遮擋結(jié)束后,可以利用遮擋前、后的外觀特征信息進行匹配,從而有效地解決了目標因遮擋發(fā)生ID切換的問題。Wang等人[10]提出JDE 算法和Zhang 等人[11]提出FairMOT 算法都是在一個網(wǎng)絡(luò)模型中同時訓練目標檢測模型和外觀特征模型,通過“一階段式”方法共享大部分計算量來減少推理時間。但這種“一階段式”跟蹤算法的精度往往低于“兩階段式”。StrongSORT[12]算法分析了“一階段式”聯(lián)合跟蹤器精度低的主要原因是不同組件(目標檢測、運動特征、外觀特征模型等)之間的競爭和用于聯(lián)合訓練這些組件的數(shù)據(jù)集是有限的,故仍然使用“兩階段式”模型,并對DeepSORT算法的各個組件進行改進,提出了無外觀鏈接模型(AFLink)和高斯平滑插值算法(GSI)兩種即插即用的模塊,用于提高軌跡關(guān)聯(lián)的連續(xù)性。Aharon等人[13]提出BOT-SORT算法,分析了無人機在高空飛行時會出現(xiàn)抖動導致KF 預測目標位置不準確的問題,從而影響前后幀IOU 匹配關(guān)聯(lián),提出使用相機運動補償(GMC)校正圖像用于解決該問題,并使用IOU+ReID融合機制解決因擁擠和遮擋導致檢測框得分低而不被關(guān)聯(lián)匹配的問題。上述的方法基本都采用外觀匹配方式來解決目標遮擋問題,但引入外觀特征模型會影響跟蹤的實時性,于是Zhang 等人[14]提出ByteTrack 跟蹤算法,將檢測置信度得分低的目標進行二次關(guān)聯(lián)匹配用于解決目標遮擋問題。Cao等人[15]提出OC-SORT算法,通過改進卡爾曼濾波和以觀測值為主要的跟蹤信息方法來改善目標遮擋和非線性運動導致目標ID 切換的問題。Li等人[16]提出BVTracker,分析了在鳥瞰視角下,目標外觀彼此相似,缺乏足夠的外觀特征信息,因此使用聯(lián)合目標檢測和REID 模型的方法可能無法滿足跟蹤需求。因此,提出了一種基于長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)[17](long short term memory,LSTM)和自注意力網(wǎng)絡(luò)用于軌跡預測的混合模型。
綜上所述,使用無人機對復雜場景下的多車輛跟蹤主要存在以下三點問題:(1)由于高空飛行,無人機圖像中的車輛目標像素點少,常規(guī)的檢測方法對小目標檢測效果差,從而導致后續(xù)的跟蹤性能差。(2)在自然場景中,車輛運行是非線性的,如超車、等紅綠燈、變道等情況,導致車輛目標前后幀IOU 匹配困難,影響跟蹤精度。以及車輛因遮擋發(fā)生非線性運動,使用傳統(tǒng)KF 對目標位置估計不準確。(3)無人機在高空下為鳥瞰視角,對于同一類型的車輛,外觀彼此相似,使用外觀特征匹配的方式處理車輛擁擠或遮擋情況時表現(xiàn)不佳。
因此,針對上述問題,本文采用“tracking by detection”兩階段式跟蹤策略,提出FA-SORT輕量化跟蹤模型,并將改進的YOLOv8[18]檢測算法應(yīng)用在該模型當中。針對上述MVT存在的問題1,本文在原YOLOv8檢測模型中添加BiFormer[19]稀疏動態(tài)注意力模塊用來增強圖像上下文信息的聯(lián)系,提高對車輛小目標特征提取的能力。與Transformer 相比,BiFormer 在保持良好的性能情況下,大大降低了計算復雜度。并且使用CARAFE[20]模塊替換原上采樣,保持原始特征圖的細節(jié)和邊緣紋理信息,減少上采樣過程中小目標特征丟失的問題。從而提升對小目標的檢測能力。針對上述MVT 存在的問題2 和3,本文基于SORT 跟蹤模型提出了三點改進策略,(1)使用改進的KF解決車輛因遮擋發(fā)生非線性運動導致預測車輛位置不準確的問題。(2)通過添加速度方向一致性匹配解決車輛因非線性運動導致目標的檢測值與KF 預測值IOU 匹配困難的問題,從而增強數(shù)據(jù)關(guān)聯(lián)匹配。(3)使用檢測值匹配方式替換外觀匹配[3,21]解決無人機鳥瞰視角下車輛擁擠或遮擋導致跟蹤失敗的問題,從而減少車輛身份ID的切換次數(shù),提高跟蹤的準確性和跟蹤的速度。
YOLO系列在目標檢測方面具有速度快、檢測精度高和適用性廣等優(yōu)勢,被廣泛應(yīng)用于實際生產(chǎn)和生活的各種場景當中,YOLOv8[18]是目前YOLO 系列中最先進的一階段目標檢測算法,該模型是在YOLOv5基礎(chǔ)上添加了新的改進方法,使得檢測精度得到有效的提升。該算法框架主要由輸入端(Input)、骨干模塊(Backbone)、頸部模塊(Neck)和頭部模塊(Head)這四部分組成。與YOLOv5相比,主要的改進思路如下:
(1)Backbone 模塊:骨干網(wǎng)絡(luò)依舊采用YOLOv5 的骨干網(wǎng)絡(luò)結(jié)構(gòu),不過將原來的C3 模塊替換成梯度流更為豐富的C2f 模塊,不僅模塊更加輕盈化,而且增強了特征的融合能力。
(2)Neck模塊:頸部模塊結(jié)構(gòu)也是采用YOLOv5的頸部網(wǎng)絡(luò)結(jié)構(gòu),同時也將C3模塊替換成C2f模塊,并且刪除了PAN-FPN上采樣階段中的卷積模塊。
(3)損失函數(shù):YOLOv8 采用Anchor-Free 思想,因此,只使用分類損失BCE Loss和回歸損失CIOU Loss+DFL(distribution focal loss)。
(4)樣本的分配策略:YOLOv8 采用Task-Aligned Assigner[22]正負樣本動態(tài)匹配方式替換原本以IOU匹配或者單邊比例的分配方式。
1.2.1 BiFormer模塊
Transformer憑借自注意力機制(self-attention)的優(yōu)勢,能夠捕捉圖像上下文特征信息,被廣泛應(yīng)用在目標檢測模型中[23],用以解決圖像中小目標檢測效果差的問題。但傳統(tǒng)的Transformer 模型參數(shù)量大,如果直接對特征圖全局范圍內(nèi)操作的話,會導致計算成本高,增大內(nèi)存占用,影響圖像檢測速度,并且會因處理特征圖中非目標區(qū)域而浪費大量的時間。針對該問題,不少研究者在Transformer中引入稀疏注意力,即每個查詢(query)只關(guān)注小部分鍵值(key-value)對,而不是全部。例如將注意力操作限制在特征圖中的局部窗口[24]、軸向條紋[25]或擴張窗口內(nèi)[26],而非全局,稱這一類方法為手工制作的稀疏模式。還有一類方法為自適應(yīng)稀疏模式,例如Chen等人[27]提出一種可變形patch模塊(DePatch),以數(shù)據(jù)驅(qū)動的方式將圖像自適應(yīng)地分割成具有不同位置(position)和大?。╯cale)的patch,打破常規(guī)的固定patch分割方式。Xia 等人[28]提出一種可變形的自注意力(deformable attention transformer,DAT)模塊,以數(shù)據(jù)依賴的方式選擇自注意中的鍵值對的位置,使得自注意力模塊能夠?qū)W⒂诟信d趣區(qū)域,并捕捉到更多的信息特征。但這類方法還是將與內(nèi)容無關(guān)的稀疏性引入到注意力機制當中。
綜合上述分析,為了提高對小目標特征提取能力,本文在YOLOv8 網(wǎng)絡(luò)模型中引入了基于Transformer 變體的BiFormer動態(tài)稀疏注意力模塊,該模型提出了一種雙層路由注意力機制(bi-level routing attention,BRA)用以緩解多頭自注意力(multi-head self-attention,MHSA)的可擴展性問題。BiFormer模塊遵循Vision Transformer架構(gòu)設(shè)計,采用特征金字塔結(jié)構(gòu)。圖1(a)、(b)分別為BiFormer以及BiFormer Block的模型結(jié)構(gòu)圖。BiFormer是由多個BiFormer Block 模塊構(gòu)成的,而BRA 模塊是BiFormer Block 核心模塊。BRA 核心思想是對特征圖的粗區(qū)域過濾掉不相關(guān)鍵值對,即通過構(gòu)建和修剪區(qū)域級有向圖,再通過區(qū)域的聯(lián)合中應(yīng)用細粒度的token-totoken注意力實現(xiàn)過濾操作。下面給出BRA模塊的具體實施過程。
圖1 BiFormer、BiFormer Block模型結(jié)構(gòu)圖Fig.1 BiFormer,BiFormer Block model structure diagram
圖2 為BRA 模塊結(jié)構(gòu)圖,假設(shè)輸入一張圖片,寬為W,高為H,通道數(shù)為C,用X∈RH×W×C表示,將輸入的圖片劃分為S×S個區(qū)域,每個區(qū)域的特征為HW/S2,則X表示為,再通過線性投影獲得:
圖2 BRA模塊結(jié)構(gòu)圖Fig.2 BRA module structure diagram
式(1)中,Wq,Wk,Wv∈RC×C,分別為Q(query)、K(key)、V(value)的投影權(quán)重,。然后需要找到每個區(qū)域感興趣的部分,即先計算Q、K在區(qū)域里的平均值Qr、Kr,再計算兩者的區(qū)域間相關(guān)性矩陣:
然后只保留每個區(qū)域的前k(top-k)個連接來修剪相關(guān)性圖。利用行列top-k算子獲得索引矩陣:
再對聚集后的Kg,Vg使用注意力操作得到:
式中,LCE((V))為局部上下文增強項。因此,BRA模塊不僅能夠捕捉圖像上下文特征信息,而且大大降低了計算復雜度。
本文將BiFormer中BRA模塊引入到Y(jié)OLOv8網(wǎng)絡(luò)模型,如圖3 所示,當輸入圖像通過SPPF 模塊之后,此時的圖像經(jīng)過了32倍下采樣,得到的特征圖尺寸最小,因此,在該位置添加一個卷積模塊和BRA 模塊可以捕捉特征圖的細微信息,增強圖像上下文信息關(guān)聯(lián),提高對特征圖中小目標特征提取的能力。
圖3 改進YOLOv8模型結(jié)構(gòu)圖Fig.3 Improved YOLOv8 model structure
1.2.2 CARAFE模塊
在YOLOv8算法中,上采樣操作主要以常用的最近鄰線性插值法為主,其作用是將特征圖的分辨率放大,使得網(wǎng)絡(luò)能夠融合來自不同尺度的特征信息。但在處理密集的小目標場景時,僅使用了圖像中最近鄰的幾個像素點的值與上采樣核進行加權(quán)計算,而沒有用到特征圖的語義信息,這會導致圖像中的細節(jié)和紋理信息丟失,使得插值結(jié)果顯得過于平滑,無法準確還原原始數(shù)據(jù)的細節(jié)。
針對該問題,本文將YOLOv8 中最近鄰線性插值法替換成輕量級上采樣算子CARAFE[3](content-aware reassembly of features),CARAFE是一種基于內(nèi)容感知的特征重組上采樣方法,相比于線性插值上采樣,通過對輸入特征圖進行分塊處理,并利用卷積操作對每個分塊進行特征重組。這種方式可以增強感知范圍,使得上采樣后的特征圖能夠融合更多的上下文信息,保持原始特征圖的細節(jié)和邊緣信息,從而提高上采樣的質(zhì)量和特征表達能力。CARAFE算子實現(xiàn)流程如圖4所示,主要通過上采樣核預測和特征重組這兩個模塊來完成的。當一張圖像通過本文改進的YOLOv8模型中BRA模塊之后,得到一個形狀為H×W×C的特征圖,再將該特征圖輸入至上采樣算子CARAFE。使用CARAFE 算子實現(xiàn)上采樣具體實施步驟如下:(1)首先將輸入的特征圖通道數(shù)C壓縮至Cm,目的是減小后續(xù)步驟的計算量。(2)再使用的卷積層對通道數(shù)壓縮后的特征圖進行上采樣核預測,得到一個形狀為的上采樣核,然后將其通道維度展開成寬、高維度,此時,得到的上采樣核形狀為σH×σW×,其中,σ為上采樣倍率,為上采樣的尺寸。最后對上采樣核進行softmax 歸一化,使其卷積核權(quán)重和為1。(3)在特征重組模塊中將輸出特征圖的每一個位置映射回X,然后取出以之為中心點的kup×kup區(qū)域,將得到的區(qū)域與該點的上采樣核作點積,相同位置的不同通道共享同一個上采樣核,最后輸出一個形狀為σH×σW×C的特征圖。
圖4 CARAFE模型結(jié)構(gòu)圖Fig.4 CARAFE model structure
針對序言中提出的無人機對復雜場景下的多車輛跟蹤的三個問題,已經(jīng)在第一章提出解決問題1 的方法,即通過改進的YOLOv8模型提高對車輛小目標檢測能力。針對其他兩個存在的問題,本文在SORT跟蹤算法基礎(chǔ)上提出了改進KF、添加速度方向一致性匹配和添加檢測值匹配這三個改進策略,并將其命名為fast and accurate SORT,簡稱FA-SORT。改進KF用來解決車輛因遮擋導致常規(guī)的KF 估計位置不準的問題,添加速度方向一致性匹配用來解決車輛非線性運動導致前后幀IOU匹配困難的問題,添加檢測值匹配用來替代外觀匹配方法,解決無人機在高空鳥瞰視角下,對于同一類型的車輛,外觀彼此相似,使用外觀特征匹配的方式處理車輛擁擠或遮擋情況時表現(xiàn)不佳,并且還會影響車輛跟蹤實時性的問題。
2.1.1 KF應(yīng)用在多目標跟蹤的局限性
卡爾曼濾波(KF)[7]是一種基于狀態(tài)空間模型的最優(yōu)估計算法,廣泛應(yīng)用于信號處理、控制系統(tǒng)、導航系統(tǒng)、機器人技術(shù)等領(lǐng)域。KF 在目標跟蹤算法中可以分為預測和更新這兩個階段,在預測階段,通過系統(tǒng)模型對當前狀態(tài)目標的位置和速度進行預測,得到預測值;在更新階段,利用檢測值對KF預測值進行修正和更新,得到最終的狀態(tài)估計值。
在目標跟蹤算法中,通常使用KF 對上一幀匹配成功的狀態(tài)估計值或目標被遮擋前匹配成功的狀態(tài)估計值進行運動信息預測(如果是第一幀檢測框,則將當前檢測值進行KF預測)。KF預測階段可以通過以下等式執(zhí)行:
(1)KF噪聲值初始化:在SORT[6]算法當中,KF狀態(tài)X由7個變量組成,即,其中x、y為對象中心點坐標,s為對象邊界框面積,r為對象高寬比(恒值),其他三個變量?對應(yīng)變量的速度,當狀態(tài)X變量參與KF預測階段和更新階段時,需要選取KF 過程噪聲Q和觀測噪聲R的值,SORT 算法是直接對Q、R值取常量,與狀態(tài)X變量和檢測值Z變量無關(guān),但是,輸入到KF的每一幀目標檢測框和狀態(tài)估計值的變量是時刻發(fā)生變化的,這會導致KF 產(chǎn)生的邊界框大小與時間獨立,無法自適應(yīng)調(diào)整。針對SORT算法存在的問題,DeepSORT[9]算法則是將上述的KF 狀態(tài)變量改成8 個,即,a為對象高寬比;h為對象高,其余變量不變。通過添加狀態(tài)X的高(h)初始化Q、R的值,用以緩解該問題。
(2)狀態(tài)對噪聲的敏感:使用KF估計目標速度會存在噪聲的敏感,尤其是使用無人機拍攝的高幀率視頻進行目標跟蹤時,會放大對噪聲的敏感性;這會導致KF估計目標的速度時存在較大的方差。在KF 預測階段時,因為噪音Qt的存在,使得KF 預測值存在誤差。假設(shè)狀態(tài)X的中心坐標位置x、y服從高斯分布,設(shè)x~因為是線性運動模型,兩個時間步長t到t+Δt之間的估計速度為:
式中,xt、yt為狀態(tài)X在t時刻x、y的位置;xt+Δt、yt+Δt為狀態(tài)X在t+Δt時刻x、y的位置;Δt為時間步長(幀數(shù)差);X?、Y? 為狀態(tài)X中心點x、y方向的估計速度。根據(jù)高斯分布相加性質(zhì)可知,狀態(tài)X估計速度噪聲為;Δt=1 時,噪聲最大化。當車輛在視頻中連續(xù)幾幀發(fā)生位移時,其中心位置x、y方向移動僅為幾個像素,但這也會導致估計速度有很大的誤差。通常速度估計的方差可以是速度本身相同的幅度甚至更大。如果目標在被正常跟蹤情況下,這不會產(chǎn)生很大的影響,因為在一幀時間差內(nèi),可以通過目標檢測值來校正KF運動模型的估計值。但是目標被遮擋時,因為沒有檢測值參與KF更新階段,在這段時間步長內(nèi)會造成誤差累積。
(3)位置誤差的累計:當車輛在t時刻被遮擋,在連續(xù)T幀都沒有檢測值情況下,只能利用遮擋前一幀狀態(tài)X進行KF 預測和更新,得到t+T時刻狀態(tài)X中心點位置為:
結(jié)合已知狀態(tài)X的中心位置和其速度噪聲都服從高斯分布;根據(jù)高斯分布相加性質(zhì),可以計算出狀態(tài)X位置噪聲;因此,當沒有檢測值對KF運動模型修正的話,狀態(tài)X的位置估計方差是時間差T的二次方,如果被遮擋時間越長,產(chǎn)生的位置誤差就越大,這會造成KF估計不準確。
2.1.2 KF狀態(tài)變量參數(shù)重定義
針對KF 噪聲值初始化所存在的問題,本文將重新定義狀態(tài)X的變量,如公式(13)所示,在DeepSORT 算法基礎(chǔ)上,添加了狀態(tài)X的寬(w),這樣可以通過對狀態(tài)X的寬和高兩個變量來初始化過程噪聲矩陣Q和觀測噪聲R的值,從而更好地自適應(yīng)調(diào)整邊界框大小。通過檢測器獲取的檢測值如公式(14)所示,其中zx、zy為檢測框的中心點坐標,zw、zh為寬和高,zs為置信度得分。公式(15)和(16)展示了通過狀態(tài)X的寬和高來確定過程噪聲矩陣Q的值和觀測噪聲R的值的計算過程。
式中,過程噪聲因子σP設(shè)置為0.05,噪聲因子σV設(shè)置為0.006 25;觀測噪聲因子σM設(shè)置為0.05。圖5展示了多車輛跟蹤邊界框可視化的結(jié)果,分別對改進后的KF狀態(tài)變量參數(shù)和原始廣泛使用的KF 進行對比實驗,為了增強對比性,用虛線框表示使用原始KF方法,與原始KF方法對比,本文改進的KF產(chǎn)生的邊界框更接近于被跟蹤車輛的外接矩形框,這也為后續(xù)的KF 預測與更新提供更準確的邊界框位置信息。
圖5 多車輛跟蹤邊界框可視化Fig.5 Multi-vehicle tracking bounding box visualization
2.1.3 建立虛擬軌跡
針對狀態(tài)對噪聲的敏感和KF估計位置誤差積累的問題,本實驗將建立一個虛擬軌跡,圖6可以看出,軌跡的起始點為目標被遮擋前一幀的位置Zt1,終點是目標遮擋后再次出現(xiàn)的位置Zt2,通過遮擋前、后的位置做一個平滑操作,建立線性插值函數(shù)。平滑KF參數(shù),以獲得更好的目標位置估計。建立的虛擬軌跡表示為:
圖6 使用KF與改進KF估計目標位置演示過程Fig.6 Estimating object position demonstration process using KF with improved KF
式中,t1為虛擬軌跡起始時刻,t2為虛擬軌跡終點時刻,Zt1為虛擬軌跡起始點,Zt2為虛擬軌跡終點。沿著這條虛擬軌跡,從t1時刻開始,通過KF預測與更新階段之間反復交替檢查KF 參數(shù)。在虛擬軌跡校正下,經(jīng)KF模型獲得的狀態(tài)估計值所產(chǎn)生的誤差將不再積累,KF新的更新階段得到的狀態(tài)估計值表示為:
如圖6 所示,當目標在Zt1位置被遮擋并發(fā)生非線性運動時,KF 會基于Zt1進行線性估計,直到結(jié)束遮擋后再次出現(xiàn)的位置為Zt2,此時對Zt2進行KF 線性估計,得到狀態(tài)估計值會因噪聲的存在導致位置誤差的積累。而本方法是利用遮擋前、后的目標位置,建立一條虛擬軌跡,通過建立的虛擬軌跡消除KF 使用過程中存在的噪聲積累,從而有效解決目標因遮擋而導致KF模型估計位置偏差的問題。
在進行車輛多目標跟蹤時,默認被跟蹤的車輛為線性運動,且具有速度方向一致性。然而,在現(xiàn)實生活中,因為存在狀態(tài)噪聲,車輛幾乎是處于非線性運動狀態(tài),這會增加被跟蹤的軌跡框與檢測框進行IOU 匹配的困難,在短暫的時間間隔內(nèi),可以認為車輛運動近似為線性,但狀態(tài)噪聲會阻止利用速度方向一致性。此外,僅使用IOU進行前后幀匹配還會存在如圖7所示的問題,該圖展示了t幀目標檢測框與t-1 幀軌跡框進行IOU匹配關(guān)聯(lián)過程,當出現(xiàn)t-1 幀軌跡框ID-5分別與t幀的檢測框at、bt的IOU值相同時,無法利用匈牙利算法[8]實現(xiàn)ID的分配。
圖7 軌跡框與檢測框進行IOU匹配Fig.7 IOU-matched between trajectory boxes and detection boxes
針對上述問題,本文提出將速度方向一致性添加到軌跡關(guān)聯(lián)成本矩陣當中,t幀時刻,假設(shè)有i個軌跡框和j個檢測框,其關(guān)聯(lián)成本矩陣為:
本文提出的速度方向一致性匹配過程如圖8所示,t幀的檢測框at和與之時間差為ΔT的檢測框這兩個中心點形成一條速度方向,t-1 幀的檢測框at-1與也會構(gòu)成一條速度方向,計算出的這兩條速度方向一致性的相似值大于與其他檢測框構(gòu)成速度方向一致性的組合;其中t-1 幀檢測框at-1參與了t-1 幀軌跡框ID-5的KF更新階段。同理,t幀檢測框bt、bt-1在時間差ΔT上分別與構(gòu)成兩條速度方向,計算該兩條速度方向一致性的相似值最大,其中t-1 幀檢測框bt-1參與了t-1 幀軌跡框ID-4 的KF 更新階段。這樣可以將軌跡框ID-5分配給at,軌跡框ID-4分配給bt。通過該方法可以進一步增強多目標跟蹤數(shù)據(jù)關(guān)聯(lián)匹配。
圖8 歷史檢測框與當前檢測框進行速度方向一致性匹配Fig.8 Velocity direction consistency matching between historical and current detection boxes
車輛在運行過程中經(jīng)常會遇到車身部分被遮擋和完全被遮擋的情況,當車身被部分遮擋時,通過目標檢測模型得到的檢測框置信度得分偏低,容易被后續(xù)的跟蹤模型給篩選掉,導致無法進行后續(xù)的跟蹤,給目標跟蹤帶來檢測的缺失和軌跡不連續(xù)的影響。圖9(a)便出現(xiàn)了上述情況,當檢測框置信度高于閾值(閾值參考DeepSORT,設(shè)置為0.45),目標可以被正常跟蹤,并賦予ID、車輛類別和置信度值;但是圖中出現(xiàn)有兩輛白色汽車因部分車身被路標指示牌和后面的卡車、公交車遮擋而未被檢測出,在圖中用圓圈標識出來;而這兩輛白色汽車真實存在,如果直接忽略的話,會影響多目標跟蹤的效果。
圖9 添加檢測值匹配前后多車輛跟蹤實驗對比結(jié)果Fig.9 Comparison results of multi-vehicle tracking experiments before and after adding detection value matching
對于車輛完全被遮擋的情況,常見的跟蹤算法采用REID[3-4]方法,即外觀匹配方法進行前后幀的特征信息匹配,保證軌跡的連續(xù)性。然而在圖9 中,圖像中的車輛所包含的像素點少,可獲得的外觀特征信息少,而且在公交車和卡車前面的兩輛白色汽車,其外觀特征相似,使用外觀匹配處理目標遮擋情況所帶來的效果不明顯,而且在目標跟蹤算法中添加外觀匹配會帶來很大的計算時間成本,影響跟蹤的實時性。
(1)低置信度檢測值匹配。針對車身部分被遮擋情況,導致低置信度得分被篩選掉的問題,本文將考慮每個檢測框,對于檢測框置信度大于0.1 的目標都認為是待定的跟蹤對象,并通過目標跟蹤數(shù)據(jù)關(guān)聯(lián)匹配的方法來區(qū)分低置信度檢測框是檢測對象還是背景;具體做法是:首先將置信度大于0.45的高分檢測框優(yōu)先與上一幀軌跡框進行第一次關(guān)聯(lián)匹配;再將第一次關(guān)聯(lián)匹配中未匹配的軌跡框與置信度在0.1至0.45區(qū)間的低分檢測框進行第二次關(guān)聯(lián)匹配。圖9(b)中可以看出對低置信度的目標能夠?qū)崿F(xiàn)檢測與跟蹤,從而減少漏檢率,提高軌跡跟蹤完整性。
(2)歷史檢測值匹配。針對車輛被完全遮擋的情況,本文將采取類似于REID的方法實現(xiàn)數(shù)據(jù)關(guān)聯(lián)匹配,當車輛被正常檢測時,檢測框的位置服從高斯分布,可以將車輛被遮擋前最后一次出現(xiàn)的檢測框的位置作為均值,其方差將隨著遮擋時間的增加而增加。在合理的遮擋時間差,可以將第二次關(guān)聯(lián)匹配中未匹配成功的軌跡框與遮擋前最后一次出現(xiàn)的檢測框進行IOU 關(guān)聯(lián)匹配,實現(xiàn)第三次關(guān)聯(lián)匹配來解決車輛遮擋的問題。雖然該方式只適合于車輛被短暫遮擋的情況,但是在DeepSORT 算法當中,為了避免跟蹤速度過低,只保留最新的100幀的歷史檢測值的外觀信息用于外觀匹配,并且設(shè)置了連續(xù)30 幀軌跡框未成功匹配的話,則刪除軌跡信息。DeepSORT 所設(shè)計的這些方法也是用于處理短時期目標遮擋的問題。因此,本文采用的歷史檢測值匹配的方式也是在合理的遮擋時間范圍之內(nèi)。
綜上研究,圖10 展示了本文提出的FA-SORT 具體實施過程,將改進的KF 和添加速度方向一致性匹配應(yīng)用在第一次匹配關(guān)聯(lián),其中為距離t時刻時間差ΔT的檢測框,為t-1 時刻檢測框速度方向信息,Last_boxes 為目標遮擋前最后一次出現(xiàn)的檢測框。將檢測值匹配應(yīng)用在第二次和第三次匹配關(guān)聯(lián),其中,第二次匹配關(guān)聯(lián)是將低置信度檢測框與第一次未匹配成功的軌跡框進行匹配關(guān)聯(lián),而第三次匹配關(guān)聯(lián)主要是利用歷史檢測值,即遮擋前的檢測值與軌跡框進行IOU匹配,解決車輛被短暫遮擋時,導致車輛目標ID切換的問題。
圖10 FA-SORT跟蹤算法流程圖Fig.10 FA-SORT tracking algorithm flow chart
為了驗證改進的YOLOv8算法和FA-SORT跟蹤算法的有效性,分別將它們與最先進的算法模型進行比較,設(shè)計的實驗和數(shù)據(jù)集均在本章中描述。所有實驗均在Ubuntu18.04系統(tǒng)平臺上完成。使用的處理器型號為Intel?CoreTMi9-10850K CPU@3.60 GHz;使用的顯卡型號為NVIDIA GeForce RTX 3060 Ti。
(1)數(shù)據(jù)集。實驗數(shù)據(jù)集類型對象主要是無人機視角下高速公路和城市道路上最常見的汽車(car)、卡車(truck)、公交車(bus)、貨車(van)四種類型,本實驗數(shù)據(jù)集主要由UA-DETRAC 數(shù)據(jù)集[29]、UAVDT 數(shù)據(jù)集[30]和本團隊采集的數(shù)據(jù)集這三部分構(gòu)成。其中本團隊數(shù)據(jù)集是通過無人機在30 m 至120 m 不同高度下拍攝約30個視頻,并篩選出約8 000 多張帶標注的圖片,圖11 為本團隊采集的部分車輛數(shù)據(jù)集圖片。
圖11 實驗部分車輛數(shù)據(jù)集圖片F(xiàn)ig.11 Images of experimental part of vehicle dataset
本實驗數(shù)據(jù)集篩選了部分公共數(shù)據(jù)集和本團隊標注的數(shù)據(jù)集,共組成23 986張帶標注信息的圖片。將數(shù)據(jù)集按8∶2劃分訓練集和驗證集。在篩選數(shù)據(jù)集時,盡可能選擇在不同場景下的夜晚、陰雨天等復雜環(huán)境的圖片,篩選出的圖片盡可能包含分辨率低的車輛;以使訓練出的模型具有足夠的魯棒性和泛化能力,其結(jié)果更能反應(yīng)真實情況。如圖12所示為本實驗訓練集和驗證集中四類車型類別標簽框數(shù)量分布情況。
圖12 訓練集和驗證集車型類別標簽框數(shù)量分布圖Fig.12 Distribution of number of labels boxes of car categories in training and validation sets
(2)模型參數(shù)設(shè)置及訓練。為實驗具有公平性和對比性,檢測模型訓練不使用預訓練權(quán)重。IOU閾值默認為0.7,epoch 訓練設(shè)置為100,Batch Size 為16,學習率設(shè)置為0.01,衰減率為0.937,優(yōu)化器使用SGD。
(3)評價指標。檢測模型訓練后的泛化能力需要通過合適的評價指標來進行衡量,目標檢測常用的評價指標為精確率(precision)、召回率(recall)、mAP0.5 和mAP0.5:0.95。此外,本實驗選取UAVDT數(shù)據(jù)集中8個視頻作為驗證集用于評估多目標跟蹤算法性能,該車輛數(shù)據(jù)集用來評價無人機視角下車輛多目標跟蹤的性能是具有權(quán)威性。常用的多目標跟蹤(MOT)評價[31]有:HOTA[32]為高階跟蹤精度。用于衡量檢測精度和跟蹤性能。MOTA用于評估多目標跟蹤的準確度,MOTP用于評估多目標跟蹤精確度,IDF1 用于衡量ID 識別準確度和召回率,IDs 用于評估目標ID 切換次數(shù),F(xiàn)PS 表示每秒處理的幀數(shù)。這些評價指標能夠從不同方面衡量跟蹤算法的優(yōu)劣。
3.2.1 本文改進的YOLOv8組件消融
為了檢驗本文添加的BiFormer模型和CARAFE模型對YOLOv8模型的檢測性能是有提升的,以YOLOv8模型為基線,分別對這兩個組件進行消融實驗,結(jié)果如表1 所示,當添加BiFormer 模型時,精確率(P)提升了0.65%,mAP@0.5:0.95提升了1.36%。添加CARAFE模型時,召回率(R)提升了0.67%。本文的檢測算法是融合了這兩個模型,與YOLOv8 模型相比,在目標檢測性能方面是有提升的。在檢測速度方面,因參數(shù)量增加了1.1×106,導致FPS有所下降,但仍然達到39.2 FPS,不影響無人機視角下目標車輛檢測的實時性。
表1 本文檢測算法消融實驗結(jié)果對比Table 1 Comparison results of ablation experiments with proposed detection algorithm
為了驗證不同改進策略的YOLOv8 檢測算法對小目標檢測的有效性,使用上述的四種消融實驗?zāi)P蛯o人機在不同高空場景下進行實時的車輛檢測。圖13(a)是使用YOLOv8 檢測效果,可以看出,在遠處的車輛因分辨率低未被檢測出來,而通過添加的BiFormer、CARAFE 以及本文檢測算法都能將遠處的車輛精確地檢測出來。圖14(a)是無人機在120 m高空下使用YOLOv8檢測效果,其中有三處區(qū)域的車輛未能夠檢測出,當添加BiFormer 或CARAFE 后,這三處區(qū)域的部分車輛可以被檢測出,而其余未能檢測出的車輛均能夠被本文提出的算法給檢測出。這證明了本文檢測算法所提出的不同改進策略對車輛小目標檢測是有效果的。
圖13 不同改進策略在100 m高空下多車輛檢測效果Fig.13 Effectiveness of different improvement strategies for multi-vehicle detection under 100 m altitude
圖14 不同改進策略在120 m高空下多車輛檢測效果Fig.14 Effectiveness of different improvement strategies for multi-vehicle detection under 120 m altitude
3.2.2 FA-SORT組件消融
在本文第2 章中,重點討論FA-SORT 三個改進策略。以SORT算法為基線,比較FA-SORT中每一個改進策略對表2中UAVDT數(shù)據(jù)集的驗證集的影響。當對原始卡爾曼濾波(KF)進行了改進時,MOTA 和IDF1 的指標都得到了明顯的提升,這主要得益于改進的KF 能夠很好地處理車輛非線性運動的情況,使得車輛位置估計更準確。在改進KF策略基礎(chǔ)上添加速度方向一致性匹配時,增強了目標跟蹤的數(shù)據(jù)關(guān)聯(lián),提高了多目標跟蹤的準確度。當添加檢測值匹配策略時,MOTA指標提升了1.45%,這說明了能夠恢復跟蹤丟失的車輛,穩(wěn)定其身份ID,從而準確地跟蹤目標。
表2 FA-SORT消融實驗結(jié)果對比Table 2 Comparison of FA-SORT ablation experiment results單位:%
此外,本實驗還嘗試在FA-SORT模塊添加REID外觀特征匹配,通過表3 驗證外觀匹配對FA-SORT 的影響。從實驗結(jié)果可以看出,添加REID對IDF1是有提升的,但是FPS大大降低,無法達到實時性。
表3 REID對FA-SORT的影響Table 3 Influence of REID on FA-SORT
3.2.3 FA-SORT參數(shù)消融
在第2章討論得知,ΔT=1 時,噪聲最大化;假設(shè)在線性運動情況下,ΔT取值越大,對噪聲具有更好的魯棒性。但過大的ΔT值將會阻礙物體運動近似為線性。因此,通過表4研究ΔT的變化對數(shù)據(jù)關(guān)聯(lián)性能的影響,從表4可以看出,ΔT=5 時,HOTA和IDF1的指標最高。確定好ΔT取值之后,需要研究添加速度方向一致性在關(guān)聯(lián)成本矩陣中的占比,從表5可以看出,α=0.5時,性能表現(xiàn)最優(yōu)。
表4 ΔT 選擇對速度方向一致性匹配的影響Table 4 Influence of choice of ΔT for velocity-direction consistency matching 單位:%
表5 α 選擇對速度方向一致性匹配的影響Table 5 Influence of choice of α for velocity-direction consistency matching 單位:%
3.3.1 車輛檢測算法對比實驗
本實驗使用收集的車輛數(shù)據(jù)集的驗證集來測試目標檢測算法的性能,主要與SSD、Faster R-CNN、YOLO系列等常見的目標檢測算法進行比較。結(jié)果如表6 所示,其中shufflenetv2[33]、mobilenetv3[34]是基于YOLOv5框架改進的輕盈網(wǎng)絡(luò),結(jié)果表明,YOLOv8 與現(xiàn)有的檢測算法相比,各項評價指標表現(xiàn)突出,這也是本文采用YOLOv8 作為算法改進的主要原因。而本文提出的檢測算法在車輛數(shù)據(jù)集上的精確率、召回率、mAP0.5以及mAP0.5:0.95都高于現(xiàn)有的檢測算法,尤其mAP0.5:0.95相比較于原YOLOv8,提升1.91%。故本文改進的檢測算法能夠為后續(xù)的多車輛跟蹤提供良好的檢測性能。
表6 目標檢測算法比較Table 6 Comparison of object detection algorithms單位:%
3.3.2 車輛跟蹤算法對比實驗
為了驗證本研究中提出的多目標跟蹤算法FASORT 的有效性,使用UAVDT 數(shù)據(jù)集的驗證集將FASORT與其他先進的跟蹤器比較,為了實驗公平,統(tǒng)一使用改進的YOLOv8作為檢測器。實驗結(jié)果表7所示,它們在實驗過程中FPS普遍都低,無法達到實時性。而本研究所提出的方法在保證實時性的情況下,能夠獲得更好的HOTA 值和IDF1 值,在圖15 中,在UAVDT 驗證集上,將提出的FA-SORT 與其他的跟蹤器比較HOTA-跟蹤速度和IDF1-跟蹤速度。圖15(a)中,x軸為跟蹤速度,y軸為HOTA。圖15(b)中,x軸為跟蹤速度,y軸為IDF1??梢灾庇^地看出本文的跟蹤算法在實驗中,HOTA值和IDF1值高于其他跟蹤算法,其中HOTA值更是所有跟蹤算法中首個達到70%。
表7 多目標跟蹤算法對比實驗Table 7 Comparative experiments of multi-objective tracking algorithms
圖15 不同跟蹤算法在UAVDT數(shù)據(jù)集上評價指標對比Fig.15 Comparison of evaluation metrics of different tracking algorithms on UAVDT dataset
HOTA 值高說明FA-SORT 能夠準確地檢測到目標和穩(wěn)定的跟蹤目標,即能夠在目標出現(xiàn)遮擋、或非線性運動情況下保持跟蹤的連續(xù)性,保持目標軌跡的連貫性。IDF1值高說明能夠準確地為每個目標分配唯一的標識符,即目標ID;并且能夠成功追蹤大部分目標。具有較高的召回率。值得一提的是,在不采用外觀匹配方式的跟蹤方法當中,F(xiàn)A-SORT方法表現(xiàn)最優(yōu)。
本文對無人機平臺下的多車輛的檢測和跟蹤算法進行了優(yōu)化。針對視頻中車輛分辨率小、檢測精度低的問題,使用改進YOLOv8檢測算法提高對小目標檢測的性能。針對目標遮擋和目標遮擋后使用卡爾曼濾波器預測存在位置誤差積累的問題,提出了快速、準確的FA-SORT跟蹤器。最后,在多車輛實驗數(shù)據(jù)集上進行了檢測和跟蹤算法的實驗驗證,改進的YOLOv8算法能夠更準確地識別小目標車輛,而FA-SORT 也優(yōu)于現(xiàn)有的跟蹤算法,能夠很好地處理目標車輛出現(xiàn)嚴重的遮擋和非線性運動的情況,還能夠滿足在線跟蹤和實時性的要求。然而,在未來工作中仍然需要有很大的改進。比如可以考慮將行人目標融入到所提出的跟蹤的對象當中,這需要尋求更加合適的跟蹤算法,用以快速、準確地跟蹤行人和車輛。