吳 剛
(金陵科技學(xué)院計算機工程學(xué)院 江蘇 南京 211169)(南京智能交通創(chuàng)新中心 江蘇 南京 211169)
在現(xiàn)代城市的交通分析與交通需求預(yù)測方面,對交通視頻大數(shù)據(jù)進行智能分析,從視頻中自動獲取車輛信息并形成城市路網(wǎng)的車輛通行數(shù)據(jù),對于交通決策與管理部門的關(guān)鍵數(shù)據(jù)統(tǒng)計具有重要意義。穩(wěn)健、可靠、實時地跟蹤預(yù)定車輛有助于后續(xù)識別與解析?;谔囟繕?biāo)的跟蹤是計算機科學(xué)與現(xiàn)代智能交通領(lǐng)域共同研究的一個熱點課題。例如,在復(fù)雜城市路網(wǎng)環(huán)境中車輛被遮擋是跟蹤過程中比較常見的問題,跟蹤算法如果沒有抗遮擋處理機制,一旦待跟蹤目標(biāo)被局部或全局遮擋,跟蹤器將學(xué)習(xí)到大量干擾信息,很可能出現(xiàn)非預(yù)期結(jié)果,最終導(dǎo)致跟蹤漂移和失敗[1]。為解決目標(biāo)被遮擋情況下的跟蹤,文獻[2]采用多實例學(xué)習(xí)的方法提高遮擋情況下目標(biāo)跟蹤的穩(wěn)健性,由嵌入的在線檢測器輔助進行目標(biāo)跟蹤,將多個檢測樣本進行分組以避免誤檢率,然而檢測樣本的產(chǎn)生均為在線生成,因而多實例學(xué)習(xí)的跟蹤方法極易陷入自學(xué)習(xí)問題。文獻[3]提出一種改進的KCF跟蹤方法,并在目標(biāo)尺度變化情況下取得了一定的跟蹤效果,但同樣不能適用于目標(biāo)被局部遮擋情況下的跟蹤過程。目標(biāo)跟蹤過程中,目標(biāo)狀態(tài)在前后幾幀之間存在一定關(guān)聯(lián)性,非常類同于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)在處理數(shù)據(jù)前后關(guān)聯(lián)性方面的機制[4]。本文研究嵌入RNN算法對跟蹤模型的改進方法,以提高跟蹤算法的穩(wěn)健性與抗遮擋能力。RNN主要用于處理序列數(shù)據(jù),不同于前向反饋神經(jīng)網(wǎng)絡(luò),RNN通過引入定向循環(huán)以應(yīng)對輸入之間存在前后關(guān)聯(lián)性的復(fù)雜問題。當(dāng)一個序列當(dāng)前的輸出與以往的輸出之間存在一定關(guān)聯(lián)時,RNN會對以往的信息進行記憶并用于計算當(dāng)前的輸出。RNN隱藏層之間的節(jié)點為有連接,且RNN隱藏層的輸入不僅包括輸入層的輸出,還包括上一時刻隱藏層的輸出。LSTM是目前使用最廣泛的一種RNN模型,能夠更好地對長短時依賴進行表達,在詞向量表達、語句合法性檢查、詞性標(biāo)注等方面有成功的應(yīng)用,然而并非所有RNN模型都適用于目標(biāo)跟蹤。近年來,研究者們已提出多種RNN方法改進傳統(tǒng)RNN模型的缺點[5],例如:簡單循環(huán)神經(jīng)網(wǎng)絡(luò)(Simple RNN,S-RNN)、雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional RNN,B-RNN)、門控循環(huán)單元循環(huán)神經(jīng)網(wǎng)絡(luò)(Gated Recurrent Unit RNN,GRU-RNN)、長短時記憶模型(Long Short-Term Memory,LSTM)[6]與時鐘循環(huán)神經(jīng)網(wǎng)絡(luò)(Clockwork RNN,CW-RNN)[7]。
CW-RNN是一種采用時鐘頻率進行驅(qū)動的改進型RNN模型, CW-RNN包括輸入層、隱藏層和輸出層。CW-RNN將隱藏層分為多組,每組按照規(guī)定的時鐘頻率對輸入信號進行處理。對于傳統(tǒng)RNN模型,輸入層、隱含層和輸出層的狀態(tài)量之間存在以下關(guān)系[5]:
st=fs(Wst-1+Winψt)
(1)
ot=fo(Woutst)
(2)
式中:W為隱藏層神經(jīng)元的自連接矩陣;Win為輸入層至隱藏層的連接權(quán)值矩陣;Wout為隱藏層至輸出層的連接權(quán)值矩陣;ψt是第t步的輸入;st-1為第t-1步隱藏層的輸出;st為第t步隱藏層的輸出;ot為第t步的輸出;fs為隱藏層的激活函數(shù);fo為輸出層的激活函數(shù)。理論上RNN可以處理任意長度的序列。實際應(yīng)用中,為降低算法復(fù)雜度通常設(shè)定st只包含前面若干步而非所有步的隱藏層狀態(tài)。相對傳統(tǒng)RNN模型,CW-RNN的優(yōu)勢在于[7]:1) 為降低算法復(fù)雜度、提升網(wǎng)絡(luò)性能并加速訓(xùn)練過程,CW-RNN參數(shù)數(shù)目可以適當(dāng)減少;2) 為解決長時依賴問題,CW-RNN的隱藏層在不同的時鐘頻率下工作,CW-RNN的隱藏層組在每一步不會同時工作,從而加快了網(wǎng)絡(luò)的訓(xùn)練過程。CW-RNN隱藏層中的神經(jīng)元被劃分為g個組,每一組中含有k個神經(jīng)元,為每個組分配一個時鐘周期Ti∈{Ti,T2,…,Tg},組中的所有神經(jīng)元均為全連接,組j到組i的循環(huán)連接需滿足Tj>Ti。CW-RNN的誤差后向傳播與傳統(tǒng)RNN相似,誤差在執(zhí)行狀態(tài)的隱藏層組進行傳播。CW-RNN與傳統(tǒng)RNN的區(qū)別在于:在第t步時,只有滿足(tmodTi)=0的隱藏層組才會執(zhí)行,每一隱藏層組的周期{Ti,T2,…,Tg}可任意選定。W與Win被劃分為g個塊:W=[w1,w2,…,wg]T、Win=[win1,win2,…,wing]T,式中:W為上三角矩陣。圖1為t=6時,含5個隱藏層組的CW-RNN中輸入輸出關(guān)系的計算示意圖。
圖1 CW-RNN中輸入輸出關(guān)系圖
文獻[8]采用RNN、LSTM和CW-RNN三種RNN模型對仿真數(shù)據(jù)進行預(yù)測,三個模型的輸入、隱藏、輸出層的節(jié)點數(shù)均相同,且均僅有一個隱藏層。設(shè)定權(quán)值的均值為0,采用標(biāo)準(zhǔn)差0.1的高斯分布進行初始化,隱藏層的初始狀態(tài)都為0,三個模型均使用隨機梯度下降算法[8]進行數(shù)據(jù)的學(xué)習(xí)與優(yōu)化處理。三個相關(guān)RNN模型均對仿真測試數(shù)據(jù)的前半部分?jǐn)?shù)據(jù)進行學(xué)習(xí)、預(yù)測后半部分?jǐn)?shù)據(jù)。實驗結(jié)果表明:RNN模型類似于求平均值,LSTM模型的預(yù)測精度不如CW-RNN模型。因此本文采用CW-RNN模型對圖像特征提取后的數(shù)據(jù)進行處理,并構(gòu)造置信圖以預(yù)測目標(biāo)是否存在被遮擋現(xiàn)象。
隨著近年來機器學(xué)習(xí)領(lǐng)域中循環(huán)神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)預(yù)測方面的成功應(yīng)用,借助循環(huán)神經(jīng)網(wǎng)絡(luò)以增強相關(guān)濾波器在目標(biāo)跟蹤領(lǐng)域的跟蹤性能,本文提出一種新的判別式目標(biāo)跟蹤算法:引入時鐘循環(huán)神經(jīng)網(wǎng)絡(luò)的核相關(guān)濾波跟蹤(CW-RNN kernelized correlation filter tracking,CKT)算法,融合時鐘循環(huán)神經(jīng)網(wǎng)絡(luò)與核相關(guān)濾波器進行運動目標(biāo)跟蹤。本文主要貢獻在于:(1) 提出一種采用雙方向CW-RNN構(gòu)造置信圖的方法鑒別背景或目標(biāo),檢測目標(biāo)在復(fù)雜背景環(huán)境下是否存在被遮擋;(2) 提出一種有效封閉形式的跟蹤解決方案,融合時鐘循環(huán)神經(jīng)網(wǎng)絡(luò)與核相關(guān)濾波器各自的優(yōu)勢,采用結(jié)合新、舊相關(guān)濾波器的方法對核相關(guān)濾波器(kernelized correlation filter, KCF)進行狀態(tài)更新,并通過CW-RNN產(chǎn)生的置信圖優(yōu)化KCF的學(xué)習(xí)過程。
圖2為本文CKT算法的組成要素與架構(gòu)。首先利用輸入圖像訓(xùn)練雙方向CW-RNN以提取特征,借助置信圖檢測前景目標(biāo),在置信圖與遮擋處理的基礎(chǔ)上進行KCF的訓(xùn)練與更新,然后由CW-RNN提取的特征與KCF共同獲取響應(yīng)圖,最終輸出目標(biāo)跟蹤的結(jié)果。
圖2 CKT算法的組成要素與架構(gòu)
相關(guān)濾波器采用回歸和循環(huán)矩陣進行核化處理[9]。將相關(guān)濾波器視為在線分類器對待,在訓(xùn)練集中獲取輸入xi及其類別屬性yi之間的關(guān)系。假設(shè)關(guān)系為f(xi) =yi,訓(xùn)練問題可以視作為最小化目標(biāo)函數(shù)ζ(z)[10]的過程:
(3)
式中:λ為防止過擬合的正則化參數(shù);L(·)為損失函數(shù);參數(shù)z計算如下:
z=(XTX+λI)-1XTy
(4)
式中:矩陣X的行是訓(xùn)練樣本;y是相應(yīng)類別屬性的向量;I為單位矩陣。在頻域進行計算,XT由X的厄密特轉(zhuǎn)置矩陣替換,即XH=(X*)T。在核相關(guān)濾波器中[11],通過引入核函數(shù)提升性能,將輸入數(shù)據(jù)x映射到非線性特征空間φ(x),則f(xi)可表示為:
(5)
引入核函數(shù)后,式(3)的求解關(guān)鍵在于α的計算[12]:
α=(K+λI)-1y
(6)
式中:Kij=k(xi,xj),為避免通過計算逆矩陣求取α,引入以下循環(huán)矩陣X[11]:
(7)
式中:F是離散傅里葉變換矩陣。將式(4)封閉形式z的計算轉(zhuǎn)化為:
(8)
參照文獻[11]對候選目標(biāo)區(qū)域的處理方法,將前一幀目標(biāo)所在位置3倍范圍內(nèi)的圖像區(qū)域選定為候選目標(biāo)區(qū)域。如圖2所示,將候選目標(biāo)區(qū)域分隔為m×n的空間網(wǎng)格子區(qū)域,每一候選目標(biāo)區(qū)域產(chǎn)生d個信道的HOG特征,由此產(chǎn)生特征集合U∈Rh×w×d,h和w分別為空間網(wǎng)格的高和寬。每一個空間網(wǎng)格子區(qū)域由一個頂點表示,則候選目標(biāo)區(qū)域表示為圖G={V,ε},V={Vij}{i=1,2,…,h,j=1,2,…,w}表征空間坐標(biāo)索引的頂點集,ε代表空間相鄰頂點之間邊的集合。通過遍歷G設(shè)定CW-RNN的輸入狀態(tài)。為緩解局部遮擋或跟蹤過程中目標(biāo)表觀變化的不利影響,采用自上而下、自下而上2個方向遍歷G,即采用CW-RNN分別從上方和下方遍歷候選目標(biāo)區(qū)域,由雙方向的CW-RNN構(gòu)造置信圖[7],從而表征空間網(wǎng)格子區(qū)域成為背景或目標(biāo)的概率。將置信圖交叉熵?fù)p失函數(shù)E表示如下[7]:
(9)
式中:y∈C={0,1}代表空間網(wǎng)格子區(qū)域作為背景或目標(biāo)區(qū)域;Pr(·)為置信度的輸出概率。采用置信圖引導(dǎo)CW-RNN模型的更新及輔助調(diào)整后續(xù)KCF的學(xué)習(xí)過程。KCF學(xué)習(xí)一組相關(guān)濾波器{fk}(k=1,2,…,d),每一濾波器對應(yīng)特征集合U={u1,u2,…,ud}中的一個HOG特征。將KCF的學(xué)習(xí)過程表示為以下最小化損失函數(shù):
(10)
式中:符號*為空間卷積;符號☉為像素方向的乘積運算,由fk與k個信道特征進行卷積運算。通過來自CW-RNN的置信圖,由權(quán)值η調(diào)整KCF模型的訓(xùn)練與更新過程。綜合目標(biāo)特征提取、遮擋處理、CW-RNN的訓(xùn)練與更新、KCF的訓(xùn)練與更新過程,CKT算法的整體算法復(fù)雜度為O((h×w)3+d×(h×w)2)。
1) 目標(biāo)的特征提?。篊KT算法使用HOG特征用于特征提取以進行跟蹤任務(wù)。采集HOG特征并抽取一系列空間網(wǎng)格的4×4像素進行量化處理。
2) 遮擋處理:定義置信率為目標(biāo)區(qū)域內(nèi)概率值的累積。如果當(dāng)前幀的置信率τ低于先前多幀τ的平均值,則認(rèn)為當(dāng)前幀中目標(biāo)被遮擋。跟蹤過程中,置信率τ的閾值設(shè)置為經(jīng)驗值0.8。采用來自CW-RNN的置信圖,用于預(yù)測遮擋是否存在。當(dāng)目標(biāo)被預(yù)測為高概率遮擋時,KCF模型暫時不被更新。
3) CW-RNN的訓(xùn)練與更新:在目標(biāo)跟蹤過程中,由于預(yù)先可訓(xùn)練樣本的數(shù)目有限,采用0.02的學(xué)習(xí)率與初始的5幀訓(xùn)練CW-RNN。后續(xù)幀中,CW-RNN以每間隔5幀的頻度進行1次更新;經(jīng)過初始5幀后,為避免CW-RNN出現(xiàn)過擬合現(xiàn)象,使用較小的學(xué)習(xí)率0.001對CW-RNN進行微調(diào)。
4) KCF的訓(xùn)練與更新:第1幀初始化KCF,后續(xù)過程則結(jié)合新、舊濾波方法對KCF進行狀態(tài)更新。
實驗硬件平臺:主機CPU Intel xeon E5V4-3.5 GHz,32 GB的RDIMM存儲,NVIDIA GPU K80顯卡。將CKT算法與3種相關(guān)的CF跟蹤算法在VOT2016標(biāo)準(zhǔn)數(shù)據(jù)集[12]上統(tǒng)一采集HOG圖像特征進行跟蹤對比測試。圖3-圖5為采用基于核相關(guān)濾波的sKCF[13]、GGTV2[14]、SSKCF[15]和CKT算法對標(biāo)準(zhǔn)視頻測試的圖像序列,待跟蹤目標(biāo)的位置分別采用六邊形框、橢圓形框、菱形框和矩形框標(biāo)出。圖3展示的視頻為采用固定攝像機對運動目標(biāo)拍攝;圖4和圖5展示的視頻為采用移動攝像機對運動目標(biāo)拍攝。圖3跟蹤難點為:第24幀開始后標(biāo)識牌對運動目標(biāo)的局部遮擋、目標(biāo)行駛方向的變化。圖4的跟蹤難點在于:道路兩邊的燈光、汽車尾燈造成的路面燈光反射對跟蹤的不利影響。圖5的跟蹤難點在于:被跟蹤的車輛經(jīng)過路面陰影區(qū)域與快速通過彎道的過程。這些跟蹤過程中的不利因素極易導(dǎo)致目標(biāo)跟丟。
圖3 4種算法在dtneu_schnee視頻上的跟蹤圖像序列
圖4 4種算法在car2視頻上的跟蹤圖像序列
圖5 4種算法在racing視頻上的跟蹤圖像序列
圖3中待跟蹤目標(biāo)為(a)中的車輛,初始跟蹤窗口30×22像素。從第24幀開始,目標(biāo)受到標(biāo)識牌的局部遮擋。從圖3(a)-圖3(d)中可以看出,sKCF算法從第148幀開始已經(jīng)完全失去對目標(biāo)車輛的跟蹤能力;圖3(b)說明SSKCF算法出現(xiàn)短暫的跟丟、跟蹤在目標(biāo)附近的車輛;在第3~178幀中GGTV2算法能夠跟蹤目標(biāo),而圖3(d)第201幀中GGTV2算法則跟蹤在目標(biāo)車輛的后部;最為穩(wěn)健的CKT算法從初始第3幀至第201幀始終成功跟蹤目標(biāo)。
由圖4夜間目標(biāo)跟蹤過程清晰可見:至跟蹤后期第393幀,CKT算法成功地跟蹤目標(biāo)車輛,而其余3種算法均不同程度地出現(xiàn)跟丟現(xiàn)象。由圖5彎道中運動目標(biāo)跟蹤過程可見:從跟蹤起始到第156幀,僅CKT算法始終成功地跟蹤目標(biāo)車輛,其他3種算法均出現(xiàn)一定程度的跟丟。針對VOT數(shù)據(jù)集中不同場景下的運動目標(biāo)做進一步跟蹤測試,跟蹤場景涉及攝像機運動、光照強度變化、目標(biāo)運動方向變化、遮擋和目標(biāo)尺度變化等復(fù)雜情況。橫向?qū)Ρ饶壳爸髁鞲櫡椒ú⒘炕櫧Y(jié)果,跟蹤實驗分為baseline實驗和unsupervised實驗。baseline實驗為傳統(tǒng)的采用跟丟復(fù)位的有監(jiān)督跟蹤實驗;而unsupervised無監(jiān)督跟蹤實驗則僅采用第1幀的真實數(shù)據(jù)初始化算法,后續(xù)跟蹤過程利用跟蹤算法自行跟蹤目標(biāo)。這兩類實驗均涉及包括bag-wiper在內(nèi)的60個測試序列。在圖像跟蹤的若干評價標(biāo)準(zhǔn)中,跟蹤精度(Accuracy)和魯棒性(Robustness)是相關(guān)性最弱的兩個指標(biāo),跟蹤精度是跟蹤成功狀態(tài)下目標(biāo)的預(yù)測位置與真實位置的平均重疊率?;诟櫵惴ù_定的目標(biāo)邊界框BT和實際目標(biāo)位置的邊界框BG共同計算目標(biāo)被成功跟蹤的評分s[16]:
(11)
由跟蹤精度與魯棒性構(gòu)成AR圖,依據(jù)所有測試序列的跟蹤結(jié)果,不同的跟蹤方法將被序列規(guī)范化排序,由此將AR圖轉(zhuǎn)化為更具標(biāo)識度的AR-rank圖[16]。在AR-rank圖中,具備較小精度等級和魯棒性等級的跟蹤方法具有相對較優(yōu)的跟蹤性能。19種跟蹤算法包括目前主流的TCNN[12]、DNT和 MDNet_N等算法,以及作為參照的IVT和MIL算法。19種跟蹤算法中,TCNN 、MLDF和DNT 屬于CNN跟蹤;sKCF 、GGTV2、SSKCF和本文CKT算法屬于核相關(guān)濾波跟蹤;CCOT和STAPLEp屬于采用不同特征的相關(guān)濾波跟蹤;EBT屬于支持向量機跟蹤;IVT、MIL、 SRBT和CDTT屬于表面模型跟蹤;FoT屬于團塊跟蹤。圖6為19種跟蹤算法的AR和AR-rank圖。由圖6(b)可見:作為參照的IVT和MIL算法的跟蹤精度和魯棒性排名靠后,位于左下方位置;本文CKT算法的跟蹤精度在19種方法中排名第1,魯棒性排名第4;由圖6(d)可見:在魯棒性等同的條件下,CKT算法的跟蹤精度在19種方法中排名第1。統(tǒng)計19種跟蹤算法的AR-rank綜合評價數(shù)據(jù),CKT算法A-rank為1.73,列19種跟蹤方法的第1位;CKT算法R-rank為2.80,列19種跟蹤方法的第4位。
圖6 19種跟蹤算法的AR圖和AR-rank圖
由于AR圖與AR-rank圖中的數(shù)據(jù)不能直接反映跟蹤方法的優(yōu)劣,從VOT2015開始引入平均期望重疊率(Expected average overlap ,EAO),以該項指標(biāo)綜合表征跟蹤算法在跟蹤方面的整體性能。EAO也即非復(fù)位情況下的期望重疊率。不同于僅統(tǒng)計跟蹤成功狀態(tài)下的跟蹤精度,EAO在整段跟蹤過程中始終不對跟蹤器進行復(fù)位,統(tǒng)計19種跟蹤算法的EAO數(shù)據(jù)如圖7所示。
圖7 19種跟蹤算法的EAO數(shù)據(jù)圖
采用VOT實驗的等價濾波器運算(Equivalent filter operations,EFO)統(tǒng)一度量不同跟蹤方法的執(zhí)行速度。EFO評價標(biāo)準(zhǔn)[12]使用600×600像素圖像執(zhí)行30×30窗口濾波,然后使用跟蹤算法處理每幀圖像,將圖像的評價時間除以濾波操作時間,得到歸一化的性能參數(shù)EFO。以VOT工具箱[12]中的NCC跟蹤器作為衡量跟蹤速度的基準(zhǔn),在臺式計算機上NCC跟蹤器執(zhí)行速度達到140幀/秒、等價于200個EFO單位。將19種跟蹤算法的EAO和EFO數(shù)據(jù)匯總于表1。由表1可以看出:綜合baseline和unsupervised兩項實驗的結(jié)果,本文CKT算法EAO綜合評價為0.443 9,列19種跟蹤方法的第1位,顯著優(yōu)于同為相關(guān)濾波方法的GGTV2、sKCF、CCOT、STAPLEp和SSKCF;CKT算法的EFO為28.472,列第5位。
表1 19種跟蹤算法的EAO和EFO數(shù)據(jù)
針對交通視頻大數(shù)據(jù)的車輛跟蹤涉及的難點問題,為提高復(fù)雜城市路網(wǎng)環(huán)境下的車輛跟蹤精度與魯棒性,通過在核相關(guān)濾波中引入時鐘循環(huán)神經(jīng)網(wǎng)絡(luò),本文提出一種新的判別式目標(biāo)跟蹤CKT算法,采用雙空間CW-RNN構(gòu)造置信圖的方法鑒別目標(biāo)是否存在被遮擋,有效抑制復(fù)雜背景對穩(wěn)健跟蹤的負(fù)面影響。利用置信圖引導(dǎo)時鐘循環(huán)神經(jīng)網(wǎng)絡(luò)的狀態(tài)更新及優(yōu)化調(diào)整后續(xù)核相關(guān)濾波器的學(xué)習(xí)過程。經(jīng)過針對VOT的60組標(biāo)準(zhǔn)測試序列的橫向?qū)Ρ葘嶒灡砻鳎荷婕皵z像機運動、光照強度變化、目標(biāo)運動方向變化、遮擋和目標(biāo)尺度變化在內(nèi)的復(fù)雜跟蹤情況,對比目前主流目標(biāo)跟蹤方法,CKT算法的跟蹤數(shù)據(jù)A-rank達到1.73,R-rank為2.80,EAO綜合評價高達0.443 9,EFO為28.472,分別列19種跟蹤方法的第1位、第4位、第1位、第5位。CKT算法的跟蹤性能優(yōu)于同為相關(guān)濾波方法的GGTV2、sKCF、CCOT、STAPLEp和SSKCF算法。CKT算法改善了傳統(tǒng)核相關(guān)濾波器在跟蹤過程中存在的不適應(yīng)光照變化、不抗遮擋等弱點問題,可以適應(yīng)跟蹤過程中的目標(biāo)實時表觀區(qū)域變化,有效降低目標(biāo)跟蹤算法的誤差累積。采用雙空間CW-RNN構(gòu)造置信圖引導(dǎo)時鐘循環(huán)神經(jīng)網(wǎng)絡(luò)的狀態(tài)更新,對核相關(guān)濾波的跟蹤性能提升效果顯著。未來將嘗試對背景區(qū)域圖像構(gòu)建有效的背景模型,以進一步提高算法的在線跟蹤性能。