胡樹寶,呂 莉,徐 暢,康 平
(南昌工程學(xué)院 信息工程學(xué)院,江西 南昌 330099)
隨著計算機視覺技術(shù)的快速發(fā)展,作為主要研究分支的目標(biāo)跟蹤受到廣泛關(guān)注,在智慧交通、視頻監(jiān)控以及人機交互等領(lǐng)域發(fā)揮著重要作用。根據(jù)被跟蹤目標(biāo)數(shù)量的不同,目標(biāo)跟蹤算法可分為單目標(biāo)跟蹤與多目標(biāo)跟蹤兩類。從國內(nèi)外跟蹤領(lǐng)域的總體發(fā)展來看,單目標(biāo)跟蹤技術(shù)已經(jīng)相對成熟,而多目標(biāo)跟蹤技術(shù)仍然具有較大的發(fā)展空間。在單目標(biāo)跟蹤中,一般方法是人為設(shè)定一個先驗?zāi)繕?biāo)框,然后在后續(xù)幀中對先驗框內(nèi)目標(biāo)位置進(jìn)行預(yù)測,然而多目標(biāo)跟蹤過程不再只是預(yù)測單一目標(biāo)位置,人為設(shè)定先驗?zāi)繕?biāo)框的方式也無法適應(yīng)多變量估計問題。目前應(yīng)用于多目標(biāo)跟蹤任務(wù)的主流算法是基于檢測的跟蹤策略(tracking-by-detection,TBD)。TBD類跟蹤策略利用檢測器區(qū)分多目標(biāo)跟蹤任務(wù)的前景與背景,通過跟蹤器在預(yù)測目標(biāo)位置的同時,不斷與檢測器進(jìn)行信息交流的方式,提高跟蹤過程魯棒性。例如,Dicle[1]等基于TBD策略提出The Way They Move:Tracking Multiple Targets with Similar Appearance(SMOT)算法,該算法將檢測器與跟蹤器融合,利用運動動力學(xué)作為線索區(qū)分外觀相似的目標(biāo),最大限度地減少目標(biāo)錯誤識別,恢復(fù)由于遮擋以及目標(biāo)超出視野范圍而丟失的數(shù)據(jù),在處理遮擋問題時表現(xiàn)出色。Song[2]等人基于TBD策略提出Gaussian Mixture Probability Hypothesis Density(GM-PHD)算法,采用高斯混合概率假設(shè)密度處理噪聲干擾,有效降低了誤檢率和漏檢率,在處理遮擋問題和碎片現(xiàn)象時取得了良好的效果。目前,雖然許多目標(biāo)跟蹤算法取得了不錯的跟蹤效果,但是由于多目標(biāo)跟蹤過程較為復(fù)雜,且易受光照變化、目標(biāo)遮擋、目標(biāo)形變等因素干擾的原因,使得如何處理遮擋、如何準(zhǔn)確關(guān)聯(lián)軌跡以及如何提高實時性等問題依然是多目標(biāo)跟蹤任務(wù)中困擾學(xué)者們的主要挑戰(zhàn)。
針對上述挑戰(zhàn),本文沿用TBD策略對行人進(jìn)行跟蹤,提出基于YOLO與軌跡關(guān)聯(lián)的多目標(biāo)跟蹤算法。通過改進(jìn)YOLOv3[3]檢測器,提出YOLOv3-SE檢測框架,完成跟蹤過程中目標(biāo)檢測任務(wù),提高整體跟蹤速度;將卡爾曼濾波[4]作為跟蹤器,預(yù)測下一幀目標(biāo)位置坐標(biāo);利用行人重識別基線模型[5]提取具有判別性的外觀特征,計算外觀相似度,結(jié)合運動模型構(gòu)建軌跡間關(guān)聯(lián)概率,再與匈牙利關(guān)聯(lián)策略[6]相融合,提出一種基于外觀與運動特征的關(guān)聯(lián)模型,提升軌跡關(guān)聯(lián)魯棒性。在MOT2016公開數(shù)據(jù)集上的實驗結(jié)果表明,與當(dāng)前一些主流跟蹤算法相比,本文算法取得了較好的跟蹤準(zhǔn)確率,在實時性等多個指標(biāo)上取得了領(lǐng)先。
YOLOv3作為One-stage類檢測框架,檢測速度優(yōu)勢明顯,但在檢測精度上仍有較大的提升空間。因此,本文在YOLOv3的基礎(chǔ)上,利用通道注意力機制、跨階段局部網(wǎng)絡(luò)(Cross Stage Partial Network,CSPNet)[7]以及 1×1 網(wǎng)絡(luò)[8]進(jìn)一步提升其檢測精度,提出YOLOv3-SE檢測框架。如圖1所示,YOLOv3-SE檢測框架分為3個階段:特征提取、特征融合以及預(yù)測輸出。
圖1 YOLOv3-SE檢測框架
(1)特征提取階段。輸入圖像經(jīng)卷積層與CBL(卷積—批量歸一化—帶泄露線性整流函數(shù))層,完成圖像特征信息的初次提取和兩次降維,獲取多種分辨率的特征圖;利用包含殘差網(wǎng)絡(luò)的跨階段局部網(wǎng)絡(luò)(CSP_ResNet),降低計算成本以及由于網(wǎng)絡(luò)層數(shù)增加所帶來的梯度消失的風(fēng)險;采用通道注意力機制(Squeeze-and- Excitation,SE)[9],重新調(diào)整各通道特征權(quán)重,抑制無用特征的同時,保證關(guān)鍵特征信息得到充分利用。結(jié)構(gòu)如圖2所示。Squeeze實際是一種空間域上的特征壓縮,即對C×H×W的特征圖進(jìn)行平均池化得到C×H×W特征向量的過程,計算過程如式(1)所示。
(1)
式中Uc表示U中第c個二維特征矩陣,下標(biāo)c表示對應(yīng)通道;H和W分別表示特征圖的高和寬。Excitation過程則是依據(jù)兩個全連接層間建模相關(guān)性,依據(jù)輸入特征數(shù)目生成對應(yīng)的權(quán)重值,計算過程如式(2)。
Ac=Fex(Zc,W)=σ(W2δ(W1Zc)),
(2)
式中xk-1=(Lk-1,vk-1)表示第一次全連接;δ(.)表示ReLU激活函數(shù);W2δ(.)表示第二次全連接;σ(.)表示Sigmoid函數(shù)。Squeeze與Excitation操作完成后,開始對張量X的特征重新標(biāo)定,就是將歸一化權(quán)重Ac加權(quán)到每個通道的特征上,標(biāo)定過程如式(3)。
(3)
圖2 通道注意力機制
(2)特征融合階段。對13×13、26×26尺寸特征圖進(jìn)行上采樣,并與降維后的特征圖拼接,得到包含不同深度特征信息的新特征圖,利用特征金字塔結(jié)構(gòu)輸出13×13、26×26、52×52三種尺寸的特征圖。
(3)預(yù)測輸出階段。采用1×1網(wǎng)絡(luò)在不同大小的特征圖上進(jìn)行預(yù)測,利用1×1卷積核減少卷積過程的參數(shù)量,降低運算復(fù)雜度。為避免同一目標(biāo)輸出多個預(yù)測框,通過非極大抑制(NMS)[10]去除冗余預(yù)測框,保留得分最高的預(yù)測框作為最終預(yù)測結(jié)果。
使用具有良好抗噪聲干擾能力的卡爾曼濾波[4]預(yù)測目標(biāo)位置。設(shè)待跟蹤目標(biāo)上一狀態(tài)為xk-1=(Lk-1,vk-1),其中L和v分別表示位置和速度,k-1表示上一幀圖像??紤]到外部控制量和外部噪聲干擾的問題,由運動學(xué)和相關(guān)數(shù)學(xué)公式可得狀態(tài)預(yù)測方程如式(4)。
(4)
(5)
一般的軌跡關(guān)聯(lián)方法僅靠預(yù)測值與檢測值之間面積交并比作為軌跡關(guān)聯(lián)的依據(jù),無法準(zhǔn)確判斷長期遮擋前后目標(biāo)是否一致,軌跡誤匹配問題相對嚴(yán)重。本文受行人重識別技術(shù)善于根據(jù)行人的衣著、體態(tài)、發(fā)型等外觀信息,從跨攝像機視角下的圖像集合中識別同一行人身份的啟發(fā),采用以ResNet50為骨干網(wǎng)絡(luò)的行人重識別基線模型提取外觀特征,設(shè)計外觀關(guān)聯(lián)代價用于軌跡關(guān)聯(lián)。但考慮到多目標(biāo)跟蹤場景較為復(fù)雜,不同目標(biāo)有時會具有相似的外觀,若僅依賴外觀特征容易導(dǎo)致錯誤關(guān)聯(lián)。因此引入運動模型,利用目標(biāo)空域信息提高軌跡間關(guān)聯(lián)準(zhǔn)確率,從而解決跟蹤過程中目標(biāo)被長期遮擋后軌跡誤匹配問題。
1.3.1 外觀關(guān)聯(lián)代價設(shè)計
行人重識別基線模型識別行人身份過程如圖3所示。來自不同幀的n個圖像輸入模型后,進(jìn)入ResNet50骨干網(wǎng)絡(luò)(Backbone network),經(jīng)過5個階段提取外觀特征,輸出形狀為7×7×2048(寬×高×通道數(shù))的Feature Map(特征圖),再經(jīng)平均池化(Pooling Layer)與全連接層(FC Layer)降維得到形狀為1×1×751的新特征圖,通過SoftMax函數(shù)輸出Person ID(行人身份標(biāo)簽)。
圖3 行人重識別基線模型識別行人身份過程
依據(jù)行人重識別基線模型提取的各幀外觀特征,計算檢測值與預(yù)測值之間的外觀關(guān)聯(lián)代價DA(i,j)。
(6)
1.3.2 運動關(guān)聯(lián)代價設(shè)計
依據(jù)檢測目標(biāo)的位置坐標(biāo),得到預(yù)測目標(biāo)和檢測目標(biāo)之間位置差,以此計算運動關(guān)聯(lián)代價DM(i,j)。
DM(i,j)=‖pj-pi‖2,
(7)
式中pj為檢測目標(biāo)中心的二維坐標(biāo)矢量,pi為預(yù)測目標(biāo)中心的二維坐標(biāo)矢量。
1.3.3 軌跡關(guān)聯(lián)概率設(shè)計
依據(jù)外觀相似度與運動關(guān)聯(lián)代價,將二者加權(quán)(λ表示權(quán)重)結(jié)合得到最終的軌跡關(guān)聯(lián)概率D(i,j)。
D(i,j)=λDA(i,j)+(1-λ)DM(i,j).
(8)
本文多目標(biāo)跟蹤算法流程如圖4。
圖4 算法流程圖
具體算法步驟可總結(jié)如下:
(1)輸入圖像后,YOLOv3-SE進(jìn)行目標(biāo)檢測;
(2)利用檢測結(jié)果,初始化卡爾曼濾波器,并預(yù)測下一幀圖像中目標(biāo)的位置坐標(biāo);
(3)檢測當(dāng)前幀目標(biāo),使用行人重識別基線模型提取外觀特征信息,得到外觀關(guān)聯(lián)代價,再結(jié)合運動關(guān)聯(lián)代價構(gòu)建軌跡關(guān)聯(lián)概率,將最終軌跡關(guān)聯(lián)概率融入匈牙利關(guān)聯(lián)策略中,完成軌跡關(guān)聯(lián)匹配;
(4)若有未匹配的檢測結(jié)果,則初始化新的卡爾曼濾波器;若有未匹配的預(yù)測結(jié)果,則判定該目標(biāo)可能被遮擋或消失,同時記錄歷史遮擋幀數(shù),若遮擋幀數(shù)累計大于70幀,則認(rèn)為目標(biāo)消失,移除該軌跡;
(5)更新卡爾曼濾波器的相關(guān)參數(shù),并返回步驟(3),經(jīng)過多次迭代直至所有圖像被處理完畢。
本文在COCO[11]與MOT2016[12]數(shù)據(jù)集上進(jìn)行實驗。實驗條件:運行內(nèi)存為64GB,GPU為RTX2080Ti。
2.1.1 目標(biāo)檢測評價指標(biāo)
目標(biāo)檢測評判指標(biāo)主要為平均精確率(AP),驗證集平均精確率(APval),測試集平均精確率(APtest),預(yù)測框與真實框的交并比大于0.50時平均精確率(AP50),單幀檢測耗時(Speed)。
2.1.2 目標(biāo)跟蹤評價指標(biāo)
目標(biāo)跟蹤評判指標(biāo)主要為跟蹤準(zhǔn)確率(MOTA),跟蹤軌跡命中率(MT),跟蹤軌跡丟失率(ML),身份標(biāo)簽切換總次數(shù)(IDS),跟蹤精度(MOTP),每幀跟蹤速度(FPS),本文中FPS同時考慮檢測與關(guān)聯(lián)的時間。MOTA的計算公式如式(9)。
(9)
式中FP表示誤判總數(shù),當(dāng)預(yù)測值和檢測值沒有匹配上時,將錯誤的預(yù)測值稱為FP。FN表示漏檢總數(shù),當(dāng)預(yù)測值和檢測值沒有匹配上時,將未被匹配的真實標(biāo)注目標(biāo)稱為FN。IDS表示規(guī)定幀內(nèi)目標(biāo)身份標(biāo)簽切換總次數(shù)。GT表示規(guī)定幀內(nèi)所有真實標(biāo)注目標(biāo)的總數(shù)。
在COCO目標(biāo)檢測數(shù)據(jù)集上進(jìn)行實驗,實驗結(jié)果見表1。由表1可知,YOLOv3-SE 檢測精度明顯優(yōu)于 YOLOv3,同時單幀檢測耗時僅比YOLOv3增加0.9ms,依然保持了檢測速度上的優(yōu)勢。
2.3.1 消融實驗
為了更準(zhǔn)確的了解SE模塊與關(guān)聯(lián)模型對跟蹤性能的影響,在MOT2016數(shù)據(jù)集上進(jìn)行消融實驗。將YOLOv3-SE的SE模塊去除并聯(lián)合特征提取器作為基線(Baseline)跟蹤算法,Baseline+SE表示在Baseline中添加SE模塊,Baseline+SE+M表示在Baseline中添加SE模塊與關(guān)聯(lián)模型。消融實驗結(jié)果見表2。
由表2可知,Baseline+SE與Baseline相比,MOTA提高0.3個百分點,MOTP提高0.4個百分點,MT提高0.2個百分點,IDS降低25次。Baseline+SE+M與Baseline+SE相比,MOTA提升0.1個百分點,MOTP指標(biāo)持平,MT提升0.6個百分點,IDS降低15次。消融實驗結(jié)果表明,SE模塊與關(guān)聯(lián)模型可以有效提升跟蹤性能。
表1 檢測框架在COCO數(shù)據(jù)集上的實驗結(jié)果
2.3.2 不同測試序列上的實驗結(jié)果
在MOT2016數(shù)據(jù)集不同測試序列上進(jìn)行實驗。實驗結(jié)果見表3。
表2 在MOT2016數(shù)據(jù)集上的消融實驗結(jié)果
表3 本文算法在不同測試序列上的實驗結(jié)果
由表3可知,本文算法在MOT16-03測試序列上的跟蹤性能最佳;在MOT16-14測試序列上的跟蹤性能最差。部分原因是MOT16-14測試序列由車載攝像頭采集,相機鏡頭存在移動與抖動,導(dǎo)致鏡頭中的目標(biāo)模糊。首先,這會造成行人重識別基線模型提取的外觀特征模糊,對軌跡關(guān)聯(lián)的優(yōu)化作用減??;其次會給卡爾曼濾波進(jìn)行狀態(tài)預(yù)測帶來干擾,增大預(yù)測值與真實值之間的誤差。而MOT16-03測試序列由靜止攝像頭采集,鏡頭角度固定,采集的畫面相對平穩(wěn)且清晰,雖然目標(biāo)數(shù)較多也較為擁擠,但行人重識別基線模型提取的外觀特征豐富,對軌跡關(guān)聯(lián)的優(yōu)化作用較為明顯,對卡爾曼濾波進(jìn)行狀態(tài)預(yù)測的干擾較少,預(yù)測目標(biāo)位置相對精準(zhǔn)。對于其他測試集而言,干擾因素類別和程度的不同是造成跟蹤效果差異較大的重要原因之一。如MOT16-01、MOT16-06以及MOT16-07測試序列中遮擋問題較為突出,頻繁遮擋會對多目標(biāo)跟蹤造成較大的困擾,降低跟蹤的準(zhǔn)確率;MOT16-08測試序列中目標(biāo)尺寸變化大的問題以及MOT16-12測試序列中目標(biāo)被長期遮擋的問題,都會給跟蹤過程帶來不同程度的干擾。同時,不同測試集幀內(nèi)跟蹤目標(biāo)數(shù)量也有差別,尤其是MOT16-01中每幀目標(biāo)數(shù)量相對較少,對于FN、FP以及IDS這類絕對數(shù)值指標(biāo)影響較大,這也是造成相同算法在不同測試集跟蹤效果差距較大的重要原因之一。
為了直觀的體現(xiàn)本文算法處理長期遮擋的性能,截取在MOT16-12 測試序列上第80幀至第91幀的跟蹤結(jié)果,如圖5所示。
圖5 第80幀至第91幀的跟蹤結(jié)果
由圖5可知,本文算法可以較好的跟蹤到幀內(nèi)行人目標(biāo),并且在第91幀中正確恢復(fù)了由于大面積遮擋而在第81幀中丟失長達(dá)10幀,目標(biāo)“11”的身份標(biāo)簽。充分說明本文設(shè)計的軌跡關(guān)聯(lián)概率,一定程度上解決了目標(biāo)被長期遮擋后,軌跡誤匹配問題。
2.3.3 多目標(biāo)跟蹤算法實驗結(jié)果比較
不同跟蹤算法在MOT2016測試集上的實驗結(jié)果見表4。由表4可知,本文算法與EAMTT[13]、MOTDT[14]、SORT[15]、DeepSort[16]和TubeTk[17]算法相比,MT、ML、FN以及FPS指標(biāo)均為最優(yōu)。其中,MT達(dá)到35.3%,ML和FN僅為17.7%與50 597次,F(xiàn)PS達(dá)到13.9Hz。MOTA 則達(dá)到61.9%,僅次于TubeTk算法的64.0%。EAMTT算法采用強弱檢測相結(jié)合的方式提升檢測階段準(zhǔn)確率,但這也直接導(dǎo)致檢測耗時增加,整體算法FPS降低,而且數(shù)據(jù)集強弱分類存在一定誤差,容易使分類檢測的FN升高;MOTDT、SORT以及DeepSort算法,三者都采用兩段式檢測方法,檢測速度較慢,導(dǎo)致整體算法FPS偏低,其中SORT算法軌跡關(guān)聯(lián)依據(jù)單一,也是造成其IDS較高的主要原因。由式(9)可知,影響MOTA的主要是FP、FN以及IDS總和,總和越低MOTA越高。TubeTk算法的FP比本文算法低6 775次,兩者FP差距較大,直接導(dǎo)致TubeTk 算法的FP、FN以及IDS三者總和低于本文算法,也是其MOTA優(yōu)于本文算法的主要原因。但是在 MT、ML、FN、IDS 以及FPS各項指標(biāo)上,本文算法均優(yōu)于TubeTk算法,尤其是FPS指標(biāo),比TubeTk算法高12.9Hz,實時性優(yōu)勢明顯。
表4 不同算法在MOT2016數(shù)據(jù)集上的實驗結(jié)果
本文提出的YOLOv3-SE檢測框架可以快速精準(zhǔn)的檢測跟蹤目標(biāo),提出的軌跡關(guān)聯(lián)模型可以準(zhǔn)確的關(guān)聯(lián)跟蹤軌跡,一定程度上解決了多目標(biāo)跟蹤過程中實時性與長期遮擋的問題。實驗結(jié)果表明,本文算法與EAMTT、MOTDT、SORT、DeepSort以及TubeTk算法相比,具有較好的實時性,且有效提高了跟蹤準(zhǔn)確率。