馮 欣,殷一皓,吳浩銘,石美鳳
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
隨著人工智能的不斷發(fā)展與計(jì)算機(jī)硬件性能的逐漸提高,以深度卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的深度學(xué)習(xí)方法在計(jì)算機(jī)視覺(jué)的各個(gè)應(yīng)用上都取得了極大的成功,自動(dòng)駕駛視覺(jué)感知是深度學(xué)習(xí)技術(shù)得以大力發(fā)展的應(yīng)用領(lǐng)域,其包含目標(biāo)檢測(cè)、多目標(biāo)跟蹤等技術(shù),能夠?qū)崿F(xiàn)目標(biāo)位置、移動(dòng)方向、速度的自動(dòng)感知,為駕駛車輛自動(dòng)避障、目標(biāo)交互等重要應(yīng)用提供有力的技術(shù)支撐[1]。
多目標(biāo)跟蹤從跟蹤方式上主要分為在線跟蹤與離線跟蹤。其中,在線跟蹤要求當(dāng)前幀的跟蹤結(jié)果只與當(dāng)前幀及前幀中的信息相關(guān)。而離線跟蹤的跟蹤可利用所有幀的信息,從而能夠獲得全局最優(yōu)解。因此,在線跟蹤通常用于實(shí)時(shí)的應(yīng)用情況,而離線跟蹤通常用于對(duì)一段視頻的離線分析,如目標(biāo)行為分析等。由于可利用信息較少,在線跟蹤方法要同時(shí)滿足高跟蹤精度和低時(shí)延是極具挑戰(zhàn)的。本文主要面向自動(dòng)駕駛場(chǎng)景下的實(shí)時(shí)多目標(biāo)跟蹤,提出了一種高效的在線跟蹤方法。
目前主流的多目標(biāo)跟蹤方法是基于trackingby-detection 的跟蹤框架,即通過(guò)檢測(cè)結(jié)果進(jìn)行跟蹤。近些年,基于深度學(xué)習(xí)的tracking-by-detection跟蹤方法取得了不錯(cuò)的跟蹤效果。這類方法通常通過(guò)3 步實(shí)現(xiàn)跟蹤結(jié)果:①對(duì)每幀圖像進(jìn)行目標(biāo)檢測(cè),得到所有目標(biāo)的位置和邊框;②在得到目標(biāo)區(qū)域的基礎(chǔ)上,使用特征描述方法或進(jìn)行表觀特征的提取;③通過(guò)計(jì)算目標(biāo)間表觀特征的相似度進(jìn)行幀間目標(biāo)的匹配以得到每個(gè)目標(biāo)的跟蹤結(jié)果。因此,在這樣的框架下,目標(biāo)檢測(cè)結(jié)果的準(zhǔn)確性對(duì)于后續(xù)跟蹤結(jié)果的好壞有很大的影響。
近年來(lái),深度神經(jīng)網(wǎng)絡(luò)推動(dòng)目標(biāo)檢測(cè)算法快速發(fā)展。其中,基于錨框(anchor)的多階段檢測(cè)算法,如Faster R-CNN[2]、Mask R-CNN[3]等在檢測(cè)精度上有很大優(yōu)勢(shì);基于錨框(anchor)的單階段檢測(cè)算法,如SSD[4]、YOLO[5-6]、RetinaNet[7]等目標(biāo)檢測(cè)算法是適合實(shí)時(shí)應(yīng)用的目標(biāo)檢測(cè)算法;基于關(guān)鍵點(diǎn)的無(wú)錨框(anchor-free)目標(biāo)檢測(cè)算法,如CornerNet[8]、CenterNet[9]等綜合了速度與精度,是目前目標(biāo)檢測(cè)領(lǐng)域的研究熱點(diǎn)??紤]到目標(biāo)檢測(cè)對(duì)后續(xù)目標(biāo)跟蹤的重要性,提出了一種多尺度特征融合的目標(biāo)中心點(diǎn)的目標(biāo)檢測(cè)方法。
基于每一幀得到的目標(biāo)定位結(jié)果,多目標(biāo)跟蹤問(wèn)題可歸為數(shù)據(jù)關(guān)聯(lián)問(wèn)題,即跨幀關(guān)聯(lián)相同目標(biāo)。以往大多數(shù)tracking-by-detection 的跟蹤算法通常利用傳統(tǒng)特征提取算法獲取目標(biāo)特征描述來(lái)實(shí)現(xiàn)目標(biāo)之間的匹配,如像素模板[10]、顏色直方圖[11]、基于梯度表示的HOG[12]特征和基于混合顏色及紋理特征的協(xié)方差矩陣[13]等目標(biāo)特征提取方法。然而,這些通過(guò)傳統(tǒng)特征提取算法所獲得的目標(biāo)特征描述卻很難處理被遮擋或光照變化情況下的目標(biāo)以及非剛性目標(biāo),如姿態(tài)變化較大的行人目標(biāo)等。因此往往會(huì)聯(lián)合采用基于空間關(guān)系的目標(biāo)匹配方法,通過(guò)交并比(intersection over union,IOU)[14]、光流法[15]獲取幀間目標(biāo)的空間關(guān)系進(jìn)行目標(biāo)空間上的匹配。
相對(duì)于傳統(tǒng)的特征提取方法,基于深度卷積神經(jīng)網(wǎng)絡(luò)如ResNet、VGG 的特征提取方法雖然能夠提取到目標(biāo)的高級(jí)語(yǔ)義特征以進(jìn)行更準(zhǔn)確的目標(biāo)匹配,但ResNet、VGG 等常用骨干網(wǎng)絡(luò)有著較多的網(wǎng)絡(luò)參數(shù),會(huì)導(dǎo)致跟蹤效率的低下。針對(duì)實(shí)時(shí)跟蹤應(yīng)用場(chǎng)景下有著較高的實(shí)時(shí)性要求,提出了一個(gè)基于目標(biāo)關(guān)聯(lián)學(xué)習(xí)的端到端目標(biāo)檢測(cè)與多目標(biāo)跟蹤聯(lián)合方法,使用一個(gè)輕量級(jí)的骨干網(wǎng)絡(luò)便能同時(shí)對(duì)圖像中所有目標(biāo)進(jìn)行檢測(cè)與特征提取,避免了重復(fù)使用特征提取網(wǎng)絡(luò)依次對(duì)所有目標(biāo)進(jìn)行特征提取的方式,有效提高了目標(biāo)特征提取的效率。不同于tracking-by-detection 框架,本文在對(duì)目標(biāo)進(jìn)行檢測(cè)的同時(shí),從最具有區(qū)分性目標(biāo)特征的提取層進(jìn)行了對(duì)目標(biāo)表觀特征的提取。基于目標(biāo)檢測(cè)下的特征提取過(guò)程不增加任何計(jì)算量,提高了整個(gè)跟蹤過(guò)程的效率。在目標(biāo)匹配跟蹤過(guò)程中,通過(guò)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支學(xué)習(xí)目標(biāo)間的相似度,直接得到匹配跟蹤結(jié)果,并與基于目標(biāo)中心點(diǎn)的檢測(cè)網(wǎng)絡(luò)形成端到端的高效目標(biāo)檢測(cè)與跟蹤方法。同時(shí),也考慮了目標(biāo)間的空間關(guān)系,通過(guò)交并比在空間上對(duì)目標(biāo)進(jìn)行匹配,有效地防止了2 個(gè)不同目標(biāo)因外觀相似造成的錯(cuò)誤匹配情況。
DeepSORT[16]是最早的基于深度學(xué)習(xí)的tracking-by-detection 跟蹤方法。DeepSORT 在檢測(cè)過(guò)程中采用了Faster R-CNN 的檢測(cè)思想,即通過(guò)RPN網(wǎng)絡(luò)來(lái)減少負(fù)樣本以提高檢測(cè)精度。在檢測(cè)到目標(biāo)后,DeepSORT 采用了基于行人重識(shí)別數(shù)據(jù)預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取目標(biāo)的表觀特征,通過(guò)計(jì)算目標(biāo)特征的余弦相似度實(shí)現(xiàn)目標(biāo)間的匹配。除了目標(biāo)表觀特征的匹配,DeepSORT 還根據(jù)目標(biāo)當(dāng)前位置來(lái)預(yù)測(cè)目標(biāo)在下一幀的位置,并結(jié)合交并比進(jìn)一步預(yù)測(cè)目標(biāo)匹配的可能性。DeepSORT采用了精確度較高的二階段目標(biāo)檢測(cè)網(wǎng)絡(luò),同時(shí)考慮了目標(biāo)的表觀特征和位置信息以獲得更加準(zhǔn)確的跟蹤結(jié)果。然而,DeepSORT 的目標(biāo)特征提取網(wǎng)絡(luò)需要多次輸入目標(biāo)區(qū)域圖像以提取目標(biāo)的表觀特征。這種情況下,當(dāng)目標(biāo)個(gè)數(shù)過(guò)多時(shí),算法的跟蹤效率就會(huì)大大降低。這對(duì)于在線跟蹤來(lái)說(shuō),是一個(gè)必須要解決的難題。
為了提高基于深度學(xué)習(xí)的tracking-by-detection 算法的效率,Mitzel 等[17]采用了目標(biāo)關(guān)聯(lián)的思想對(duì)目標(biāo)進(jìn)行匹配。該方法在目標(biāo)檢測(cè)之后,通過(guò)目標(biāo)檢測(cè)網(wǎng)絡(luò)提取目標(biāo)的表觀特征,再根據(jù)不同幀間目標(biāo)特征得到目標(biāo)特征組合矩陣,最后,通過(guò)關(guān)聯(lián)匹配網(wǎng)絡(luò)學(xué)習(xí)目標(biāo)間的相似度,實(shí)現(xiàn)目標(biāo)間的匹配及跟蹤結(jié)果。Mitzel 等在特征提取時(shí)考慮了圖片的背景信息,同時(shí)通過(guò)直接計(jì)算目標(biāo)之間的匹配相似度加強(qiáng)了對(duì)目標(biāo)可區(qū)分性表觀特征的提取;其關(guān)聯(lián)匹配網(wǎng)絡(luò)可直接輸出目標(biāo)間的匹配結(jié)果,實(shí)現(xiàn)了較高效的跟蹤效果。但和Deep-SORT 一樣,Mitzel 等同樣使用了多個(gè)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測(cè)和跟蹤,并且采用了參數(shù)量較大的VGG 網(wǎng)絡(luò)作為特征提取骨干網(wǎng)絡(luò),這些因素仍然限制了該方法的跟蹤效率。
為了進(jìn)行高效的目標(biāo)檢測(cè)和幀間多目標(biāo)關(guān)聯(lián)匹配,提出了一種端到端的目標(biāo)關(guān)聯(lián)學(xué)習(xí)網(wǎng)絡(luò)。該網(wǎng)絡(luò)為一個(gè)端到端的多任務(wù)網(wǎng)絡(luò),通過(guò)一個(gè)高效的骨干網(wǎng)絡(luò)同時(shí)實(shí)現(xiàn)目標(biāo)檢測(cè)和目標(biāo)跟蹤任務(wù)。該方法的整體框架如圖1 所示。
圖1 基于目標(biāo)關(guān)聯(lián)學(xué)習(xí)的端到端多目標(biāo)檢測(cè)與跟蹤方法總體框架
1)首先,該網(wǎng)絡(luò)通過(guò)2 個(gè)孿生的骨干網(wǎng)絡(luò)DLA34[18]分別接受時(shí)間上連續(xù)的兩幀It1、It2。為了增加更多不同的訓(xùn)練數(shù)據(jù)對(duì)及防止2 張圖片中同一目標(biāo)的變化過(guò)大,2 張圖像間的幀間間隔不定但不得超過(guò)最大幀間間隔數(shù)30 幀。
2)輕量級(jí)骨干網(wǎng)絡(luò)DLA34 通過(guò)共享參數(shù)方式(孿生)同時(shí)提取兩幀中所有目標(biāo)的高級(jí)語(yǔ)義特征,結(jié)合基于中心點(diǎn)的目標(biāo)檢測(cè)方法的訓(xùn)練去學(xué)習(xí)預(yù)測(cè)場(chǎng)景中所有目標(biāo)的中心點(diǎn)位置Ct1、Ct2。
3)基于預(yù)測(cè)的中心點(diǎn)位置,回溯網(wǎng)絡(luò)的特征層,找到目標(biāo)對(duì)應(yīng)特征區(qū)域的特征向量作為目標(biāo)的表觀特征,即Ft1、Ft2。
4)將從不同幀提取的目標(biāo)表觀特征向量進(jìn)行兩兩組合得到目標(biāo)表觀特征矩陣Ft1,t2,并通過(guò)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)的訓(xùn)練來(lái)預(yù)測(cè)兩兩目標(biāo)間的特征相似度,最終得到目標(biāo)相似度匹配矩陣Mt1,t2,從而實(shí)現(xiàn)前后幀的多目標(biāo)跟蹤。
在目標(biāo)檢測(cè)階段,采用了基于中心點(diǎn)的目標(biāo)檢測(cè)方法。其動(dòng)機(jī)主要來(lái)源于以下3 個(gè)方面:①目標(biāo)的中心點(diǎn)往往是目標(biāo)特征的聚集點(diǎn)。在網(wǎng)絡(luò)的高層特征層上,中心特征點(diǎn)在原圖上的感受野區(qū)域相對(duì)于其他特征點(diǎn)往往包含了更多的目標(biāo)區(qū)域,因此中心點(diǎn)提取到的表觀特征包含了更豐富的表觀信息。②在目標(biāo)檢測(cè)基礎(chǔ)上的多目標(biāo)跟蹤方法更關(guān)注于目標(biāo)中心點(diǎn)位置及目標(biāo)的特征區(qū)分能力,而通用目標(biāo)檢測(cè)方法主要學(xué)習(xí)目標(biāo)的區(qū)域定位和類別識(shí)別,因此,有必要采用適合于多目標(biāo)跟蹤的目標(biāo)檢測(cè)框架。③目前,基于關(guān)鍵點(diǎn)的目標(biāo)檢測(cè)算法已取得了極大的發(fā)展,如CenterNet,CornerNet 等。這些方法已證明比基于anchor 的目標(biāo)檢測(cè)方法更高效且準(zhǔn)確。通過(guò)對(duì)基于關(guān)鍵點(diǎn)的目標(biāo)檢測(cè)方法研究,針對(duì)多目標(biāo)跟蹤問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了一種輕量化的中心點(diǎn)目標(biāo)檢測(cè)方法。
基于中心點(diǎn)的目標(biāo)檢測(cè)方法采用了輕量化的DLA34 網(wǎng)絡(luò)結(jié)構(gòu),其網(wǎng)絡(luò)參數(shù)量遠(yuǎn)小于目前常用的特征提取骨干網(wǎng)絡(luò)ResNet101。如圖2 所示,DLA34 結(jié)構(gòu)主要由迭代深度聚合(IDA)和層次深度聚合(HDA)構(gòu)成,綠色箭頭即表示IDA 結(jié)構(gòu)。
圖2 基于中心點(diǎn)的目標(biāo)檢測(cè)方法框架圖
在圖2 中,該結(jié)構(gòu)融合了相鄰模塊內(nèi)的最后一層特征層,通過(guò)對(duì)不同尺度的特征層進(jìn)行融合,使更深層的特征層的目標(biāo)語(yǔ)義信息更加豐富;圖2中綠色模塊中均包含HDA 結(jié)構(gòu),該結(jié)構(gòu)將各個(gè)模組內(nèi)不同通道的特征圖融合,實(shí)現(xiàn)對(duì)各濾波器提取的不同角度的特征進(jìn)行融合。圖2 中紅色箭頭表示的特征層融合過(guò)程加入了可變形卷積[19]操作,以使網(wǎng)絡(luò)能夠?qū)ψ藨B(tài)變化較多的目標(biāo)提取魯棒特征,在文獻(xiàn)[8]中已證明加入可變形卷積的DLA34 網(wǎng)絡(luò)的檢測(cè)結(jié)果要優(yōu)于不加入可變形卷積的DLA34,因此,基于檢測(cè)跟蹤(tracking-by-detection)的多目標(biāo)跟蹤方法在骨干網(wǎng)絡(luò)中加入可變形卷積后的檢測(cè)預(yù)測(cè)結(jié)果對(duì)于后續(xù)的跟蹤匹配階段是更加有利的。最終,基于中心點(diǎn)的目標(biāo)檢測(cè)網(wǎng)絡(luò)的輸出特征分辨率大小為原圖的1/4,特征圖上的每個(gè)特征點(diǎn)將用于回歸和分類預(yù)測(cè)。
基于中心點(diǎn)的目標(biāo)檢測(cè)網(wǎng)絡(luò)的損失函數(shù)包括中心關(guān)鍵點(diǎn)的預(yù)測(cè)損失Lcenter、中心點(diǎn)位置預(yù)測(cè)的偏移損失Loffset以及目標(biāo)區(qū)域范圍的預(yù)測(cè)損失Lbbox3 個(gè)部分,它們的定義如式(1)—(3)所示。
式中:Yp表示預(yù)測(cè)的熱圖上每個(gè)特征點(diǎn)屬于目標(biāo)中心點(diǎn)的概率;Y 表示真實(shí)熱圖上的特征點(diǎn)是目標(biāo)中心點(diǎn)的概率。Lcenter計(jì)算預(yù)測(cè)的熱圖上每個(gè)特征點(diǎn)與真實(shí)熱圖上每個(gè)特征點(diǎn)之間的交叉熵。真實(shí)熱圖通過(guò)高斯核得到,即以目標(biāo)中心均值為0,峰值為1 的中心點(diǎn),沿遠(yuǎn)離中心的方向上各點(diǎn)的標(biāo)注值按照高斯分布依次遞減。該損失函數(shù)采用了focal loss,能夠有效解決正負(fù)樣本不平衡的問(wèn)題。中心點(diǎn)位置偏移損失:
式中:Cp表示預(yù)測(cè)的目標(biāo)中心偏移值;C 表示原圖上的目標(biāo)中心坐標(biāo);S 表示最終特征層相對(duì)于原圖的下采樣次數(shù)。Loffset通過(guò)L1 loss 計(jì)算在下采樣過(guò)程中目標(biāo)中心坐標(biāo)因無(wú)法整除而造成的坐標(biāo)偏移與預(yù)測(cè)的坐標(biāo)偏移間的差異損失。
目標(biāo)長(zhǎng)寬范圍的損失主要訓(xùn)練目標(biāo)的長(zhǎng)寬參數(shù)預(yù)測(cè)。其定義如下:
式中:Bp表示目標(biāo)的預(yù)測(cè)長(zhǎng)寬;B 表示目標(biāo)的真實(shí)長(zhǎng)寬。Lbbox通過(guò)L1 loss 計(jì)算預(yù)測(cè)的目標(biāo)長(zhǎng)寬與實(shí)際目標(biāo)長(zhǎng)寬的差異損失。
對(duì)于在每一層特征層上目標(biāo)的中心特征點(diǎn)來(lái)說(shuō),其包含的目標(biāo)表征信息是最豐富的。基于中心點(diǎn)的目標(biāo)檢測(cè)網(wǎng)絡(luò)后,可以得到每個(gè)目標(biāo)的中心點(diǎn)位置,進(jìn)而得到目標(biāo)相對(duì)于整張圖大小的相對(duì)中心點(diǎn)位置。傳統(tǒng)tracking-by-detection 的多目標(biāo)跟蹤方法通常通過(guò)額外訓(xùn)練一個(gè)網(wǎng)絡(luò)來(lái)提取目標(biāo)特征,這樣往往會(huì)大幅度增加算法的計(jì)算復(fù)雜度。本文中提出從基于中心點(diǎn)的目標(biāo)檢測(cè)的網(wǎng)絡(luò)推理預(yù)測(cè)的同時(shí)提取目標(biāo)的特征,從而在不增加計(jì)算量的情況下提取目標(biāo)的中心點(diǎn)特征。即根據(jù)目標(biāo)的相對(duì)中心點(diǎn)位置從各個(gè)特征層提取目標(biāo)的中心點(diǎn)對(duì)應(yīng)位置的特征向量。顯然,每個(gè)目標(biāo)都有其最合適的特征提取層,通過(guò)聚類各個(gè)目標(biāo)對(duì)應(yīng)合適的感受野大小選取了對(duì)于目標(biāo)最具有區(qū)分性的特征層(包含不同尺度),融合不同尺度的特征層的目標(biāo)特征,使目標(biāo)的表觀特征具有尺度不變性。
目標(biāo)大小與合適感受野的關(guān)系如圖3 所示,紅色代表目標(biāo)的邊框,綠色代表最合適的感受野大小,(a)中的目標(biāo)因?yàn)橄袼剌^少導(dǎo)致語(yǔ)義信息不足,需要加入部分背景信息作為目標(biāo)的額外表觀特征,因此較小目標(biāo)的感受野區(qū)域比目標(biāo)的實(shí)際區(qū)域要大許多。而對(duì)于(b)中較大的目標(biāo),因其像素較多而語(yǔ)義信息充足,因此其感受野區(qū)域能夠包含目標(biāo)的原像素即可。為了獲取目標(biāo)不同尺度的特征從而得到更加魯棒的目標(biāo)表觀特征,選擇了如圖4 所示綠色虛線框中的4 個(gè)模塊,分別是不同層次特征層中的最后一層作為目標(biāo)的表觀特征提取層,且在每個(gè)特征提取層后分別經(jīng)過(guò)一個(gè)3×3 的卷積層以改變特征圖的通道數(shù),使提取到的特征向量長(zhǎng)度保持一致。最后,將從這4 個(gè)特征層提取到的特征向量拼接在一起,得到目標(biāo)的表觀特征向量,如式(4)所示。
圖3 目標(biāo)大小與合適感受野
圖4 目標(biāo)表觀特征提取
式中:f 表示不同特征提取層經(jīng)過(guò)3×3 卷積后再通過(guò)目標(biāo)相對(duì)中心點(diǎn)位置Cr提取得到的特征向量,其維度均為130 維。將不同特征提取層提取到的特征向量通過(guò)首尾相連的方式得到目標(biāo)最終特征向量F,其維度為520 維。
為了使后續(xù)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)的輸入大小一致,必須保持每張圖像得到的目標(biāo)表觀特征向量個(gè)數(shù)一致,對(duì)于圖像中的目標(biāo)數(shù)未達(dá)到設(shè)定的最大目標(biāo)數(shù)Nm的情況,通過(guò)添加零向量來(lái)對(duì)目標(biāo)表觀特征向量個(gè)數(shù)進(jìn)行補(bǔ)充。通過(guò)統(tǒng)計(jì)訓(xùn)練集中圖像所包含的最大目標(biāo)數(shù)量,設(shè)置總目標(biāo)個(gè)數(shù)Nm=80 且假設(shè)測(cè)試集中的目標(biāo)個(gè)數(shù)同樣不超過(guò)80 個(gè)。
目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支連接在特征提取層之后,用于學(xué)習(xí)預(yù)測(cè)目標(biāo)間表觀特征向量的相似度。如圖5 所示,骨干網(wǎng)絡(luò)提取到前后幀所有目標(biāo)的特征后,通過(guò)前后幀目標(biāo)兩兩組合的方式得到前后幀的目標(biāo)表觀特征矩陣Ft1,t2∈R80×80×1040。將此矩陣輸入到由1*1 卷積堆疊構(gòu)成的目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)中,經(jīng)過(guò)多層卷積及通道縮減操作,最終得到幀間目標(biāo)的相似度匹配矩陣Mt1,t2∈R80×80。關(guān)聯(lián)網(wǎng)絡(luò)中1*1 點(diǎn)卷積的設(shè)計(jì)使關(guān)聯(lián)網(wǎng)絡(luò)對(duì)幀間目標(biāo)進(jìn)行相似度計(jì)算,有效降低了網(wǎng)絡(luò)的計(jì)算量。網(wǎng)絡(luò)卷積的輸出通道數(shù)量依據(jù)512、256、128、64、1逐漸減小,以使目標(biāo)表觀特征矩陣能夠逐漸映射得到相似度匹配矩陣。
圖5 目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)預(yù)測(cè)過(guò)程
由于圖像序列的跟蹤過(guò)程中往往存在前幀目標(biāo)在后幀中消失或者新的目標(biāo)在后幀中出現(xiàn)的情況,因此,在相似度匹配矩陣中增加一列新的向量來(lái)表示目標(biāo)消失的可能性。目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支的匹配損失函數(shù)設(shè)計(jì)如式(5)所示。
式中:Lm用于計(jì)算目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)預(yù)測(cè)的相似度匹配矩陣中每一行與真實(shí)相似度匹配矩陣中每一行的交叉熵;i 表示行的索引;Yi表示真實(shí)的相似度匹配矩陣第i 行;表示預(yù)測(cè)的相似度匹配矩陣第i 行。真實(shí)相似度匹配矩陣的構(gòu)成如圖6 所示。圖中2 張圖像分別為視頻序列的前后幀。相似度匹配矩陣的列代表前幀的目標(biāo)序號(hào),行代表后幀的目標(biāo)序號(hào)。X 表示目標(biāo)數(shù)不足而填充的表觀特征為零向量的目標(biāo),DP 表示目標(biāo)消失的可能性,兩兩目標(biāo)的值表示目標(biāo)間的相似度。圖6 中前后圖像的目標(biāo)匹配結(jié)果為前幀目標(biāo)1、2 與后幀目標(biāo)1、3 匹配,前幀目標(biāo)3、4 消失,后幀目標(biāo)2 為新出現(xiàn)的目標(biāo),目標(biāo)X 不會(huì)與任何目標(biāo)進(jìn)行匹配。
圖6 真實(shí)匹配矩陣
雖然通過(guò)對(duì)相似度匹配矩陣使用匈牙利算法能夠得到兩幀中目標(biāo)間的匹配跟蹤結(jié)果,但是對(duì)當(dāng)前幀進(jìn)行目標(biāo)跟蹤時(shí),若僅考慮前一幀的目標(biāo)表征信息是不充分的。在進(jìn)行目標(biāo)跟蹤時(shí),除了目標(biāo)的表觀特征匹配,還將軌跡中多個(gè)目標(biāo)的表觀特征與當(dāng)前需跟蹤的目標(biāo)的表觀特征進(jìn)行匹配,其中軌跡表示跟蹤序列中屬于同一目標(biāo)的目標(biāo)集合。通過(guò)這種匹配方式,對(duì)于每條軌跡中偶爾出現(xiàn)的錯(cuò)誤匹配不會(huì)影響到后續(xù)目標(biāo)的正確匹配,增強(qiáng)了目標(biāo)匹配的魯棒性。同時(shí),還考慮了目標(biāo)之間的空間關(guān)系,即通過(guò)前后幀目標(biāo)間邊框的交并比進(jìn)一步約束目標(biāo)間的匹配。通過(guò)將目標(biāo)的表觀特征匹配、目標(biāo)的整個(gè)軌跡匹配以及目標(biāo)空間關(guān)系約束相加融合得到最終前后幀目標(biāo)的匹配矩陣。
對(duì)于目標(biāo)的出現(xiàn)和消失情況,若一條軌跡在fum=5 幀中沒(méi)有任何目標(biāo)與其匹配,則認(rèn)為該軌跡所對(duì)應(yīng)的目標(biāo)已經(jīng)消失。此外,考慮到目標(biāo)可能出現(xiàn)誤檢測(cè)的情況,因此,對(duì)于沒(méi)有任何軌跡與檢測(cè)到的目標(biāo)進(jìn)行匹配的情況,則設(shè)該目標(biāo)為待定目標(biāo);如果接下來(lái)連續(xù)2 幀都有目標(biāo)與其匹配,則將該待定目標(biāo)確認(rèn)為新出現(xiàn)的目標(biāo),同時(shí)加入作為已確定軌跡。基于目標(biāo)匹配結(jié)果,目標(biāo)跟蹤策略如下:
步驟1檢測(cè)當(dāng)前幀所有目標(biāo)。若當(dāng)前幀為初始幀,為每個(gè)對(duì)象新建一個(gè)已確定軌跡,將對(duì)象的特征向量分別加入對(duì)應(yīng)的已確定軌跡中,跳轉(zhuǎn)到步驟4;若當(dāng)前幀不是初始幀,將目標(biāo)與軌跡進(jìn)行相似度匹配,得到目標(biāo)與軌跡的表觀匹配矩陣。
步驟2通過(guò)IOU 計(jì)算目標(biāo)與軌跡的空間匹配矩陣,結(jié)合表觀匹配矩陣得到當(dāng)前目標(biāo)與已匹配軌跡的最終匹配矩陣。對(duì)匹配矩陣使用匈牙利算法,可得到未匹配的目標(biāo)、未匹配的已確定軌跡、未匹配的待確定軌跡、匹配到的已確定軌跡和目標(biāo)以及匹配到的待確定軌跡和目標(biāo)。
步驟3對(duì)于未匹配目標(biāo),設(shè)定為待確定軌跡;對(duì)于未匹配的已確定軌跡,則將其未匹配次數(shù)加一,如果軌跡的未匹配次數(shù)大于fum,則認(rèn)為該軌跡所對(duì)應(yīng)的目標(biāo)已經(jīng)消失,并刪除該軌跡;對(duì)于未匹配的待確定軌跡,刪除該軌跡;對(duì)于匹配到的已確定軌跡和目標(biāo),則將匹配到的目標(biāo)加入軌跡中,若軌跡中的目標(biāo)數(shù)大于m,則刪除軌跡中最早加入的目標(biāo);對(duì)于匹配到的待確定軌跡和目標(biāo),將匹配的目標(biāo)加入軌跡中且其連續(xù)匹配數(shù)加一,若待確定軌跡的連續(xù)匹配數(shù)大于等于3,則變?yōu)橐汛_定軌跡。
步驟4對(duì)下一幀圖像進(jìn)行跟蹤,跳轉(zhuǎn)到步驟1。
考慮到自動(dòng)駕駛場(chǎng)景下最頻繁出現(xiàn)的行人目標(biāo),使用目前多目標(biāo)跟蹤領(lǐng)域廣泛使用的多目標(biāo)行人跟蹤數(shù)據(jù)集MOT17。由于MOT17 的測(cè)試集中不包含真實(shí)跟蹤標(biāo)簽,而測(cè)試集的評(píng)價(jià)結(jié)果只能有限次地在MOT Challenge 官網(wǎng)提交。因此,為了更好的對(duì)本算法進(jìn)行評(píng)價(jià),在進(jìn)行消融實(shí)驗(yàn)時(shí)選取了訓(xùn)練集中一個(gè)較長(zhǎng)的視頻序列作為驗(yàn)證集。
相對(duì)于其他目標(biāo),作為分剛體目標(biāo)的行人目標(biāo)擁有豐富的姿態(tài)變化,因此對(duì)該類目標(biāo)進(jìn)行準(zhǔn)確檢測(cè)[20]和跟蹤是目前該領(lǐng)域的難點(diǎn)。MOT17的訓(xùn)練集和測(cè)試集各包含7 個(gè)視頻序列,每個(gè)視頻序列均在不同的場(chǎng)景下拍攝,且每個(gè)場(chǎng)景的背景都較復(fù)雜,行人的數(shù)量多且密集,最多時(shí)高達(dá)80人。同時(shí),行人間存在頻繁地交互及遮擋現(xiàn)象,某些場(chǎng)景下的行人目標(biāo)較小,還有些視頻含有拍攝鏡頭不斷移動(dòng)的情況。復(fù)雜的背景以及過(guò)多的小目標(biāo)使得目標(biāo)檢測(cè)算法很難對(duì)所有目標(biāo)進(jìn)行精準(zhǔn)檢測(cè),鏡頭移動(dòng)造成的目標(biāo)差異過(guò)大、多個(gè)目標(biāo)的頻繁交互以及遮擋等情況使得跟蹤算法很難對(duì)目標(biāo)保持精準(zhǔn)跟蹤,因此在MOT17 數(shù)據(jù)集上實(shí)現(xiàn)多目標(biāo)跟蹤具有很大的挑戰(zhàn)性。
多目標(biāo)跟蹤中最重要的評(píng)價(jià)指標(biāo)為MOTA,該指標(biāo)表示了多目標(biāo)跟蹤的跟蹤準(zhǔn)確性,其由3 個(gè)部分組成,分別為FP、FN、ID Switch。FP 為誤判數(shù),表示錯(cuò)誤檢測(cè)的目標(biāo)數(shù)。FN 為缺失數(shù),表示某個(gè)已知軌跡本能匹配某個(gè)目標(biāo),卻未與該目標(biāo)匹配的次數(shù)。ID-Switch 為誤匹配數(shù),表示某個(gè)已知軌跡錯(cuò)誤的匹配到了不屬于該軌跡的目標(biāo)的次數(shù)。MOTP 表示跟蹤到的目標(biāo)的位置與真實(shí)位置的誤差,該指標(biāo)衡量了跟蹤估計(jì)目標(biāo)位置精確度的能力。Hz 表示算法每秒鐘能處理的幀數(shù),該指標(biāo)在本文中衡量了多目標(biāo)跟蹤算法的跟蹤速度。除了上述較重要的指標(biāo)外,還有IDF1、MT 和ML,分別表示正確識(shí)別的檢測(cè)與平均真實(shí)數(shù)和計(jì)算檢測(cè)數(shù)之比、預(yù)測(cè)軌跡占該正確軌跡的80%的軌跡相對(duì)所有軌跡的比例、預(yù)測(cè)軌跡的丟失數(shù)占該正確軌跡的20%的軌跡相對(duì)所有軌跡的比例。
實(shí)驗(yàn)環(huán)境是Ubuntu 16.04,使用單張RTX 2080Ti 對(duì)模型進(jìn)行訓(xùn)練。訓(xùn)練步驟分為3 步,第1步:凍結(jié)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支以及特征提取層后的3×3 卷積層的參數(shù),使用CrowHuman 行人檢測(cè)數(shù)據(jù)集,通過(guò)目標(biāo)中心點(diǎn)檢測(cè)損失函數(shù)訓(xùn)練骨干網(wǎng)絡(luò)DLA34,輸入的圖片分辨率大小為512×512。訓(xùn)練的batchsize 大小為64,訓(xùn)練周期數(shù)為140。初始學(xué)習(xí)率設(shè)置為0.025,在第90、120 個(gè)周期時(shí)分別降低10 倍學(xué)習(xí)率。第2 步:將第1 步得到的模型作為預(yù)訓(xùn)練模型,凍結(jié)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支以及特征提取層后的3×3 卷積層的參數(shù),使用MOT17 數(shù)據(jù)集,通過(guò)目標(biāo)中心點(diǎn)檢測(cè)損失函數(shù)訓(xùn)練骨干網(wǎng)絡(luò)DLA34,輸入的圖片分辨率大小為544×960,batchsize 大小為16,訓(xùn)練周期數(shù)設(shè)置為70。初始學(xué)習(xí)率設(shè)置為0.000 125,在第60 個(gè)周期時(shí)降低10 倍學(xué)習(xí)率。第3 步:凍結(jié)骨干網(wǎng)絡(luò)的參數(shù),使用MOT17 數(shù)據(jù)集,通過(guò)匹配損失函數(shù)訓(xùn)練目標(biāo)關(guān)聯(lián)分支以及特征提取層后的3×3 卷積層,輸入的圖像分辨率大小為544×960,batchsize 大小為3,訓(xùn)練周期數(shù)為35。初始學(xué)習(xí)率設(shè)置為0.01,在第13、22、28、35 個(gè)周期時(shí)分別降低10 倍學(xué)習(xí)率。
為了獲取目標(biāo)不同尺度的特征,結(jié)合各個(gè)目標(biāo)的感受野區(qū)域考慮,選擇在骨干網(wǎng)絡(luò)中第4、8、16、32 倍下采樣分辨率特征層中的最后一層作為目標(biāo)表觀特征的提取層。為了探究不同的特征提取層對(duì)于跟蹤結(jié)果的影響,選擇如圖4 紅色虛線框所示的更高層的特征提取層來(lái)進(jìn)行對(duì)比。對(duì)于不同特征提取層的選取,在MOT17 測(cè)試集上的實(shí)驗(yàn)結(jié)果如表1 所示,↑表示該指標(biāo)的值越高越好,↓表示該指標(biāo)的值越低越好。從表1 中可以看出,使用更高層的特征提取層的目標(biāo)表觀特征進(jìn)行匹配跟蹤時(shí)的ID Switch 個(gè)數(shù)有明顯增加,跟蹤過(guò)程中出現(xiàn)了更多誤匹配的現(xiàn)象。因此,相對(duì)于本文選取的特征提取層,更高層的特征提取層并不能提取到更有區(qū)分性的表觀特征。
表1 特征提取層選取
在跟蹤過(guò)程中,考慮了軌跡允許存在的最大目標(biāo)數(shù)以及軌跡允許存在的連續(xù)最大未匹配次數(shù)。對(duì)于軌跡中允許存在的最大目標(biāo)數(shù),若個(gè)數(shù)過(guò)多會(huì)造成軌跡中最早加入的目標(biāo)與后續(xù)目標(biāo)的位移與姿態(tài)相差過(guò)大而很難進(jìn)行正確匹配,若個(gè)數(shù)較少會(huì)造成軌跡中最后加入的錯(cuò)誤匹配目標(biāo)繼續(xù)匹配到錯(cuò)誤的目標(biāo)。對(duì)于軌跡允許存在的連續(xù)最大未匹配次數(shù),若次數(shù)過(guò)多則會(huì)造成本已經(jīng)消失的軌跡再次與目標(biāo)進(jìn)行匹配,若次數(shù)過(guò)少會(huì)因軌跡對(duì)應(yīng)目標(biāo)偶爾出現(xiàn)的遮擋情況被判定軌跡已經(jīng)消失而無(wú)法再次參與匹配。對(duì)于這2 個(gè)參數(shù)的不同設(shè)定,在MOT17 測(cè)試集上的實(shí)驗(yàn)結(jié)果如表2所示,當(dāng)軌跡中的最大目標(biāo)數(shù)為5 且軌跡允許存在的連續(xù)最大未匹配次數(shù)為5 時(shí),達(dá)到最高的跟蹤準(zhǔn)確度。
表2 跟蹤參數(shù)設(shè)定
表3 為目前先進(jìn)的在線和離線跟蹤方法的結(jié)果。雖然離線跟蹤比在線跟蹤使用了更多的目標(biāo)跟蹤信息,但本文的方法在各個(gè)指標(biāo)下仍然超越了離線跟蹤方法。可以看到,對(duì)于MOT17 測(cè)試集,本文提出的方法在3 個(gè)指標(biāo)上均優(yōu)于其他方法,且在其他指標(biāo)上仍然具有競(jìng)爭(zhēng)力。同時(shí),考慮了包括目標(biāo)檢測(cè)過(guò)程的整個(gè)跟蹤過(guò)程的預(yù)測(cè)速度,對(duì)于部分論文,其跟蹤速度指標(biāo)僅計(jì)算了跟蹤匹配的過(guò)程,未考慮目標(biāo)檢測(cè)的時(shí)間消耗,因此對(duì)于包含目標(biāo)檢測(cè)過(guò)程的整個(gè)多目標(biāo)跟蹤過(guò)程,部分方法的跟蹤速度要小于其原文的跟蹤速度。
表3 各種算法的結(jié)果
提出了一種基于目標(biāo)關(guān)聯(lián)學(xué)習(xí)的端到端多目標(biāo)檢測(cè)與跟蹤方法。該方法使用單一的骨干網(wǎng)絡(luò)同時(shí)實(shí)現(xiàn)了視頻幀中的目標(biāo)檢測(cè)及對(duì)目標(biāo)的表觀特征提取。不同于傳統(tǒng)的“tracking-by-detection”方法訓(xùn)練額外的網(wǎng)絡(luò)來(lái)提取目標(biāo)特征,該方法的目標(biāo)特征提取過(guò)程不增加任何計(jì)算量。目標(biāo)特征提取后,設(shè)計(jì)了目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支來(lái)直接學(xué)習(xí)目標(biāo)間的特征關(guān)聯(lián)性,從而得到目標(biāo)之間的匹配跟蹤結(jié)果。整個(gè)跟蹤過(guò)程基于一個(gè)端到端的網(wǎng)絡(luò)結(jié)構(gòu),避免了重復(fù)輸入檢測(cè)后的目標(biāo)進(jìn)入特征提取網(wǎng)絡(luò)進(jìn)行特征提取,有效增加了跟蹤速度,同時(shí),基于目標(biāo)感受野的特征提取層選取以及關(guān)聯(lián)網(wǎng)絡(luò)分支對(duì)兩兩目標(biāo)進(jìn)行相似度預(yù)測(cè)的方式,有效增加了多目標(biāo)跟蹤的準(zhǔn)確性。
雖然也考慮了基于空間的目標(biāo)IOU 匹配方法,但是目標(biāo)檢測(cè)邊框的準(zhǔn)確性會(huì)對(duì)匹配結(jié)果造成嚴(yán)重的影響,因此,未來(lái)會(huì)考慮目標(biāo)間新的空間關(guān)系來(lái)進(jìn)行目標(biāo)間更準(zhǔn)確的空間信息匹配,并結(jié)合表觀特征進(jìn)行更加準(zhǔn)確的多目標(biāo)跟蹤。