曾上游,賈小碩,李文惠
(廣西師范大學(xué)電子工程學(xué)院,廣西 桂林 541004)
視頻追蹤在計(jì)算機(jī)視覺領(lǐng)域是一個(gè)重要且有挑戰(zhàn)性的熱門課題。目前,隨著卷積神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用,視頻追蹤算法在準(zhǔn)確率與追蹤速度上比傳統(tǒng)算法都有提高,但在真實(shí)場景下,遮擋物、運(yùn)動(dòng)突變等情況會(huì)對(duì)目標(biāo)物體的定位帶來很大的干擾。
視頻追蹤中對(duì)目標(biāo)的連續(xù)定位屬于運(yùn)動(dòng)估計(jì)范疇,而運(yùn)動(dòng)估計(jì)算法的速度和準(zhǔn)確率又直接影響了視頻追蹤總體的優(yōu)劣性。傳統(tǒng)的運(yùn)動(dòng)估計(jì)算法以相關(guān)濾波器方法[1 - 4]為主,目前最新的濾波器追蹤算法有SRDCF(Spatially Regularized Discriminative Correlation Filters)[5]、CSRDCF(Channel and Spatial Reliability-Discriminative Correlation Filters)[3]和KCF(Kernel Correlation Filter)[6],但這些算法針對(duì)背景復(fù)雜、有運(yùn)動(dòng)突變的物體存在難以定位的問題。近年來,隨著卷積神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用,經(jīng)典的SiamFC(Fully Convolutional Siamese networks)[7]、SiamRPN(Siamese Region Proposal Network)[8]追蹤算法和最近提出的SiamRFC[9]算法在VOT 2015、VOT 2016和OTB100數(shù)據(jù)集上也都取得了很大的突破。SiamFC主要對(duì)圖像進(jìn)行相似度判定和目標(biāo)定位,但出現(xiàn)遮擋物干擾時(shí),目標(biāo)定位的準(zhǔn)確率偏低。SiamRPN把視頻追蹤看作連續(xù)的檢測過程,通過RPN網(wǎng)絡(luò)生成待定的目標(biāo)候選框,利用孿生網(wǎng)絡(luò)進(jìn)行相似度判定,達(dá)到精準(zhǔn)定位效果。SiamRPN的準(zhǔn)確率和速度都要高于SiamFC的,但訓(xùn)練過程較為復(fù)雜;SiamRFC則結(jié)合以上2個(gè)追蹤算法的優(yōu)勢,減少了訓(xùn)練參數(shù),提升了追蹤能力,但在遮擋物和運(yùn)動(dòng)突變的干擾下仍面臨很大的挑戰(zhàn)。
為解決此類問題,本文提出一個(gè)基于LSTM(Long Short-Term Memory)[10]的雙線程在線更新的追蹤算法TripLT。該算法由3部分組成:(1)基于Triplet Network[11]設(shè)計(jì)的相似度判定網(wǎng)絡(luò)Tripnet;(2)基于LSTM設(shè)計(jì)的運(yùn)動(dòng)預(yù)測網(wǎng)絡(luò)LTnet,可通過當(dāng)前幀的位置數(shù)據(jù)預(yù)測下一幀的位置數(shù)據(jù);(3)在線更新機(jī)制:利用相似度判定網(wǎng)絡(luò)由當(dāng)前幀的預(yù)測框和當(dāng)前的定位框可計(jì)算得到相似度值U。若U∈(0,0.8),運(yùn)動(dòng)預(yù)測網(wǎng)絡(luò)則進(jìn)行相關(guān)的在線更新學(xué)習(xí)。本文算法利用了LSTM的特性,不僅在運(yùn)動(dòng)估計(jì)上不受背景的干擾,避免了遮擋物的影響,也在更新機(jī)制上擺脫了運(yùn)動(dòng)突變帶來的干擾。
本文利用OTB100 Toolkit[12]的指標(biāo)來評(píng)價(jià)本文的網(wǎng)絡(luò)模型,并在VOT2015[13]、2016[14]、2017[15]數(shù)據(jù)集上和SiamFC、SiamRFC及文獻(xiàn)[16]中的算法進(jìn)行實(shí)驗(yàn)對(duì)比。實(shí)驗(yàn)結(jié)果表明,本文算法在追蹤上具有更好的追蹤效果。
為提升相似度判定的準(zhǔn)確率,本文利用Triplet Network的原理并結(jié)合預(yù)處理Robinson算子[17]設(shè)計(jì)了相似度判定網(wǎng)絡(luò)Tripnet模型,對(duì)圖像進(jìn)行相似度判定,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
Figure 1 Tripnet model
Tripnet模型的訓(xùn)練過程需要輸入3幅圖像img1、img2和img3,其中img1和img2為相似圖像,img2和img3為非相似圖像。Tnet是一個(gè)全卷積式的特征提取網(wǎng)絡(luò),網(wǎng)絡(luò)參數(shù)如表1所示。結(jié)合Robinson算子對(duì)輸入圖像進(jìn)行相似度判定的訓(xùn)
Table 1 Tnet network parameters
練時(shí),又引入相對(duì)特征loss函數(shù),計(jì)算方法如式(1)~式(4)所示:
cm=G1-G2
(1)
avg=∑mcm/m
(2)
dv=(∑mcm-avg)2/m
(3)
loss=G12-2*G23
(4)
圖像img1、img2和img3先經(jīng)過Robison預(yù)處理再通過Tnet得到對(duì)應(yīng)的3個(gè)高維特征G1、G2、G3。利用式(1)得到圖像對(duì)G1和G2的相對(duì)特征cm,其中m表示高維特征的通道數(shù)。再利用式(2)得到相對(duì)特征的均值avg,利用式(3)取得相對(duì)特征的離散值dv,也即G12。同理得到G2和G3的相對(duì)特征的離散值G23。G12是相似圖像對(duì)img1和img2之間的離散值,G23是非相似圖像對(duì)img2和img3之間的離散值。本文式(4)擴(kuò)大img2和img3之間的非相似性距離,縮小img1和img2之間的相似性距離,進(jìn)一步優(yōu)化Tnet網(wǎng)絡(luò)參數(shù)。
LSTM網(wǎng)絡(luò)的每個(gè)單元由輸入門、輸出門和遺忘門組成,如圖2所示。Rt表示t時(shí)刻的輸入,Ht表示t時(shí)刻的輸出,Ct表示t時(shí)刻的狀態(tài)。下面介紹各個(gè)門的算法。
ft=σ(Wf·[Ht-1,Rt]+bf)
(5)
it=σ(Wi·[Ht-1,Rt]+bi)
(6)
jt=tanh(Wc·[Ht-1,Rt]+bc)
(7)
Ct=ft*Ct-1±it*jt
(8)
ot=σ(Wo·[Ht-1,Rt]+bo)
(9)
Ht=ot*tanh(Ct)
(10)
上一時(shí)刻的輸出Ht-1與該時(shí)刻的輸入Rt會(huì)與權(quán)重Wf、Wi、Wj、Wo及偏置bf、bi、bj、bo通過激活函數(shù)σ或者tanh函數(shù)得到中間參數(shù)ft、it、jt、ot。然后ft、it、jt與上一時(shí)刻的狀態(tài)變量Ct-1通過式(8)得到該時(shí)刻的狀態(tài)變量Ct,Ct與ot通過式(10)得到本時(shí)刻的輸出變量Ht。
本文利用LSTM設(shè)計(jì)了運(yùn)動(dòng)預(yù)測網(wǎng)絡(luò)LTnet。Rt為t時(shí)刻目標(biāo)的位置G(x,y,w,h),輸入到LTnet中得到Ht,即預(yù)測的位置g(x,y,w,h)。LTnet整體運(yùn)算不受圖像背景的影響,避免了遮擋物的干擾。
Figure 2 Structure diagram of LSTM unit
普遍的追蹤網(wǎng)絡(luò)在運(yùn)動(dòng)目標(biāo)發(fā)生突變時(shí),追蹤過程會(huì)出現(xiàn)定位偏差。本文設(shè)計(jì)了一個(gè)在線更新的機(jī)制Online-LT,以處理運(yùn)動(dòng)突變的情況,具體的流程如圖3所示。
由當(dāng)前時(shí)刻的目標(biāo)位置G(x,y,w,h)獲得當(dāng)前目標(biāo)圖像Te0,通過LTnet預(yù)測獲得下一時(shí)刻目標(biāo)的預(yù)測位置g,同時(shí)獲得下一時(shí)刻目標(biāo)圖像Te1;Tripnet對(duì)Te0和Te1進(jìn)行相似度判定得到相似度值U。如果0.5
Figure 3 Flow chart of online update mechanism
TripLT是由Tripnet、LTnet和Online-LT組成的雙線程追蹤算法。TripLT利用Tripnet的優(yōu)點(diǎn)提高了定位的準(zhǔn)確率,利用LTnet的預(yù)測性減少了候選框的計(jì)算,并結(jié)合Online-LT的雙線程特點(diǎn),提高了運(yùn)行速度和容錯(cuò)率,如圖4所示。
這里本文先給定初始目標(biāo)的位置數(shù)據(jù)G0(x,y,w,h),然后利用已訓(xùn)練好的LTnet對(duì)下一幀的目標(biāo)位置進(jìn)行預(yù)測,并得到預(yù)測的目標(biāo)位置g0(x,y,w,h),當(dāng)讀取到下一幀圖像P1時(shí),用上一幀的g0在P1上截取相應(yīng)的目標(biāo)區(qū)域圖像Te1,并與上一幀的目標(biāo)區(qū)域圖像Te0在已訓(xùn)練好的Tripnet網(wǎng)絡(luò)上進(jìn)行相似度的判定,最終得到下一幀的目標(biāo)位置G1(x,y,w,h)。以上述方式不斷地對(duì)視頻中的目標(biāo)進(jìn)行預(yù)測,以達(dá)到追蹤效果。
本文的TripLT算法利用LSTM的時(shí)序預(yù)測性,在讀取當(dāng)前時(shí)刻圖像的同時(shí)獲得下一時(shí)刻目標(biāo)位置的預(yù)測數(shù)據(jù),并和孿生網(wǎng)絡(luò)相結(jié)合,大大縮短了運(yùn)動(dòng)估計(jì)時(shí)間,達(dá)到了實(shí)時(shí)追蹤效果。
Figure 4 Flowchart of TripLT algorithm
為了訓(xùn)練TripLT算法,本文將分別對(duì)Tripnet和LTnet各自進(jìn)行訓(xùn)練,然后利用OTB Tooklit進(jìn)行效果評(píng)定以及在VOT 2015~VOT 2017數(shù)據(jù)集中和已有算法進(jìn)行對(duì)比實(shí)驗(yàn)。本文也給出超參數(shù)N的定義:利用LSTM 對(duì)目標(biāo)的連續(xù)N個(gè)時(shí)刻的運(yùn)動(dòng)軌跡來預(yù)測N+1時(shí)刻的運(yùn)動(dòng)軌跡。
訓(xùn)練LTnet需要對(duì)VOT數(shù)據(jù)集中的位置數(shù)據(jù)做如下處理:將目標(biāo)位置數(shù)據(jù)整合在一起,然后根據(jù)已追蹤的前N個(gè)時(shí)刻目標(biāo)位置來預(yù)測下一時(shí)刻目標(biāo)位置的原則處理數(shù)據(jù)集,最后將數(shù)據(jù)以7:3的比例分成訓(xùn)練集和評(píng)價(jià)集。并根據(jù)式(11)~式(14)將目標(biāo)位置的4個(gè)點(diǎn)位數(shù)據(jù)Gt{(xi,yi),i∈{1,2,3,4}}轉(zhuǎn)成左下角點(diǎn)、寬和長的數(shù)據(jù)形式gt(x,y,w,h)。
x=min(Gtxi)
(11)
y=min(Gtyi)
(12)
w=max(Gtxi)-x
(13)
h=max(Gtyi)-y
(14)
為了不失一般性,本文主要選用CACD2000[18]和VGG_FACE2[19]訓(xùn)練Tripnet的數(shù)據(jù)集。
LTnet在AMD Ryzen3平臺(tái)下搭建而成。模型結(jié)構(gòu)及參數(shù)的設(shè)置為:Batch size為10;LSTM單元核為20個(gè);循環(huán)次數(shù)為200次;選用Adam Optimizer作為優(yōu)化器;使用式(15)計(jì)算網(wǎng)絡(luò)的loss。
(15)
其中,ypij,ytij表示LSTM的預(yù)測值和真實(shí)值。
下面在數(shù)據(jù)集OTB100上測試超參數(shù)N和準(zhǔn)確率的關(guān)系,結(jié)果如圖5所示。
Figure 5 Accuracy vs. N
從圖5可以看出,當(dāng)N=1時(shí),準(zhǔn)確率達(dá)到最高。結(jié)合參數(shù)N的意義和實(shí)際環(huán)境中的追蹤效果得出,N=1更適用于本文的追蹤。
TripLT和SiamFC、SiamRFC和文獻(xiàn)[16]中的算法在VOT2015~VOT 2017上的對(duì)比實(shí)驗(yàn)結(jié)果分別如表2~表4所示。并利用在OTB100 Toolkit對(duì)CFNet[20]、SiamFC、SRDCF、CSRDCF、KCF進(jìn)行準(zhǔn)確率的對(duì)比,結(jié)果如圖6所示。
Table 2 Performance comparison of three tracking algorithms on VOT2015
Figure 6 Accuracy trends of 11 attribute datasets of OTB100
Table 3 Performance comparison of four tracking algorithms under VOT2016
Table 4 Performance comparison of three tracking algorithms under VOT2017
從表2~表4可以看出,在準(zhǔn)確率上TripLT取得了較好的效果;與SiamFC、SiamRFC和文獻(xiàn)[16]的算法相比,TripLT解決了單線程的時(shí)間計(jì)算問題,追蹤速度也取得了較好的效果。TripLT中加入了在線更新的機(jī)制,以針對(duì)運(yùn)動(dòng)突變的現(xiàn)象,從圖6c、圖6e和圖6f看出,TripLT取得很好的結(jié)果。
由圖7可以看出,和標(biāo)簽對(duì)(白色虛線框)相比,高速運(yùn)動(dòng)的汽車在遇到遮擋物時(shí),本文算法仍能高效預(yù)測出目標(biāo)位置。白色虛線框?yàn)闃?biāo)簽位置,白色實(shí)線框?yàn)楸疚乃惴ǖ淖粉櫸恢谩?/p>
Figure 7 TripLT video tracking effect
在視頻追蹤過程中,為了避免出現(xiàn)因遮擋物或運(yùn)動(dòng)突變情況的干擾而導(dǎo)致無法定位目標(biāo)的問題,本文設(shè)計(jì)了雙線程LSTM在線更新的視頻追蹤算法TripLT。在結(jié)合LSTM的可預(yù)測特性和Triplet Network的高魯棒性的同時(shí),引入雙線程在線更新機(jī)制,一方面利用在線更新操作排除物體運(yùn)動(dòng)突變現(xiàn)象的干擾,另一方面利用雙線程的優(yōu)點(diǎn)將更新時(shí)間與追蹤時(shí)間剝離,進(jìn)而不干擾追蹤。測試結(jié)果表明,與對(duì)比算法相比,本文算法在保證有效的追蹤速度的同時(shí),準(zhǔn)確率也得到一定的提升。