宋 勇,李 旭,趙宇飛,郭拯坤,楊 昕,王楓寧
(1.北京理工大學(xué)光電學(xué)院, 北京 100081;2.精密光電測(cè)試儀器及技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室, 北京 100081)
作為計(jì)算機(jī)視覺領(lǐng)域的重要研究方向,目標(biāo)跟蹤算法在視頻監(jiān)控、人機(jī)交互、智能交通等領(lǐng)域具有廣泛的應(yīng)用前景[1]。根據(jù)不同的建模方式,目標(biāo)跟蹤算法可分為三類:基于目標(biāo)特征匹配式跟蹤算法[2],基于目標(biāo)和背景特征判別式跟蹤算法[3]和基于目標(biāo)和背景相關(guān)性跟蹤算法[4]。其中,基于目標(biāo)和背景相關(guān)性跟蹤算法有效利用了目標(biāo)和背景信息,具有相對(duì)較高的跟蹤精度。
作為一種新型基于目標(biāo)和背景相關(guān)性的跟蹤算法,時(shí)空上下文目標(biāo)跟蹤算法[4](Spatio-Temporal Context Learning,STC)通過貝葉斯框架對(duì)目標(biāo)及其周圍區(qū)域的時(shí)空關(guān)系進(jìn)行建模,得到目標(biāo)及其周圍區(qū)域的統(tǒng)計(jì)相關(guān)性。根據(jù)這一時(shí)空關(guān)系計(jì)算置信圖,利用置信圖中似然概率最大的位置來(lái)預(yù)測(cè)新的目標(biāo)位置。STC算法結(jié)合了時(shí)間信息和空間信息,考慮了目標(biāo)和周圍環(huán)境信息,根據(jù)傅里葉變換學(xué)習(xí)時(shí)空關(guān)系,具有較高的目標(biāo)跟蹤精度和速率,是一種具有重要應(yīng)用前景的目標(biāo)跟蹤算法[5]。另一方面,由于STC算法采用固定的學(xué)習(xí)參數(shù)更新時(shí)空上下文模板,易將錯(cuò)誤信息更新到目標(biāo)模板中。當(dāng)出現(xiàn)目標(biāo)被遮擋、姿態(tài)突變、目標(biāo)短暫消失后重現(xiàn)、環(huán)境光照變化等情況時(shí),易出現(xiàn)跟偏或跟丟目標(biāo),導(dǎo)致目標(biāo)跟蹤精度下降。
針對(duì)上述問題,Wei X G等[6]將時(shí)空上下文算法與卡爾曼濾波相結(jié)合進(jìn)行目標(biāo)跟蹤,雖在一定程度上解決了遮擋后目標(biāo)漂移問題,但卻難以避免模板的錯(cuò)誤更新;XU Jian-Qiang 等[7]賦予上下文不同區(qū)域不同的權(quán)值,引入Harris角點(diǎn)跟蹤目標(biāo),并且引入權(quán)值矩陣計(jì)算不同區(qū)域的權(quán)值,在一定程度上提高了跟蹤結(jié)果的魯棒性,但降低了算法速度;劉威等[8]采用點(diǎn)跟蹤器完成目標(biāo)初步定位,由多維特征時(shí)空上下文模型完成精確定位,提高了目標(biāo)遮擋、光照變化條件下的跟蹤能力,但當(dāng)目標(biāo)姿態(tài)變化較大時(shí),算法跟蹤性能下降。
人腦視覺系統(tǒng)作為人類大腦獲取外界信息最主要的手段完成了人類70%以上的信息獲取。人腦視覺系統(tǒng)具有多種信息處理機(jī)制,包括:側(cè)抑制、記憶機(jī)制等[9]。其中,人腦記憶機(jī)制具有敏捷性、持久性、備用性的特性,有助于解決目標(biāo)跟蹤中的目標(biāo)遮擋、姿態(tài)突變等問題[10-11]。
基于上述分析,本論文提出了一種基于主、從記憶空間模型的時(shí)空上下文跟蹤算法。該算法將人腦記憶機(jī)制融入STC算法的時(shí)空上下文模板更新過程,通過構(gòu)建主、從記憶空間,形成基于記憶的更新策略。通過記憶先前出現(xiàn)的場(chǎng)景,解決目標(biāo)跟蹤過程中的目標(biāo)被遮擋、姿態(tài)突變、目標(biāo)短暫消失后重現(xiàn)、環(huán)境光照變化等問題。同時(shí),通過設(shè)置多個(gè)置信圖峰值點(diǎn)作為目標(biāo)位置候選點(diǎn),選取與目標(biāo)模板相似度最大的目標(biāo)位置作為最終跟蹤結(jié)果,減少置信圖引起的誤差,提高目標(biāo)跟蹤精度。實(shí)驗(yàn)結(jié)果表明,所提出的算法可以解決跟蹤過程中的目標(biāo)被遮擋、姿態(tài)突變、短暫消失后重現(xiàn)等條件下的跟蹤精度下降問題,有利于實(shí)現(xiàn)魯棒性、高精度的運(yùn)動(dòng)目標(biāo)跟蹤。
STC算法通過貝葉斯框架對(duì)目標(biāo)和周圍區(qū)域的時(shí)空關(guān)系進(jìn)行建模,得到目標(biāo)及其周圍區(qū)域的統(tǒng)計(jì)相關(guān)性。根據(jù)生物視覺系統(tǒng)上的視覺注意特性,得到預(yù)測(cè)目標(biāo)位置的置信圖。STC算法的主要過程包括:
1) 在已知第一幀跟蹤窗的情況下容易得到目標(biāo)置信圖和先驗(yàn)概率;
2) 根據(jù)過程1)得到的結(jié)果,求出目標(biāo)和局部上下文的空間關(guān)系h,再利用這一關(guān)系學(xué)習(xí)下一幀的時(shí)空關(guān)系H為:
Ht+1=(1-ρ)Ht+ρht
(1)
式(1)中,Ht+1為第t+1幀時(shí)空上下文模板;Ht為第t幀時(shí)空上下文模板;ht為第t幀空間上下文模板;ρ為學(xué)習(xí)參數(shù)。
3) 根據(jù)學(xué)習(xí)到的時(shí)空關(guān)系計(jì)算置信圖,由置信圖中似然概率最大的位置預(yù)測(cè)出新的目標(biāo)位置。其中,置信圖計(jì)算公式為:
c(x)=p(x|o)=∑c(z)∈xcp(x,c(z)|o)=
∑c(z)∈xcp(x|c(z),o)p(c(z)|o)
(2)
式(2)中,x表示目標(biāo)位置;o表示目標(biāo)出現(xiàn);xc為上下文空間信息;p(c(z)|o)是上下文先驗(yàn)概率,定義了目標(biāo)周圍局部上下文的表觀,如公式(3)所示;p(x|c(z),o)是條件概率,定義為建模目標(biāo)與局部上下文的空間關(guān)系,如公式(4)所示。
p(c(z)|o)=I(z)ω(z-x*)
(3)
p(x|c(z),o)=h(x-z)
(4)
式(3)、(4)中,I(z)為是點(diǎn)z的灰度;x*為給定的目標(biāo)位置;w是一個(gè)加權(quán)函數(shù),z離x越近,權(quán)值越大;h(x-z)是一個(gè)關(guān)于目標(biāo)x和局部上下文位置z的相對(duì)距離和方向的函數(shù)。
本論文所提出的算法采用基于主、從記憶空間模型的時(shí)空上下文模板更新策略,更新目標(biāo)和局部上下文之間的時(shí)空關(guān)系。如圖1所示,該模型包括主、從兩個(gè)記憶空間。其中,主記憶空間用于存儲(chǔ)判別匹配程度的彩色直方圖模板,從記憶空間用來(lái)存儲(chǔ)時(shí)空上下文關(guān)系模板。因?yàn)闀r(shí)空上下文模板是一種復(fù)雜矩陣,所以借助于更直觀的直方圖模板作為匹配模板決定是否更新。每一層記憶空間均構(gòu)建瞬時(shí)記憶、短時(shí)記憶和長(zhǎng)時(shí)記憶三個(gè)空間,其中,短時(shí)記憶空間和長(zhǎng)時(shí)記憶空間分別可以存儲(chǔ)R個(gè)模板。
依據(jù)主記憶空間中的模板和目標(biāo)模板的匹配程度,決定從記憶空間中的時(shí)空上下文模板是否進(jìn)行更新。其中,在主記憶空間中,將當(dāng)前幀跟蹤結(jié)果所得到的估計(jì)模板(目標(biāo)跟蹤窗彩色直方圖特征)存入瞬時(shí)記憶空間,依次與短時(shí)記憶空間、長(zhǎng)時(shí)記憶空間中的目標(biāo)模板進(jìn)行匹配:若匹配成功,則根據(jù)更新規(guī)則對(duì)主記憶空間中目標(biāo)模板進(jìn)行更新,同時(shí)更新從記憶空間中的時(shí)空上下文模板;若均匹配失敗,則將瞬時(shí)記憶空間中的估計(jì)模板記憶到短時(shí)記憶空間。時(shí)空上下文模板更新總體流程如圖2所示。
時(shí)空上下文模板更新具體步驟為:
步驟1初始化記憶空間。
將當(dāng)前幀的估計(jì)模板(彩色直方圖特征)存儲(chǔ)于瞬時(shí)記憶空間。將第一幀目標(biāo)的彩色直方圖特征作為當(dāng)前目標(biāo)模板,存儲(chǔ)于主記憶空間中短時(shí)記憶空間的第一個(gè)位置。類似地,將第一幀時(shí)空上下文模板存儲(chǔ)于從記憶空間中短時(shí)記憶空間的第一個(gè)位置。
步驟2與短時(shí)記憶空間匹配。
將瞬時(shí)記憶空間存儲(chǔ)的彩色直方圖與主記憶空間中短時(shí)記憶空間的R個(gè)模板依次進(jìn)行匹配,采用巴氏距離計(jì)算出相似度。根據(jù)相似度與匹配閾值的比較結(jié)果確定是否匹配成功。若在短時(shí)記憶空間中匹配成功,則根據(jù)當(dāng)前模板對(duì)目標(biāo)模板進(jìn)行更新,如式(5)所示:
qt=(1-ε)qt-1+εp
(5)
式(5)中,qt為當(dāng)前模板;p是瞬時(shí)空間的估計(jì)模板;ε是學(xué)習(xí)參數(shù)。同時(shí),從記憶空間中相對(duì)應(yīng)地對(duì)時(shí)空上下文模板進(jìn)行更新,如式(1)所示。
如果短時(shí)記憶空間中的R個(gè)模板匹配均不成功,則將短時(shí)記憶空間中最后一個(gè)分布記為MR,繼續(xù)與長(zhǎng)時(shí)記憶空間中的模板進(jìn)行匹配。
步驟3與長(zhǎng)時(shí)記憶空間匹配。
將瞬時(shí)記憶空間存儲(chǔ)的彩色直方圖與主長(zhǎng)時(shí)記憶空間中的R個(gè)模板依次進(jìn)行匹配,同樣采用巴氏距離計(jì)算相似度。根據(jù)相似度與匹配閾值的大小比較確定是否匹配成功。
如果存在匹配模板,根據(jù)公式(1)、 (5)更新匹配模板,記短時(shí)記憶空間最后一個(gè)模板為MR。同時(shí)在不可記憶情況下提取匹配的模板遺忘MR。在MR可記憶情況下,交換匹配模板和MR。
如果長(zhǎng)時(shí)記憶空間中也不存在匹配模板,則更換主記憶空間中的當(dāng)前模板,同時(shí)從記憶空間中的時(shí)空上下文模板也相對(duì)應(yīng)更換。
在常規(guī)STC算法中,取置信圖最大峰值點(diǎn)作為目標(biāo)位置。由于置信圖生成過程存在一定的誤差,真實(shí)的目標(biāo)位置可能在其他峰值點(diǎn),而非置信圖的最大峰值點(diǎn)處。例如:圖3是FaceOcc1序列第228幀,由于置信圖生成過程導(dǎo)致的誤差,利用置信圖最大峰值點(diǎn)求得的目標(biāo)位置(實(shí)線)偏離了跟蹤目標(biāo)(人臉)。而真實(shí)目標(biāo)位置(虛線)對(duì)應(yīng)于置信圖的第二峰值點(diǎn)。
針對(duì)上述問題,在根據(jù)時(shí)空上下文計(jì)算置信圖時(shí),基于主從記憶空間模型的STC算法設(shè)置N個(gè)目標(biāo)位置候選點(diǎn),從中選取與目標(biāo)模板相似度最大的目標(biāo)位置作為最終跟蹤結(jié)果,從而減少了置信圖誤差對(duì)跟蹤精度的影響。具體方法為:
計(jì)算求得N個(gè)候選目標(biāo)跟蹤窗的彩色直方圖特征,記第i個(gè)彩色直方圖特征為pi(i=1,2,3,…,N),記憶空間存儲(chǔ)的目標(biāo)模板為q,計(jì)算pi與q的相似度(pi與q均為L(zhǎng)維向量)。最大相似度S的計(jì)算公式為:
(7)
取最大相似度對(duì)應(yīng)的候選目標(biāo)作為最終目標(biāo)。
基于主從記憶空間模型的STC算法,利用目標(biāo)和局部上下文的統(tǒng)計(jì)相關(guān)性,以及由視覺注意特性學(xué)習(xí)到的先驗(yàn)概率,計(jì)算出下一幀中的置信圖,選取最相似置信圖峰值點(diǎn)作為目標(biāo)位置。圖4為基于主、從記憶空間模型的STC算法的流程框圖。
具體算法步驟如下:
基于主從記憶空間模型的STC算法的具體步驟如下:
步驟1利用初始化第一幀的置信圖和上下文先驗(yàn)概率學(xué)習(xí)第一幀的空間上下文模板,同時(shí)作為第二幀時(shí)空上下文模板。由公式(2)-(4)推導(dǎo)出置信圖計(jì)算公式為:
c(x)=h(x)?(I(x)ω(x-x*))
(8)
式(8)中,I(x)為像素點(diǎn)x的灰度;x*為給定的目標(biāo)位置;w是一個(gè)加權(quán)函數(shù),x離x*越近,權(quán)值越大。
由式(8)結(jié)合傅里葉變換和反傅里葉變換,推導(dǎo)出第一幀的空間上下文模板作為第一幀的時(shí)空上下文模板,計(jì)算公式為:
(9)
步驟2學(xué)習(xí)空間上下文模板,根據(jù)t-1幀得到的目標(biāo)中心位置與記憶空間匹配,根據(jù)1.2.3節(jié)的更新規(guī)則,更新得到第t幀的時(shí)空上下文模板。
步驟3學(xué)習(xí)當(dāng)前幀上下文先驗(yàn)概率,結(jié)合步驟2得到的第t幀時(shí)空上下文模板,計(jì)算第t幀置信圖,有:
(10)
根據(jù)置信圖最大N個(gè)峰值點(diǎn),計(jì)算目標(biāo)N個(gè)目標(biāo)位置候選點(diǎn)。
步驟4根據(jù)候選目標(biāo)區(qū)域彩色直方圖特征與目標(biāo)模板做匹配,取相似度最大的候選點(diǎn)為第t幀目標(biāo)位置。
步驟5匹配第t幀確定的目標(biāo)窗口的彩色直方圖和記憶空間中的模板,根據(jù)主記憶空間中的更新情況更新從記憶空間中時(shí)空上下文模板,用于確定t+1幀目標(biāo)。
以粒子濾波算法[12](PF)、壓縮感知跟蹤算法[13](CT)、常規(guī)時(shí)空上下文目標(biāo)跟蹤算法(STC)等目標(biāo)跟蹤算法為比較算法,開展對(duì)比實(shí)驗(yàn),驗(yàn)證基于主從記憶空間模型的STC算法的性能。其中,PF為典型的目標(biāo)跟蹤算法,CT與常規(guī)STC為近年來(lái)出現(xiàn)的新型目標(biāo)跟蹤算法,其對(duì)目標(biāo)外觀變化和背景變化具有魯棒性[14]。
實(shí)驗(yàn)采用Visual Tracker Benchmark視頻測(cè)試集中的Girl序列、Crossing序列、FaceOcc1序列、Walking序列以及本論文在在背景相對(duì)復(fù)雜的實(shí)際環(huán)境中采集的Li1序列、Li2序列為實(shí)驗(yàn)對(duì)象。Visual Tracker Benchmark視頻測(cè)試集[1]是2013年由Wu Yi等人發(fā)表在CVPR上的用來(lái)作為目標(biāo)跟蹤的數(shù)據(jù)集,由50個(gè)可見光序列組成,2015年,擴(kuò)充到100個(gè)序列。其中,在Girl序列中,目標(biāo)發(fā)生姿態(tài)變化且存在目標(biāo)遮擋,圖像分辨率為128(96;FaceOcc1序列中,目標(biāo)發(fā)生姿態(tài)變化、反復(fù)遮擋和遮擋后重現(xiàn),圖像分辨率為352(288;在Crossing系列中,目標(biāo)發(fā)生光照變化,圖像分辨率為360(240;Walking序列幀數(shù)較多,圖像分辨率為768(576。本論文采集的Li1序列、Li2序列分辨率為960×544。實(shí)驗(yàn)各序列的特點(diǎn)如表1所示。
其他實(shí)驗(yàn)條件設(shè)置包括:Intel(R) Core(TM) i3 CPU 3.07GHz,4.00G的PC機(jī),MATLAB 2013a平臺(tái)。實(shí)驗(yàn)中參數(shù)設(shè)計(jì)包括:目標(biāo)位置候選點(diǎn)的數(shù)量N=5;當(dāng)前模板的匹配閾值Tc=0.9,短時(shí)記憶空間模板的匹配閾值Ts=0.8,長(zhǎng)時(shí)記憶空間模板的匹配閾值Tl=0.8[12],短時(shí)記憶空間和長(zhǎng)時(shí)記憶空間存儲(chǔ)的模板數(shù)量R=5。
表1 各序列特點(diǎn)
3.2.1定性分析
圖5~圖10為粒子濾波跟蹤算法(PF)、常規(guī)STC算法(STC)、壓縮感知算法(CT)以及本論文所提出的基于主從記憶空間模型的時(shí)空上下文跟蹤算法(MSTC)分別對(duì)6個(gè)視頻序列的目標(biāo)跟蹤實(shí)驗(yàn)結(jié)果。其中,圖5是對(duì)Girl視頻序列跟蹤結(jié)果圖。 由圖5可以看出,Girl序列第310幀存在目標(biāo)姿態(tài)變化,CT算法出現(xiàn)跟蹤偏移;第420幀以后,目標(biāo)(女性人臉)出現(xiàn)被遮擋的情況,粒子濾波算法、CT算法、STC算法均錯(cuò)誤地跟蹤了遮擋物(男性人臉)。同時(shí),本論文提出的算法在目標(biāo)被遮擋時(shí)仍能保持魯棒性的目標(biāo)跟蹤。
圖6是對(duì)FaceOcc1序列跟蹤結(jié)果圖。FaceOcc1序列目標(biāo)(女性人臉)存在被干擾物(書籍)長(zhǎng)時(shí)或反復(fù)遮擋問題,粒子濾波算法和CT算法在第234幀目標(biāo)被書籍遮擋后出現(xiàn)明顯的跟蹤偏移;STC算法完全偏移;本論文提出的算法在目標(biāo)被干擾物遮擋以及再次被遮擋的情況下,仍能準(zhǔn)確地跟蹤目標(biāo)。
圖7是對(duì)Crossing視頻序列的目標(biāo)跟蹤結(jié)果圖。從圖7可以看出,Crossing序列在第45幀時(shí)出現(xiàn)背景干擾以及光照變化的情況,粒子濾波算法在第45幀開始出現(xiàn)跟蹤框偏移,第70幀跟蹤到了干擾物(汽車)上;CT算法在第70幀開始出現(xiàn)偏移,第118幀以后跟蹤不到目標(biāo)(行人);STC算法中,在序列第70幀以后跟蹤框位置保持不變;本論文所提出的算法到序列最后一幀(120幀),仍可準(zhǔn)確地跟蹤目標(biāo)(行人)。
圖8是對(duì)Walking序列的目標(biāo)跟蹤結(jié)果圖。Walking序列的背景相對(duì)復(fù)雜,幀數(shù)較多。粒子濾波算法在第343幀及以后均錯(cuò)誤地跟蹤到圖像右方的草坪;STC算法在序列后面幾十幀開始出現(xiàn)偏移,目標(biāo)跟蹤出現(xiàn)偏差。相對(duì)而言,CT算法和本論文所提出的算法的跟蹤效果較為準(zhǔn)確。
圖9是對(duì)Li1序列的目標(biāo)跟蹤結(jié)果圖,Li1序列中存在多幀目標(biāo)(人臉)被書本遮擋的情況,粒子濾波算法和常規(guī)STC算法均完全丟失目標(biāo),CT算法的跟蹤結(jié)果存在偏差,本論文算法能保持精確的跟蹤。
圖10是對(duì)Li2序列的目標(biāo)跟蹤結(jié)果圖,Li2序列中存在多幀相似物(人臉)干擾的情況,粒子濾波算法魯棒性較低,在第94幀即丟失目標(biāo);常規(guī)STC算法在序列第196幀受到相似物遮擋后,后續(xù)幀跟蹤到干擾物上,丟失目標(biāo);CT算法的跟蹤結(jié)果存在偏差,本論文算法能保持精確的跟蹤。
3.2.2定量分析
利用跟蹤精度圖,以Girl序列、FaceOcc1序列、Crossing序列、Walking序列為實(shí)驗(yàn)對(duì)象,對(duì)本論文所提出算法及其比較算法的性能進(jìn)行定量分析。圖11為本論文算法與其他算法的跟蹤精度對(duì)比,其中距離閾值設(shè)為20 pixels[14]。
從圖11(a)可以看出,在對(duì)Girl序列的目標(biāo)跟蹤中,運(yùn)動(dòng)目標(biāo)發(fā)生姿態(tài)變化且被遮擋時(shí),本論文提出算法的精度可以達(dá)到0.99,粒子濾波算法、CT算法、STC算法分別為0.75、0.65、0.9。從圖11(b)可以看出,在FaceOcc1序列中,運(yùn)動(dòng)目標(biāo)存在反復(fù)遮擋后又重新出現(xiàn)等情況,本論文所提算法的精度達(dá)到0.8,粒子濾波算法、CT算法、STC算法分別為0.3、0.5、0.4。從圖11(c)可以看出,在Crossing序列中存在光照變化等情況,本論文算法跟蹤精度達(dá)到1,而粒子濾波算法、CT算法、STC算法分別為0.3、0.95、0.6。從圖11(d)的實(shí)驗(yàn)結(jié)果表明,盡管CT算法和本論文所提出算法對(duì)于Walking序列的跟蹤效果均較為準(zhǔn)確(如圖8所示),但CT算法的跟蹤精度為0.9,本論文提出的算法精度可以達(dá)到1。此外,STC算法分別為0.8,而粒子濾波算法完全偏移。
綜上所述,本論文提出算法可在目標(biāo)被遮擋、姿態(tài)突變、短暫消失后重現(xiàn)等條件下仍具有較高的目標(biāo)跟蹤精度。
1) 提出了一種基于主從記憶空間模型的時(shí)空上下文跟蹤算法,通過基于主、從記憶空間模型的模板更新策略,解決了STC算法的模板更新錯(cuò)誤的問題。
2) 提出了多置信圖候選點(diǎn),降低了置信圖誤差帶來(lái)的影響。
3) 所提出的算法精度高、魯棒性強(qiáng),可解決目標(biāo)被遮擋、姿態(tài)突變、短暫消失后重現(xiàn)等目標(biāo)跟蹤問題,在復(fù)雜背景、干擾條件下的運(yùn)動(dòng)目標(biāo)跟蹤中具有廣泛的應(yīng)用前景。