劉康安,肖永超
(上海工程技術(shù)大學 機械與汽車工程學院,上海 201620)
在復雜的交通環(huán)境下,通過對車輛前方行人進行有效的檢測和跟蹤,從而使自動駕駛系統(tǒng)及時做出判斷和預警,對降低交通安全隱患具有重要意義。而檢測算法模型精度與計算速度的優(yōu)化,是保證穩(wěn)定跟蹤的前提與手段。
傳統(tǒng)的行人檢測方法主要是基于特征學習,通過特征提取和機器學習來實現(xiàn)圖像或視頻中的行人檢測。其中,方向梯度直方圖(HOG)是最常用的特征提取方法,通過HOG 行人特征描述子結(jié)合支持向量機(SVM)進行行人檢測,具有較強的魯棒性。與傳統(tǒng)的檢測方法相比,基于深度學習的目標檢測算法,采用神經(jīng)網(wǎng)絡替代人為設定的特征提取器,具有強大的特征表示能力,顯著提高了視頻圖像中目標檢測的性能。在之前的應用中,最流行的檢測網(wǎng)絡是基于錨點的方法。這類方法設計了具有預定義尺寸和高寬比的先驗框,并對先驗框進行分類和回歸,得到目標的邊界框。然而,邊界框的最小和最大尺寸會受到一定限制。在利用錨點檢測目標時,由于不同范圍內(nèi)目標的大小不變性,會導致小目標行人的漏檢,降低了檢測精度;同時由于后處理需要從候選邊界框中過濾出最終的邊界框,增加了計算復雜度。近年來,人們提出了基于關(guān)鍵點的目標檢測方法,此類方法無需設計先驗框,避免了大量先驗框造成的復雜計算。眾多方法中,最具代表性的方法有ConerNet、ExtremeNet 以及CenterNet。其中,ConerNet 通過檢測邊界框的左上角和右下角,以確定目標的位置和大小,但這些角的語義信息相對較弱,難以檢測,且該方法還需要對屬于同一目標的2個點進行后處理,點的匹配難度較大。ExtremeNet使用最佳關(guān)鍵點估計框架,通過預測目標中心找到極值點。然而,由于所涉及的點數(shù)較多,其計算成本較高、且檢測精度也未見顯著提高。此外,由于網(wǎng)絡過于關(guān)注邊緣,容易導致誤檢。為此,Duan 等人提出了CenterNet,該算法只需要提取每個對象的中心點,就能回歸出寬高尺寸、偏移量等目標,具有計算成本低、檢測精度高且速度快等優(yōu)點。
一般情況下,目標跟蹤算法是根據(jù)前一幀的位置來預測下一幀的目標位置?,F(xiàn)有行人跟蹤算法包括均值漂移、粒子濾波、核相關(guān)濾波和深度學習等。Li 等人通過特征融合和均值漂移跟蹤行人,并引入尺度不變特征變換(SIFT),增強跟蹤方法的魯棒性。但行人被遮擋時(即特征點數(shù)量非常有限),該方法則無法精準確定行人位置。Wu 等人基于粒子濾波算法,對粒子進行均值移位重采樣,并在局部區(qū)域?qū)崿F(xiàn)快速收斂。Henriques 等人提出了基于KCF(kernelized correlation filters)的跟蹤算法,該算法只需指定目標的初始位置,就可以預測目標在下一時刻的位置,速度較快。然而,當形狀發(fā)生較大變化時,會對預測結(jié)果造成影響;當目標被遮擋時,極易導致目標信息丟失。近年來,隨著深度學習技術(shù)在計算機視覺領(lǐng)域的興起,深度學習算法也被引入到目標跟蹤研究領(lǐng)域。該方法可以同時檢測目標,并學習連接特征。如re-ID 特征、外觀特征或運動特征,從而進行數(shù)據(jù)關(guān)聯(lián)。Gordon 等人提出利用長短時記憶(Long -Short Term Memory,LSTM)構(gòu)建一種實時遞歸回歸網(wǎng)絡,從而對一般對象進行視覺跟蹤。雖然該方法具有較好的實時性,但其跟蹤結(jié)果不適用于雜亂區(qū)域內(nèi)的小目標,會產(chǎn)生虛警,在快速運動時也會導致跟蹤失效。
為了解決復雜道路場景下行人檢測與跟蹤所面臨的問題,本文從優(yōu)化目標檢測器和跟蹤算法兩個方面考慮,提出了一種基于跨尺度特征聚合網(wǎng)絡與自適應卡爾曼濾波的多目標行人檢測跟蹤算法。論文主要完成任務可表述如下。
(1)提出了從視頻數(shù)據(jù)中檢測目標行人的TFACN 和ROI-TFACN 方法。該方法利用跨尺度特征聚合(TFA),有效估計目標行人的中心關(guān)鍵點、尺寸和回歸偏移量。在估計過程中,TFA 使用雙向信息流,在不同的特征層之間上下流動,以提高準確性和效率。歸功于該反饋流,TFA 幫助網(wǎng)絡了解上層對下層的影響,反之亦然。
(2)提出RSCR(region of interest-scale-cropresize)方法,結(jié)合連續(xù)幀的上下文信息,進一步合并TFACN 和ROI-TFACN。該算法有助于信息在2 個被提出的網(wǎng)絡之間流動,通過去除背景效應,放大小目標,幫助檢測器聚焦于,不僅提高了精度,而且進一步降低了算法的計算復雜度。
(3)提出了一種優(yōu)化的自適應卡爾曼濾波算法,通過實時調(diào)整觀測噪聲,提高行人跟蹤準確度。
本文提出的整體方法主要由TFACN、RSCR、ROI-TFACN 和動態(tài)估計組成,用于檢測和跟蹤行人。行人多目標檢測跟蹤流程如圖1 所示。在檢測部分,使用TFACN 獲取上一幀目標的邊界框。根據(jù)最終候選邊界框的大小或邊界框預測得分,選擇最終候選邊界框用于初始化跟蹤器,并將其設置為RSCR 輸入值。在當前幀中,根據(jù)RSCR 獲得的,將512×512 像素的輸入幀裁剪為128×128 像素,并用于ROI-CFACN 中預測目標邊界框,從而最小化目標搜索區(qū)域,擴大小目標。將每一幀中獲得的最終候選邊界框保存為觀測量。在跟蹤部分,采用卡爾曼濾波算法來預測行人在當前幀中的狀態(tài),并采用匈牙利算法視頻,對相鄰幀中的行人進行關(guān)聯(lián),實現(xiàn)對行人多目標的穩(wěn)定跟蹤。
圖1 行人多目標檢測跟蹤流程圖Fig.1 Flow chart of pedestrians multi -target detection and tracking
本文選取CenterNet 網(wǎng)絡作為目標檢測器,將視頻中的連續(xù)幀作為全卷積CNN 的輸入,生成熱力圖(獲取中心點)、大小(邊界框的高度和寬度)和偏移量,具有計算成本低、檢測精度高、且速度快等優(yōu)點。在CNN 模型中,每個卷積層只能處理特定的尺度。然而,不同行人目標的大小差別很大,基于CenterNet 的模型只檢測中心點,獲取的目標信息較少,導致小目標行人的誤檢和虛警較多。因此,為保證模型對尺度變化的魯棒性,必須提取多尺度特征。為了提高對小目標和遮擋目標的檢測效果,本文提出基于中心點的跨尺度特征聚合網(wǎng)絡(TFACN)。TFACN 以512×512 像素幀作為輸入,對行人進行識別和定位,并提出候選的。第二個網(wǎng)絡ROITFACN 使用裁剪的128×128 像素幀作為輸入,通過降低背景復雜度來定位較低像素尺度的行人。這種策略不僅減少了計算成本,還限制了目標搜索時容易出現(xiàn)的誤報次數(shù)。為了對多級特征圖進行融合,本文設計了一個基于ResNet-18 的跨尺度特征聚合模塊(TFA),以便通過其反饋連接提取更多的重要信息。
圖2 不同特征網(wǎng)絡模型示意圖Fig.2 Schematic diagram of different characteristic network models
其中,通常是特征匹配的上采樣或下采樣操作,通常是特征處理的卷積操作。
由于層間單向信息流動,這種傳統(tǒng)方法通常會抑制結(jié)果的準確性。為改進結(jié)果,本文提出了深度多尺度特征聚合(deep Multi -scale Feature Aggregation,MFA),如圖2(b)所示。然而,這種網(wǎng)絡也需要更多的參數(shù),使得其計算復雜度很高。令CenterNet 使用2 種不同的骨干網(wǎng)來比較得到的準確性和效率。結(jié)果表明,MFA 具有較好的精度,但效率較低。為了在有限的計算資源下提高精度和效率,本文提出了一種新的基于MFA 和TFA 的網(wǎng)絡。
在CenterNet 中,網(wǎng)絡被設計成只有單一信息流通過的網(wǎng)絡。為了提高精度,采用MFA 并行信息流網(wǎng)絡,設計了多尺度特征聚合中心網(wǎng)(MFACN)。同時,為了進一步改進MFACN,設計了帶有反饋架構(gòu)的TFA 雙向平行流網(wǎng)絡,如圖3 所示。使用ResNet 作為主干,提取不同層的特征;將ResNet 第2 層到第5層的輸出作為TFA 的輸入。在TFA 的設計中,首先最小化上下節(jié)點,通過最小化不同層之間的上節(jié)點聚合并以交叉三角形的形式連接,使計算代價最小化,提高檢測精度。其次,通過將TFA 中最后一個中間層(、、)與每個階段最后一個卷積層(、、)連接,增加下節(jié)點聚合(如圖3 中給出的紅色連接),以提高檢測精度。此外,通過由下向上節(jié)點獲得改進的檢測器。當網(wǎng)絡層較小時,使用下采樣或上采樣層(如池化或上采樣層)是無效的。為了解決這個問題,使用一個為2 的卷積層作為下采樣層,一個轉(zhuǎn)置卷積層作為上采樣層,有助于更好地理解不同大小的輸出特征層之間的相關(guān)性。TFA 的計算公式如下:
圖3 具有更高精確度和計算效率的TFA 網(wǎng)絡結(jié)構(gòu)Fig.3 TFA network structure diagram with higher accuracy and computational efficiency
TFA 簡單而有效,允許更高分辨率的輸出(步幅4)。同時,將TFA 的4 個轉(zhuǎn)置卷積層的通道分別改為512、256、128 和64,上卷積濾波器使用均值為零的正態(tài)高斯分布初始化。
TFACN 與ROI-TFACN 的網(wǎng)絡結(jié)構(gòu)如圖4 所示。由圖4 可知,TFACN 檢測器主要由ResNet18 骨干網(wǎng)絡、TFA 跨尺度特征聚合模塊和預測模塊三部分組成。TFACN 和ROI-TFACN 框架皆包括3×3 卷積核、1×1 卷積核、Keypoint 熱圖預測頭、回歸預測頭和尺寸預測頭。ROI-CFACN 是TFACN 的輕量化版本,不同之處在于,聚合網(wǎng)絡中TFA 層的通道深度分別為256、128、64 和32。2 種算法中的主干網(wǎng)絡具有相同的層數(shù)和通道深度。由圖4 可看到,對于每個框架,主干網(wǎng)絡的特征都通過TFA 進行傳遞。
圖4 TFACN 與ROI-TFACN 的網(wǎng)絡結(jié)構(gòu)圖Fig.4 Network structure of TFACN and ROI-TFACN
卡爾曼濾波預測目標位置分為預測和更新兩個階段。其中,預測階段主要根據(jù)上一時刻行人的位置來預測行人在當前幀的位置;更新階段主要根據(jù)當前幀檢測到的行人位置來更新預測階段的行人位置。
其中,X為上一時刻預測的當前時刻的行人位置,P為預測的當前狀態(tài)誤差協(xié)方差矩陣。
假設為觀測矩陣,K為當前時刻的卡爾曼增益,為觀測噪聲協(xié)方差矩陣,X表示當前時刻的行人位置,Z為當前時刻行人位置的觀測量,P為當前時刻估計誤差協(xié)方差矩陣。更新階段方程為:
卡爾曼濾波器在迭代更新時的殘差為:
由上式可得殘差的協(xié)方差矩陣為:
此時濾波增益可表示為:
為降低復雜交通環(huán)境對觀測的干擾,需要通過計算n,從而調(diào)節(jié)K對行人進行準確跟蹤。將觀測受到的干擾反映到噪聲上,由式(9)得:
其中,r是的比例因子矩陣。由式(11)可知:
在[0,] 時刻,有:
由式(12)、(13)可知:
為使比例因子矩陣r的對角元素r≥1,定義該矩陣的第個對角元素為:
在線更新后的觀測噪聲為:
匈牙利算法主要用作求解二分圖的指派問題,并具有時間、空間復雜度較低等優(yōu)點。本文采用匈牙利算法解決跟蹤目標和檢測目標的關(guān)聯(lián)問題。
若存在某一檢測目標無法與已有的任何跟蹤目標相關(guān)聯(lián),則將其作為新的跟蹤目標并添加對應的ID。在實際跟蹤過程中,當計算的歐氏距離大于一定的閾值或連續(xù)幀沒有對應的檢測行人與當前跟蹤集中的某個目標相匹配,則判斷此跟蹤目標消失。
本文實驗基于Python 編譯環(huán)境和Pytorch 框架實現(xiàn)。硬件平臺主要配置包括:Intel(R)Core(TM)i5-9400f CPU、16 G RAM、NVIDIA GeForce GTX 2080 GPU。本研究實驗分為檢測算法實驗與跟蹤算法實驗。擬展開研究分述如下。
本次實驗選用Caltech 行人數(shù)據(jù)集進行模型訓練和測試。訓練時網(wǎng)絡參數(shù)設置為:學習率從0.000 1至0.000 001遞減,衰減系數(shù)為0.999 5。對算法進行48 000 次訓練迭代,設置為16,并且對原數(shù)據(jù)進行數(shù)據(jù)增強,以提高模型的泛化性能。
為了評估本文算法的檢測性能、檢測速度以及先進性,采用精確率召回率()曲線,以及均值平均精度()和傳輸速率進行評價,并與其它通用目標檢測算法進行對比實驗。各檢測器對比曲線如圖5 所示。由圖5 可知,本文提出的跨尺度特征聚合中心網(wǎng)絡,相對于其它檢測算法具有更高查全率和召回率。
圖5 各檢測器P-R 曲線圖Fig.5 P-R curve of each detector
實驗中不同檢測算法在數(shù)據(jù)集上的測試結(jié)果見表1。由表1 可見,本文算法檢測精度達到96.56%,優(yōu)于其它算法,并以46 f/s 的檢測速度達到了實時檢測的要求。
表1 不同檢測方法在Caltech 數(shù)據(jù)集上的檢測結(jié)果對比Tab.1 Comparison of detection results of different detection methods on Caltech dataset
圖6 為本文算法在測試集上的檢測結(jié)果。其中,圖6(a)為前方行人較多且遮擋率較高的交通路口場景;圖6(b)是目標距離較遠的城市道路場景,該場景下小目標行人較多。從效果圖中可以看出,本文方法在多類別行人檢測中,檢測框與目標行人重合程度大,對小目標行人以及受遮擋行人具有較好的檢測效果,誤檢、漏檢和重復檢測現(xiàn)象較少。
圖6 行人多目標檢測效果圖Fig.6 Pedestrians multi-target detection results diagram
為驗證改進的卡爾曼濾波行人跟蹤算法的有效性,采用多目標跟蹤準確度()和多目標跟蹤精確度()兩個指標衡量算法的總體性能。在數(shù)據(jù)集上進行測試,并將其與粒子濾波、KCF、Sort 等代表性多目標跟蹤算法進行比較。對比結(jié)果見表2。由表2 可知,本文算法在和兩個指標上相比于其它算法均具有明顯的提升。在測試集上的多目標行人跟蹤準確度達到72.43%,跟蹤精確度為84.26%,滿足復雜道路場景下穩(wěn)定跟蹤的要求。
表2 多目標跟蹤算法的MOTA 與MOTP 對比Tab.2 Comparison of MOTA and MOTP for multi-objective tracking algorithms
實際行人多目標跟蹤效果如圖7 所示。在城市道路上對多目標行人進行跟蹤實驗,跟蹤目標在圖像上較小且距離較遠,視頻中部分行人出現(xiàn)不同程度的遮擋,甚至消失。可以看到,本文算法的跟蹤魯棒性較好,無ID 跳變,無明顯漏檢、誤檢,在行人不斷進入、消失的情況下,仍能夠準確跟蹤到遠距離處小目標行人,且具有較好的抗遮擋性。圖8 為本文算法以及Sort、KCF 和PF 等算法跟蹤到的目標質(zhì)心在圖像中的像素誤差,4 種方法得到的單幀平均像素誤差分別為2.85、4.67、5.35、6.96。由此可見,本文算法在復雜交通環(huán)境下具有良好的性能。
圖7 行人多目標跟蹤效果圖Fig.7 Pedestrians multi-target tracking results diagram
圖8 各跟蹤算法的目標質(zhì)心誤差對比Fig.8 Comparison of target centroid error of each tracking algorithm
本文針對傳統(tǒng)的基于檢測的目標跟蹤算法對環(huán)境干擾適應能力差、漏檢較多、且跟蹤準確率不高的問題,提出了一種基于跨尺度特征聚合中心網(wǎng)絡與自適應卡爾曼濾波相結(jié)合的行人多目標檢測與跟蹤方法。在原始的特征提取模塊中加入特征聚合模塊,有效地聚合具有語義魯棒性的高層特征和具有精確定位信息的低層特征,生成一個更有效的特征圖,提高識別檢測精度。并結(jié)合自適應卡爾曼濾波算法,通過對受擾觀測進行權(quán)重在線更新,從而對運動行人進行魯棒跟蹤。實驗結(jié)果表明,本文提出的跨尺度特征聚合網(wǎng)絡相對其它類似方法可以獲得更好的性能,對行人多目標的跟蹤,提出的算法在和兩個指標上相較于其它方法有較好的提升,ID 跳變數(shù)得到了大幅改善,可以滿足復雜道路場景下行人檢測與跟蹤應用的需求。