張曉宇,程小康,吳向前
(1.新疆財(cái)經(jīng)大學(xué) 網(wǎng)絡(luò)與實(shí)驗(yàn)實(shí)踐教學(xué)中心,新疆 烏魯木齊 830012; 2.新疆大學(xué) 網(wǎng)絡(luò)與信息技術(shù)中心,新疆 烏魯木齊 830046)
視頻中的對(duì)象檢測(cè)和追蹤是計(jì)算機(jī)視覺(jué)中的一項(xiàng)重要任務(wù),同時(shí)也被廣泛應(yīng)用于諸如智能安防監(jiān)控系統(tǒng)、駕駛員輔助系統(tǒng)、無(wú)人機(jī)和智能機(jī)器人研究等[1,2]?;谏疃葘W(xué)習(xí)的對(duì)象檢測(cè)方法通??煞譃榧?jí)聯(lián)檢測(cè)模型[3]和端到端檢測(cè)模型[4]。在級(jí)聯(lián)檢測(cè)模型中,首先提取出近似對(duì)象區(qū)域(常用的方法如基于超像素分組:選擇性搜索[5]和POLWHE[6]、滑動(dòng)窗口[7]或小波變換[8]),然后對(duì)此區(qū)域進(jìn)行表征提取,最后進(jìn)行對(duì)象候選的分類和邊界框回歸。隨著基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(region-based CNN,R-CNN)[9]、Fast-R-CNN[10]和Faster-R-CNN[11]的不斷提出,級(jí)聯(lián)檢測(cè)模型在對(duì)象檢測(cè)任務(wù)中承擔(dān)的角色也愈加重要。而這些級(jí)聯(lián)檢測(cè)模型都是基于數(shù)以百萬(wàn)計(jì)的不同數(shù)據(jù)集(如ImageNet[12]和Pascal-voc[13])進(jìn)行了預(yù)訓(xùn)練,因此對(duì)于圖像中的對(duì)象分類任務(wù)相當(dāng)有效。本文利用整個(gè)特征圖的時(shí)域和空域信息來(lái)估計(jì)前景區(qū)域,其中包含單個(gè)或多個(gè)對(duì)象模塊,稱之為基本粒[14]。因此,使用這些基本粒進(jìn)行處理不僅可以排除無(wú)用區(qū)域,還可以進(jìn)一步減少搜索空間[15]。本文提出的?;疪-CNN(fine-grained R-CNN,F(xiàn)-R-CNN)在池化特征圖中采用了不規(guī)則形狀的鄰域基本粒,利用時(shí)域相似性和空域相似性來(lái)定位視頻幀中的對(duì)象區(qū)域。將時(shí)域圖和空域圖的共性視為最優(yōu)特征圖即RoI圖,以表示視頻序列中的前景模塊。然后,使用特定類支持向量機(jī)對(duì)這些對(duì)象模塊進(jìn)行分類。在分類過(guò)后,需要對(duì)這些經(jīng)過(guò)分類后的對(duì)象進(jìn)行追蹤?,F(xiàn)有的追蹤模型可分為外觀模型[16]、運(yùn)動(dòng)模型[17,18]和復(fù)合模型[19-21]等。為了更好地對(duì)多目標(biāo)跟蹤進(jìn)行泛化,本文提出了一種多類別深度簡(jiǎn)單在線實(shí)時(shí)追蹤(multiclass deep simple and online real-time tracking,M-Deep-SORT),其中運(yùn)動(dòng)和外觀特征的逐幀關(guān)聯(lián)只對(duì)同一類對(duì)象進(jìn)行,而這些同類對(duì)象是從F-R-CNN中的粒狀前景模塊即RoI特征圖中檢測(cè)到的。通過(guò)在逐幀關(guān)聯(lián)時(shí)只考慮同類對(duì)象而不是全部對(duì)象,有效地減少了搜索空間和計(jì)算時(shí)間,并提高了追蹤精度。本文提出的F-R-CNN和M-Deep-SORT方法的有效性在不同的基準(zhǔn)數(shù)據(jù)集下進(jìn)行了驗(yàn)證。
Alexnet由5個(gè)卷積層、3個(gè)池化層和3個(gè)全連接層組成。Alexnet將圖像作為輸入,輸出為最后一個(gè)池化層的簡(jiǎn)化后特征圖,該特征圖中的通道數(shù)與最后一個(gè)卷積層中使用的濾波器的個(gè)數(shù)相等;然后通過(guò)兩個(gè)全連接層將該特征圖轉(zhuǎn)換為一維加權(quán)向量;再通過(guò)最后一個(gè)全連接層將其向量輸入到一個(gè)帶有c類標(biāo)簽的分類器中(其中c是對(duì)象類的數(shù)量)。
R-CNN及其變體是靜態(tài)圖像中廣泛使用的目標(biāo)檢測(cè)算法。在原始的R-CNN中,利用選擇性搜索方法在輸入圖像上提出目標(biāo)區(qū)域。然后將這些區(qū)域通過(guò)特征生成網(wǎng)絡(luò)(如VGG16)得到其簡(jiǎn)化特征圖。此后為對(duì)其進(jìn)行改進(jìn),F(xiàn)ast-R-CNN在深度CNN的最后一個(gè)池化特征圖中使用選擇性搜索方法來(lái)建議目標(biāo)區(qū)域。然而這兩種方法中使用的選擇性搜索策略都降低了各自的運(yùn)行速度。在Faster-R-CNN中,使用了RPN代替選擇性搜索。RPN是一種深度CNN,它將一幅圖像作為輸入,經(jīng)過(guò)幾個(gè)卷積層和池化層的傳遞,返回該圖像的特征圖。然后,一組具有不同大小和不同橫縱比的9個(gè)窗口在該特征圖上滑動(dòng),以有效地預(yù)測(cè)輸入圖像中的目標(biāo)區(qū)域。最后使用Fast-R-CNN對(duì)這些區(qū)域進(jìn)行分類。Faster-R-CNN在檢測(cè)精度和速度上都優(yōu)于Fast-R-CNN和R-CNN。然而,上述所有R-CNN都只使用空間信息來(lái)預(yù)測(cè)圖像中的對(duì)象區(qū)域。
Deep-SORT算法是一種被廣泛應(yīng)用于視頻中對(duì)象追蹤的算法。它包括兩個(gè)步驟:①在8維狀態(tài)空間中對(duì)被檢測(cè)對(duì)象的狀態(tài)進(jìn)行卡爾曼濾波預(yù)測(cè)。這個(gè)狀態(tài)空間含有被檢測(cè)對(duì)象的邊界框信息,包括框在圖像坐標(biāo)中的中心位置、橫縱比、高度和它們各自的速度;②利用被檢測(cè)對(duì)象的8維狀態(tài)信息形成軌跡,即每個(gè)物體都與軌跡進(jìn)行適當(dāng)?shù)年P(guān)聯(lián)。根據(jù)前一幀小段軌跡的8維狀態(tài)信息和當(dāng)前幀中新檢測(cè)到的對(duì)象,通過(guò)最小化代價(jià)函數(shù)將新檢測(cè)到的目標(biāo)與小段軌跡進(jìn)行適當(dāng)?shù)年P(guān)聯(lián)。值得注意的是,Deep-SORT只適用于追蹤單類對(duì)象,在追蹤視頻序列中的多類對(duì)象時(shí),由于將多類對(duì)象視為單類對(duì)象,其性能會(huì)有明顯下降。
2.1.1 F-R-CNN
F-R-CNN由兩部分組成,第一部分為前景區(qū)域生成網(wǎng)絡(luò)(foreground-region proposal network,F(xiàn)-RPN),它是一種?;疃染矸e神經(jīng)網(wǎng)絡(luò),旨在基于視頻幀提供前景RoI。第二部分為分類網(wǎng)絡(luò),它基于第一部分得到的位置信息對(duì)每個(gè)RoI對(duì)象進(jìn)行分類。整個(gè)網(wǎng)絡(luò)的架構(gòu)如圖1所示。為了能夠更好地進(jìn)行泛化,本文采用較為簡(jiǎn)單的CNN即Alexnet作為主干網(wǎng)絡(luò),在Alexnet的第1個(gè)池化層之后加入粒化層,在最后一個(gè)池化層之后加入RoI生成和先驗(yàn)框處理,便將其改進(jìn)成了作為特征生成網(wǎng)絡(luò)的F-Alexnet。由圖1可知,改進(jìn)的F-Alexnet由5個(gè)卷積層、3個(gè)池化層、3個(gè)粒化層(即?;?a層、?;?b層和粒化2層)、1個(gè)RoI生成層 (提取RoI特征圖和先驗(yàn)框生成)、1個(gè)先驗(yàn)框處理層(得到先驗(yàn)框特征圖)以及3個(gè)全連接層組成。以下的章節(jié)對(duì)其分別進(jìn)行介紹。
圖1 F-R-CNN的基本結(jié)構(gòu)
2.1.1.1 F-RPN
F-RPN的輸入為三通道(即RGB)的當(dāng)前視頻幀(ft)和之前的p幀(ft-1~ft-p)。首先在?;?a層上對(duì)池化1層特征圖計(jì)算一組空間-顏色鄰域基本粒,并且在?;?b層上對(duì)第1個(gè)池化層輸出特征圖計(jì)算幀序列ft~ft-p上的時(shí)域基本粒;此后在?;?層上將它們組合成時(shí)空域基本粒;然后這個(gè)時(shí)空?;卣鲌D經(jīng)過(guò)4個(gè)卷積層和2個(gè)池化層生成包含RoI的簡(jiǎn)化特征圖;由于RoI可以在ft中表示估計(jì)到的對(duì)象區(qū)域,因此,在每個(gè)RoI的像素位置執(zhí)行先驗(yàn)框處理,以獲得其近似區(qū)域建議。在此過(guò)程中,對(duì)每個(gè)RoI像素上形成幾個(gè)不同尺寸和橫縱比的空域窗口即先驗(yàn)框。下面將逐步介紹這些步驟的詳細(xì)信息。
步驟1 在?;?a層形成空間-顏色鄰域基本粒FSCN。
(1)
步驟2 在?;?b層中得到時(shí)域基本粒FT并將其與空間-顏色鄰域基本粒FSCN在?;?層中組合為時(shí)空域基本粒FST。
(2)
(3)
(4)
(5)
以及標(biāo)準(zhǔn)差
(6)
(7)
(8)
FST=FSCN∩FT
(9)
這樣一來(lái)FST包含了FSCN和FT中皆存在的像素特征,也近似地描述了對(duì)象模型的池化特征的集合。
步驟3 在池化3層的特征圖中從FST中提取RoI。
步驟4 先驗(yàn)框生成過(guò)程。
2.1.1.2 分類網(wǎng)絡(luò)
分類網(wǎng)絡(luò)以一系列先驗(yàn)框特征圖作為輸入,對(duì)被檢測(cè)到的對(duì)象生成分類分?jǐn)?shù)和相應(yīng)的邊界框。分類任務(wù)包括3個(gè)步驟:先驗(yàn)框分類、擬合邊界框和對(duì)象識(shí)別,如下所示。
步驟1 先驗(yàn)框分類。
為了進(jìn)行分類,每個(gè)先驗(yàn)框特征圖的大小需要適于F-Alexnet而進(jìn)行調(diào)整,然后經(jīng)過(guò)F-Alexnet的全連接1層和全連接2層將二維先驗(yàn)框特征圖轉(zhuǎn)換為一維帶權(quán)向量。然后通過(guò)全連接3層最終進(jìn)行支持向量機(jī)(support vector machine,SVM)分類和邊界框的生成。對(duì)于每個(gè)輸入先驗(yàn)框的特征圖,SVM提供最可能的分類概率(即先驗(yàn)框分?jǐn)?shù))的類別作為輸出。如前所述,每個(gè)RoI像素有9個(gè)先驗(yàn)框;因此,對(duì)應(yīng)于c個(gè)對(duì)象類C={t1,t2,…,tc} 有9個(gè)先驗(yàn)框分?jǐn)?shù),其中分?jǐn)?shù)最大的類即為RoI像素的標(biāo)簽。將此分?jǐn)?shù)記為SRoI, 因此圖像中的每個(gè)對(duì)象都包含一個(gè)或多個(gè)這樣的RoI像素,且每個(gè)都有一個(gè)SRoI, 這些分?jǐn)?shù)用于獲得對(duì)象的識(shí)別分?jǐn)?shù)和類標(biāo)簽。對(duì)于每個(gè)RoI像素來(lái)說(shuō),具有最大分類分?jǐn)?shù)的先驗(yàn)框其中心坐標(biāo)、高度、寬度和類標(biāo)簽的信息用于擬合對(duì)象的邊界框。
步驟2 擬合邊界框。
所有包含RoI像素的最大分類分?jǐn)?shù)SRoI的先驗(yàn)框用于擬合對(duì)象的邊界框。在有遮擋的情況下,同一個(gè)RoI像素(即先驗(yàn)框)可能屬于多個(gè)對(duì)象。因此,我們計(jì)算兩個(gè)先驗(yàn)框的重疊度α,以檢驗(yàn)它們是來(lái)自同一個(gè)物體還是來(lái)自兩個(gè)不同的物體。兩個(gè)先驗(yàn)框a1和a2的α是由它們交集的基數(shù)定義的,并由它們并集的基數(shù)進(jìn)行歸一化。如果兩個(gè)先驗(yàn)框的類標(biāo)簽相同,且α超過(guò)閾值αT(通常取0.5),則判定錨框a1和a2為同一對(duì)象;否則,是兩個(gè)相互遮擋的對(duì)象。如果在不重疊的情況下α=0,則先驗(yàn)框a1和a2是來(lái)自兩個(gè)不同的物體。因此,對(duì)表示同一對(duì)象的先驗(yàn)框進(jìn)行組合以形成該對(duì)象的邊界框。如前所述,時(shí)域基本粒表示圖像/視頻幀中的對(duì)象區(qū)域。因此,將每個(gè)先驗(yàn)框與對(duì)應(yīng)的時(shí)空粒狀區(qū)域之間的共同區(qū)域作為相互包含/相互分離對(duì)象的邊界框。在下一步中,使用類標(biāo)簽和SRoI分?jǐn)?shù)等邊界框信息來(lái)檢查該框是屬于對(duì)象還是背景。然后,得到被檢測(cè)對(duì)象的識(shí)別分?jǐn)?shù)和類別標(biāo)簽。
步驟3 對(duì)象識(shí)別。
情形一:所有ζ個(gè)RoI像素的類標(biāo)簽都是相同的,例如對(duì)同一個(gè)tk有不同的SRoI值。此時(shí),將所有RoI像素稱為正RoI像素。對(duì)象t的識(shí)別分?jǐn)?shù)St由這些ζ個(gè)SRoI值的最大值決定。
情形二:所有ζ個(gè)RoI像素的類標(biāo)簽不相同。此時(shí)若至少(ζ/2+1)個(gè)RoI像素(即其中的大多數(shù))有相同的類標(biāo)簽,則對(duì)象t被分配到第k類即tk,這些像素也稱為正RoI像素。對(duì)象t的識(shí)別分?jǐn)?shù)由這些正RoI像素中SRoI值的最大值決定。如果此多數(shù)條件不滿足,則t被視為背景,所有ζ個(gè)像素稱為負(fù)RoI像素。
綜上,檢測(cè)模型F-R-CNN基于提出的F-Alexnet,而F-Alexnet基于經(jīng)過(guò)預(yù)訓(xùn)練的Alexnet架構(gòu)。經(jīng)過(guò)預(yù)訓(xùn)練的Alexnet提供了關(guān)于對(duì)象的類標(biāo)簽和其邊界框信息。即使原來(lái)的Alexnet是經(jīng)過(guò)預(yù)訓(xùn)練的,并后來(lái)嵌入了3層(包括?;瘜?、RoI生成和先驗(yàn)框生成),但是還需要重新訓(xùn)練來(lái)改變卷積核參數(shù),以使F-R-CNN發(fā)揮作用。F-R-CNN的訓(xùn)練將在下一節(jié)中解釋。
2.1.2 F-R-CNN的訓(xùn)練
2.1.2.1 損失函數(shù)
(10)
(11)
其中,R表示平滑誤差函數(shù)。
這樣一來(lái),總損失可表示為
(12)
2.1.2.2 參數(shù)初始化
對(duì)F-Alexnet中所有新添加層(包括?;瘜印oI生成層和先驗(yàn)框處理層)進(jìn)行均值為零,標(biāo)準(zhǔn)差為0.01的高斯分布初始化。其它層(即共享卷積層)由經(jīng)過(guò)在Pascal-voc-2007上預(yù)訓(xùn)練的Alexnet卷積層初始化。在訓(xùn)練F-Alexnet時(shí)采用隨機(jī)梯度下降算法,其中的動(dòng)量和衰減參數(shù)分別設(shè)置為0.9和0.001。
通過(guò)F-R-CNN在視頻中檢測(cè)到對(duì)象后,需要對(duì)其進(jìn)追蹤。在幀上的對(duì)象檢測(cè)可導(dǎo)致生成每個(gè)被檢測(cè)對(duì)象的多個(gè)可能軌跡,由此來(lái)確定這樣一個(gè)對(duì)象的精確軌跡稱為對(duì)象跟蹤,這是由本文提出的M-Deep-SORT算法完成的,如下一節(jié)所述。
本文提出的M-Deep-SORT是用于目標(biāo)追蹤的Deep-SORT的改進(jìn)版本。Deep-SORT算法首先計(jì)算目標(biāo)對(duì)象ft和之前幀中現(xiàn)有小段軌跡之間所有可能的軌跡。其次預(yù)測(cè)每個(gè)目標(biāo)對(duì)象最合適的軌跡。而在之前的幀中考慮所有類的小段軌跡,無(wú)疑會(huì)增加搜索空間,進(jìn)而降低追蹤速度。而M-Deep-SORT僅在目標(biāo)對(duì)象和同類的現(xiàn)有小段軌跡之間,通過(guò)限制所有可能軌跡的計(jì)算來(lái)解決此問(wèn)題。
(13)
式中:k∈v;β∈n;v∈m; 而E(tβ,ov) 和A(tβ,ov) 在包括邊界框的中心坐標(biāo)、高度和橫縱比以及它們速度的8維狀態(tài)空間上是兩個(gè)不同的距離度量。這些度量的定義是為了在跟蹤ov時(shí)兼顧短期和長(zhǎng)期遮擋,其中Q值越小,相似度越高。λ用來(lái)控制兩個(gè)不同距離度量對(duì)最終Q值的影響。E(tβ,ov) 定義為
(14)
(15)
可以看到,雖然式(15)中將ov與tβ進(jìn)行了關(guān)聯(lián),但式(14)只處理了tβ的最新軌跡集。在計(jì)算Q(tβ,ov) (參見(jiàn)式(13))時(shí),可以進(jìn)一步將一些閾值(如TE和TA)分別放于E值和A值上以進(jìn)行排除新檢測(cè)到對(duì)象的不太可能關(guān)聯(lián),從而減少了搜索空間和計(jì)算時(shí)間。度量Q(tβ,ov) 定義了ov和tβ之間的距離。因此若有n條軌跡,則對(duì)ov來(lái)說(shuō)就有n個(gè)Q值,并以Q值最小的那個(gè)作為ov分配到的軌跡。也就是說(shuō),ov的關(guān)聯(lián)規(guī)則為
(16)
其中所有的對(duì)象追蹤皆對(duì)每個(gè)被檢測(cè)到的對(duì)象進(jìn)行,以獲得其與現(xiàn)有軌跡的匹配關(guān)聯(lián)或不匹配關(guān)聯(lián)。如果一個(gè)已存在的軌跡沒(méi)有與任何新檢測(cè)到的對(duì)象相關(guān)聯(lián),那么會(huì)在歷史記錄中添加一個(gè)空的小段軌跡。如果空的小段軌跡數(shù)量大于預(yù)定義的閾值(例如Tmax),則認(rèn)為該軌跡已離開場(chǎng)景,此時(shí)便可從軌跡集合t中刪除。M-Deep-SORT的偽代碼可如算法1所示。
算法1:M-Deep-SORT
過(guò)程:
初始化{M}=φ, {U}=φ
forov∈{o}:
fortβ∈{t}:
if(ov=tβ=clsc):
利用式 (14) 計(jì)算E(tβ,ov)
利用式 (15) 計(jì)算A(tβ,ov)
利用式 (13) 計(jì)算Q(tβ,ov)
if(E(tβ,ov)<=TE&A(tβ,ov)<=TA):
if(Q(tβ,ov)≠0):
Tβ=True
fortβ∈{t}:
if(Tβ==False):
Uβ=Uβ+1
if(Uβ==Tmax):
tβ=φ
Uβ=φ
輸出: {M} 和 {U} 用于存儲(chǔ)軌跡檢測(cè)索引的匹配和不匹配關(guān)聯(lián)
我們的F-R-CNN和M-Deep-SORT算法的有效性將會(huì)在多個(gè)基準(zhǔn)數(shù)據(jù)集上得到驗(yàn)證。本節(jié)介紹了用于訓(xùn)練和測(cè)試的各種包含不同數(shù)量類的圖像和視頻。
3.1.1 數(shù)據(jù)集
(1)Pascal-voc數(shù)據(jù)集由包含20個(gè)類別的Pascal-voc-2007和Pascal-voc-2012組成。前者的訓(xùn)練集樣本容量為5011張圖像,測(cè)試集樣本容量4952張圖像;后者的訓(xùn)練集樣本容量為5717張圖像。
(2)Mo-2015挑戰(zhàn)數(shù)據(jù)集含有11個(gè)視頻,每個(gè)視頻包含一到兩個(gè)人車對(duì)象[23]。
(3)VAR-2019數(shù)據(jù)集的訓(xùn)練集包含8類對(duì)象(汽車、公共汽車、機(jī)車、卡車、小型貨車、摩托車、自行車和人)的2000個(gè)訓(xùn)練視頻;而測(cè)試集包含了30個(gè)來(lái)自真實(shí)世界的8類對(duì)象視頻[24]。
(4)URBAN-TRACKER的訓(xùn)練集包含626個(gè)視頻幀,測(cè)試集包含4個(gè)視頻,其中皆有包含自行車、自行車/踏板車、人和汽車在內(nèi)4個(gè)不同的對(duì)象類[24]。
(5)測(cè)試協(xié)議:Mot-2015中的TUD-CROSSING、PETS09-S2L2和AVG-TOWN-CENTER,VAR-2019的測(cè)試集和URBAN-TRACKER的測(cè)試集用作測(cè)試,其中的對(duì)象類別為8個(gè)。此外為了與Fast-R-CNN和Faster-R-CNN進(jìn)行比較,也使用了Pascal-voc-2007和Pascal-voc-2012的測(cè)試集數(shù)據(jù)。請(qǐng)注意,測(cè)試集和訓(xùn)練集中的數(shù)據(jù)是互不相容的。
(6)訓(xùn)練協(xié)議:在訓(xùn)練時(shí)同時(shí)使用了包含不定數(shù)量的對(duì)象類的圖像和視頻數(shù)據(jù),包括Pascal-voc-2007的訓(xùn)練集、Pascal-voc-2012的訓(xùn)練集、VAR-2019的訓(xùn)練集和URBAN-TRACKER的訓(xùn)練集。值得一提的是,URBAN TRACKER的訓(xùn)練集中4個(gè)對(duì)象類和VAR-2019的訓(xùn)練集中的8個(gè)對(duì)象類在8個(gè)測(cè)試類中是常見(jiàn)的;而Pascal-voc-2007和Pascal-voc-2012的訓(xùn)練集中20個(gè)對(duì)象類包含了這6個(gè)測(cè)試類和額外的14個(gè)類,這意味著實(shí)驗(yàn)中的訓(xùn)練類別和測(cè)試類別并不完全相同。
3.1.2 評(píng)價(jià)指標(biāo)
本文使用的性能指標(biāo)包括:①均值平均精準(zhǔn)度(mean average precision,mAP):每個(gè)類別的平均精度分?jǐn)?shù)的平均值;②多對(duì)象追蹤準(zhǔn)確度(multiple object tracking accuracy,MOTA):表示在假陽(yáng)性、假陰性和身份切換方面的總體跟蹤準(zhǔn)確性;③身份切換(identity switches,IDS):每個(gè)軌跡被分配到一個(gè)ID,身份切換是指兩個(gè)軌跡交換其ID的次數(shù);④多目標(biāo)追蹤精準(zhǔn)度(multiple object tracking precision,MOTP):預(yù)測(cè)邊界框與真值的對(duì)齊百分比;⑤大部分命中目標(biāo)(mostly tracked target,MT):在它們80%以上的時(shí)間里所覆蓋真值軌跡的百分比,而不論軌跡上ID如何變化;⑥大部分丟失目標(biāo)(mostly lost targets,ML):與MT相對(duì),它在20%以下的時(shí)間里所覆蓋的真值軌跡的百分比,同樣不論軌跡上ID如何變化;⑦速度(ms,毫秒):1000/FPS(frames per second,每秒幀數(shù)),表示處理一幀圖像所用的時(shí)間其中FPS表示檢測(cè)和追蹤過(guò)程中每秒處理的幀數(shù)。其中對(duì)象檢測(cè)時(shí)使用mAP和FPS,目標(biāo)追蹤使用MOTA、IDS、MOTP、MT、ML和ms。
如第二節(jié)所述,F(xiàn)-R-CNN的特征生成網(wǎng)絡(luò)F-Alexnet是在經(jīng)過(guò)預(yù)訓(xùn)練的Alexnet上進(jìn)行改進(jìn)的。F-R-CNN的訓(xùn)練和Alexnet的預(yù)訓(xùn)練輸入皆為227×227×3大小的單尺度圖像,而測(cè)試時(shí)會(huì)相應(yīng)地進(jìn)行尺寸調(diào)整。我們?cè)诖藢?shí)驗(yàn)中使用了Alexnet的默認(rèn)超參數(shù),包括?=96個(gè)大小為11×11的卷積核,卷積1層的步長(zhǎng)為4;在池化層中卷積核大小為3×3且步長(zhǎng)為2;在卷積2層中有256個(gè)5×5大小的卷積核且零填充個(gè)數(shù)為2;在卷積3和卷積4層中有384個(gè)大小為3×3的卷積核且零填充個(gè)數(shù)為1;在卷積5層中有256個(gè)大小為3×3的卷積核且零填充個(gè)數(shù)為1。在池化3層的RoI圖上用于目標(biāo)定位的錨框具有不同大小和不同橫縱比,分別是10×14、14×10、14×14、20×28、28×20、28×28、40×56、56×40和56×56。這些錨框圖的大小是根據(jù)訓(xùn)練圖像/視頻幀中出現(xiàn)的對(duì)象的大小來(lái)選擇的。對(duì)于目標(biāo)追蹤,TA=9,TE=3,λ1=0.5,Tmax=30。
本節(jié)的目標(biāo)主要有4個(gè):①(a)F-R-CNN對(duì)Fast-R-CNN和Faster-R-CNN的改進(jìn)有多少,從而論證粒化在RoI特征圖生成中的重要性;(b)時(shí)域基本粒如何改善空域基本粒上的對(duì)象檢測(cè);②F-R-CNN與其它的視頻對(duì)象檢測(cè)方法如文獻(xiàn)[25]、文獻(xiàn)[26]和文獻(xiàn)[27]的對(duì)比;③M-Deep-SORT算法相對(duì)于SORT和Deep SORT算法的有效性;④M-Deep-SORT算法在給出檢測(cè)算法的基礎(chǔ)上,與其它對(duì)象追蹤算法文獻(xiàn)[17]、文獻(xiàn)[28]、文獻(xiàn)[29]相比的有效性。其中目標(biāo)①(a)不需要F-R-CNN考慮時(shí)域信息,而目標(biāo)①(b)則需要考慮時(shí)域信息,即目標(biāo)①(a)和目標(biāo)①(b)分別需要圖像和視頻作為輸入,因此,在目標(biāo)①(a)和目標(biāo)①(b)中使用的F-R-CNN可以分別表示為F-R-CNN-RPN和F-R-CNN-FRPN。目標(biāo)②、目標(biāo)③和目標(biāo)④需要視頻作為對(duì)象檢測(cè)和追蹤的輸入。
3.3.1 ?;瘜?duì)于ROI建議的影響
表1給出了本文提出的F-R-CNN-RPN、Fast-R-CNN和Faster-R-CNN在Pascal-voc-2007和Pascal-voc-2012的測(cè)試集上進(jìn)行對(duì)象檢測(cè)時(shí)的對(duì)比結(jié)果。如前所述,F(xiàn)-R-CNN基于Alexnet進(jìn)行開發(fā),因此Fast-R-CNN和Faster-R-CNN也同樣在相同的架構(gòu)上開發(fā)以便進(jìn)行公平比較。由于Pascal-voc-2007和Pascal-voc-2012的測(cè)試集數(shù)據(jù)用于測(cè)試,所以我們要么使用Pascal voc-2007訓(xùn)練集,要么組合使用Pascal voc-2007訓(xùn)練集和Pascal voc-2012訓(xùn)練集進(jìn)行訓(xùn)練。表1前5行對(duì)應(yīng)的是不同訓(xùn)練集和測(cè)試集組合時(shí)Fast-R-CNN和Faster-R-CNN的結(jié)果,其余行對(duì)應(yīng)的是F-R-CNN-RPN的結(jié)果。從表中可以看出,在CNN中合并了?;瘜拥腇-R-CNN-RPN,其mAP高于其它所有組合的情況,此結(jié)果意味著由F-R-CNN-RPN檢測(cè)到的RoI像素更能代表對(duì)象類。在NVIDIA Geforce GTX480下,F(xiàn)ast-R-CNN、Faster-R-CNN和F-R-CNN-RPN算法的速度分別為714.29 ms、166.67 ms和181.82 ms。因此,F(xiàn)-R-CNN-RPN在速度上優(yōu)于Fast-R-CNN,但比Faster-R-CNN稍微慢一點(diǎn)。
表1 F-R-CNN-RPN與Fast-R-CNN和 Faster-R-CNN的mAP對(duì)比
3.3.2 時(shí)域信息對(duì)ROI建議的影響
本節(jié)論證了在?;^(guò)程中使用時(shí)空信息(F-R-CNN-RPN)與使用空間信息(F-R-CNN-FRPN)的相關(guān)性。因此,需要以視頻數(shù)據(jù)作為輸入:F-Alexnet在Pascal-voc-2007訓(xùn)練集和Pascal-voc-2012訓(xùn)練集的基礎(chǔ)上,使用VAR-2019的訓(xùn)練集和URBAN-TRACKER的訓(xùn)練集進(jìn)行微調(diào),并在VAR-2019和URBAN-TRACKER的視頻測(cè)試集上進(jìn)行測(cè)試。表2顯示了不同訓(xùn)練數(shù)據(jù)組合的mAP性能比較。其中前4行對(duì)應(yīng)F-R-CNN-RPN的結(jié)果,其余為F-R-CNN-FRPN的結(jié)果。可以看到,在所有情況下中,F(xiàn)-R-CNN-FRPN的mAP均優(yōu)于F-R-CNN-RPN。F-R-CNN-RPN和F-R-CNN-FRPN的速度分別為181.82 ms和175.44 ms。此結(jié)果表明了時(shí)空信息和空間信息的相關(guān)性。如預(yù)期的那樣,在訓(xùn)練集越多的情況下(即Pascal-voc-2007+Pascal voc-2007&VAR-2019&URBAN-TRACKER),提供了更好的mAP結(jié)果。這些結(jié)果同時(shí)也表明了F-R-CNN-FRPN相比于F-R-CNN-RPN的優(yōu)越性。使用F-R-CNN-FRPN和F-R-CNN-RPN檢測(cè)VAR-2019的示例結(jié)果分別如圖2和圖3所示,可以明顯看到后者漏檢了一輛汽車。
表2 F-R-CNN-FRPN和F-R-CNN-RPN的mAP對(duì)比
圖2 F-R-CNN-FRPN的檢測(cè)結(jié)果示例
圖3 F-R-CNN-RPN的檢測(cè)結(jié)果示例
3.3.3 F-R-CNN與其它視頻中目標(biāo)檢測(cè)方法的對(duì)比結(jié)果
為了驗(yàn)證本文方法的有效性。表3給出了F-R-CNN與近些年來(lái)的一些視頻中對(duì)象檢測(cè)方法的性能比較。文獻(xiàn)[25]中結(jié)合了可以產(chǎn)生時(shí)空候選區(qū)域的tubelet建議網(wǎng)絡(luò)和考慮時(shí)間信息的長(zhǎng)短時(shí)間記憶網(wǎng)絡(luò)來(lái)進(jìn)行視頻中的對(duì)象檢測(cè)。文獻(xiàn)[26]利用了一個(gè)多任務(wù)目標(biāo)函數(shù)來(lái)進(jìn)行逐幀的對(duì)象檢測(cè)和跨幀的追蹤回歸,引入了時(shí)間尺度上的相關(guān)特征來(lái)輔助進(jìn)行追蹤,并將幀間的檢測(cè)結(jié)果以跨幀的對(duì)象追蹤軌跡進(jìn)行聯(lián)系,以此來(lái)產(chǎn)生視頻中對(duì)象檢測(cè)的更高精度。文獻(xiàn)[27]提出了3點(diǎn)改進(jìn):①特征的稀疏遞歸聚合,即上一個(gè)關(guān)鍵幀增強(qiáng)當(dāng)前關(guān)鍵幀,增強(qiáng)后的關(guān)鍵幀又去增強(qiáng)下一個(gè)關(guān)鍵幀;②空間自適應(yīng)局部特征更新,即提出特征信息時(shí)間一致性的判別矩陣Q,它由光流網(wǎng)絡(luò)生成,大小和特征光流場(chǎng)一樣大,每一個(gè)位置的值表示這個(gè)位置的光流的質(zhì)量,若在某位置p的值小于閾值,則說(shuō)明該位置的光流不行,質(zhì)量不好,需要重新計(jì)算p位置的特征;③自適應(yīng)關(guān)鍵幀選取,即之前方法中的關(guān)鍵幀都是固定間隔選取的,他們采用矩陣Q和對(duì)應(yīng)函數(shù)來(lái)計(jì)算出那些光流質(zhì)量不好的點(diǎn)占的比例,如果大于設(shè)置的閾值,就說(shuō)明當(dāng)前幀與上一關(guān)鍵幀的變化就很大,就設(shè)置成新的關(guān)鍵幀。本文使用Pascal voc-2007中的圖像進(jìn)行訓(xùn)練,并使用TUD-CROSSING視頻進(jìn)行測(cè)試。值得說(shuō)明的是,它們分別使用了不同的特征生成網(wǎng)絡(luò)(包括GoogLeNet和ResNet),以及不同的GPU(包括Titan X和K40)。而本文的F-R-CNN采用F-Alexnet作為特征生成網(wǎng)絡(luò),GPU采用GTX 480。因?yàn)閙AP僅依賴于特征生成網(wǎng)絡(luò),而檢測(cè)速度既涉及特征生成網(wǎng)絡(luò)的計(jì)算時(shí)間又涉及GPU的計(jì)算能力。因此僅比較模型表示特征生成網(wǎng)絡(luò)有效性的mAP較為公平。由表3可以看出,在3種檢測(cè)模型中,F(xiàn)-R-CNN的檢測(cè)結(jié)果最佳。
表3 與其它方法的精度和速度對(duì)比
3.3.4 對(duì)象追蹤的結(jié)果比較
為了論證目標(biāo)③和目標(biāo)④,本節(jié)首先進(jìn)行了在多個(gè)對(duì)象檢測(cè)模型下,M-Deep-SORT與Deep-SORT和SORT的追蹤性能對(duì)比實(shí)驗(yàn),如表4所示。在測(cè)試時(shí)使用了VAR2019測(cè)試集中的30個(gè)視頻,URBAN-TRACKER中的4個(gè)視頻,Mot-2015中的2個(gè)視頻(TUD-CROSSING和PETS09-S2L2),其中VAR2019和URBAN-TRACKER的測(cè)試集皆有多類對(duì)象,TUD-CROSSING包含兩個(gè)類的對(duì)象,PETS09-S2L2只有一個(gè)類對(duì)象。
表4 M-Deep-SORT、Deep-SORT與SORT在分別采用Faster-R-CNN和F-R-CNN 作為對(duì)象檢測(cè)方法時(shí)的追蹤性能比較
從表4可以看出,對(duì)于多類對(duì)象追蹤和二類對(duì)象追蹤,M-Deep-SORT明顯優(yōu)于SORT和Deep-SORT。在GPU Titan X上,SORT和Deep-SORT算法的速度分別為16.67 ms和47.62 ms。而在GTX 480下,M-Deep-SORT算法的速度為34.48 ms。就速度而言,SORT具有優(yōu)勢(shì),因?yàn)樗皇褂眠\(yùn)動(dòng)信息,而不是Deep-SORT和M-Deep-SORT中使用的結(jié)合運(yùn)動(dòng)和外觀信息。
為了比較M-Deep-SORT與近些年來(lái)一些的追蹤算法如文獻(xiàn)[17]、文獻(xiàn)[28]和文獻(xiàn)[29]的性能,我們提供了以Faster R-CNN和F-R-CNN作為檢測(cè)器時(shí)TUD-CROSSING和AVG-TOWN-CENTER視頻中的結(jié)果,如表5所示。關(guān)于文獻(xiàn)[17]的介紹可見(jiàn)引言部分所示。因?yàn)楹?jiǎn)單地把單對(duì)象追蹤運(yùn)用至多對(duì)象追蹤時(shí)會(huì)遇到計(jì)算復(fù)雜度增加和遮擋漂移的問(wèn)題,因此文獻(xiàn)[28]提出了一個(gè)用于在線多對(duì)象追蹤的CNN框架,這一框架在適應(yīng)外觀模型的同時(shí)在搜索下一幀對(duì)象時(shí)能夠利用單對(duì)象追蹤方法的優(yōu)點(diǎn)。該方法通過(guò)共享特征獲得計(jì)算效率的提升;通過(guò)RoI池化來(lái)獲得每個(gè)對(duì)象的個(gè)體特征;一些在線學(xué)習(xí)到的特定目標(biāo)的CNN層用于調(diào)整每個(gè)對(duì)象的外觀模型;提出了一種時(shí)空注意機(jī)制來(lái)控制由于遮擋和目標(biāo)間交互的而導(dǎo)致的漂移問(wèn)題;通過(guò)學(xué)習(xí)對(duì)象的可視圖來(lái)推斷空間注意圖,然后利用空間注意圖對(duì)特征進(jìn)行加權(quán)。此外,可以從可視圖中估計(jì)出遮擋狀態(tài),而這可以控制在不同幀中,擁有不同遮擋狀態(tài)的訓(xùn)練樣本的加權(quán)損失的在線更新過(guò)程。為了準(zhǔn)確追蹤遮擋對(duì)象或與周圍物體具有相似外觀的對(duì)象,文獻(xiàn)[29]提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的結(jié)構(gòu),它可以在一個(gè)時(shí)間窗口內(nèi)聯(lián)合對(duì)多個(gè)線索進(jìn)行推理。文獻(xiàn)[17]、文獻(xiàn)[28]和文獻(xiàn)[29]進(jìn)行追蹤算法的速度分別為71.43 ms、166.67 ms和90.91 ms。表5的最后8行為處理AVG-TOWN-CENTER視頻中的單類對(duì)象追蹤結(jié)果,可以看出M-Deep-SORT的對(duì)象追蹤效果是最好的。此外,檢測(cè)器F-R-CNN的追蹤性能明顯優(yōu)于Faster-R-CNN。相似的結(jié)論也適用追蹤兩種對(duì)象時(shí)(如表5的前8行)。為了在TUD-CROSSING中追蹤包括人和車的兩類對(duì)象,可以看出F-R-CNN和Faster-R-CNN檢測(cè)方法對(duì)應(yīng)的所有度量指標(biāo)上,M-Deep-SORT相比于其它追蹤方法表現(xiàn)最好。此外,在表4到表5的所有檢測(cè)方法和追蹤方法組合中,提出的F-R-CNN和M-Deep-SORT的追蹤性能最好。F-R-CNN和M-Deep-SORT在VAR2019、URBAN TRACKER、PETS09-S2L2、AVG-TOWN-CENTER和TUD-CROSSING視頻進(jìn)行追蹤的示例結(jié)果如圖4所示,這種可視化結(jié)果也顯示了本文方法的有效性和魯棒性。
表5 與其它對(duì)象追蹤方法的性能對(duì)比
圖4 F-R-CNN和M-Deep-SORT進(jìn)行視頻追蹤時(shí)的示例結(jié)果
本文首先提出了一種用于多對(duì)象檢測(cè)的深度卷積神經(jīng)網(wǎng)絡(luò)F-R-CNN,它也是圖像中的單對(duì)象檢測(cè)領(lǐng)域廣泛使用的Fast-R-CNN和Faster-R-CNN的改進(jìn)版本。與后兩者不同,F(xiàn)-R-CNN在考慮了時(shí)域和空域信息的基礎(chǔ)上直接以視頻作為輸入。在深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)中使用時(shí)空信息結(jié)合?;瘜?,可確保更好地定位RoI對(duì)象。此后的分類任務(wù)只需要處理ROI中存在的對(duì)象便可顯著提高檢測(cè)精度。在訓(xùn)練F-R-CNN時(shí),損失函數(shù)只基于正RoI上的正先驗(yàn)框和負(fù)先驗(yàn)框,不像Fast-R-CNN和Faster-R-CNN使用所有RoI。與Fast-R-CNN和Fast-R-CNN相比,由F-R-CNN生成的RoI更準(zhǔn)確地描述了對(duì)象的區(qū)域。在F-R-CNN中,RoI是使用池化特征圖上的?;瘉?lái)生成的。然而,在Fast-R-CNN和Faster-R-CNN中,整個(gè)池化層被用作RoI。在速度上F-R-CNN優(yōu)于Fast-R-CNN,同時(shí)也可與Faster-R-CNN相媲美。然后提出了用于對(duì)象追蹤的M-Deep-SORT,它在追蹤多個(gè)對(duì)象的精度和速度方面都是Deep-SORT的一個(gè)更高效的版本,因?yàn)闄z測(cè)到的對(duì)象與現(xiàn)有軌跡的關(guān)聯(lián)計(jì)算時(shí)僅局限于同一類別的對(duì)象。最后的廣泛實(shí)驗(yàn)驗(yàn)證了本文方法的有效性。