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