衛(wèi)保國,葛 蘋,武 宏,王高峰,韓文亮
(1.西北工業(yè)大學 電子信息學院,西安 710129; 2.貴州宇鵬科技有限責任公司,貴陽 550000;3.中國人民解放軍 93108部隊,黑龍江 齊齊哈爾 161000)(*通信作者電子郵箱wbg@nwpu.edu.cn)
目標跟蹤是指在視頻圖像序列中對指定目標的運動軌跡進行估計,已經(jīng)被廣泛應(yīng)用到視頻監(jiān)控、智能交通和人機交互等研究領(lǐng)域。盡管目前取得了很大的成就,但仍然存在著相似目標、光照、遮擋、目標形變等干擾因素的影響,使得跟蹤算法在復雜場景下的效果較差[1]。
為此,Babenko等[2]提出了基于多實例學習(Multiple Instance Learning, MIL)的目標跟蹤算法,將訓練樣本擴大為多個樣本的樣本包,這樣可以一定程度上避免跟蹤漂移的問題,但是需要大量實例進行學習。Kalal等[3]提出了一種將跟蹤、學習、檢測(Tracking-Learning-Detection,TLD)相結(jié)合的目標跟蹤算法,雖然該算法在一定程度上可以解決長期跟蹤過程中目標漂移或丟失問題;但是實時性較差,并且在跟蹤的初始階段非常依賴關(guān)于目標的先驗知識。Zhang等[4]提出了基于時空上下文(Spatio-Temporal Context,STC)的視覺跟蹤算法,利用圖像的低維信息來建立目標的外觀模型,然后基于貝葉斯理論的時空上下文框架,選擇當前幀中置信值最高的位置輸出為目標位置;但是只使用簡單的灰度特征,不能很好地對目標外觀進行描述。Danelljan等[5]提出了基于自適應(yīng)選擇顏色屬性的實時視覺跟蹤技術(shù),將顏色的類別進行細分,在跟蹤過程中通過一種類似于主成分分析的降維思想實時地選擇比較顯著的顏色作為跟蹤的依據(jù);但該方法僅對目標顏色特征進行跟蹤,特征單一,不能很好地表達目標。
長期跟蹤的關(guān)鍵就在于算法能否抵御實際復雜環(huán)境中可能出現(xiàn)的各種干擾因素,如:相似目標、光照、遮擋、目標形變。基于這一思路,本文從整體上對干擾因素進行歸類,針對不同類別的干擾因素分別提出了靜態(tài)外觀模型和自適應(yīng)外觀模型,兩個模型形成一個能夠糾正的跟蹤算法框架。實驗結(jié)果表明,本文算法在各種干擾因素下,均能在保證實時性的基礎(chǔ)上表現(xiàn)出良好的魯棒性。
本文將復雜環(huán)境中影響目標跟蹤的干擾因素分為兩類:第一類來自環(huán)境,包括相似目標干擾、光照變化干擾、遮擋干擾、陰影干擾等,相應(yīng)地提出靜態(tài)外觀模型,由初始模板保存;第二類來自目標本身,包括目標形變干擾、目標尺度變化干擾、目標旋轉(zhuǎn)干擾、目標消失干擾等,相應(yīng)地提出自適應(yīng)外觀模型。
本文使用靜態(tài)模型和自適應(yīng)模型相糾正的跟蹤框架,如圖1所示。
圖1 本文的跟蹤算法框架示意圖
在跟蹤算法中,由于自適應(yīng)外觀模型在每一幀中都要進行更新,因此難免會逐漸將背景信息納入外觀模型中從而產(chǎn)生漂移,而靜態(tài)外觀模型不隨跟蹤過程進行更新,因此靜態(tài)外觀模型可以在每一幀對自適應(yīng)外觀模型的跟蹤結(jié)果進行糾正。
考慮到目標受到局部遮擋時,全局特征提取比較困難,本文采用局部不變特征來作為外觀模型的特征描述方式。文獻[6]中針對常用的局部尺度不變特征變換(Scale Invariant Feature Transform, SIFT)、PCA-SIFT(Principle Component Analysis-SIFT)和SURF(Speed-up Robust Feature)進行了對比,綜合時間復雜度和實際效果,本文選擇SURF作為外觀模型的特征描述方式,采用歐氏距離作為SURF特征點的距離計算方法。
(1)
(2)
由于本文中設(shè)定自適應(yīng)外觀模型需要在每一幀中都進行更新,為了令靜態(tài)外觀模型能夠不斷地糾正自適應(yīng)外觀模型在跟蹤過程中納入背景信息而產(chǎn)生的誤差,需要在當前幀的靜態(tài)外觀模型中將那些與初始幀背景匹配的候選關(guān)鍵點去掉,最后得到靜態(tài)對應(yīng)關(guān)系集合:
(3)
它表征的是初始幀與當前幀中由靜態(tài)外觀模型所提供的目標外觀對應(yīng)關(guān)系。
面對來自目標本身的干擾因素以及全部遮擋時,僅依靠靜態(tài)外觀模型不能滿足跟蹤的魯棒性,還需要自適應(yīng)外觀模型。
設(shè)計自適應(yīng)外觀模型的關(guān)鍵之一就是設(shè)置合適的遺忘因子,即自適應(yīng)外觀模型的更新速度,可以及時地感知目標的外觀變化,所以本文在跟蹤過程中針對每一幀都對自適應(yīng)外觀模型進行更新。由于靜態(tài)外觀模型不隨著跟蹤過程進行更新,因此靜態(tài)外觀模型可以在每一幀對自適應(yīng)外觀模型的跟蹤結(jié)果進行糾正。
當前幀的自適應(yīng)外觀模型由上一幀中目標區(qū)域中所有關(guān)鍵點附近的區(qū)域塊組成。自適應(yīng)外觀模型也存在一個自適應(yīng)對應(yīng)關(guān)系集合。假定相鄰兩幀之間時間很短,通過估計從第t-1幀到第t幀的稀疏光流,借助局部優(yōu)化的方法,建立一個第t-1幀與第t幀的自適應(yīng)對應(yīng)關(guān)系集合。
此時在當前幀(第t幀)中獲取的自適應(yīng)對應(yīng)關(guān)系集合中的每一項匹配關(guān)系ni表征的是第t-1幀與第t幀的匹配關(guān)系:
(4)
(5)
(6)
(7)
將靜態(tài)外觀模型和自適應(yīng)外觀模型輸出的對應(yīng)關(guān)系合并后,難免會將一些背景區(qū)域納入目標區(qū)域中。實際上,解決目標跟蹤問題的關(guān)鍵在于能否準確地劃分出目標,因此本文選擇聚類來作為去噪手段。由于背景噪聲的類別未知,種類繁多,而k-均值聚類、混合高斯模型聚類、譜聚類都需要指定類別參數(shù)k,都不適合作為此處的去噪手段,因此,本文利用單連接層次聚類算法作為去噪手段。
影響聚類效果的關(guān)鍵之一就是樣本間距的計算方式,每一幀中,對應(yīng)關(guān)系集合中的任意兩個元素,計算一個差異性度量D,直觀地反映了所跟蹤目標的尺度變化和旋轉(zhuǎn)角度,本文將D定義為:
(8)
1)首先將每個樣本作為一簇,簇Ci和Cj間的最短距離Dij=dij。
2)令t=0,所有簇間的最短距離可以形成一個距離矩陣M(t)。
3)尋找M(t)內(nèi)非對角線上不大于距離閾值T的最小元素,設(shè)為Mpq,將Cp和Cq合并為一個新簇,記為Cr,即Cr={Cp,Cq}。
4)計算新簇Cr與其他簇Ck的最短距離Dkr=min{Dkp,Dkq},對距離矩陣M(t)進行更新,將其第p、q行及p、q列合并成一個新行新列,對應(yīng)類Cr,新行和新列上的新距離按照Dkr=min{Dkp,Dkq}進行計算,所得到的矩陣記為M(t+1)。
5)將t+1賦給t,返回步驟3),直到M(t)中所有元素均大于T或所有樣本聚為一簇時結(jié)束聚類。
在目標跟蹤過程中,對每一幀的跟蹤結(jié)果實際上由三個數(shù)據(jù)量組成。
2.4.1 目標的中心位置
本文使用目標位移參數(shù)μ來表示目標中心位置的變化,即假定目標在初始幀的中心位置為x0,則當前幀中目標的中心位置可以表示為:
xt=x0+μ
(9)
(10)
綜上,每一幀的目標中心位置的位移參數(shù)估計如下:
(11)
2.4.2 目標的尺度
本文使用尺度縮放系數(shù)來表征目標的尺度變化,使用s來表示,即假定初始幀中目標尺度大小為S0,當前幀中目標的尺度大小為St,則:
St=s×S0
(12)
本文對尺度系數(shù)進行估計的方法如式(13)所示:
(13)
綜上,目標尺度變化系數(shù)的計算方法如式(14)所示:
(14)
2.4.3 目標的旋轉(zhuǎn)角度(弧度)
本文使用α來表示,即假定初始幀中目標的旋轉(zhuǎn)角度為α0=0,那么當前幀中目標的旋轉(zhuǎn)角度為:
αt=α0+α=α
(15)
本文對目標旋轉(zhuǎn)角度的估計方法如式(16)所示:
(16)
綜上,相對與初始幀,在當前幀中目標的旋轉(zhuǎn)角度計算如式(17)所示:
(17)
本文目標跟蹤算法具體步驟如下:
初始化 目標的位置用(x,y,w,h)表示,分別指目標在圖像幀的橫向、縱向坐標,以及目標矩形框的寬、高。
目標跟蹤過程:
1)靜態(tài)外觀模型。在初始幀確定矩形框,提取圖像的SURF特征,根據(jù)目標框?qū)D像分為目標特征點和背景特征點,構(gòu)成特征庫。
2)自適應(yīng)外觀模型。通過金字塔LK(Lucas-Kanade)光流的前向光流(第t-1到t幀)和后向光流(第t到t-1幀)得到t幀目標的特征點,在此過程中難免會納入各種噪聲信息。
3)靜態(tài)外觀模型對自適應(yīng)外觀模型獲取目標特征的糾正。通過自適應(yīng)模型獲得t幀目標特征與初始幀目標特征點進行匹配,剔除一些背景的特征點,確定最終的目標特征點,作為外觀模型的輸出,用于估計外觀信息和尺度信息。
4)單連接層次聚類的去噪。對外觀模型的輸出進行去噪處理,得到的結(jié)果作為計算仿射變換矩陣的初始條件,對目標的尺度和旋轉(zhuǎn)角度進行有效估計,實現(xiàn)跟蹤算法的魯棒性和實時性。
輸出 下一幀目標位置。
本文使用臺式計算機(Windows XP 32位操作系統(tǒng),Intel Pentium E5400 CPU 2.7 GHz,內(nèi)存2.00 GB),利用Python 2.7.9編程實現(xiàn)了基于靜態(tài)-自適應(yīng)外觀模型的目標跟蹤算法。所用圖像序列源自文獻[7]所提供的目標跟蹤標準測試數(shù)據(jù)集。
文獻[7]提供的測試數(shù)據(jù)集涵蓋了目標跟蹤過程中絕大多數(shù)的干擾因素,各干擾因素縮寫含義如表1所示,由于不同視頻序列的干擾因素不同,因此不同實驗分別選取不同的視頻序列進行實驗,如表2所示。
表1 干擾因素含義
表2 測試所用視頻序列及其包含的干擾因素
3.2.1 目標中心位置估計的評價方法
給定目標的跟蹤邊界框rT和真實邊界框rG,則中心位置誤差E被定義為rT中心和rG中心之間的歐氏距離。
對于一個給定的誤差閾值T,若E≤T則認為該幀目標被準確跟蹤,否則即認為跟蹤失敗。為了能夠客觀地衡量跟蹤算法的性能,本文提出使用一個針對具體視頻序列自適應(yīng)的閾值T設(shè)定方法:由于在針對目標中心位置估計的實驗分析過程中不對目標的形變進行估計,即對跟蹤目標的估計結(jié)果中目標的尺度不發(fā)生變化,假定初始人工指定的目標邊界框大小為w×h像素,那么可以將閾值T定義為目標邊界框?qū)蔷€長度的θ倍(θ根據(jù)經(jīng)驗取值):
(18)
3.2.2 目標形變估計的評價方法
由于在目標跟蹤過程中,脫離目標的旋轉(zhuǎn)信息來單獨考慮目標尺度的變化沒有意義,因此目前沒有分別提供目標尺度變換和旋轉(zhuǎn)角度真實值的標準測試數(shù)據(jù)集。
以圖2和圖3為例進行說明。圖2中:圖(a)為視頻序列“FaceOcc2”的初始幀,圖(b)為對應(yīng)的目標區(qū)域放大圖。圖3中:圖(a)為針對該視頻序列在第358幀時的跟蹤結(jié)果,圖(b)是對尺度和旋轉(zhuǎn)角度同時估計的跟蹤結(jié)果,圖(c)僅對尺度估計的跟蹤結(jié)果。比較圖3中(b)和(c)可見,圖(c)由于沒有考慮目標的旋轉(zhuǎn)導致對尺度的估計不準確,可以看到圖(c)將背景信息納入了目標區(qū)域中(跟蹤對象的耳部),同時原本應(yīng)有的目標區(qū)域也被認為是背景(跟蹤對象的部分下顎)。
考慮到以上因素,采用文獻[7]提供的基于邊界框重疊度的評價方法,給定任一幀目標的跟蹤邊界框rT和真實邊界框rG,則重疊度的定義如式(19)所示:
(19)
其中:|rT∩rG|表示rT和rG的交集區(qū)域;|rT∪rG|表示rT和rG的并集區(qū)域;|·|表示區(qū)域內(nèi)的像素數(shù)。
對于一個給定的閾值TOP∈(0,1),若OP≥TOP則認為該幀目標被準確跟蹤,否則即認為跟蹤失敗。
使用某一固定的閾值TOP進行測試所得跟蹤準確率來衡量跟蹤算法的性能是不客觀的,也不具有代表性。對此,本文提出通過積分值圖來對跟蹤算法進行衡量,即繪制跟蹤準確率與閾值TOP取值關(guān)系曲線圖,計算跟蹤準確率關(guān)于TOP的積分,積分值越大表示總體的跟蹤精度越高,以此就可以作為衡量跟蹤算法在形變估計上的客觀標準,根據(jù)經(jīng)驗確定閾值TOP。
圖2 第1幀目標形變估計
圖3 第358幀目標形變估計
圖4 各視頻序列的位置誤差曲線
3.3.1 中心位置估計的實驗分析
本節(jié)所用的視頻序列及其所包含的干擾因素為表2的Suv和Football1。圖4為針對Suv、Football1視頻序列進行跟蹤的位置誤差曲線圖。
對序列Suv的跟蹤結(jié)果中第504、544、576幀圖像如圖5所示。在初始幀中將白色SUV作為跟蹤目標,在后續(xù)幀中該車與攝像頭之間被樹林所遮擋因此消失,在穿過樹林后,目標即被迅速捕獲。按照式(18)所述的閾值設(shè)定方法,序列中目標位置估計準確率達到0.93。因此針對目標消失再出現(xiàn)的干擾因素,本文算法有很好的魯棒性。
圖5 對視頻序列Suv的跟蹤結(jié)果
對序列Football1的跟蹤結(jié)果中第1、20、41幀圖像如圖6所示,視頻序列中的主要干擾因素以相似目標干擾為主,還存在嚴重的遮擋,本文算法針對該序列的跟蹤仍然比較準確,目標中心位置估計的準確率為1.00。
圖6 對視頻序列Football1的跟蹤結(jié)果
3.3.2 目標形變估計的實驗分析
本節(jié)所用的視頻序列及其所包含的干擾因素如表2中Dog1和Singer1序列所示。跟蹤算法在各個視頻序列上進行測試得到的積分值如表3所示。
表3 在各個視頻序列上進行測試得到的積分值(TOP∈(0,0.5])
序列Dog1的跟蹤結(jié)果的第1、800、1 000幀圖像如圖7所示,在初始幀中將男士手中的玩偶作為跟蹤目標,在跟蹤過程中玩偶與攝像機的距離不斷變動,并不斷地旋轉(zhuǎn)。從跟蹤結(jié)果可以看出,本文算法可以實現(xiàn)非常準確的跟蹤。
圖7 對視頻序列Dog1的跟蹤結(jié)果
序列Singer1的跟蹤結(jié)果中第1、175、350幀圖像如圖8所示。在初始幀中將身著白色長裙的歌手作為目標進行跟蹤,由于鏡頭由近及遠不斷移動,同時舞臺燈光由暗轉(zhuǎn)明,又由明轉(zhuǎn)暗,因此對于跟蹤算法來說有兩個非常明顯的干擾因素:目標尺度的變化和環(huán)境的光照變化。實驗結(jié)果表明,本文算法對目標的尺度估計都比較準確。
圖8 對視頻序列Singer1的跟蹤結(jié)果
3.3.3 與其他算法對比實驗
將本文的跟蹤算法與目前跟蹤效果最好的六種跟蹤算法進行對比,分別是:Struck(Structured Output Tracking with Kernels)[8]、TLD、MOSSE(Minimum Output Sum of Squared Error filter)[9]、CT(Compressive Tracking)[10]、STC和MIL。測試視頻序列及其所包含的干擾因素如表2中的Coke和Skating1序列所示。在本節(jié)實驗結(jié)果中,各個跟蹤算法在圖像中對應(yīng)的跟蹤框如每幅圖圖例所示,為了呈現(xiàn)更清楚的實驗結(jié)果,所有跟蹤結(jié)果采用局部裁剪之后圖像顯示。
針對Coke序列,各個算法的跟蹤結(jié)果中的第1、100、189、261幀圖像如圖9所示。在初始幀中將男士手中的易拉罐作為跟蹤目標,由于易拉罐在燈光下快速地運動,在第100幀中目標被隱藏到葉子下方,從跟蹤開始時TLD就發(fā)生漂移,到視頻結(jié)束時只有本文算法依然能夠鎖定目標。
圖9 對視頻序列Coke的跟蹤結(jié)果
序列Skating1的跟蹤結(jié)果中第1、52、190、249幀圖像如圖10所示。在初始幀中將身著藍色上衣、白色短裙的女士作為跟蹤目標,由于女士滑冰的速度時快時慢,頂棚的燈光色彩不斷變化,因此對跟蹤的干擾很強;從第52幀可以看到CT、MIL已經(jīng)跟丟,在視頻序列的最后階段只有本文算法能夠持續(xù)準確地跟蹤目標。
圖10 對視頻序列Skating1的跟蹤結(jié)果
由實驗可見,當跟蹤序列中目標的幀間運動速度過快時,TLD算法由于來不及獲取足夠的樣本從而導致檢測模塊的分類器不夠準確因而很快跟蹤失效,由于其融合模塊在將跟蹤器和分類器的結(jié)果進行融合時,分類器的分類結(jié)果也占有投票權(quán)重,因此這時分類器不僅不能提高整體精度,反而拖累了跟蹤算法的性能。但本文算法中,將靜態(tài)外觀模型與自適應(yīng)模型相結(jié)合,能實現(xiàn)對目標的準確跟蹤。
以上實驗反映的是本文算法和其他目標跟蹤算法在準確性、魯棒性上的優(yōu)勢,其他跟蹤算法采用原作者公開的源碼;在實時性方面,本文算法也具有優(yōu)勢。表4是不同跟蹤算法對Coke和Skating1視頻序列(見表2)進行跟蹤時的處理速度對比。
表4 不同跟蹤算法的處理速度比較
從表4中可以看到,在本文所用的計算機性能一般的情況下每秒平均能夠處理26幀圖像。由于人類眼睛的視覺暫留現(xiàn)象使得每秒24幀時的視頻就已經(jīng)滿足實時性要求了,因此本文的實時性也是較好的。
針對單目標長期跟蹤,本文提出了一種基于靜態(tài)-自適應(yīng)外觀模型糾正的目標跟蹤算法,跟蹤效果良好。取得的成果如下:針對不同類別的干擾因素分別提出了靜態(tài)外觀模型和自適應(yīng)外觀模型,能夠抵御跟蹤環(huán)境和目標本身的干擾因素;針對外觀模型的噪聲問題,將單連接層次聚類算法運用在主體跟蹤算法的外觀模型輸出結(jié)果背景去噪過程中,有效地提高了對目標跟蹤的精度;最后,針對本文算法進行了多組實驗分析,實驗結(jié)果表明,在各種干擾因素存在的條件下,本文算法在長期跟蹤過程中能夠?qū)崿F(xiàn)穩(wěn)定魯棒的跟蹤。
參考文獻(References)
[1] SMEULDER A W, CHU D M, CUCCHIARA R, et al. Visual tracking: an experimental survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(7): 1442-1468.
[2] BABENKO B, YANG M H, BELONGIE S. Robust object tracking with online multiple instance learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(8): 1619-1632.
[3] KALAL Z, MIKOLAJCAYK K, MATAS J. Tracking-learning-detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(7): 1409-22.
[4] ZHANG K, ZHANG L, YANG M H, et al. Fast tracking via spatio-temporal context learning[EB/OL]. [2017- 05- 10]. https: //arxiv.org/abs/1311.1939.
[5] DANELLJAN M, KHAN F, FELSBERG M, et al. Adaptive color attributes for real-time visual tracking[C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2014: 1090-1097.
[6] LUO J, GWUN O. A comparison of SIFT, PCA-SIFT and SURF[J]. International Journal of Image Processing, 2013, 3(4): 143-152.
[7] WU Y, LIM J, YANG M H. Online object tracking: a benchmark[C]// CVPR 2013: Proceedings of the 2013 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2013: 2411-2418.
[8] HARE S, SAFFARI A, TORR P H S. Struck: structured output tracking with kernels[C]// Proceedings of the 2011 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2011: 263-270.
[9] BOLME D S, BEVERIDGE J R, DRAPER B A, et al. Visual object tracking using adaptive correlation filters[C]// Proceedings of the 2010 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2010: 2544-2550.
[10] ZHANG K, ZHANG L, YANG M. Real-time compressive tracking[C]// ECCV 2012: Proceedings of the 12th European Conference on Computer Vision. Berlin: Springer, 2012: 864-877.
[11] KALAL Z, MIKOLAJCZYK K, MATAS J. Forward-backward error: automatic detection of tracking failures[C]// Proceedings of the 2010 20th International Conference on Pattern Recognition. Piscataway, NJ: IEEE, 2010: 2756-2759.
[12] SUPANCIC III, J S, RAMANAN D. Self-paced learning for long-term tracking[C]// CVPR 2013: Proceedings of the 2013 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2013: 2379-2386.
[13] 朱明敏,胡茂海. 基于相關(guān)濾波器的長時視覺目標跟蹤方法[J]. 計算機應(yīng)用, 2017, 37(5): 1466-1470.(ZHU M M, HU M H. Long-term visual object tracking algorithm based on correlation filter[J]. Journal of Computer Applications, 2017, 37(5): 1466-1470.)
This work is partially supported by the Key Science and Technology Program of Guizhou Province (2017GZ60903), the Science and Technology Research Program of Xi’an City (2017086CG/RC049).