專利名稱:一種基于tld的視頻目標跟蹤方法
技術(shù)領(lǐng)域:
本發(fā)明屬于目標檢測與跟蹤領(lǐng)域,特別涉及一種針對當前新興的視頻跟蹤算法TLD的改進。
背景技術(shù):
目標跟蹤是計算機視覺研究領(lǐng)域中的關(guān)鍵問題,其本質(zhì)是根據(jù)參考圖像幀中選定的目標在接下來的圖像幀中尋找目標的最佳位置,并在多個領(lǐng)域有著重要的研究和應(yīng)用價值,如民用領(lǐng)域中的智能交通系統(tǒng),軍事領(lǐng)域中的導(dǎo)航、制導(dǎo)、以及防衛(wèi)等系統(tǒng)。一套性能優(yōu)良的跟蹤系統(tǒng)面臨著多方面的挑戰(zhàn),如跟蹤點變化、光照影響、 快速運動、目標遮擋或消失、復(fù)雜背景等。TLD是一種長期、在線、最少先驗信息的目標跟蹤方法,主要由三個部分組成跟蹤器、檢測器和學(xué)習模塊。跟蹤器部分由一個短周期自適應(yīng)跟蹤器構(gòu)成,在幀間運動有限、目標可見的情況下,用來預(yù)測目標在連續(xù)幀間的運動;檢測器部分為一個高效的級聯(lián)分類器,創(chuàng)建使用了簡單有效圖像特征,可以對目標進行實時的檢測,同時在必要的情況下糾正跟蹤器;學(xué)習模塊評估跟蹤器和檢測器的性能,通過生成有效的訓(xùn)練樣本完成檢測器的更新,消除檢測器誤差。TLD算法的框架結(jié)構(gòu)如圖I所示。在跟蹤目標的起始幀,通過給出目標的位置和大小,完成對TLD算法的初始化;在隨后的跟蹤過程中,對每一幀圖像用跟蹤器和檢測器共同進行處理,跟蹤器根據(jù)前一幀中目標的位置信息來估計當前幀中目標所在的位置,檢測器對當前幀窗口全局掃描,檢測出一個或者多個可能的目標位置,檢測結(jié)果和跟蹤結(jié)果輸入到融合處理模塊,該模塊給出當前幀是否存在目標、目標位置以及到當前幀的跟蹤軌跡是否有效等信息;這些融合處理結(jié)果、聯(lián)合檢測結(jié)果和跟蹤結(jié)果一起輸入到學(xué)習模塊,學(xué)習模塊完成對跟蹤器和檢測器的更新。TLD是一套高效的目標跟蹤算法,只需要較少的先驗信息就可以實現(xiàn)對目標的長期在線跟蹤,運算速度快,實時性高,并且能有效地適用于目標被遮擋或者消失的場合和目標外表在跟蹤過程中發(fā)生變化的情況,因此,對該算法的研究有著極其重要的意義。在對TLD算法進行測試分析和研究的過程中,找出了該算法中存在的一些不足,加以改進,本案由此產(chǎn)生。
發(fā)明內(nèi)容
本發(fā)明的目的,在于提供一種基于TLD的視頻目標跟蹤方法,其對現(xiàn)有的TLD算法進行改進,能夠獲得比TLD算法更理想的視頻目標跟蹤算法。為了達成上述目的,本發(fā)明的解決方案是一種基于TLD的視頻目標跟蹤方法,包括如下步驟(I)在跟蹤目標的起始巾貞,根據(jù)給出的所跟蹤目標的位置和大小信息,生成圖像子窗口,對檢測器進行訓(xùn)練;
(2)跟蹤器根據(jù)目標在上一幀中的位置和大小信息,估計出目標在當前幀中所在的區(qū)域;(3)用檢測器對當前幀進行檢測,找出當前幀中所有可能的目標;(4)對跟蹤器和檢測器的結(jié)果進行融合處理,判斷出當前幀是否存在目標,如果不存在目標,則返回步驟(3)開始對下一幀的處理;如果存在目標,則給出目標位置以及判斷當前幀的跟蹤軌跡是否有效,如果無效,則返回步驟(2),對下一幀進行處理;如果有效,則進入學(xué)習模塊,通過P-N Learning完成檢測器的在線更新,然后回到步驟(2),開始對下一幀進行處理。上述步驟(2)的具體內(nèi)容是(21)目標在上一幀的目標邊界框由其位置和大小信息獲得,由Cell FoT在該邊界框中選擇好的特征點,并通過光流法完成相鄰兩幀間特征點的跟蹤;(22)通過Σ刪除部分經(jīng)過一次光流法后跟蹤失敗的局部跟蹤器,所述Σ包括Nh、Mp 和 NCC ;(23)對經(jīng)由Σ刪除后最終剩余的局部跟蹤器,計算每個局部跟蹤器對應(yīng)的位移以及其距離在相鄰幀間的比例變化值,以位移以及距離比例的中位值分別作為所跟蹤目標邊界框在相鄰幀間的位移變化和大小變化,從而估計得到在當前幀上的目標區(qū)域。上述步驟(22)的詳細內(nèi)容是首先,當前幀的所有局部跟蹤器通過NCC進行刪選;然后,滿足NCC后的局部跟蹤器加入到Nh進行刪選;最后,剩余的局部跟蹤器加入到Mp進行最后的刪選,最終得到的局部跟蹤器用來更新目標邊界框。上述步驟(3)的具體內(nèi)容是(31)使用卡爾曼濾波器和Mp對TLD檢測區(qū)域進行預(yù)測,完成目標在當前幀中大致區(qū)域的預(yù)測;卡爾曼濾波器根據(jù)之前幀中目標的位置,以目標的中心點位置為狀態(tài)量,預(yù)測出當前幀中目標的中心點,以該點為中心劃定一個矩形區(qū)域,且該矩形區(qū)域的大小為上一幀目標面積的4倍,該矩形即為卡爾曼濾波器最終預(yù)測得到的目標區(qū)域;Mp根據(jù)之前幀中目標運動的方向預(yù)測目標在當前幀的運動方向,根據(jù)上一幀目標所在位置,可以在當前幀中劃定一個區(qū)域,目標假定應(yīng)該出現(xiàn)在該區(qū)域中,該區(qū)域即為Mp預(yù)測得到的區(qū)域;(32)對當前幀中所有的圖像子窗口,找出其中與經(jīng)由Kalman預(yù)測得到的目標區(qū)域有交集的子窗口 ;再在其中找出包含于經(jīng)由Mp預(yù)測得到的圖像區(qū)域中的子窗口,這些子窗口即為符合卡爾曼濾波器和Mp共同預(yù)測結(jié)果的子窗口 ;(33)對前述符合預(yù)測結(jié)果的圖像子窗口,加入到檢測器中以判讀子窗口中的圖像是否為目標。上述步驟(4)中,判斷當前幀是否存在目標及目標位置的判據(jù)如下若跟蹤器和檢測器都沒有跟蹤得到或者檢測得到目標信息,則認為當前幀中不含有目標;若跟蹤器和檢測器的結(jié)果中都包含目標位置信息,且檢測器認為其檢測到的區(qū)域被認為非常可能是目標,則以檢測器得到的目標區(qū)域為當前幀上的最終目標位置,否則,當前幀上最終的目標位置為跟蹤器和檢測器目標位置信息的均值;若跟蹤器有目標位置信息,而檢測器沒有得到目標位置信息,則以跟蹤器得到的目標區(qū)域作為當前幀中最終目標的位置;若跟蹤器無目標位置信息,而檢測器包含目標位置信息,則以檢測器檢測得到的區(qū)域作為當前幀上最終的目標位置。
上述步驟(4)中,判斷當前幀的跟蹤軌跡是否有效的判據(jù)如下若判讀當前幀中存在目標,則給出當前幀的跟蹤軌道是否有效的置信值,該值通過計算當前跟蹤所得目標與已加入到在線模型中圖像區(qū)域之間的相似程度得到,當相似程度超過閾值則判定當前所得的跟蹤軌道是有效的。上述步驟(4)中,檢測器的在線更新的過程是在P-N Learning中,定義P結(jié)構(gòu)約束和N結(jié)構(gòu)約束,P結(jié)構(gòu)約束用來表征被分類器分類為negative但是結(jié)構(gòu)約束卻要求其類別應(yīng)該為positive的樣本,要求所有靠近有效跟蹤軌道的圖像區(qū)域其類別標簽應(yīng)該為positive ;N結(jié)構(gòu)約束表征被分類器分類為positive但是結(jié)構(gòu)約束卻要求其類別為negative的樣本,要求所有包圍有效跟蹤軌道的圖像區(qū)域其類別標簽為negative ;P_NLearning通過P結(jié)構(gòu)約束和N結(jié)構(gòu)約束生成有效的訓(xùn)練樣本,形成新 的已標簽訓(xùn)練樣本集,把該樣本集加入到檢測器中,更新檢測器中的集成分類器,同時更新在線目標模型和最近鄰域分類器。采用上述方案后,本發(fā)明具有以下改進(I)在TLD的跟蹤器中采用Cell FoT+ Σ法進行設(shè)計,取代原始TLD算法中的GridFoT+FB+NCC法,該方法不僅具有較強的跟蹤精度和魯棒性,而且也提高了運算速度;(2)在TLD的檢測器中引入Kalman濾波器預(yù)測TLD在當前幀上的目標檢測區(qū)域,從而縮小了 TLD算法中的檢測范圍,在跟蹤精度基本保持不變的情況下提高TLD算法的處理速度;(3)在TLD的檢測器中加入了基于馬爾可夫模型的方向預(yù)測器,提高了 TLD對相似目標交會后的辨識能力。
圖I是現(xiàn)有TLD算法的框架結(jié)構(gòu)圖;圖2是Cell FoT示意圖;圖3是鄰域一致預(yù)測器示意圖;圖4是使用Kalman濾波器對目標運動預(yù)測以減小掃描區(qū)域的示意圖;圖5是馬爾可夫模型的示意圖;圖6是根據(jù)圖5所示馬爾可夫模型預(yù)測當前目標運動方向從而確定檢測區(qū)域的示意圖。
具體實施例方式以下將結(jié)合附圖,對本發(fā)明的技術(shù)方案及有益效果進行詳細說明。本發(fā)明對現(xiàn)有的TLD算法進行了三個方面的改進,以下將進行詳細的介紹。一、基于Cell FoT+ Σ法的TLD跟蹤器設(shè)計TLD的跟蹤器部分采用Cell FoT+ Σ法進行設(shè)計,該方法是一種高效的點跟蹤算法,相比較原始TLD中跟蹤器采用的Grid FoT+FB+NCC法,不僅魯棒性得到加強,處理速度也得到很大的提高。Cell FoT選擇好的特征點進行跟蹤,每個特征點賦予一個局部跟蹤器,允許局部跟蹤器跟蹤好的漂移點。Grid FoT在每次預(yù)測目標全局運動后,局部跟蹤器需重置到原先位置,若初始選擇的跟蹤點不利于跟蹤,則局部跟蹤器易發(fā)生錯誤漂移;而&11 FoT強制每個局部跟蹤器在其特定的單元中,這些單元覆蓋了整個目標區(qū)域,允許局部跟蹤器在其對應(yīng)單元內(nèi)發(fā)生漂移,從而在每個單元中選擇最佳的位置點作為跟蹤點,相比較Grid FoT,效果更優(yōu)。Σ是一個強力高效的預(yù)測器,用來刪除部分跟蹤失敗的局部跟蹤器,由 Nh(Neighborhood consistency constraint predictor)、Mp (Markov predictor)和NCC(Normalized Cross Correlation)組成,其中,Nh為一個鄰域一致預(yù)測器,其思想是相鄰的局部跟蹤器具有相似的運動;Mp為一個馬爾可夫預(yù)測器,其思想是如果局部跟蹤器在過去的最近時刻完好跟蹤則在當前時刻仍能完好跟蹤;NCC是一計算圖像相似程度的方法。Σ預(yù)測器相比較原始TLD中使用的FB+NCC法具有更強的預(yù)測效果,魯棒性強,同時,計算高效,相比較FB+NCC中兩次光流法的運算,Σ只需運算一次光流法,處理速度提高。該算法的整體實現(xiàn)流程如下在跟蹤的起始幀,目標在上一幀的目標邊界框由其位置和大小信息獲得,并在該邊界框中初始化一系列的點,每個點賦予一個局部跟蹤器,接著由光流法完成每個局部跟蹤器的跟蹤,并由Σ刪除部分跟蹤失敗的局部跟蹤器,剩余的局部跟蹤器則用來更新目標邊界框;在后續(xù)跟蹤過程中,對每一幀圖像,由Cell FoT選擇好的局部跟蹤器進行跟蹤,并由Σ作為每個局部跟蹤器跟蹤效果是否優(yōu)良的一種評估手
段,從而刪除部分跟蹤失敗的局部跟蹤器,最終剩余的局部跟蹤器用來完成目標邊界框的更新。其實現(xiàn)步驟是I)首先,由Cell FoT選擇好的特征點Cell FoT強制每個局部跟蹤器在其特定的單元中,這些單元覆蓋了整個目標區(qū)域,允許局部跟蹤器在其對應(yīng)單元內(nèi)發(fā)生一定的漂移,從而在每個單元中選擇最佳的位置點作為跟蹤點。圖2為Cell FoT示意圖,cw和ch分別表示單元的寬和高,該參數(shù)選擇的好壞直接影響局部跟蹤器的獨立性,從而對跟蹤結(jié)果的造成影響,但考慮方法實現(xiàn)的簡單性,選擇cw和ch與網(wǎng)格大小一致。在初始幀,所有的局部跟蹤初始化到每個網(wǎng)格的中心位置;接下來的每一幀,每個局部跟蹤器由光流法進行跟蹤,其位置發(fā)生漂移,同時記錄每個局部跟蹤器當前幀位置與上一幀單元中心位置的位移偏差值;對每一個局部跟蹤器,若超出其對應(yīng)單元,則重新初始化到對應(yīng)單元的中心位置。2)接著,通過Σ刪除部分經(jīng)過一次光流法后跟蹤失敗的局部跟蹤器。①首先,當前幀的所有局部跟蹤器通過NCC進行刪選。對每一個局部跟蹤器,在當前幀以及上一幀以其為中心分別取一個大小為10X10的圖像區(qū)域,計算兩圖像區(qū)域的相似度。取所有局部跟蹤器相似度的中位值,并以此作為刪選標準,將相似度小于該中位值的局部跟蹤器予以刪除。②接著,滿足NCC后的局部跟蹤器加入到鄰域一致預(yù)測器(Nh)進行刪選。對每一個點(局部跟蹤器)i,其鄰域定義為Ni, Ni是一個四鄰域結(jié)構(gòu)(若點i在邊緣,則該點的鄰域上存在3個點;若點i在角落,則該點的鄰域上存在2個點)。該點的鄰域一致系數(shù)定義為Di,為該局部跟蹤器i與其鄰域中其余局部跟蹤器具有相似位移的總個數(shù),其計算公式為A = Σ WaJ - 4 If < P⑴
J.喝L」
「十、丄 μ.-ι fi其中[表達式]=&,β為位移差閾值,設(shè)為O. 5個像素值,Ai為局部跟蹤器i的位移。SDi的值不小于1,則該局部跟蹤器i予以保留。圖3為Nh具體實現(xiàn)過程的一個例子。圖中,局部跟蹤器a、b (較大黑色實心圓)的鄰域為一圓形區(qū)域,該局部跟蹤器以及鄰域邊緣上4個局部跟蹤器(較小黑色實心圓)的位移值由實線箭頭表示。局部跟蹤器a與其鄰域中其余局部跟蹤器中的兩個有相似的運動,則認為該局部跟蹤器與其鄰域有相同的運動趨勢,予以保留;局部跟蹤器b與其鄰域中其余所有局部跟蹤器的運動趨勢相悖,則認為該局部跟蹤器與其鄰域沒有相同的運動趨勢,予以舍棄。③最后剩余的局部跟蹤器加入到馬爾可夫預(yù)測器(Mp)進行最后的刪選,最終得到的局部跟蹤器用來更新目標邊界框。Mp為一個馬爾可夫預(yù)測器,其思想是局部跟蹤器在過去的 最近時刻完好跟蹤則在當前時刻仍能完好跟蹤。對每一個局部跟蹤器i,馬爾可夫模型的狀態(tài)空間定義為{inlier=l,outlier=0},inlier=l表示該局部跟蹤器在當前時刻能夠完好跟蹤,反之亦然。當前預(yù)測狀態(tài)只與上一時刻的狀態(tài)以及狀態(tài)轉(zhuǎn)移矩陣有關(guān)。首先,定義局部跟蹤器i在t時刻的狀態(tài)向量[Pi (xt=l) Pi (Xt=O) ]τ。其中Xt為任一局部跟蹤器在t時刻的狀態(tài)。Pi (Xt=I)表示局部跟蹤器i在t時刻能夠完好跟蹤的概率,該值大于O. 5,則該局部跟蹤器i予以保留,Pi(Xt=O)為其在t時刻跟蹤失敗的概率。Pi(Xt=I)與Pi (Xt=O)兩者之和等于I。接著由馬爾可夫遞推預(yù)測下一時刻的狀態(tài)值
「 PU I T, |V(易=1)=T X(2) lp'(xM =0)J IjZ(Xi=O)-其中I;為局部跟蹤器i在t時刻的狀態(tài)轉(zhuǎn)移矩陣,定義為
Ti P (Χ +ι = 1= O P (xtu =ι|λ( = O) 、T; = .U)
I= 0|x. = I) P1 (X,., = 0|xf =0)馬爾可夫模型的更新即為狀態(tài)轉(zhuǎn)移矩陣的計算,而該狀態(tài)轉(zhuǎn)移矩陣每列之和等于1,因此該狀態(tài)轉(zhuǎn)移矩陣的計算即是P1Uw=I I Xt=I)和P1 (xt+1=l I Xt=O)的計算
I7P ( +! = I\^t = I) = r , P (^7' = I= O) = ~—(4)
K O其中,η: (nQ)表示局部跟蹤器i在(O t)時刻中為inlier (outlier)的次數(shù),nn表示局部跟蹤器i在(O t)時刻中上一時刻和當前時刻都為inlier的次數(shù),n01表示局部跟蹤器i在(O t)時刻中上一時刻為outlier而當前時刻為inlier的次數(shù)。最終,若Pi(Xw=I)的值大于O. 5,則認為該局部跟蹤器i在(t+Ι)時刻能夠完好跟蹤,予以保留。3)最后,對經(jīng)由Σ刪除后最終剩余的局部跟蹤器,計算每個局部跟蹤器對應(yīng)的位移以及其距離在相鄰幀間的比例變化值,以位移以及距離比例的中位值分別作為所跟蹤目標邊界框在相鄰幀間的位移變化和大小變化,從而估計得到在當前幀上的目標區(qū)域。二、基于Kalman濾波器的TLD目標檢測區(qū)域預(yù)測該處改進是在TLD的檢測器中引入Kalman濾波器來對當前幀目標存在的大致區(qū)域進行預(yù)測,將所預(yù)測的目標區(qū)域作為TLD的目標檢測區(qū)域,從而減少TLD算法中的檢測范圍,解決原始TLD算法需掃描整幅圖像的圖像子窗口所帶來的耗時問題,可以在跟蹤精度基本保持不變的情況下提高TLD算法的處理速度。其具體實現(xiàn)步驟如下I)基于Kalman的目標運動預(yù)測Kalman濾波器(卡爾曼濾波器)是一種以狀態(tài)變量的線性最小方差遞推估算的方法,它基于系統(tǒng)以前的狀態(tài)序列對下一個狀態(tài)做最優(yōu)估計,同時利用當前測量值修正估計的狀態(tài),具有無偏、穩(wěn)定、最優(yōu)的特點。其數(shù)學(xué)模型描述為狀態(tài)方程Xk=AXk-Jwk-I (5)觀測方程zk=Hxk+vk(6)其中,Xk為k時刻的系統(tǒng)狀態(tài)向量,Zk為k時刻的系統(tǒng)觀測向量,A為系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣,H為觀測矩陣,Wk^1和Vk是兩個相互獨立的零均值高斯白噪聲,分別表示狀態(tài)轉(zhuǎn)移噪聲和觀測噪聲,其概率分布分別表示為P (w) N (O, Q)、P (V) N (O, R)。矩陣Q和R分別為狀態(tài)轉(zhuǎn)移噪聲和觀測噪聲的協(xié)方差矩陣。選取每幀圖像中目標中心的位置信息來構(gòu)建卡爾曼濾波器中k時刻的的狀態(tài)變量和觀測值。系統(tǒng)狀態(tài)向量Xk= [px Py vx vy]τ (7)觀測向量zk = [zx zy]T(8)其中,Px和Py分別代表目標中心在水平方向和豎直方向上的坐標分量,Vx和Vy分別表示目標在水平方向和豎直方向上的速度。Zx和Zy分別表示在當前幀中觀測到的目標中心在水平方向和豎直方向上的坐標信息。在實際視頻序列中,相鄰兩幀間的時間間隔很短,則認為目標在相鄰兩幀間做勻速運動,系統(tǒng)為線性模型。其狀態(tài)轉(zhuǎn)移陣和觀測矩陣分別為
—I O Ts O]
0 10/A=I , 「,
0 0 10 「10 0 0
H —(y)
0 0 0 1」 L0 I O O其中,Ts表示相鄰兩幀間的時間間隔。狀態(tài)轉(zhuǎn)移噪聲和觀測噪聲的協(xié)方差矩陣Q和R分別設(shè)為Q=10_5I4,R=KT1I2,其中I4為4X4的單位矩陣,I2為2X2的單位矩陣。接著,把上一幀目標跟蹤最終處理得到的目標位置以及當前幀由跟蹤器得到的目標位置加入Kalman濾波器,通過Kalman迭代完成目標位置的預(yù)測。迭代過程分為兩個階段預(yù)測階段和校正階段。①預(yù)測階段負責向前推算當前時刻的狀態(tài)變量以及誤差協(xié)方差估計值。以上一幀的目標跟蹤處理結(jié)果構(gòu)建系統(tǒng)狀態(tài),該系統(tǒng)狀態(tài)包含目標中心在水平方向和豎直方向上的位置以及目標在水平方向和豎直方向上的速度四個分量。接著由該系統(tǒng)狀態(tài)向前推算當前時刻狀態(tài)變量和誤差協(xié)方差估計值。首先,由上一幀目標跟蹤處理結(jié)果構(gòu)建的狀態(tài)變量Xlri向前推算當前時刻狀態(tài)變量的先驗估計,即Xk = Axk_x + W^1C 10)其中,XiT為在已知k時刻以前狀態(tài)情況下當前k時刻的先驗狀態(tài)估計,Xlri為已知測量變量Zlri時在(k-Ι)時刻的后驗狀態(tài)估計(即(k-Ι)時刻的系統(tǒng)狀態(tài)變量)。接著根據(jù)上一時刻的誤差協(xié)方差向前推算當前時刻的誤差協(xié)方差,其方法為Pk =APk—'AT +QUD
其中,if為k時刻先驗估計誤差的協(xié)方差,Plri為(k-Ι)時 刻后驗估計誤差的協(xié)方差。設(shè)起始的協(xié)方差Ptl為4X4的單位矩陣。②校正階段根據(jù)當前時刻的觀測值以及先驗估計來校正后驗概率。以跟蹤器結(jié)果構(gòu)建當前時刻的觀測向量,該觀測向量包含目標中心在水平方向和豎直方向上的位置信息兩個分量。接著由當前時刻的觀測值以及先驗估計來校正后驗概率。首先,計算k時刻的卡爾曼增益Kk,即Kk = P-Ht (HPkHr +R)(12)接著,根據(jù)跟蹤器得到的目標位置信息構(gòu)建的觀測向量Zk更新當前時刻狀態(tài)變量的后驗估計xk,該后驗估計即為當前時刻的系統(tǒng)狀態(tài)值,且該系統(tǒng)狀態(tài)值中包含當前時刻最終的目標中心位置信息,即Xk = -Tfr + Kk {zk — Hxk )(13)最后完成誤差協(xié)方差的更新,以便進入下一次迭代,即Pk=(I-KkH)Pk(14)2)結(jié)合Kalman的TLD目標跟蹤算法TLD所用的實時檢測器是基于窗口掃描的,這種方法需要對整幅圖像區(qū)域中所有圖像子窗口進行掃描匹配,耗時相對較多。因此,通過加入Kalman濾波器預(yù)測當前幀中目標可能出現(xiàn)的大致區(qū)域來減小窗口掃描區(qū)域。具體講,首先由Kalman濾波器預(yù)測當前幀中目標中心點位置,以該點為中心劃定一個矩形區(qū)域。該矩形區(qū)域的大小根據(jù)上一幀目標的大小來定,一般為上一幀目標面積的4倍。接著,對所有的圖像子窗口,找出其中與劃定的矩形區(qū)域有交集的部分,加入到檢測器。最后,檢測器對加入的圖像子窗口判斷目標存在與否。如圖4所示,(a)圖中,通過Kalman濾波器預(yù)測目標存在的大致區(qū)域,圖中由點畫線框表示。圖中A、B、C為部分圖像子窗口,其中子窗口 A和B與點畫線框有重疊我們予以保留并送入到檢測器中進行檢驗(即判斷子窗口中的圖像內(nèi)容是否為所要跟蹤的目標),而子窗口 C與Kalman預(yù)測的區(qū)域無重疊,將被舍去,不予以檢驗。把得到的所有與Kalman預(yù)測區(qū)域重疊的子窗口加入到TLD檢測器中,檢測出可能存在目標的子窗口,將其與TLD的跟蹤器得到的目標位置信息進行融合處理,得到真實的目標區(qū)域,如圖4(b)中實線框所示。三、基于馬爾可夫的目標運動方向預(yù)測TLD能夠很好地適用于多種嚴峻場景,但仍存在一些弊端。當視頻中存在兩個或兩個以上過分相似的目標,這些目標在運動過程中發(fā)生交會形成遮擋,TLD對這些交會后的相似目標的正確辨識能力不強。因此,針對這種特殊場景,引入基于馬爾可夫的目標運動方向預(yù)測模型。馬爾可夫預(yù)測器具有時域一致性,即可以由上一時刻目標的運動趨勢預(yù)測當前時刻的運動趨勢。I)首先,設(shè)計馬爾可夫預(yù)測模型,由上一時刻目標的運動趨勢預(yù)測當前時刻的運動趨勢,即根據(jù)目標在t時刻的運動趨勢預(yù)測其在(t+i)時刻的運動趨勢。在視頻序列中,目標運動是一種2自由度的運動,即水平方向和豎直方向上的運動。因此,對水平方向和豎直方向的運動趨勢分別設(shè)計一個馬爾可夫預(yù)測器。以水平方向為例,其狀態(tài)空間定義為{右=1,左=0},馬爾可夫模型如圖5所示。①首先,定義目標在t時刻的狀態(tài)向量[P (st=l)p (St=O) ]τ。其中,St表示當前目標運動趨勢的狀態(tài),P(St=I) (P(St=O))表示目標在t時刻向右(左)運動的概率,且兩者之和為I。②接著,由上一時刻的狀態(tài)值預(yù)測當前時刻的狀態(tài)
「… >(^+1=1)1 = ) =i,(15)
1_跑+1=o)J L 池=°)J其中,Tt為t時刻的狀態(tài)轉(zhuǎn)移矩陣,定義為
「 T 「池+, =1 丨丨=1) p(si+, =11^=0)1Tt^, 、,(16)
_Pist+i = ο I ^ = I) p(st+l = 014 = 0)馬爾可夫模型的更新即為狀態(tài)轉(zhuǎn)移矩陣的計算,是增量的。而狀態(tài)轉(zhuǎn)移矩陣Tt每列之和為1,因此狀態(tài)轉(zhuǎn)移矩陣的計算即是p(st+1=l|st=l)和p(st+1|st=0)的計算
/Jh(IhΡ(βΜ = 11 ^ = I) = -JTl * p(sr+l = I h, = O) = —^U7)
QhlahQ其中,dhi (dhQ)表示在0 t時刻中目標向右(左)運動的次數(shù);dhn表示在0 t時刻中目標上一時刻和當前時刻都向右運動的次數(shù)Mhtll表示在O t時刻中目標上一時刻向左運動但當前時刻向右運動的次數(shù),其中目標向右(左)運動的判別依據(jù)是相鄰兩幀中目標中心坐標在水平方向上的差值。③最終,若p(st+1=l)值大于O. 5,則認為目標在(t+Ι)時刻有向右的運動趨勢,反之亦然。2)目標在當前時刻的運動方向由馬爾可夫模型預(yù)測得到,接著根據(jù)上一時刻目標確切的位置,可以在當前幀中劃定一個區(qū)域,目標出現(xiàn)在該區(qū)域中才符合馬爾可夫模型對目標運動方向的預(yù)測。圖6為馬爾可夫預(yù)測當前時刻檢測區(qū)域的效果示例圖,運動的人在上一時刻的位置區(qū)域由實線矩形框表示,并在當前時刻由馬爾可夫預(yù)測器得到有向左運動的趨勢。因此,則認為虛線左側(cè)的區(qū)域為當前時刻需要加入檢測器的檢測區(qū)域,而虛線右側(cè)的區(qū)域則不必再去檢測。以上實施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護范圍之內(nèi)。
權(quán)利要求
1.一種基于TLD的視頻目標跟蹤方法,其特征在于包括如下步驟 (1)在跟蹤目標的起始幀,根據(jù)給出的所跟蹤目標的位置和大小信息,生成圖像子窗口,對檢測器進行訓(xùn)練; (2)跟蹤器根據(jù)目標在上一幀中的位置和大小信息,估計出目標在當前幀中所在的區(qū)域; (3)用檢測器對當前幀進行檢測,找出當前幀中所有可能的目標; (4)對跟蹤器和檢測器的結(jié)果進行融合處理,判斷出當前幀是否存在目標,如果不存在目標,則返回步驟(3)開始對下一幀的處理;如果存在目標,則給出目標位置以及判斷當前幀的跟蹤軌跡是否有效,如果無效,則返回步驟(2),對下一幀進行處理;如果有效,則進入學(xué)習模塊,通過P-N Learning完成檢測器的在線更新,然后回到步驟(2),開始對下一幀進行處理。
2.如權(quán)利要求I所述的一種基于TLD的視頻目標跟蹤方法,其特征在于所述步驟(2)的具體內(nèi)容是 (21)目標在上一幀的目標邊界框由其位置和大小信息獲得,由CellFoT在該邊界框中選擇好的特征點,并通過光流法完成相鄰兩幀間特征點的跟蹤; (22)通過Σ刪除部分經(jīng)過一次光流法后跟蹤失敗的局部跟蹤器,所述Σ包括Nh、Mp和NCC ; (23)對經(jīng)由Σ刪除后最終剩余的局部跟蹤器,計算每個局部跟蹤器對應(yīng)的位移以及其距離在相鄰幀間的比例變化值,以位移以及距離比例的中位值分別作為所跟蹤目標邊界框在相鄰幀間的位移變化和大小變化,從而估計得到在當前幀上的目標區(qū)域。
3.如權(quán)利要求2所述的一種基于TLD的視頻目標跟蹤方法,其特征在于所述步驟(22)的詳細內(nèi)容是首先,當前幀的所有局部跟蹤器通過NCC進行刪選;然后,滿足NCC后的局部跟蹤器加入到Nh進行刪選;最后,剩余的局部跟蹤器加入到Mp進行最后的刪選,最終得到的局部跟蹤器用來更新目標邊界框。
4.如權(quán)利要求I所述的一種基于TLD的視頻目標跟蹤方法,其特征在于所述步驟(3)的具體內(nèi)容是 (31)使用卡爾曼濾波器和Mp對TLD檢測區(qū)域進行預(yù)測,完成目標在當前幀中大致區(qū)域的預(yù)測;卡爾曼濾波器根據(jù)之前幀中目標的位置,以目標的中心點位置為狀態(tài)量,預(yù)測出當前幀中目標的中心點,以該點為中心劃定一個矩形區(qū)域,且該矩形區(qū)域的大小為上一幀目標面積的4倍,該矩形即為卡爾曼濾波器最終預(yù)測得到的目標區(qū)域;Mp根據(jù)之前幀中目標運動的方向預(yù)測目標在當前幀的運動方向,根據(jù)上一幀目標所在位置,可以在當前幀中劃定一個區(qū)域,目標假定應(yīng)該出現(xiàn)在該區(qū)域中,該區(qū)域即為Mp預(yù)測得到的區(qū)域; (32)對當前幀中所有的圖像子窗口,找出其中與經(jīng)由Kalman預(yù)測得到的目標區(qū)域有交集的子窗口 ;再在其中找出包含于經(jīng)由Mp預(yù)測得到的圖像區(qū)域中的子窗口,這些子窗口即為符合卡爾曼濾波器和Mp共同預(yù)測結(jié)果的子窗口 ; (33)對前述符合預(yù)測結(jié)果的圖像子窗口,加入到檢測器中以判讀子窗口中的圖像是否為目標。
5.如權(quán)利要求I所述的一種基于TLD的視頻目標跟蹤方法,其特征在于所述步驟(4)中,判斷當前幀是否存在目標及目標位置的判據(jù)如下若跟蹤器和檢測器都沒有跟蹤得到或者檢測得到目標信息,則認為當前幀中不含有目標;若跟蹤器和檢測器的結(jié)果中都包含目標位置信息,且檢測器認為其檢測到的區(qū)域被認為非??赡苁悄繕?,則以檢測器得到的目標區(qū)域為當前幀上的最終目標位置,否則,當前幀上最終的目標位置為跟蹤器和檢測器目標位置信息的均值;若跟蹤器有目標位置信息,而檢測器沒有得到目標位置信息,則以跟蹤器得到的目標區(qū)域作為當前幀中最終目標的位置;若跟蹤器無目標位置信息,而檢測器包含目標位置信息,則以檢測器檢測得到的區(qū)域作為當前幀上最終的目標位置。
6.如權(quán)利要求I所述的一種基于TLD的視頻目標跟蹤方法,其特征在于所述步驟(4)中,判斷當前幀的跟蹤軌跡是否有效的判據(jù)如下若判讀當前幀中存在目標,則給出當前幀的跟蹤軌道是否有效的置信值,該值通過計算當前跟蹤所得目標與已加入到在線模型中圖像區(qū)域之間的相似程度得到,當相似程度超過閾值則判定當前所得的跟蹤軌道是有效的。
7.如權(quán)利要求I所述的一種基于TLD的視頻目標跟蹤方法,其特征在于所述步驟(4)中,檢測器的在線更新的過程是在P-N Learning中,定義P結(jié)構(gòu)約束和N結(jié)構(gòu)約束,P結(jié)構(gòu)約束用來表征被分類器分類為negative但是結(jié)構(gòu)約束卻要求其類別應(yīng)該為positive的樣本,要求所有靠近有效跟蹤軌道的圖像區(qū)域其類別標簽應(yīng)該為positive ;N結(jié)構(gòu)約束表征被分類器分類為positive但是結(jié)構(gòu)約束卻要求其類別為negative的樣本,要求所有包圍有效跟蹤軌道的圖像區(qū)域其類別標簽為negative ;P_N Learning通過P結(jié)構(gòu)約束和N結(jié)構(gòu)約束生成有效的訓(xùn)練樣本,形成新的已標簽訓(xùn)練樣本集,把該樣本集加入到檢測器中,更新檢測器中的集成分類器,同時更新在線目標模型和最近鄰域分類器。
全文摘要
本發(fā)明公開一種基于TLD的視頻目標跟蹤方法,步驟是(1)在跟蹤目標的起始幀,根據(jù)給出的位置和大小信息生成圖像子窗口,對檢測器進行訓(xùn)練;(2)跟蹤器根據(jù)目標在上一幀中的位置和大小信息,估計出目標在當前幀中所在的區(qū)域;(3)用檢測器對當前幀進行檢測,找出當前幀中所有可能的目標;(4)對跟蹤器和檢測器的結(jié)果進行融合處理,判斷當前幀是否存在目標,不存在則返回步驟(3)對下一幀進行處理;存在則給出目標位置以及判斷當前幀的跟蹤軌跡是否有效,無效則返回步驟(2)對下一幀進行處理;有效則完成檢測器的在線更新,回到步驟(2)對下一幀進行處理。此種方法對現(xiàn)有的TLD算法進行改進,獲得比TLD算法更理想的視頻目標跟蹤算法。
文檔編號G06T7/20GK102881024SQ20121030374
公開日2013年1月16日 申請日期2012年8月24日 優(yōu)先權(quán)日2012年8月24日
發(fā)明者周鑫, 錢秋朦, 王從慶, 葉永強 申請人:南京航空航天大學(xué)