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