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