王 濤, 王文格
(湖南大學(xué) 機(jī)械與運(yùn)載工程學(xué)院, 長(zhǎng)沙 410082)
運(yùn)動(dòng)目標(biāo)跟蹤是計(jì)算機(jī)視覺(jué)中的一個(gè)重要研究領(lǐng)域, 旨在通過(guò)對(duì)圖像中的運(yùn)動(dòng)目標(biāo)進(jìn)行檢測(cè)、提取、識(shí)別等操作, 獲得目標(biāo)的各項(xiàng)運(yùn)動(dòng)參數(shù)并確定其位置,從而進(jìn)行下一步的分析與處理. 隨著計(jì)算平臺(tái)的不斷升級(jí)完善以及人工智能技術(shù)的飛速發(fā)展, 行人跟蹤技術(shù)在不斷更新迭代的同時(shí)也變得越來(lái)越重要, 并已經(jīng)廣泛出現(xiàn)在智能視頻監(jiān)控、智能交通、智能人機(jī)交互、運(yùn)動(dòng)員比賽分析等各種場(chǎng)景[1,2].
從實(shí)現(xiàn)方法來(lái)看, 目前主流的跟蹤算法可粗略分為相關(guān)濾波類和深度學(xué)習(xí)類[3], 前者通過(guò)設(shè)計(jì)濾波模板進(jìn)行預(yù)測(cè)或通過(guò)區(qū)域匹配來(lái)尋找跟蹤目標(biāo)的位置, 大多數(shù)情況下僅使用較為簡(jiǎn)單的手工特征. MOSSE[4]是最先出現(xiàn)的濾波跟蹤算法, 利用目標(biāo)的多個(gè)樣本來(lái)進(jìn)行訓(xùn)練, 從而得到更優(yōu)秀的濾波器, 在此基礎(chǔ)上引入核函數(shù)并不斷改進(jìn)優(yōu)化, 又形成了CSK[5]、KCF算法[6],在保證跟蹤速度的同時(shí), 大大提高了跟蹤的準(zhǔn)確性. 與此同時(shí), Danelljan等人提出了C-COT算法[7], 利用神經(jīng)網(wǎng)絡(luò)提取特征, 并將學(xué)習(xí)過(guò)程推廣到連續(xù)空間域, 還進(jìn)一步提出改進(jìn)版的ECO算法[8], 并同時(shí)更好地解決了訓(xùn)練過(guò)擬合的問(wèn)題. 盡管相關(guān)濾波類算法在特定場(chǎng)景下有著優(yōu)異的實(shí)時(shí)跟蹤速度, 但使用的簡(jiǎn)單特征在遇到遮擋、目標(biāo)形變、快速運(yùn)動(dòng)等復(fù)雜場(chǎng)景時(shí), 易出現(xiàn)跟蹤漂移和跟蹤失敗等問(wèn)題.
深度學(xué)習(xí)類的算法往往更注重準(zhǔn)確性, 多采用基于檢測(cè)的跟蹤(tracking-by-detection)方式. 2016年Nam等人提出的MDNet[9]利用一個(gè)輕量級(jí)的小型網(wǎng)絡(luò)來(lái)學(xué)習(xí)跟蹤目標(biāo)的特征, 同時(shí)期的DeepSort[10]也是在原Sort[11]的基礎(chǔ)上對(duì)目標(biāo)提取深度特征來(lái)提高跟蹤算法的準(zhǔn)確率. Siam FC[12]則是使用了孿生網(wǎng)絡(luò)來(lái)訓(xùn)練一個(gè)相似性度量函數(shù), 以匹配候選目標(biāo)作為跟蹤結(jié)果.為進(jìn)一步提高Siamese類算法的跟蹤速度和精度, Li等人結(jié)合RPN (region proposal network)網(wǎng)絡(luò)提出了Siam RPN算法[13], 在跟蹤階段構(gòu)造局部單目標(biāo)檢測(cè)任務(wù), 并拋棄了傳統(tǒng)的多尺度測(cè)試和在線微調(diào). Danelljan等人提出的ATOM[14]和DiMP[15]則將目標(biāo)跟蹤分為目標(biāo)分類和目標(biāo)評(píng)價(jià), 分別用于粗定位和精確定位, 后續(xù)又提出基于概率回歸的PrDiMP[16], 根據(jù)目標(biāo)狀態(tài)的條件概率密度來(lái)確定目標(biāo)位置, 從而進(jìn)行跟蹤. 這類算法在準(zhǔn)確性上有著非常出色的表現(xiàn), 但往往因?yàn)橛?jì)算量過(guò)大且計(jì)算過(guò)程復(fù)雜, 在一定程度上影響了跟蹤算法的速度, 導(dǎo)致算法不能實(shí)時(shí)運(yùn)行.
針對(duì)以上問(wèn)題, 本文提出一種將目標(biāo)圖像深淺特征融合的實(shí)時(shí)單目標(biāo)行人跟蹤方法. 利用目標(biāo)的顏色直方圖[17]來(lái)提取淺層顏色特征, 并利用YOLOv4檢測(cè)模型[18]獲取當(dāng)前目標(biāo)位置從而提取目標(biāo)的深度特征,通過(guò)計(jì)算目標(biāo)的相似性和不同的距離度量對(duì)目標(biāo)進(jìn)行匹配更新, 并通過(guò)更新策略協(xié)調(diào)準(zhǔn)確性與速度. 經(jīng)實(shí)驗(yàn)驗(yàn)證, 本文算法可有效地在復(fù)雜場(chǎng)景中實(shí)現(xiàn)對(duì)單目標(biāo)行人的長(zhǎng)時(shí)間穩(wěn)定跟蹤, 同時(shí)還能達(dá)到實(shí)時(shí)跟蹤的效果.
DeepSort算法是一種采用遞歸卡爾曼濾波和逐幀數(shù)據(jù)關(guān)聯(lián)匹配的多目標(biāo)傳統(tǒng)單一假設(shè)跟蹤方法, 算法對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤場(chǎng)景定義在一個(gè)8維狀態(tài)空間中, 其中包括目標(biāo)框的中心坐標(biāo)(u,v)、寬高比γ、高h(yuǎn)、以及它們對(duì)應(yīng)的一階導(dǎo)數(shù), 并使用具有常量速度模型和線性觀測(cè)模型的標(biāo)準(zhǔn)卡爾曼濾波器來(lái)預(yù)測(cè)目標(biāo)框在下一幀圖像中的位置. DeepSort使用提前訓(xùn)練好的Faster R-CNN[19]作為目標(biāo)檢測(cè)器,并結(jié)合一個(gè)ReID的神經(jīng)網(wǎng)絡(luò)模型得到128維的深度特征來(lái)計(jì)算檢測(cè)結(jié)果與預(yù)測(cè)結(jié)果之間的代價(jià)矩陣, 用以評(píng)估二者的相似吻合程度. 算法的關(guān)鍵在于使用了級(jí)聯(lián)匹配的思想, 可以解決目標(biāo)被遮擋或干擾后, 卡爾曼濾波預(yù)測(cè)的不確定性增大而導(dǎo)致的代價(jià)矩陣計(jì)算誤差增大的問(wèn)題. 具體方案為計(jì)算檢測(cè)結(jié)果與預(yù)測(cè)結(jié)果之間的平方馬氏距離和余弦距離, 通過(guò)匈牙利算法完成指派問(wèn)題得到代價(jià)矩陣后, 利用級(jí)聯(lián)匹配完成目標(biāo)的跟蹤, 可以有效地減少跟蹤目標(biāo)ID Switch的情況.DeepSort算法的基本框架如圖1所示.
圖1 DeepSort基本框架
YOLO系列是實(shí)時(shí)目標(biāo)檢測(cè)中最具代表性的算法,其將目標(biāo)檢測(cè)過(guò)程視作一個(gè)回歸問(wèn)題, 通過(guò)一次前向推理就可得到目標(biāo)框的位置及其分類結(jié)果, 檢測(cè)過(guò)程快速而高效. YOLOv4在輸入端訓(xùn)練層面使用了Mosaic數(shù)據(jù)增強(qiáng)、DropBlock模塊和改進(jìn)后的CmBN等防止過(guò)擬合的操作, 使其能夠在小目標(biāo)檢測(cè)和小批量數(shù)據(jù)集訓(xùn)練上取得更好的效果. 在YOLOv4的網(wǎng)絡(luò)模型中,使用CSPDarknet53作為骨干網(wǎng)絡(luò), 通過(guò)FPN層的上采樣, 對(duì)輸入檢測(cè)圖像的最小特征圖自上而下地傳遞強(qiáng)語(yǔ)義特征, 同時(shí)在其后添加包含PAN結(jié)構(gòu)的特征金字塔, 從最大的特征圖自底向上地傳遞強(qiáng)定位特征, 從而實(shí)現(xiàn)對(duì)不同檢測(cè)層的參數(shù)整合, 能夠更好地獲取目標(biāo)特征并進(jìn)行同時(shí)定位與分類, 提高目標(biāo)檢測(cè)的準(zhǔn)確性.
本文使用YOLOv4模型作為跟蹤算法的檢測(cè)器,在跟蹤初始化、軌跡更新或跟蹤誤差較大時(shí)進(jìn)行調(diào)用,來(lái)對(duì)跟蹤器進(jìn)行調(diào)整與修正.
目標(biāo)的跟蹤過(guò)程包括對(duì)跟蹤目標(biāo)的預(yù)測(cè)、檢測(cè)、匹配以及軌跡更新, 本文將目標(biāo)圖像的淺層顏色特征與深度特征相融合, 共同作為預(yù)測(cè)和匹配的評(píng)價(jià)指標(biāo),并通過(guò)提出的軌跡更新策略協(xié)調(diào)跟蹤的速度與準(zhǔn)確性.
跟蹤目標(biāo)的位置確定是跟蹤過(guò)程中非常重要的一個(gè)環(huán)節(jié), 決定了跟蹤結(jié)果的準(zhǔn)確性與可靠性. 一般情況下, 跟蹤算法通過(guò)當(dāng)前幀或歷史幀的跟蹤結(jié)果來(lái)預(yù)測(cè)或迭代搜索出下一幀的目標(biāo)位置, 由于使用了先驗(yàn)信息來(lái)跟蹤, 因此不會(huì)再進(jìn)行額外的目標(biāo)匹配來(lái)驗(yàn)證預(yù)測(cè)結(jié)果, 這在一定程度上降低了預(yù)測(cè)目標(biāo)的可靠性. 而在區(qū)分出前景目標(biāo)和背景之后, 目標(biāo)圖像所擁有的部分淺層表觀特征例如顏色、形狀、紋理等信息也可以是跟蹤過(guò)程中重要的匹配工具, 而其中顏色特征具有比其他特征對(duì)于目標(biāo)尺度、姿態(tài)的變化比較不敏感的特性. 因此將淺層顏色特征作為跟蹤算法預(yù)測(cè)結(jié)果相似性匹配的一個(gè)評(píng)價(jià)指標(biāo), 并采用計(jì)算目標(biāo)區(qū)域顏色直方圖的方式來(lái)提取目標(biāo)的顏色特征.
位置預(yù)測(cè)多采用濾波的方式, 而對(duì)于跟蹤問(wèn)題這樣的非線性系統(tǒng), 可以采用擴(kuò)展卡爾曼濾波、無(wú)損卡爾曼濾波或粒子濾波, 但這三者相對(duì)來(lái)說(shuō)計(jì)算量偏大,影響實(shí)時(shí)效果. 因此本文將跟蹤過(guò)程近似視為分段每?jī)蓭g的線性過(guò)程, 并沿用DeepSort的遞歸卡爾曼濾波預(yù)測(cè). 在每一幀的匹配和更新結(jié)束后, 卡爾曼濾波器首先會(huì)通過(guò)前一幀目標(biāo)位置的均值與方差進(jìn)行更新,預(yù)測(cè)出當(dāng)前幀目標(biāo)可能會(huì)在的位置. 預(yù)測(cè)均值為DeepSort中的8維向量, 且由于卡爾曼濾波對(duì)于目標(biāo)框的預(yù)測(cè)主要在于目標(biāo)框運(yùn)動(dòng)方向和大小的變化, 而直接計(jì)算整個(gè)預(yù)測(cè)目標(biāo)框區(qū)域的顏色直方圖易受到相似背景的干擾而降低可靠性, 因此將目標(biāo)框裁剪并縮放至50×50的大小, 再將其均分為4個(gè)部分, 分別計(jì)算目標(biāo)各部分的顏色直方圖Hi_pre(i=1, 2, 3, 4), 如圖2所示.
圖2 獲取預(yù)測(cè)結(jié)果的四分顏色直方圖
距當(dāng)前幀最近的一次檢測(cè)器成功調(diào)用的檢測(cè)結(jié)果被儲(chǔ)存在數(shù)組中, 此數(shù)組共儲(chǔ)存最近5次的成功檢測(cè)結(jié)果并不斷更新. 與預(yù)測(cè)結(jié)果一樣, 將每次的成功檢測(cè)結(jié)果裁剪、縮放并分成4個(gè)部分, 分別計(jì)算相應(yīng)的顏色直方圖Hn_i(n=1, 2, …, 5). 把每一個(gè)預(yù)測(cè)結(jié)果的顏色直方圖分別與5次檢測(cè)結(jié)果的顏色直方圖作對(duì)比, 由式(1)可得到預(yù)測(cè)結(jié)果的相似度Similarn, 將其中最小的相似度值作為預(yù)測(cè)結(jié)果的最終相似度, 并由此來(lái)評(píng)定當(dāng)前幀跟蹤目標(biāo)位置預(yù)測(cè)的結(jié)果好壞.
其中,j表示像素值的大小,Hi_pre_j和Hn_i_j分別表示預(yù)測(cè)直方圖和檢測(cè)直方圖在像素值為j時(shí)的值.
如果只利用卡爾曼濾波器的預(yù)測(cè)作為跟蹤結(jié)果, 則容易產(chǎn)生累計(jì)誤差并導(dǎo)致跟蹤失敗, 因此使用YOLOv4模型作為目標(biāo)檢測(cè)器來(lái)提高算法的跟蹤準(zhǔn)確性. 調(diào)用檢測(cè)器時(shí), 獲得當(dāng)前幀的可能目標(biāo)序列detection_indices,計(jì)算檢測(cè)結(jié)果的匹配代價(jià)矩陣, 該代價(jià)矩陣共由3個(gè)不同的代價(jià)部分組成, 且其中包含每一個(gè)檢測(cè)結(jié)果的代價(jià)值, 并根據(jù)其中最小的代價(jià)值找出正確的跟蹤目標(biāo).
第一個(gè)代價(jià)矩陣cm1首先通過(guò)式(3)計(jì)算每個(gè)檢測(cè)目標(biāo)與當(dāng)前幀預(yù)測(cè)目標(biāo)的平方馬氏距離, 以獲取該檢測(cè)目標(biāo)對(duì)于運(yùn)動(dòng)預(yù)測(cè)偏移位置的不確定性, 不確定性越大則說(shuō)明該檢測(cè)是跟蹤目標(biāo)的可能性越低. 再通過(guò)式(4)分別計(jì)算每個(gè)檢測(cè)目標(biāo)與儲(chǔ)存的前5次成功檢測(cè)的深度特征之間的最小余弦距離, 以獲取目標(biāo)外觀特征之間的相似程度. 對(duì)兩種度量分別設(shè)置距離閾值, 并利用式(5)將兩種距離度量的線性加權(quán)融合作為檢測(cè)目標(biāo)的一個(gè)代價(jià)矩陣.
其中,di為第i個(gè)檢測(cè)框位置及大小,p為目標(biāo)預(yù)測(cè)位置及大小,Si為檢測(cè)框與平均跟蹤位置的協(xié)方差,fi為第i個(gè)檢測(cè)特征向量,fn為儲(chǔ)存的前5次成功檢測(cè)的特征向量,n=1, 2, …, 5,λ為代價(jià)矩陣加權(quán)系數(shù).
當(dāng)跟蹤過(guò)程某一階段出現(xiàn)連續(xù)預(yù)測(cè)且預(yù)測(cè)相似性均不滿足閾值時(shí), 認(rèn)為遇到目標(biāo)遮擋情況, 一般情況下,跟蹤行人目標(biāo)的遮擋時(shí)間大概在30–50幀左右. 由于遮擋時(shí)無(wú)法檢測(cè)到目標(biāo)行人而多采用預(yù)測(cè)結(jié)果直接輸出, 并不對(duì)軌跡進(jìn)行檢測(cè)更新, 平方馬氏距離則會(huì)因?yàn)閰f(xié)方差的累計(jì)變化而降低準(zhǔn)確性, 容易產(chǎn)生誤跟蹤. 為解決這種情況, 再添加由當(dāng)前幀和前第10次成功檢測(cè)的深度特征的匹配, 由于只采用一次先驗(yàn)信息, 無(wú)法通過(guò)平均預(yù)測(cè)偏移來(lái)考慮檢測(cè)的不確定性, 因此只計(jì)算檢測(cè)結(jié)果的最小余弦距離.
其中,f10為前第10次成功檢測(cè)的特征向量.
在跟蹤算法中使用目標(biāo)檢測(cè)模型有助于提高算法跟蹤結(jié)果的準(zhǔn)確性, 但檢測(cè)器的深度神經(jīng)網(wǎng)絡(luò)提取的抽象深度特征圖無(wú)法完全準(zhǔn)確地描述目標(biāo)的特征, 且容易丟失目標(biāo)的一部分淺層信息, 同時(shí)目標(biāo)的空間信息也會(huì)隨著網(wǎng)絡(luò)的深度而被逐漸稀釋. 為進(jìn)一步提升匹配的準(zhǔn)確性, 并充分利用目標(biāo)圖像的深淺信息, 同樣引入顏色直方圖來(lái)描述檢測(cè)目標(biāo)的淺層顏色特征. 計(jì)算每一個(gè)檢測(cè)目標(biāo)框的顏色直方圖, 可以得到一個(gè)256×3的多維矩陣, 將其中每相鄰兩個(gè)的像素值個(gè)數(shù)取平均并賦給像素值小的像素, 從而得到128×3的多維矩陣,以對(duì)應(yīng)ReID模型對(duì)目標(biāo)提取的128維深度特征. 與預(yù)測(cè)相似性一樣, 計(jì)算每個(gè)檢測(cè)目標(biāo)與前5次成功檢測(cè)的目標(biāo)之間的最小相似性距離, 不同的是此處輸出的是最小的不相似程度.
其中,Hi_j為第i個(gè)檢測(cè)目標(biāo)的第j個(gè)像素值個(gè)數(shù),Hn_j為儲(chǔ)存的第n個(gè)成功檢測(cè)目標(biāo)的第j個(gè)像素值個(gè)數(shù).
上述距離度量分別從跟蹤目標(biāo)的預(yù)測(cè)偏移、深度特征、淺層特征3個(gè)方面來(lái)判斷檢測(cè)結(jié)果的匹配情況,可以有效地提升匹配的準(zhǔn)確性, 因此將三者的線性加權(quán)融合作為檢測(cè)匹配的最終代價(jià)矩陣, 并通過(guò)閾值比較找出匹配的目標(biāo), 若沒(méi)有代價(jià)值滿足匹配閾值條件,則說(shuō)明當(dāng)前幀沒(méi)有與跟蹤軌跡匹配的目標(biāo).
其中,Ci為第i個(gè)檢測(cè)結(jié)果的最終代價(jià)值, ωi為加權(quán)系數(shù), 且認(rèn)為沒(méi)有遮擋時(shí), ω2為0.
表1為分別使用不同特征進(jìn)行目標(biāo)匹配時(shí), 跟蹤算法在數(shù)據(jù)集上的跟蹤測(cè)試精度. 在檢測(cè)器識(shí)別行人目標(biāo)并獲取目標(biāo)框后, 分別通過(guò)淺層特征、深層特征以及融合特征對(duì)跟蹤目標(biāo)進(jìn)行匹配, 可以看出算法在使用融合特征時(shí)比單獨(dú)使用深層或淺層特征具有更好的跟蹤精度, 說(shuō)明了融合特征能夠更好地描述目標(biāo)淺層顏色特征以及深層語(yǔ)義特征, 從而提升目標(biāo)匹配和跟蹤的精度.
表1 不同特征匹配的跟蹤精度
相關(guān)濾波類的跟蹤算法已經(jīng)證明了它的快速性,但誤差的累計(jì)也可能造成跟蹤漂移和失敗, 而如果每一幀都調(diào)用檢測(cè)器再進(jìn)行目標(biāo)匹配, 則需要極大的算法運(yùn)算量, 從而無(wú)法實(shí)現(xiàn)對(duì)目標(biāo)的實(shí)時(shí)跟蹤. 為達(dá)到跟蹤速度與準(zhǔn)確性的協(xié)調(diào)統(tǒng)一, 本文算法首先設(shè)定在跟蹤目標(biāo)和軌跡初始化后, 成功檢測(cè)并更新時(shí)每隔固定幀數(shù)再次調(diào)用YOLOv4檢測(cè)器對(duì)跟蹤軌跡進(jìn)行微調(diào),確保跟蹤的準(zhǔn)確性. 如表2, 經(jīng)過(guò)實(shí)驗(yàn)對(duì)比, 選擇成功檢測(cè)后每隔6幀再次調(diào)用檢測(cè)器的方法.
表2 檢測(cè)器不同間隔幀數(shù)調(diào)用的跟蹤結(jié)果
計(jì)算檢測(cè)目標(biāo)距離度量的代價(jià)矩陣后, 再通過(guò)級(jí)聯(lián)匹配將正確的檢測(cè)結(jié)果與軌跡相關(guān)聯(lián), 從而實(shí)現(xiàn)跟蹤軌跡的更新. 每?jī)纱握{(diào)用檢測(cè)器之間的視頻幀采用預(yù)測(cè)相似性匹配, 計(jì)算當(dāng)前預(yù)測(cè)結(jié)果的相似度Similar,并設(shè)定一個(gè)相似度閾值Simi_threshold. 若得到的相似度結(jié)果大于該閾值, 則認(rèn)為當(dāng)前幀的預(yù)測(cè)結(jié)果是有效的,并將其作為當(dāng)前幀的目標(biāo)位置對(duì)跟蹤軌跡進(jìn)行更新;若相似度小于該閾值, 則認(rèn)為當(dāng)前幀的預(yù)測(cè)結(jié)果不夠準(zhǔn)確, 并重新調(diào)用YOLOv4檢測(cè)器, 檢測(cè)并匹配當(dāng)前幀的目標(biāo)位置, 從而避免因預(yù)測(cè)準(zhǔn)確性過(guò)低導(dǎo)致的跟蹤錯(cuò)誤.
另外, 由于跟蹤目標(biāo)快速運(yùn)動(dòng)、遮擋、背景相似等原因, 檢測(cè)器在某些情況下可能出現(xiàn)檢測(cè)不到或誤檢測(cè)跟蹤目標(biāo)的情況. 因此在調(diào)用YOLOv4檢測(cè)器時(shí)會(huì)向跟蹤系統(tǒng)反饋輸入匹配的檢測(cè)框個(gè)數(shù)和匹配完畢后檢測(cè)框的剩余個(gè)數(shù), 二者若相等則說(shuō)明當(dāng)前幀沒(méi)有與跟蹤軌跡相匹配的檢測(cè)結(jié)果, 此時(shí)算法反饋No_Match_Detection, 并繼續(xù)利用卡爾曼濾波器預(yù)測(cè)當(dāng)前幀的目標(biāo)位置, 且不再計(jì)算相似性匹配, 直接利用預(yù)測(cè)結(jié)果更新軌跡, 并在下一幀重新調(diào)用檢測(cè)器以改善跟蹤結(jié)果.
本文跟蹤算法的整體框架如圖3所示.
圖3 本文跟蹤算法的整體框架
本文所進(jìn)行的行人檢測(cè)器網(wǎng)絡(luò)訓(xùn)練以及跟蹤算法驗(yàn)證測(cè)試均在PC主機(jī)平臺(tái)上實(shí)現(xiàn), 具體配置為AMD R5 3600 型號(hào)的CPU以及NVIDIA GTX 1660顯卡. 測(cè)試平臺(tái)為Ubuntu 16.04操作系統(tǒng), 測(cè)試過(guò)程使用CUDA 10.1和OpenCV 3.4.0進(jìn)行前期圖像處理和結(jié)果輸出.
本文跟蹤算法的目的是實(shí)現(xiàn)長(zhǎng)時(shí)、實(shí)時(shí)且有效的單目標(biāo)行人的運(yùn)動(dòng)識(shí)別與跟蹤, 在檢測(cè)器網(wǎng)絡(luò)訓(xùn)練和跟蹤算法測(cè)試過(guò)程中均只考慮對(duì)行人這個(gè)單一類別的實(shí)現(xiàn)效果. 因此, 本文選用PASCAL VOC 2007、2012以及INRIA DATA數(shù)據(jù)集對(duì)YOLOv4目標(biāo)檢測(cè)器進(jìn)行訓(xùn)練. 3個(gè)數(shù)據(jù)集一共包含22 405張圖片, 其中有9 004張包含行人目標(biāo)的正樣本, 行人個(gè)數(shù)達(dá)到19 610個(gè), 按照8:2的比例對(duì)數(shù)據(jù)集劃分訓(xùn)練集與測(cè)試集. 訓(xùn)練后的檢測(cè)模型對(duì)測(cè)試集行人目標(biāo)進(jìn)行檢測(cè)的mAP(mean average precision)為0.869, 在GPU上的檢測(cè)速度可達(dá)到38 FPS, 滿足算法需求.
由于對(duì)單目標(biāo)行人進(jìn)行運(yùn)動(dòng)跟蹤需要達(dá)到一個(gè)長(zhǎng)時(shí)且穩(wěn)定的效果, 同時(shí)要體現(xiàn)出跟蹤算法對(duì)于遮擋、目標(biāo)尺度變化、目標(biāo)形變、快速運(yùn)動(dòng)以及相似性干擾等問(wèn)題的解決情況, 因此本文選擇Fan等人在2019年推出的大規(guī)模單目標(biāo)跟蹤標(biāo)準(zhǔn)數(shù)據(jù)集LaSOT[20]中的Person類作為跟蹤算法的主要測(cè)試集, 共包含20個(gè)不同場(chǎng)景的測(cè)試視頻序列, 總時(shí)長(zhǎng)達(dá)到35.6分鐘, 每個(gè)視頻序列的平均幀數(shù)為3 206幀. 同時(shí), 為保證算法的可靠性, 以及僅對(duì)單目標(biāo)行人進(jìn)行跟蹤的要求, 還選取了OTB100數(shù)據(jù)集[21]中33個(gè)包含行人的視頻序列, 平均幀數(shù)為452幀. 兩個(gè)測(cè)試數(shù)據(jù)集均具有相似目標(biāo)多、目標(biāo)形變明顯、尺度變化和光照變化等特點(diǎn).
為進(jìn)一步比較本文算法的單目標(biāo)行人跟蹤效果,使用近年來(lái)表現(xiàn)出色的部分相關(guān)濾波類及深度學(xué)習(xí)類算法與本文算法來(lái)進(jìn)行測(cè)試數(shù)據(jù)集的跟蹤結(jié)果的對(duì)比.跟蹤測(cè)試過(guò)程中, 所有算法進(jìn)行跟蹤軌跡初始化的目標(biāo)位置均使用數(shù)據(jù)集視頻序列的第一幀真實(shí)目標(biāo)位置ground truth給定. 跟蹤算法獲取視頻序列中指定行人目標(biāo)的位置以及相應(yīng)的目標(biāo)框, 并將后續(xù)每一幀的跟蹤目標(biāo)框與數(shù)據(jù)集序列的真實(shí)目標(biāo)框ground truth進(jìn)行比較和誤差分析. 采用OPE (one pass evaluation)方法計(jì)算跟蹤結(jié)果的成功率(success rate)和精度(precision)作為算法比較的主要評(píng)價(jià)指標(biāo), 并同時(shí)計(jì)算跟蹤框與目標(biāo)真實(shí)框的平均重疊率EAO (expected average overlap)以及跟蹤速度對(duì)每種算法的跟蹤效果進(jìn)行評(píng)估.
不同跟蹤算法在OTB100數(shù)據(jù)集和LaSOT數(shù)據(jù)集上的測(cè)試結(jié)果分別如圖4和圖5所示.
圖4 不同算法在OTB100數(shù)據(jù)集上測(cè)試結(jié)果
由于兩個(gè)測(cè)試數(shù)據(jù)集的特性不同, 且OTB100數(shù)據(jù)集的視頻分辨率較小, 同時(shí)真實(shí)框并不一定完全覆蓋行人, 因此各類算法在測(cè)試結(jié)果上均存在一定程度的波動(dòng). 從圖4和圖5中可以看出, 在兩個(gè)測(cè)試數(shù)據(jù)集上, 對(duì)算法分別設(shè)置不同的中心位置誤差閾值和目標(biāo)框重疊率閾值時(shí), 本文算法在所有進(jìn)行比較的跟蹤算法中均有比較優(yōu)異的表現(xiàn), 在跟蹤精度和成功率上遠(yuǎn)好于相關(guān)濾波類的KCF和ECO算法, 同時(shí)也要優(yōu)于深度學(xué)習(xí)類的SiamFC、SiamRPN和ATOM, 與DiMP表現(xiàn)基本持平, 略遜于改進(jìn)后的PrDiMP.
圖5 不同算法在LaSOT數(shù)據(jù)集上測(cè)試結(jié)果
表3給出了本文算法與其他比較算法在目標(biāo)框中心位置誤差閾值和重疊率閾值分別設(shè)置為20和0.5時(shí)的跟蹤準(zhǔn)確性和快速性的表現(xiàn). 可以看出, 在兩個(gè)數(shù)據(jù)集上, 本文提出的單目標(biāo)跟蹤算法在整體性能上均能實(shí)現(xiàn)比較優(yōu)秀的實(shí)時(shí)跟蹤效果. 融合目標(biāo)圖像的淺層顏色特征和深度學(xué)習(xí)特征之后, 跟蹤算法的準(zhǔn)確性相對(duì)于原DeepSort算法有了明顯的提高, 在OTB100和LaSOT數(shù)據(jù)集的測(cè)試中分別提升了27.9%和21.1%.與其他算法的對(duì)比中, PrDiMP在平均重疊率EAO上表現(xiàn)出色, 兩個(gè)數(shù)據(jù)集測(cè)試均為最優(yōu), 但無(wú)法達(dá)到30 FPS的實(shí)時(shí)跟蹤速度; KCF的跟蹤速度最快, 但在準(zhǔn)確度上卻表現(xiàn)最差. 本文算法同時(shí)結(jié)合了準(zhǔn)確性和快速性, 在兩個(gè)數(shù)據(jù)集上的EAO分別為0.581和0.453, GPU上的測(cè)試跟蹤速度分別為33.64 FPS和35.32 FPS, 能夠?qū)崿F(xiàn)實(shí)時(shí)單目標(biāo)行人跟蹤的效果.
表3 不同算法在測(cè)試數(shù)據(jù)集上的跟蹤表現(xiàn)
圖6為跟蹤算法測(cè)試過(guò)程中截取的部分跟蹤結(jié)果圖, 左上角數(shù)字表示圖片在該視頻序列中的幀數(shù), 每一幀的綠色框均為ground truth真實(shí)位置. 其中, 圖6(a)和圖6(b)來(lái)自LaSOT數(shù)據(jù)集, 圖6(c)和圖6(d)來(lái)自O(shè)TB100數(shù)據(jù)集. Person-1和David3序列的跟蹤環(huán)境較為簡(jiǎn)單, 主要是目標(biāo)姿態(tài)發(fā)生變化以及幾幀的短時(shí)遮擋, 除了KCF和ECO會(huì)偶爾出現(xiàn)跟蹤漂移, 以及ATOM出現(xiàn)誤跟蹤之外, 各個(gè)算法均可以比較好地定位到目標(biāo)的位置. Girl2序列相對(duì)于前兩個(gè)序列又增加了尺度變化和較長(zhǎng)遮擋等屬性, 可以看出ATOM在100幀時(shí)有誤跟蹤現(xiàn)象, 但隨后成功進(jìn)行了調(diào)整, 而ECO則在后續(xù)過(guò)程跟蹤失敗. Person-5是測(cè)試集中跟蹤環(huán)境相對(duì)復(fù)雜的視頻序列, 圖像中存在多個(gè)行人對(duì)象, 同時(shí)還包括了目標(biāo)快速形變、目標(biāo)遮擋和相似背景干擾等跟蹤過(guò)程中的難點(diǎn). 這種情況下, 由于運(yùn)動(dòng)目標(biāo)不易檢測(cè)準(zhǔn)確, 利用神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)類ATOM和DiMP算法以及采用了深度信息的ECO算法反而容易出現(xiàn)跟蹤漂移或誤跟蹤的問(wèn)題, 而本文算法則能通過(guò)位置預(yù)測(cè)和目標(biāo)匹配達(dá)到比較好的跟蹤效果.
圖6 部分?jǐn)?shù)據(jù)集視頻序列跟蹤結(jié)果
總體上來(lái)說(shuō), 本文算法將目標(biāo)的淺層顏色特征和深度特征融合之后, 在較為復(fù)雜的場(chǎng)景下能夠長(zhǎng)時(shí)間穩(wěn)定地對(duì)目標(biāo)行人進(jìn)行跟蹤, 并且具有出色的跟蹤準(zhǔn)確性和實(shí)時(shí)跟蹤速度, 在與目前一些主流單目標(biāo)跟蹤算法的比較中也表現(xiàn)出色, 體現(xiàn)出了特征融合的思想在目標(biāo)跟蹤領(lǐng)域的優(yōu)勢(shì). 實(shí)驗(yàn)過(guò)程中, 軌跡更新策略可有效解決短時(shí)遮擋無(wú)法通過(guò)特征匹配識(shí)別目標(biāo)的問(wèn)題,但在一些具有相似目標(biāo)、光影變化或長(zhǎng)時(shí)間遮擋的環(huán)境下, 偶爾會(huì)出現(xiàn)特征誤匹配或無(wú)法匹配的情況, 此時(shí)若長(zhǎng)時(shí)間使用預(yù)測(cè)位置進(jìn)行跟蹤, 則易導(dǎo)致跟蹤漂移.
通過(guò)研究相關(guān)濾波類與深度學(xué)習(xí)類跟蹤算法分別在精度與速度上的不足, 為協(xié)調(diào)跟蹤準(zhǔn)確性與快速性,同時(shí)充分利用目標(biāo)圖像的特征信息, 提出了一種將目標(biāo)淺層顏色特征與深度特征相融合的實(shí)時(shí)單目標(biāo)行人跟蹤算法. 利用目標(biāo)的四分顏色直方圖獲取淺層顏色特征, 并以此計(jì)算預(yù)測(cè)相似性進(jìn)行評(píng)估, 提高預(yù)測(cè)結(jié)果的可靠性. 使用不同深淺特征計(jì)算的距離度量融合加權(quán)作為代價(jià)矩陣進(jìn)行目標(biāo)匹配, 同時(shí)采用新的軌跡更新策略來(lái)進(jìn)行目標(biāo)預(yù)測(cè)和檢測(cè), 對(duì)系統(tǒng)跟蹤結(jié)果進(jìn)行微調(diào)和修正, 從而進(jìn)一步提升跟蹤的準(zhǔn)確性與實(shí)時(shí)性.
在OTB100數(shù)據(jù)集和LaSOT數(shù)據(jù)集的算法測(cè)試實(shí)驗(yàn)證明, 本文跟蹤算法可以有效地實(shí)現(xiàn)對(duì)單目標(biāo)行人長(zhǎng)期且穩(wěn)定的實(shí)時(shí)跟蹤. 預(yù)測(cè)結(jié)果的相似性匹配和后續(xù)策略可以解決一定程度的目標(biāo)遮擋問(wèn)題, 進(jìn)一步提高算法的魯棒性, 但在多相似目標(biāo)和長(zhǎng)時(shí)間遮擋等情況下, 本文算法還存在一定的不足. 后續(xù)在多特征融合以及策略協(xié)同等方面還可以進(jìn)一步學(xué)習(xí)與研究, 對(duì)長(zhǎng)時(shí)間遮擋等跟蹤問(wèn)題實(shí)現(xiàn)優(yōu)化.
增強(qiáng)出版
本文附有深淺特征融合的實(shí)時(shí)單目標(biāo)行人跟蹤演示視頻, 可點(diǎn)擊視頻鏈接或手機(jī)掃描二維碼觀看.