石昌森,侯 巍,楊琳琳,楊詩博
1(河南大學(xué) 人工智能學(xué)院,開封 475001)
2(河南大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,開封 475001)
視頻目標(biāo)跟蹤是指對(duì)圖像序列中機(jī)動(dòng)目標(biāo)進(jìn)行檢測、提取、識(shí)別和跟蹤,以獲得機(jī)動(dòng)目標(biāo)位置、速度、加速度、運(yùn)動(dòng)軌跡等運(yùn)動(dòng)參數(shù),從而對(duì)機(jī)動(dòng)目標(biāo)進(jìn)行進(jìn)一步處理與分析的過程[1].隨著計(jì)算機(jī)運(yùn)算能力和存儲(chǔ)能力的迅速發(fā)展及大數(shù)據(jù)分析需求的逐漸增大,視頻跟蹤技術(shù)在交通控制[2]、視頻檢索[3]、人機(jī)交互[4]等方面有了廣泛應(yīng)用.早期的目標(biāo)跟蹤算法主要根據(jù)目標(biāo)建?;?qū)δ繕?biāo)特征進(jìn)行跟蹤,主要的方法有基于目標(biāo)模型建模方法與基于搜索的方法[1].特征匹配法是常用的基于目標(biāo)模型建模方法,首先提取目標(biāo)特征,然后在后續(xù)幀中找到最相似的特征進(jìn)行目標(biāo)定位;均值漂移(mean-shift)算法[5]是常用的基于搜索的方法,該方法利用圖像特征構(gòu)造概率密度函數(shù),由梯度方向搜索局部最大值作為目標(biāo)位置.由于在新近的較有挑戰(zhàn)的數(shù)據(jù)集例如VOT2018 或者大規(guī)模數(shù)據(jù)集TrackingNet上,傳統(tǒng)跟蹤算法達(dá)不到實(shí)際要求,而深度學(xué)習(xí)因?yàn)槠鋸?qiáng)大的特征提取能力以及端對(duì)端的訓(xùn)練模式慢慢受到了廣泛關(guān)注.近年來越來越多基于深度學(xué)習(xí)的跟蹤方法被相關(guān)學(xué)者提出,Chao 等[6]將深度學(xué)習(xí)網(wǎng)絡(luò)及自適用相關(guān)濾波器結(jié)合,提出了ECO(efficient convolution operators for tracking)算法,該算法在速度和精度上都有較好的表現(xiàn).Wang 等[7]使用Transformer[8]深度學(xué)習(xí)跟蹤器將不同時(shí)刻視頻幀橋連起來,傳遞了豐富的時(shí)序信息,該算法在最新數(shù)據(jù)集上有很高的速度與精度.
在對(duì)視頻中目標(biāo)跟蹤過程中不可避免會(huì)存在目標(biāo)快速移動(dòng)問題,即對(duì)視頻序列中機(jī)動(dòng)目標(biāo)進(jìn)行跟蹤時(shí),如果跟蹤目標(biāo)在前后兩視頻幀間位移超過20 個(gè)像素點(diǎn),則被認(rèn)為是快速移動(dòng)[9].此時(shí)目標(biāo)可能超出了搜索范圍或移動(dòng)到了搜索范圍邊界,導(dǎo)致丟失目標(biāo)的情況,進(jìn)而跟蹤失敗.目標(biāo)位置預(yù)測是解決機(jī)動(dòng)目標(biāo)快速移動(dòng)問題的首要難點(diǎn),雖然卡爾曼濾波算法可以快速預(yù)測目標(biāo)位置,但是不能很好地解決機(jī)動(dòng)目標(biāo)運(yùn)動(dòng)過程中存在的非線性情況,而粒子濾波算法具有解決非線性問題的特性,對(duì)非線性運(yùn)動(dòng)過程有較好的預(yù)測效果.Nummiaro 等[10]提出了基于顏色特征的粒子濾波跟蹤(particle filter,PF)算法.PF 首先在目標(biāo)區(qū)域提取顏色特征,然后散播粒子,計(jì)算每個(gè)粒子的權(quán)重,最后根據(jù)粒子位置及權(quán)重預(yù)測目標(biāo)位置.PF 提取目標(biāo)區(qū)域顏色特征,得到豐富的特征信息,可以有效地對(duì)非剛性和快速移動(dòng)目標(biāo)進(jìn)行跟蹤,而且在遮擋以及復(fù)雜環(huán)境情況下也有較好的魯棒性.然后對(duì)目標(biāo)位置進(jìn)行修正,為了正確跟蹤目標(biāo),修正算法需要有較高的速率及準(zhǔn)確率,深度學(xué)習(xí)方法準(zhǔn)確率高但運(yùn)行時(shí)間過長.Bolme 等[11]設(shè)計(jì)了MOSSE(minimum output of squared error )濾波器,將計(jì)算由時(shí)域轉(zhuǎn)換到頻域,提供了運(yùn)算速度,對(duì)信號(hào)相關(guān)性的求解保證了算法精度.MOSSE 雖然運(yùn)算速度快,但不能直接對(duì)快速移動(dòng)的機(jī)動(dòng)目標(biāo)進(jìn)行跟蹤.Henriques 等[12]在MOSSE 基礎(chǔ)上引入循環(huán)矩陣及核函數(shù),提出CSK(circulant structure of tracking-bydetection with kernels)算法.精度上相對(duì)于MOSSE 有了很大提升,但CSK 特征選取比較單一,而且對(duì)快速移動(dòng)情況沒有處理,很難直接跟蹤快速移動(dòng)的機(jī)動(dòng)目標(biāo).Henriques 等[13]在CSK 的基礎(chǔ)上改變灰度特征提取為FHOG 特征提取,同時(shí)加入核方法,提出了KCF(kernel correlation filter)及DCF(dual correlation filter)算法,KCF 對(duì)應(yīng)非線性核,DCF 對(duì)應(yīng)線性核.Li 等[14]在KCF 的基礎(chǔ)上將單一特征選擇擴(kuò)展為多個(gè)特征選擇,并添加了尺度池,提出了SAMF(scale adaptive with multiple features tracker)算法.SAMF 算法雖然精度相對(duì)于KCF 有些許提升但是速度比較慢,所以這里選擇KCF 作為修正算法.最后針對(duì)機(jī)動(dòng)目標(biāo)在視頻中由于快速移動(dòng)問題導(dǎo)致的形變、模糊問題,融入零截距以及平均峰值相關(guān)能量.實(shí)驗(yàn)結(jié)果表明,新方法在公開數(shù)據(jù)集OTB100 與UA-DETRAC 上都有較高的識(shí)別率.
式中,k表示一個(gè)大于1 的常數(shù),M00/256表示搜索框中屬于目標(biāo)的像素點(diǎn)個(gè)數(shù)[25],目標(biāo)框的長度為 ηs( η為目標(biāo)框長寬比例系數(shù)).
圖1 KCF-PF 流程圖
由于機(jī)動(dòng)目標(biāo)在快速運(yùn)動(dòng)過程中很容易出現(xiàn)模糊情況,如果對(duì)此不進(jìn)行處理,會(huì)在每一幀更新的模板中加入背景擾動(dòng),最終影響跟蹤精度.針對(duì)該問題,首先利用APCE對(duì)目標(biāo)狀態(tài)估計(jì):
其中,Fmax與Fmin表示響應(yīng)矩陣中最大、最小值.
然后APCE與預(yù)先設(shè)定閾值Thr1比較,當(dāng)APCE大于Thr1時(shí)正常跟蹤,小于Thr1時(shí)停止更新模板,直至當(dāng)前幀APCE大于Thr1后對(duì)目標(biāo)重跟蹤.
考慮到跟蹤過程中時(shí)間與空間的連續(xù)性,如果僅丟失一幀,目標(biāo)不會(huì)移動(dòng)很遠(yuǎn),可以在上幀目標(biāo)位置周圍搜索,但當(dāng)連續(xù)幀丟失目標(biāo)時(shí),目標(biāo)可能位移到任何位置,此時(shí)需要擴(kuò)大搜索范圍.傳統(tǒng)的遍歷搜索方法花費(fèi)時(shí)間長,為減少重跟蹤時(shí)長,將視頻幀劃分成n個(gè)不重疊區(qū)域,用倒金字塔搜索方式進(jìn)行重跟蹤.倒金字塔搜索方式的迭代公式及步長計(jì)算公式如下:
其中,x、y表示橫縱坐標(biāo),式(21)中的上下兩式分別表示沿著x、y方向的搜索迭代公式,Pos(·,·)表示搜索位置坐標(biāo),Step(·,·)表示搜索步長,i表示區(qū)域編號(hào),τ表示常數(shù).
為了更好地解釋倒金字塔跟蹤方式,假設(shè)只有3 個(gè)分區(qū),分區(qū)圖如圖2所示.
圖2 倒金字塔搜索方式分區(qū)圖
根據(jù)上次正確跟蹤地目標(biāo)位置為中心劃分區(qū)域,距離中心越遠(yuǎn)搜索步長越大,第一分區(qū)是距離目標(biāo)最近的搜索區(qū)域,在第一分區(qū)進(jìn)行搜索時(shí)步長最短.第二分區(qū)步長是第一分區(qū)的二倍,第三分區(qū)步長是第二分區(qū)的二倍,公式如下所示:
為了對(duì)KCF-PF 算法量化評(píng)價(jià),引入OTB 數(shù)據(jù)集兩個(gè)評(píng)價(jià)標(biāo)準(zhǔn):精確度(precision plot)以及成功率(success plot),下面分別對(duì)兩個(gè)評(píng)價(jià)標(biāo)準(zhǔn)進(jìn)行簡介.
(1)Precision plot:跟蹤過程中,算法估計(jì)出的目標(biāo)位置稱為預(yù)測值,人工標(biāo)注目標(biāo)位置為真實(shí)值,兩者的差值小于閾值的幀數(shù)占總幀數(shù)的百分比就是精確度.一般選擇20 個(gè)像素點(diǎn)作為閾值,給定的閾值不同,求出的precision plot 也不同.
(2)Success plot:成功率的計(jì)算用到了覆蓋率公式:
其中,BT表示運(yùn)行算法得到的目標(biāo)框,BG表示真實(shí)目標(biāo)框,Area表示面積統(tǒng)計(jì)函數(shù).如果覆蓋率大于給定閾值,表明此幀成功跟蹤,成功跟蹤的幀數(shù)占總幀數(shù)的百分比,即成功率.一般閾值設(shè)定為0.5,給定閾值不同,success plot 也不同.
為了更好地驗(yàn)證新方法的準(zhǔn)確性,設(shè)置了兩組參數(shù)在不同的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)參數(shù)如表1所示.
表1 實(shí)驗(yàn)參數(shù)
Jogging 中部分視頻幀與APCE關(guān)系如圖3所示.
圖3 目標(biāo)狀態(tài)分析
對(duì)圖3 左邊跑步女人分析,第3 幀沒有遮擋及模糊情況,此時(shí)APCE大于30.第74 幀目標(biāo)被遮擋,此時(shí)APCE小于10.接著對(duì)OTB100 中多個(gè)存在模糊、遮擋的視頻分析后得到表2.
表2 目標(biāo)狀態(tài)與APCE關(guān)系表
根據(jù)以上分析,為了更好地運(yùn)用歷史信息并減少模糊、遮擋的影響,得到新的模板更新策略如下:
其中,μ表示常量,mel表示模板矩陣.更改模板更新策略后的KCF-PF 與其他算法性能比較如圖4所示.
圖4 算法性能比較
與Meanshift、PF、KCF、SAMF 相比,KCF-PF在UA-DETRAC 及OTB100 數(shù)據(jù)集上有更高的識(shí)別率,具體提升如表3 和表4所示.
表3 UA-DETRAC 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果(%)
表4 混合OTB100 與UA-DETRAC 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
6.3.1 定性分析
本節(jié)選取UA-DETRAC 視頻數(shù)據(jù)集中兩個(gè)視頻片段進(jìn)行定性分析.圖5 與圖6 為跟蹤效果圖,其中紅色框是KCF-PF,黃色框是SAMF,綠色框是KCF,黑色框是PF,藍(lán)色框是Meanshift.由圖5 與圖6 可以看出隨著目標(biāo)車輛的快速移動(dòng)SAMF、KCF、PF、Meanshift都丟失了目標(biāo),而KCF-PF 可以對(duì)目標(biāo)準(zhǔn)確跟蹤.
圖5 由遠(yuǎn)及近車輛跟蹤效果
圖6 側(cè)拍車輛跟蹤效果
6.3.2 定量分析
本節(jié)對(duì)UA-DETRAC 以及OTB100 數(shù)據(jù)集進(jìn)行定量分析,結(jié)果如圖7所示.其中圖7(a)與圖7(b)是在10 個(gè)有快速移動(dòng)情況車輛行駛序列中進(jìn)行算法對(duì)比的結(jié)果;圖7(c)與圖7(d)是在25 個(gè)車輛行駛視頻序列中進(jìn)行算法對(duì)比的結(jié)果;圖7(e)與圖7(f)是在OTB100數(shù)據(jù)集中算法對(duì)比的結(jié)果;圖7(g)與圖7(h)是在混合了OTB100 與UA-DETRAC 數(shù)據(jù)集中算法比較的結(jié)果.
圖7 定量分析圖
視頻機(jī)動(dòng)目標(biāo)快速移動(dòng)問題一直是目標(biāo)跟蹤問題中的難點(diǎn),結(jié)合粒子濾波以及核相關(guān)濾波算法的優(yōu)點(diǎn),提出首先由粒子濾波算法預(yù)測目標(biāo)位置,然后核相關(guān)濾波算法修正目標(biāo)位置的新方法,在一定程度上解決了快速移動(dòng)問題.針對(duì)形變問題加入了零截距,實(shí)現(xiàn)了對(duì)快速移動(dòng)形變機(jī)動(dòng)目標(biāo)的跟蹤,在原模板更新策略的基礎(chǔ)上融入平均峰值相關(guān)能量,更好的利用了歷史信息.實(shí)驗(yàn)結(jié)果表明,新方法可以有效地跟蹤快速移動(dòng)的機(jī)動(dòng)目標(biāo).