張 晶,王 旭,范洪博
昆明理工大學(xué) 信息工程與自動化學(xué)院,昆明 650500
目標(biāo)跟蹤是計算機(jī)視覺領(lǐng)域中的重點(diǎn)研究話題,同時在信息物理融合系統(tǒng)(cyber-physical systems)等工業(yè)混成實(shí)時嵌入式系統(tǒng)感知領(lǐng)域里是一個熱門話題,如視頻監(jiān)控、機(jī)器人技術(shù)等應(yīng)用領(lǐng)域,通過信息融合技術(shù)將不同傳感器獲取的目標(biāo)特征信息進(jìn)行融合并進(jìn)行后臺處理。盡管目標(biāo)跟蹤在現(xiàn)如今得到飛速的發(fā)展,但對于復(fù)雜場景,如光照變化、快速移動、遮擋、背景模糊等場景的目標(biāo)跟蹤仍然具有很高的挑戰(zhàn)性。目前取得良好跟蹤效果的有STC(spatio-temporal context)通過貝葉斯框架對要跟蹤的目標(biāo)和它的局部上下文區(qū)域的時空關(guān)系進(jìn)行建模,得到目標(biāo)和其周圍區(qū)域低級特征的統(tǒng)計相關(guān)性,根據(jù)目標(biāo)運(yùn)動的連續(xù)性再來評估新的一幀中目標(biāo)出現(xiàn)位置的置信圖,置信最大者即為新的一幀的目標(biāo)位置[1];CN(adaptive color attributes for real-time visual tracking)先將RGB空間的圖像映射到CN空間,并使用PCA(principal component analysis)降維,對每一個通道均進(jìn)行快速傅里葉變換(fast Fourier transform,F(xiàn)FT)、核映射后再進(jìn)行訓(xùn)練,并根據(jù)下一幀的核映射求出響應(yīng)圖像,輸出響應(yīng)目標(biāo)[2-4];KCF(high-speed tracking with kernelized correlation filters)對CSK(circulant structure of tracking-by-detection with kernels)[5]進(jìn)行更進(jìn)一步的改進(jìn),同時引進(jìn)了多通道特征,可以使用比灰度特征更好的梯度顏色直方圖(histogram of oriented gradient,HOG)特征或者其他顏色特征等[6-7];ODFS(real-time object tracking via online discriminative feature selection)通過沿著正樣本的最陡上升梯度和負(fù)樣本的最陡下降梯度來迭代優(yōu)化目標(biāo)函數(shù),使得弱分類器的輸出最大化并不斷優(yōu)化分類器[8-9]等,但是傳統(tǒng)的跟蹤器對于全遮擋或者出視角后再出現(xiàn)的目標(biāo)無法持續(xù)跟蹤。因此Kalal等人提出了TLD(tracking-learning-detection)算法[10-11],該算法將跟蹤器與檢測器相結(jié)合,解決了目標(biāo)消失后再出現(xiàn)的無法重新跟蹤的難題,但對于一些復(fù)雜情況,如快速移動、運(yùn)動模糊等破壞了中值光流法的假設(shè)條件,TLD算法的跟蹤器就失去效果,故本文將跟蹤效果好的STC算法結(jié)合TLD算法來解決這個問題。而單純地將STC算法融合到TLD算法中,存在如何判斷STC跟蹤失效的問題。本文提出了一種時空上下文相似性的計算方法,即輸出框保守相似度計算與跟蹤點(diǎn)運(yùn)動相似判斷相結(jié)合的方法。同時針對傳統(tǒng)TLD算法在跟蹤失敗時對檢測出的多個目標(biāo)不進(jìn)行輸出的問題,提出了目標(biāo)時空模型思想,在判定跟蹤失效后保存更新的上下文時空模型,建立目標(biāo)時空模型,利用這個模型對檢測到的多個目標(biāo),相繼求出其置信圖,平均置信圖最大的檢測目標(biāo)作為輸出,隨后更新目標(biāo)時空模型。圖1給出了本文算法在跟蹤失敗后,對檢測出的多目標(biāo)的輸出結(jié)果。其中左側(cè)為跟蹤器認(rèn)定失敗后檢測器檢測到的多個目標(biāo),標(biāo)志為1號、2號框,右側(cè)是本文算法提出的目標(biāo)時空模型對1號和2號求出的置信值,可觀察到1號框平均置信值最大,故輸出1號框作為當(dāng)前目標(biāo)輸出。
TLD算法將傳統(tǒng)的跟蹤算法和傳統(tǒng)的檢測算法相結(jié)合來解決目標(biāo)在被跟蹤過程中發(fā)生的形變、部分遮擋等問題。同時,通過一種改進(jìn)的在線學(xué)習(xí)機(jī)制不斷更新跟蹤模塊的“顯著特征點(diǎn)”和檢測模塊的目標(biāo)模型及相關(guān)參數(shù)。即將跟蹤任務(wù)分為三部分:
檢測器,全幀采用掃描窗口來定位目標(biāo),檢測器是一種級聯(lián)分類器結(jié)構(gòu),將待檢測目標(biāo)區(qū)域依次經(jīng)過方差分類器、集合分類器和最近鄰分類器,從而栓選是目標(biāo)可能性高的子窗口。
跟蹤器,采取中值流跟蹤(median flow tracker)以及加入跟蹤失敗檢測方法,在連續(xù)的相連幀之間利用金字塔LK(Lucaks-Kanade)流法尋找上一幀的若干特征點(diǎn)在當(dāng)前幀的位置,從而估計目標(biāo)運(yùn)動。
學(xué)習(xí)器,采取P-N學(xué)習(xí)算法對當(dāng)前幀更新正負(fù)樣本標(biāo)志位,并把樣本放入訓(xùn)練集用于更新分類器的相關(guān)參數(shù),改善檢測器的精度。
STC算法基于貝葉斯框架,對當(dāng)前幀目標(biāo)矩形確定的局部上下文區(qū)域的圖像灰度與位置進(jìn)行統(tǒng)計建模。通過一些基本的概率公式,計算置信圖找到似然概率最大的位置,即為跟蹤結(jié)果。具體算法論述以及公式含義在文獻(xiàn)[1]中已詳細(xì)介紹,本文只簡要敘述了算法過程:
(1)計算t幀人為選定的矩形框的置信圖以及上下文先驗(yàn)?zāi)P汀?/p>
(2)計算當(dāng)前幀空間上下文模型。
(3)更新空間上下文模型。
(4)利用t幀的上下文區(qū)域在t+1幀計算上下文先驗(yàn)?zāi)P汀?/p>
(5)已知t+1幀的下文先驗(yàn)?zāi)P鸵约翱臻g上下文模型,計算其置信圖。
(6)將t+1幀得到的置信圖最大點(diǎn),作為目標(biāo)在t+1幀的位置,隨后返回第一步繼續(xù)計算下一幀。將每一幀的置信圖的極值點(diǎn)作為目標(biāo)位置輸出。
Fig.1 Target time-space model calculates the output of multi-target圖1 目標(biāo)時空模型對檢測出的多目標(biāo)的輸出計算圖
Fig.2 Tracking point comparison after similarity calculation圖2 相似度計算后前后跟蹤點(diǎn)對比
STC算法通過結(jié)合中值流跟蹤算法融合到TLD算法中,這樣有助于克服TLD中值流算法在跟蹤過程中的缺點(diǎn)。而本文在實(shí)驗(yàn)發(fā)現(xiàn),根據(jù)文獻(xiàn)[12-13]的直接替換思想,將跟蹤結(jié)果的保守相似度大于0.5來驗(yàn)證跟蹤結(jié)果的有效性是不具有魯棒性的,原因如下:如圖2,因部分遮擋導(dǎo)致目標(biāo)變化,保守相似度過低,若采取直接替換的思想則判斷跟蹤無效,但實(shí)驗(yàn)發(fā)現(xiàn)STC跟蹤結(jié)果作為輸出是理想結(jié)果,若不輸出,那么此時算法就要進(jìn)行檢測器的檢測,這樣大大增加了算法的計算周期。為了縮短計算周期,本文引入運(yùn)動相似度的計算[14],如圖右側(cè)是經(jīng)過相似判斷后留下的相似度高的跟蹤點(diǎn)。首先利用傳統(tǒng)的中值流算法,計算得到初始跟蹤點(diǎn)集合(左側(cè)圖),其次將STC算法計算輸出的前后目標(biāo)框中心像素運(yùn)動的位移向量與初始跟蹤點(diǎn)位移向量進(jìn)行相似計算。跟蹤點(diǎn)相似值大于設(shè)定閾值的數(shù)量占比即為此幀的相似度。相似度高于設(shè)定閾值,則直接認(rèn)定跟蹤有效,本文多次實(shí)驗(yàn)后將閾值定為0.5,即在中值法計算得到的區(qū)域,有一半以上的跟蹤點(diǎn)運(yùn)動與前一幀的目標(biāo)運(yùn)動非常相似,根據(jù)目標(biāo)運(yùn)動的連續(xù)性特征,本文將計算結(jié)果輸出。相反的,跟蹤點(diǎn)運(yùn)動相似度低,可能的原因就是目標(biāo)的快速移動、運(yùn)動模糊等噪聲因素破壞了中值流中光流法的假設(shè)條件,但保守相似度的計算過程沒有這個假設(shè)條件,故再進(jìn)行輸出框的保守相似度計算,最終保守相似度高于0.5,判斷跟蹤有效,否則,跟蹤無效,進(jìn)行檢測器檢測。另外,從圖中也可看出中值流算法得到的跟蹤點(diǎn)部分并不是目標(biāo)上的,如左圖樹枝上的跟蹤點(diǎn),那么原TLD算法利用這些跟蹤點(diǎn)進(jìn)行目標(biāo)窗口調(diào)整顯然不夠嚴(yán)謹(jǐn),故本文再次利用運(yùn)動相似度高的跟蹤點(diǎn)(如圖右側(cè))進(jìn)行目標(biāo)窗口調(diào)整會比TLD算法更加準(zhǔn)確得多。
這里的運(yùn)動相似度也可理解為STC算法輸出框與中值流預(yù)測框的運(yùn)動相似對比。相似度計算如下:
首先,利用傳統(tǒng)TLD中值流跟蹤算法得到的跟蹤點(diǎn)以及STC算法輸出的前后框的中心像素點(diǎn)(以下簡稱中心像素點(diǎn))來初始計算點(diǎn)表示第 t-1、t幀的第n位跟蹤點(diǎn),表示STC第t-1、t幀輸出框的中心像素位置。
其次,將跟蹤點(diǎn)位移向量用極坐標(biāo)表示,如下:
最后,將每個跟蹤點(diǎn)與中心像素的距離轉(zhuǎn)換成一種權(quán)值,即相似值,公式如下:
傳統(tǒng)的TLD算法在綜合處理模塊,在跟蹤器失敗,檢測器成功情況下,當(dāng)檢測出一個聚類框時就輸出此目標(biāo),而檢測出多個目標(biāo)時,不輸出任何檢測目標(biāo)。既然檢測出了多個候選目標(biāo),那么真實(shí)的目標(biāo)極大可能是其中的一個,于是本文結(jié)合STC算法求置信圖的機(jī)制,在每次跟蹤器判斷失效時將時空模型存儲下來,本文稱之為目標(biāo)時空模型。隨后在檢測出的每一個候選目標(biāo)上,求其上下文先驗(yàn)?zāi)P?,并對其求置信圖,求解如下:
其中,Cij(x)表示第i個目標(biāo)在時空模型求得的置信圖就是第i個候選目標(biāo)的上下文先驗(yàn)?zāi)P停琁i(x)為其上下文區(qū)域的像素位置的灰度值為中心位置。從此式可知,每一個檢測目標(biāo)i會求得m個置信圖,平均置信值最大的檢測目標(biāo)作為當(dāng)前幀的輸出,一旦輸出后,就要對目標(biāo)時空模型進(jìn)行更新。本文只保留在每一個檢測目標(biāo)中,求得的最大置信圖所對應(yīng)的時空模型即只保留那些求到過最大置信圖的時空模型。如圖1,1號框求得最大置信圖模型下標(biāo)為3、4,2號框求得最大置信圖的下標(biāo)為3、4,即最終的目標(biāo)時空模型更新為
因經(jīng)過窗口調(diào)整后,目標(biāo)輸出框大小會發(fā)生變化,即前一幀更新得到的時空模型與利用當(dāng)前輸出框計算得到的空間模型大小會不一致。為了很好地進(jìn)行空間模型的更新,本文采取的是中心位置對齊后的更新方式,將文獻(xiàn)[1]中的時空模型更新公式改進(jìn)為:
其中…⊕…表示中心位置對齊后數(shù)據(jù)進(jìn)行加法計算,具體過程如圖3所示,最左側(cè)圖像表示在t幀上,紅色方框是利用t-1幀更新得到的時空模型區(qū)域。那么根據(jù)STC算法,下一步進(jìn)行的是利用t幀的目標(biāo)學(xué)習(xí)得到上下文空間模型,然后進(jìn)行時空模型更新得到下一幀的時空模型但是本文算法最終的目標(biāo)框大小可能改變,如圖中間部分,目標(biāo)框變大,最終學(xué)習(xí)的上下文空間模型比大,因此本文采取中心對齊的融合更新方法,如圖右側(cè)的藍(lán)色框,同時也保留了上下文擴(kuò)大出來的部分?jǐn)?shù)據(jù)。同理,目標(biāo)框變小后也使用這樣的更新方式,即本文的時空模型更新可以適應(yīng)目標(biāo)變化而自適應(yīng)更新。
(1)初始化跟蹤框。
(2)檢測器的學(xué)習(xí)。
(3)跟蹤模塊:利用STC目標(biāo)跟蹤器計算下一幀目標(biāo)圖像塊,并利用3.1節(jié)計算此目標(biāo)的運(yùn)動相似度,相似度S高于設(shè)定閾值0.5,則認(rèn)定跟蹤有效,并利用運(yùn)動相似度高的跟蹤點(diǎn)進(jìn)行目標(biāo)窗口調(diào)整,否則,計算該圖像塊kbb的保守相似度大于設(shè)定閾值0.5即跟蹤有效,相反的跟蹤判定無效,保留此時的時空模型,放入目標(biāo)時空模型。
(4)檢測模塊:對全幀逐步子窗口的檢測,并對通過檢測器的圖像塊進(jìn)行聚類,對每個聚類框dbbi求其保守相似度
(5)綜合處理模塊:綜合處理模塊如算法1所示,算法第1~8行為跟蹤有效的處理過程。首先采取STC跟蹤輸出框相似度S和保守相似度判定跟蹤有效;其次檢測器輸出的聚類框保守相似度大于跟蹤輸出框的且兩者的重疊度O(kbb,dbb)<0.5,若最終滿足這兩個條件的聚類框就一個,即直接輸出,否則對滿足條件O(kbb,dbbi)>0.7的聚類框與跟蹤框進(jìn)行加權(quán)輸出。若跟蹤判定無效,檢測成功,過程為第9~14行,對檢測到的唯一聚類框直接作為目標(biāo)輸出,否則采取3.2節(jié)的方法,用目標(biāo)時空模型對每個聚類框求解置信圖,平均值最大者輸出,并更新目標(biāo)時空模型。若跟蹤無效,檢測器無聚類輸出,即目標(biāo)丟失。
Fig.3 Learn of spatial context model for TLD-STCS algorithm for target scale expansion圖3 TLD-STCS算法對目標(biāo)尺度擴(kuò)展的空間模型學(xué)習(xí)圖
(6)學(xué)習(xí)與更新:TLD算法通過在線學(xué)習(xí)對檢測器進(jìn)行更新,STC算法對綜合處理模塊的輸出框采取3.3節(jié)的更新方法,而目標(biāo)時空模型在STC跟蹤輸出框判定無效時,將當(dāng)前幀的時空模型放入目標(biāo)時空模型中,其更新機(jī)制采取3.2節(jié)的方法。圖4給出了本文TLD算法的學(xué)習(xí)模塊、檢測器模塊、STC跟蹤器的空間模型以及目標(biāo)時空模型的學(xué)習(xí)和更新的具體過程。
(7)跟蹤下一幀,返回步驟(3)。
算法1綜合處理模塊過程
Fig.4 Learning and updating process block diagram圖4 學(xué)習(xí)與更新過程方框圖
為驗(yàn)證本文算法的魯棒性,將本文算法與TLD和STC算法進(jìn)行對比驗(yàn)證,均是公開的C++代碼。而實(shí)驗(yàn)的視頻資源來自吳毅老師發(fā)表的目標(biāo)跟蹤評測文章[15]提到的評測視頻庫,保證實(shí)驗(yàn)的可信度。
本文算法是在TLD公開的多尺度C++代碼上改寫的,主要增加了目標(biāo)時空模型、相似度判斷以及引入STC算法,具體算法運(yùn)行速度如表1。本文的實(shí)驗(yàn)環(huán)境為Intel?i5-4590 3.30 GHz處理器、8 GB內(nèi)存,軟件環(huán)境為Win7+VS2013+OpenCV。本文采取文獻(xiàn)[9]提供的Ground truth以及初始框的位置與大小,實(shí)驗(yàn)序列包括目標(biāo)旋轉(zhuǎn)、遮擋、形變、快速運(yùn)動等挑戰(zhàn)條件,在相關(guān)網(wǎng)站(http://www.visual-tracking.net)選擇了11個測試視頻序列,共有7 428幀。
本文采用精度與成功率來檢測算法的性能。文獻(xiàn)[5]給出這兩種評測方法的詳細(xì)概念和計算公式,本文就不再敘述。3種跟蹤算法的精度圖與跟蹤成功率圖如圖5、圖6所示,通過對11個視頻序列的跟蹤,綜合這兩種評測標(biāo)準(zhǔn),可以看出本文算法的精度和成功率明顯高于STC和TLD算法。以下就對不同的跟蹤算法結(jié)合實(shí)驗(yàn)結(jié)果以及部分截圖進(jìn)行具體分析。
Fig.5 Test accuracy of video sequences圖5 測試視頻序列的精度圖
Fig.6 Test success rate of video sequences圖6 測試視頻序列的成功率
Fig.7 Screenshots of illumination change and rotary deformation圖7 光照變化及旋轉(zhuǎn)變形部分截圖
在測試視頻序列中,David視頻序列存在劇烈的光照變化,Panda以及Sylvester視頻序列存在目標(biāo)變形以及旋轉(zhuǎn)挑戰(zhàn)。從圖5的Panda精度圖可以看到,在中心誤差閾值取值小于15時,STC算法成功率小于0.2,TLD算法成功率小于0.4,而本文算法達(dá)到了0.72。主要是因?yàn)樵谀繕?biāo)被遮擋后,STC算法發(fā)生跟蹤漂移,TLD算法因目標(biāo)形變過大,跟蹤失效后檢測失敗,如圖7第1行的#449,而后的#581到#765這段視頻序列,TLD算法因目標(biāo)形變過大而多次跟蹤失敗。但本文結(jié)合跟蹤器STC在光流法跟蹤失敗以及檢測到多候選目標(biāo)時,采取本文的目標(biāo)時空模型機(jī)制,輸出其最大置信值的檢測目標(biāo),具有良好的跟蹤效果,如#581、#765。圖7的第2行是David視頻序列跟蹤結(jié)果部分截圖,STC算法跟蹤結(jié)果與本文算法差距不大,從#496、#561、#770可以看出TLD算法的跟蹤中心位置誤差以及跟蹤重疊率低于其他兩種算法,具體的跟蹤數(shù)據(jù)如圖5的David精度圖和圖6的David成功率圖。圖7的第3行是目標(biāo)旋轉(zhuǎn)的跟蹤效果部分截圖,STC算法在#1177后跟蹤就發(fā)生了漂移,而本文算法與TLD算法有跟蹤恢復(fù)機(jī)制,從而可以持續(xù)跟蹤,從圖5的Sylvester精度圖可以看出TLD算法與本文算法差距不大,但是從圖6對于視頻序列的成功率圖可以看出,在重疊閾值大于0.4時,本文算法的成功率大于TLD算法,即跟蹤的準(zhǔn)確性優(yōu)于TLD算法。3種算法對3個測試視頻序列的運(yùn)行速度從表1可見,除了David視頻序列,其他兩個都有所提高。
在測試視頻序列中,本文選擇了Boy、Jumping、BlurCar1、BlurOwl這4個視頻序列,都存在目標(biāo)快速移動及運(yùn)動模糊情景。從圖8第1行的Boy視頻序列部分截圖可以看出,STC算法在#572后跟蹤發(fā)生漂移,而本文算法仍然持續(xù)準(zhǔn)確跟蹤。在圖5的Boy精度圖中本文算法的平均中心位置誤差優(yōu)于TLD算法,而從圖6的Boy成功率圖也可以看出,本文算法在重疊閾值取值偏高時的成功率也優(yōu)于TLD算法。而從圖5、圖6的Jumping精度圖以及成功率圖可以看出本文算法最優(yōu),部分截圖如圖8第2行。圖8第3行是BulrCar1視頻序列部分結(jié)果截圖,TLD算法在#181后跟蹤效果不理想,輸出框也很小。從圖5、圖6的BlurCar1中心位置誤差及跟蹤成功率圖可得STC算法的跟蹤效果優(yōu)于TLD算法。本文因結(jié)合了STC跟蹤器,所以改進(jìn)了原本TLD的跟蹤不足,對TLD跟蹤失敗的幀具有良好的跟蹤輸出,如#371、#742,最終在表2中,其平均跟蹤重疊率提高到了66%,相比TLD提高了46%。同理,對于BlurOwl序列的跟蹤結(jié)果,TLD算法優(yōu)于STC算法,在目標(biāo)運(yùn)動模糊且快速的情景中,本文算法也可部分跟蹤有效,如圖8第4行的#363。從圖5的BlurOwl中心位置誤差圖中可以看出,本文算法在閾值偏高時漸漸處于優(yōu)勢。而從圖6的BlurOwl跟蹤成功率圖中可以看出,本文算法的平均跟蹤成功率優(yōu)于其他兩種算法。
本文選擇KiteSurf、FaceOcc1、Faceocc2視頻序列來測試本文算法在目標(biāo)被遮擋再出現(xiàn)情況下的跟蹤性能,從圖5的KiteSurf可以看出,本文算法的中心位置誤差圖與TLD算法基本一致,優(yōu)于STC算法。在圖6相對應(yīng)的成功率圖,本文算法比STC算法跟蹤成功率提高了很多,而從圖6的KiteSurf成功率圖可以看出,在重疊度取0.1后STC算法的成功率驟降,而本文算法雖然也降了但幅度很小,主要是因?yàn)楸疚乃惴ǖ幕謴?fù)跟蹤機(jī)制,其跟蹤成功率總體與TLD算法差距也不大。在FaceOcc1視頻序列中,從圖5對應(yīng)的中心位置誤差圖及圖6對應(yīng)的跟蹤成功率圖可以看出,本文算法與TLD算法總體差距不大,但中心位置誤差相對STC算法提高了0.4,跟蹤成功率也提高了,部分跟蹤結(jié)果如圖9第2行。而在FaceOcc2視頻序列中,目標(biāo)不光有遮擋干擾,還存在旋轉(zhuǎn)、光照變化等因素,導(dǎo)致TLD算法跟蹤輸出窗口預(yù)測錯誤,如圖9第3行的#258、#722。而從圖5的FaceOcc2中心位置誤差圖可以看出,STC算法因跟蹤漂移導(dǎo)致跟蹤效果低于TLD算法,本文算法跟蹤效果處于兩者之間。而跟蹤成功率,在重疊閾值取0.1后,本文算法就區(qū)別于TLD算法且優(yōu)于它。而STC算法最終因遮擋過度導(dǎo)致跟蹤漂移,如#812。從表2可以看出,對具有遮擋挑戰(zhàn)的這3個視頻序列,本文算法的平均跟蹤重疊率較TLD算法差距不大,且本文對遮擋挑戰(zhàn)具有一定的魯棒性。而從總體的跟蹤平均重疊率可以看出,本文算法優(yōu)于STC和TLD算法。因目標(biāo)的快速移動以及背景模糊,本文算法提高了準(zhǔn)確度,其運(yùn)行速度相對TLD算法,差距并不大,可從表1觀察得到。
Table 1 Average speed of tracking algorithms表1 跟蹤算法的平均運(yùn)行速度 f/s
Table 2 Average overlap rate of tracking results表2 跟蹤結(jié)果的平均重疊率 %
Fig.8 Screenshots of fast movement and motion blur圖8 快速移動及運(yùn)動模糊部分截圖
Fig.9 Screenshots of occlusion and object scale change圖9 遮擋、目標(biāo)尺度變化部分截圖
圖9最后一行是本文選擇CarScale這個視頻序列,對一組尺度變化目標(biāo)的跟蹤測試結(jié)果。從測試的#156、#168可以看出,STC算法因目標(biāo)被遮擋而導(dǎo)致跟蹤漂移,最終跟蹤失??;而TLD算法因目標(biāo)窗口選取所有跟蹤點(diǎn)進(jìn)行窗口調(diào)整,從而受一些錯誤跟蹤點(diǎn)(遮擋物上的跟蹤點(diǎn))的影響,導(dǎo)致窗口調(diào)整過度,從而對目標(biāo)的學(xué)習(xí)不夠準(zhǔn)確,最終跟蹤失敗;而采取本文算法的時空上下文相似性方法,前后中值光流法跟蹤點(diǎn)運(yùn)動相似度高,并利用這些跟蹤點(diǎn)進(jìn)行窗口調(diào)整再輸出目標(biāo)。當(dāng)遮擋等因素破壞了光流法的假設(shè)條件或者前后預(yù)測到的跟蹤點(diǎn)錯誤,那么它們的運(yùn)動就會有區(qū)別,此時采取光流預(yù)測的方法就不可行,但避免直接跳到檢測模塊,本文結(jié)合保守相似度再來驗(yàn)證有效性,即在光流法跟蹤失敗后,再考慮保守相似度的方法。從圖5的中心偏差可以看出本文算法跟蹤更加準(zhǔn)確。同樣的從圖6的重疊度看出,本文算法的成功率提高了接近0.5個百分點(diǎn)。兩者相似度計算的結(jié)合進(jìn)行跟蹤有效性判斷,降低了算法的計算周期,從表1可以看出,算法平均運(yùn)行速度相比TLD算法提高了6 f/s,最終準(zhǔn)確跟蹤到目標(biāo),如#168、#191紅色框。故本文算法在目標(biāo)尺度變換方面也具有一定的魯棒性。
本文提出了一種基于時空上下文的TLD目標(biāo)跟蹤算法。該算法結(jié)合STC算法和TLD算法,并提出了相似度的判斷方法,即中值流跟蹤點(diǎn)與STC跟蹤結(jié)果的目標(biāo)框運(yùn)動的相似計算,將相似度判斷方法與保守相似度計算結(jié)合來判定跟蹤是否有效。同時分析了TLD算法的綜合模塊在跟蹤失效后檢測到多目標(biāo)時不進(jìn)行目標(biāo)輸出的問題,本文結(jié)合STC算法置信圖計算機(jī)制,提出了目標(biāo)時空模型機(jī)制,在本文算法的跟蹤器無效而檢測器檢測到多目標(biāo)時,對每個檢測目標(biāo)位置計算其置信圖,置信圖最大的位置作為當(dāng)前幀的輸出,從而大大提高了跟蹤的成功率。最后大量實(shí)驗(yàn)結(jié)果表明,本文的TLD-STCS算法,性能更優(yōu)秀,超過了STC和TLD算法。針對TLD跟蹤器的不足以及綜合處理模塊的缺點(diǎn),本文提出的思想能夠有效地解決,從而大大提高了跟蹤成功率和魯棒性。然而,本文算法沒有對多目標(biāo)跟蹤進(jìn)行探究,下一步的工作重點(diǎn)放在多目標(biāo)的跟蹤上。