何維堃 彭育輝 黃煒 姚宇捷 陳澤輝
(福州大學,福州 350116)
主題詞:多目標跟蹤 DeepSort 自動駕駛 Haar-like SENet
面對復雜多變的交通環境,自動駕駛汽車需不斷提高對車外環境的感知能力。其中,檢測與跟蹤道路行駛車輛并預測其運動軌跡是環境感知研究領域的重要課題。
近年來,多目標跟蹤識別網絡在智能駕駛方面的應用引起了國內外學者的普遍關注[1-2],解決行駛過程中車輛的身份切換問題是本文研究的重點。在基于Deep-Sort 的研究方面,Perera 等將DeepSort 中的卡爾曼濾波替換為無跡卡爾曼濾波[3];Mu等將卡爾曼濾波替換為拓展卡爾曼濾波[4],使網絡能更好地處理應用場景的非線性問題,對目標未來幀進行有效預測,但依然無法保證預測本身的準確性;裴云成將交并比(Intersection Over Union,IOU)匹配更換成廣義交并比(Generalized Intersection Over Union,GIOU)[5],使網絡能更有效地判斷檢測框和預測框之間的權重分配,但無法很好地解決特征匹配時出現失配的問題。在DeepSort網絡中,重識別網絡提取的深度特征用于前、后幀物體的特征匹配,在防止身份切換時能起到很好的作用。金立生等將檢測器更換為Gaussian YOLO V3,并用重識別網絡的中心損失函數代替交叉熵函數,提高對車輛特征的提取性能與跟蹤網絡的判斷能力[6],但當光照發生變化時,網絡無法適應環境的改變,從而導致身份切換;Wu等將重識別網絡替換為ShuffleNet V2 以適用于計算能力較低的設備[7],但在復雜場景下,無法很好地提取物體的特征;Liu 等將原有的重識別網絡替換為ResNet50[8],加深了網絡深度,并結合特征金字塔網絡(Feature Pyramid Networks,FPN)提取物體的多層特征,但復雜的網絡結構增加了計算負擔。
綜上,復雜場景下跟蹤檢測目標時,跟蹤器的準確性及穩定性較差,現有的重識別網絡無法有效地對不同場景下的車輛進行特征提取,前、后幀中目標的匹配效果較差。為此,本文采用YOLOX 作為檢測器,對基于DeepSort研究中重識別網絡的特征匹配方法進行改進,添加Haar-like 特征反映車輛的光暗變化,對原有的特征匹配機制進行補充,在協調匹配速度的同時加深重識別網絡層數并添加SENet 注意力機制強化提取車輛外觀特征的能力,最后通過實際道路采集的視頻數據集對算法的有效性進行驗證。
DeepSort 是基于匈牙利算法和卡爾曼濾波算法的單假設跟蹤方法,引入卡爾曼濾波對軌跡運動狀態進行預測,將檢測結果經重識別網絡提取的特征與軌跡儲存的特征共同傳入匈牙利算法,進行關聯匹配。在匹配過程中,對檢測結果框、軌跡預測框的馬氏距離及深度特征的余弦距離信息進行整合判斷。
余弦距離主要用于衡量檢測結果與軌跡的特征向量間的差距。對于物體被遮擋后再出現的情況,網絡將軌跡中儲存的特征集與物體在重新出現時的特征向量進行計算,得出其最小余弦距離:
式中,d(1)(i,j)為第j個檢測框內的特征向量與第i個軌跡的特征向量之間的最小余弦距離;rj為第j個檢測框內的特征向量;為跟蹤器存儲的第i個軌跡的特征向量集,其包含第i個軌跡過去成功匹配的k個特征向量;Ri為第i個軌跡的特征向量庫。
馬氏距離用于衡量上一幀中目標經過卡爾曼濾波預測的位置信息與檢測結果的位置信息的差距:
式中,d(2)(i,j)為第j個檢測框和第i個由跟蹤器預測的物體框之間的馬氏距離;dj為第j個檢測框的位置信息;yi為第i個由跟蹤器預測的物體框位置信息;Si為第i條軌跡在檢測空間的協方差矩陣。
將基于外觀特征的余弦距離和基于運動信息的馬氏距離進行線性加權獲得最終的度量:
式中,ci,j為最終度量標準;λ為權重系數。
交通場景中的車輛運動軌跡是非線性的,而卡爾曼濾波采用線性狀態方程,因此預測能力較弱[9]。通過物體的運動狀態預測出的運動信息估計量會存在一定偏差,導致馬氏距離關聯方法易失效,從而造成身份跳轉的現象。在最終度量中設置λ=0,使馬氏距離在級聯匹配過程中僅為判定值。當2 個物體的對象特征一致且兩者的馬氏距離小于一定閾值,則判定匹配成功。
自動駕駛所涉及的場景多變且復雜,在車輛的多目標跟蹤中,車輛之間的相互遮蔽、場景變換、光下的陰影變換都將導致追蹤目標失敗。本文融合傳統特征與深度特征信息,結合各自的優點解決跟蹤過程中身份跳轉的問題。
傳統特征相較于深度特征,在精度方面的表現較差,且泛化能力不足。深度特征的提取受訓練集影響較大,訓練過程需要大量的場景圖像數據,而傳統特征的提取作為人工認知驅動的方法,具有解釋性,不需要訓練,且對算力的要求較低。因此,本文算法以原有的深度特征作為主要匹配依據,融合傳統特征Haar-like 作為補充匹配。
Haar-like[10]是計算機視覺和圖像處理中用于目標檢測的特征描述算子。特征模板內有白色和黑色2 種矩形,矩形的位置關系不同,影響著所提取的特征信息,如邊緣特征、線條特征、中心特征、對角線特征。通過特征模塊大小的變換和在圖片子窗口的移動得到所需的特征,如圖1所示。其中,圖片特征提取框為YOLOX輸出圖片,而非整張圖,可明顯縮短特征提取的時間。

圖1 特征模塊移動方式
傳統特征中,Haar-like 能夠表示圖像像素值明暗變化信息,能更好地體現車輛行駛狀態的特征[11]。在原有的DeepSort中加入Haar-like,將深度神經網絡提取的車輛抽象特征與Haar-like信息相融合[12],可有效增強網絡對不同場景的適應性。圖2 所示為融入Haar-like 特征的DeepSort網絡結構。首先,對檢測器輸入結果進行深度特征提取和Haar-like 特征提取。在匹配過程中,將確認態軌跡中所保留的深度特征與重識別網絡提取的深度特征進行匹配,再將未匹配的軌跡和檢測物體進行Haar-like特征匹配,最后進行IOU匹配。

圖2 融合Haar-like的DeepSort目標跟蹤算法流程
車輛目標由于遮擋或未被檢測,會出現與之前的目標斷開聯系且在短時間內重新出現在檢測器中的現象。DeepSort利用重識別網絡提取車輛外觀信息,再將外觀信息放入級聯匹配。通過計算不同幀物體的外觀信息的余弦距離,進行物體的相似度配對,將同一輛車重新建立聯系。
車輛作為剛體,在不同視角下所呈現的姿態、大小多變[13]。在自動駕駛過程中,當檢測車輛與攝像頭的距離發生改變,或檢測車輛處于半遮擋及轉彎的狀態,檢測車輛的外觀都會發生變化。在原網絡中,重識別網絡結構簡單,無法準確提取行駛過程中實時變化的車輛外觀信息,在重識別車輛時具有明顯的局限性。
無人駕駛車輛行駛過程中,對象車輛由于距離變化及遮擋的原因,其寬和高在視頻中的形變量較大。經過YOLOX[14]檢測器識別后,檢測器會將車輛的物體框傳入追蹤網絡。重識別網絡對車輛特征進行提取的過程中,需要重新調整圖像大小。原網絡中定義了圖片的高為128,寬為64,適用于對行人的特征提取,但無法滿足對車輛的特征提取[15]。為避免過大幅度地調整圖片的高和寬,導致識別誤差,應尋找合適的車輛物體框的高和寬。
本文在自制的道路數據集上進行標注,截取視頻中不同場景下(無遮擋、被其他車輛、樹木和路障等遮擋)不同車型(掛車、皮卡和轎車等)大小及形態不同的物體框,對識別的物體框的寬和高進行均值處理,求得最優的物體框尺寸為高96、寬128。
在重識別網絡中,提取的語義信息隨著卷積層數的加深而越來越明顯。加深網絡層數,會帶來更加強大的非線性表達能力和復雜的變換,使提取的信息愈加復雜、抽象[16]。在特征提取網絡中,底層網絡會提取物體的邊緣信息,較深層的網絡會提取物體的紋理特征,更深層的網絡則會提取目標的形狀,能更好地表達車輛的整體信息。原始的重識別網絡由6個殘差網絡組成,最后的特征維度為128。廣泛應用于行人的重識別網絡由8個殘差網絡組成,特征維度為512,增加了特征維度使得分類更加細致,但其仍無法進行復雜情況下的車輛特征提取。為了提取車輛更深層次的信息,以滿足實際行車中的追蹤要求,本文在保證其時效性的同時加深了網絡的深度[17],稱為ResNet13,網絡結構如表1所示。

表1 ResNet13網絡結構
SENet[18]在通道維度上增加1個注意力機制,并利用損失函數的自我學習,調整不同通道維度的特征權重,增大有效特征通道的權重。根據SENet所提供的各特征通道的重要程度,網絡能自主地關注重要的特征通道。其包括擠壓、激勵和特征重標定3個部分,如圖3所示。

圖3 SENet結構
擠壓是將不同特征通道數(c)的特征圖集的全局信息嵌入,聚合成c×1×1的特征描述符。在不同特征通道數的特征圖集中加入SENet,將網絡中的特征圖集聚合成32×1×1、64×1×1、128×1×1、256×1×1、512×1×1的特征描述符。在不同層次上獲得每個特征圖集的全局描述符:
式中,zc為特征圖擠壓聚合得到的特征描述;uc為特征圖;w為特征圖的寬;h為特征圖的高。
獲取不同深度的特征描述符后,激勵通過2個全連接層獲取通道間的關系,再經由Sigmoid函數轉化為不同網絡深度(32、64、128、256、512)下每個通道的權重值:
式中,s為所有特征圖的權重集;σ為Sigmoid函數;δ為線性整流(Rectified Linear Unit,ReLU)函數;W1為第1 個全連接層操作;W2為第2個全連接層操作;z為所有特征圖擠壓聚合所得的特征描述符集。
最后,特征重標定將激勵獲得的通道權重逐通道加權到不同深度的原始特征圖通道上,減小不重要的特征圖的權重,提高包含重要分類信息的特征圖權重:
式中,為特征圖與對應權重相乘得到的特征圖;sc為特征圖的權重。
ResNet13采用殘差塊結構[19],將輸入的X與由多個卷積級聯輸出的F(X)相加。殘差結構作為小型網絡,X為輸入的觀測值,H(X)為輸出的殘差網絡的預測值,F(X)為觀測值與預測值之間的差,即殘差。該網絡結構有利于保護信息的完整性,且在加深網絡層數的同時,能有效解決梯度消失和梯度爆炸的問題。在ResNet13中,隨著網絡層數的增加,特征圖的深度不斷擴張。將SENet加入殘差網絡中,可以對網絡中不同深度的特征圖進行重構,如圖4所示。

圖4 殘差網絡結合SENet結構
試驗采用開源的PyTorch 1.6.0 深度學習框架,CPU配置為Intel?Aeon?Silver 4108,主頻1.80 GHz,顯卡為GeForce GTX 1080Ti,內 存容量為64 GB,系統為Ubuntu16.04 LTS,包含Python 3.7、CUDA 10.1、CuDNN 7.6.5、OpenCV 4.4.0 環境。數據集的采集設備為長虹CXC-X6行車記錄儀。
將ResNet13 和SENet 應用于復雜場景下對車輛特征的提取,以VeRi-776[20-21]數據集訓練所得的準確率(Accuracy)和損失(Loss)為基準判斷算法的質量。對重識別網絡進行數據集的訓練時,為保證數據的準確性,3組網絡訓練采用相同的參數:學習率為0.001,經過20代(epoch),學習率乘以0.1。
準確率是用于對重識別網絡訓練效果進行度量的主要指標,計算重識別模型正確分類的樣本數與總樣本數之比,本文利用誤差(Error)對準確率進行表達。圖5展示了原網絡6 層殘差網絡、8 層殘差網絡,以及ResNet13并加入SENet網絡預測期間的誤差曲線。

圖5 誤差對比
誤差公式為:
式中,α為誤差率;TP為真正例數量;TN為真負例數量;FP為假正例數量;FN為假負例數量。
損失函數用于表達實際輸出和期望輸出之間的差值,使網絡更新模型參數,減小誤差。圖6 展示了原網絡6 層殘差網絡、8 層殘差網絡,以及ResNet13 并加入SENet網絡預測期間的損失。

圖6 損失對比
損失公式為:
式中,q(xi)為實際輸出的各類別的概率分布;p(xi)為期望輸出各類別的分布;n為類別總數;H(p,q)為交叉熵損失。
圖5 和圖6 中,原始網絡的6 層殘差網絡與本文的重識別網絡都進行850代的訓練對比。在2個網絡訓練到第80代時,誤差和損失都迅速減少,隨后下降速度逐漸減緩,直至第200 代時趨于平穩。但原始網絡在第200 代后,訓練的模型精度較差,波動較為明顯。在經歷850代訓練后,誤差和損失依然不理想,誤差為0.55,損失為2.35。本文網絡在訓練過程中比原始網絡更加平穩,誤差和損失也更加精確,誤差為0.03,損失為0.16。因此,本文網絡在車輛外觀提取方面,比原始網絡具有更好的性能。
分別采用DeepSort 的原始版本和本文改進的版本對車輛進行追蹤,利用車輛在不同場景(城市、鄉村)下的視頻集進行試驗,驗證算法的可行性。本文的試驗場景為自制的雙車道的來往車輛視頻,包括城市和鄉鎮,具有一定的普遍性。
圖7所示為原始網絡在數據集中前、后幀的變化情況。由圖7可知,身份標簽為10的車輛在視頻中發生了身份跳轉。

圖7 原始網絡的前、后幀變化
圖8所示為添加Haar-like特征匹配網絡后,試驗的前、后幀變化情況。當車輛處于視頻的遠端角落時,會發生形變及特征不清晰的情況。原始重識別網絡提取的深度特征不足以應對復雜的車輛行駛情況,從而發生身份跳轉。添加Haar-like特征匹配網絡以提取目標車輛的光暗變化,從而實現對原始網絡在深度特征匹配之后的補齊。將深度特征無法匹配的車輛進行Haar-like特征再匹配,抑制了身份跳轉的發生。

圖8 添加Haar-like特征匹配網絡的前、后幀變化
圖9所示為原始網絡在數據集中前、后幀的變化情況。車輛失去識別后再次出現時,身份標簽為3的車輛發生了身份跳轉。

圖9 原始網絡的前、后幀變化
圖10所示為改進后的ResNet13以及添加了注意力機制網絡后,視頻前、后幀的變化情況。在相同視頻幀下,車輛的身份并沒有發生切換;在車輛處于半遮擋狀態時,ResNet13可提高網絡對車輛的特征提取效果。結果表明:SENet 可自動學習到不同通道特征的重要程度,注意力機制提高了目標特征的權重,使網絡專注于信息量大的通道特征,減弱不重要信息的通道特征,將ResNet13與SENet相結合可達到更好的匹配結果。

圖10 加深網絡和加入SENet的前、后幀變化
采用多目標跟蹤精度(Multiple Object Tracking Accuracy,MOTA)、平均數比率IDF1(Identification F1)和幀速率3 個評價指標對跟蹤算法進行評估。MOTA衡量了跟蹤器在檢測物體和保持軌跡時的性能,相比IDF1更專注于檢測器的性能。IDF1用于判斷跟蹤器在視頻中長時間地對同一事物進行準確跟蹤的能力,著重于計算物體的初始身份號碼占其在視頻中出現的所有身份號碼的比例。幀速率反映了處理速度。對比算法的評價結果,如表2所示。

表2 評價結果
由表2可知,在跟蹤網絡中加入Haar-like特征且對重識別網絡進行改進,可有效提升跟蹤網絡的效果。
本文針對自動駕駛汽車,面向外界動態車輛多目標跟蹤的場景,提出以YOLOX 為前端檢測器的DeepSort改進算法,利用Haar-like 算法提取車輛的光暗變化特征,實現對網絡原有匹配機制的補充。此外,通過ResNet13 網絡對重識別網絡進行更換、添加注意力機制,從而提高重識別網絡對車輛深度特征的提取能力。采用實際道路駕駛采集的視頻數據,對本文算法和傳統算法進行對比驗證,結果表明:相較于傳統DeepSort 算法,改進后算法的MOTA 提高了1.4 百分點,IDF1 提升了7.7百分點。