呂韻秋,劉凱,程飛
目標(biāo)跟蹤技術(shù)是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向之一,其目的是在給定第一幀目標(biāo)位置的基礎(chǔ)上自動預(yù)測后續(xù)幀中的目標(biāo)位置。該技術(shù)在行為檢測、視頻監(jiān)控、智能交通等領(lǐng)域具有廣泛的應(yīng)用。在空間信息網(wǎng)絡(luò)技術(shù)中,跟蹤算法具有重要的作用。近年來,隨著單目標(biāo)跟蹤技術(shù)的不斷發(fā)展,許多算法已經(jīng)能夠在輕度遮擋和慢速運(yùn)動的簡單場景中對目標(biāo)進(jìn)行穩(wěn)定的跟蹤。然而,由于背景雜亂、嚴(yán)重遮擋和目標(biāo)形變的影響,復(fù)雜場景中的目標(biāo)跟蹤仍然是一個(gè)復(fù)雜且極具挑戰(zhàn)性的任務(wù)。
跟蹤算法通?;谄渫庥^模型分為生成算法和判別算法。生成算法通過對當(dāng)前幀中目標(biāo)區(qū)域進(jìn)行建模,在下一幀中搜索與該外觀模型最相似的區(qū)域作為預(yù)測位置。增量視覺[1](IVT, incremental visual tracking)跟蹤方法是經(jīng)典的生成式算法之一,該算法利用增廣子空間模型減小外觀變化的影響。在1l跟蹤器中[2],該算法利用目標(biāo)模板和碎片模板的稀疏線性組合對目標(biāo)進(jìn)行建模。為減少計(jì)算量,Li等[3]使用正交追蹤算法對1l跟蹤器進(jìn)行加速。判別算法將跟蹤問題轉(zhuǎn)化為一個(gè)二分類問題,以目標(biāo)區(qū)域?yàn)檎龢颖?,背景區(qū)域?yàn)樨?fù)樣本,使用機(jī)器學(xué)習(xí)方法訓(xùn)練分類器,在下一幀中使用訓(xùn)練好的分類器找到最優(yōu)區(qū)域。在線多示例學(xué)習(xí)(MIL, multiple instance learning)跟蹤方法中,Babenko等[4]提出將多個(gè)樣本放入正、負(fù)樣本集中,使用自提升集成學(xué)習(xí)方法(boosting)進(jìn)行訓(xùn)練。跟蹤—學(xué)習(xí)—檢測[5](TLD, tracking-learning-detection)跟蹤方法將跟蹤算法和檢測算法結(jié)合并通過在線學(xué)習(xí)機(jī)制對二者進(jìn)行更新。Hare等[6]使用在線結(jié)構(gòu)化輸出支持向量機(jī)自適應(yīng)地跟蹤目標(biāo)。
最近,基于相關(guān)濾波器的跟蹤方法引起了人們的廣泛關(guān)注。該方法將卷積運(yùn)算轉(zhuǎn)換為傅里葉域上的乘法運(yùn)算,從而減少了計(jì)算量。Bolme等[7]設(shè)計(jì)了一個(gè)最小平方誤差和輸出自適應(yīng)相關(guān)濾波器,并在每一幀中用所訓(xùn)練的濾波器對目標(biāo)外觀進(jìn)行編碼。在基于循環(huán)矩陣結(jié)構(gòu)(CSK, circulant structure kernel)的跟蹤算法中,Henriques等[8]對給定的圖像塊進(jìn)行循環(huán)移位得到訓(xùn)練樣本,并利用這些樣本在核空間中訓(xùn)練了一個(gè)相關(guān)濾波器。核相關(guān)濾波器[9](KCF, kernelized correlation filter)跟蹤算法將CSK中使用的光線強(qiáng)度特征替換為HOG特征,增強(qiáng)了模型的可靠性。
然而,一旦目標(biāo)發(fā)生遮擋,外觀模型受到噪聲干擾,大多數(shù)算法的跟蹤可能會發(fā)生漂移甚至丟失目標(biāo)。針對該問題,國內(nèi)外學(xué)者提出了很多解決方法。子塊匹配法[10-12]將目標(biāo)分成若干個(gè)子塊分別進(jìn)行跟蹤,該方法能夠?qū)ξ幢徽趽醯牟糠謱?shí)現(xiàn)有效跟蹤,但是子塊的大小和數(shù)量會對跟蹤效果產(chǎn)生嚴(yán)重影響。軌跡預(yù)測法[13-14]利用目標(biāo)位置、速度、加速度等信息預(yù)測目標(biāo)在下一幀的位置。但當(dāng)目標(biāo)做無規(guī)則運(yùn)動時(shí),跟蹤效果會出現(xiàn)較大滑坡。貝葉斯預(yù)測法[15]使用粒子濾波并將跟蹤問題轉(zhuǎn)化為一個(gè)貝葉斯后驗(yàn)概率最大化問題。但在長時(shí)間跟蹤中,隨著迭代次數(shù)增加,粒子群很可能出現(xiàn)退化現(xiàn)象,嚴(yán)重影響跟蹤效果。
本文針對目標(biāo)跟蹤過程中的遮擋問題,提出一種基于點(diǎn)軌跡的核相關(guān)濾波跟蹤算法。點(diǎn)軌跡是指利用密集光流在視頻序列中追蹤稀疏采樣點(diǎn)形成的運(yùn)動軌跡,能夠有效地反映物體的運(yùn)動特征。從長期看,當(dāng)遮擋發(fā)生時(shí),目標(biāo)與遮擋物的運(yùn)動方向和速度不同。因此,該算法通過分析視頻中采樣點(diǎn)的長期運(yùn)動軌跡,將每一幀中的點(diǎn)軌跡標(biāo)記為目標(biāo)或背景,從而預(yù)測目標(biāo)在當(dāng)前幀的狀態(tài)并判斷目標(biāo)是否發(fā)生了遮擋或漂移。由于KCF跟蹤算法具有較好的實(shí)時(shí)性并且能夠解決一部分遮擋問題,因此,所提算法基于 KCF算法對遮擋問題進(jìn)行研究。所提算法主要分為3個(gè)步驟:1)使用 KCF作為預(yù)跟蹤器預(yù)測目標(biāo)大致位置;2)對預(yù)測位置周圍區(qū)域的點(diǎn)軌跡進(jìn)行分類,判斷目標(biāo)框中前景點(diǎn)是否占多數(shù),如果在目標(biāo)框內(nèi)的點(diǎn)大部分為背景點(diǎn),則認(rèn)為目標(biāo)發(fā)生遮擋;3)如果目標(biāo)漂移或被嚴(yán)重遮擋,使用顏色直方圖和巴氏距離重新檢測目標(biāo)位置。實(shí)驗(yàn)結(jié)果表明,所提算法能夠取得良好的效果,并且對于跟蹤過程中的漂移、遮擋、目標(biāo)形變等問題具有較強(qiáng)的頑健性。
由于 KCF算法具有較高的效率和準(zhǔn)確率,因此所提算法將其作為預(yù)跟蹤器,得到目標(biāo)的大致位置并確定目標(biāo)的搜索區(qū)域。本節(jié)簡單介紹了 KCF跟蹤算法,讀者可參考文獻(xiàn)[9]進(jìn)一步了解該方法的實(shí)現(xiàn)細(xì)節(jié)。
KCF算法的主要思路是根據(jù)當(dāng)前幀和之前幀的信息訓(xùn)練出一個(gè)濾波器w,然后與下一幀進(jìn)行相關(guān)性計(jì)算,將響應(yīng)值最大的樣本作為跟蹤結(jié)果。在當(dāng)前幀中,以目標(biāo)位置為中心,取一個(gè)訓(xùn)練圖像塊x,其尺寸為M×N。對該圖像塊進(jìn)行循環(huán)移位得到訓(xùn)練樣本 xm,n,m,n ∈ {0 ,1,… ,M ? 1 } × { 0 ,1,… ,N ?1}。將訓(xùn)練樣本 xm,n與濾波器w進(jìn)行相關(guān)性計(jì)算,使用嶺回歸方法最小化相關(guān)性計(jì)算結(jié)果和輸出 y的平方誤差,對w進(jìn)行訓(xùn)練,有
其中,λ為歸一化參數(shù), y (m,n)為 xm,n的標(biāo)簽值,φ(?)為映射函數(shù),該函數(shù)將樣本映射到一個(gè)希爾伯特空間中,使其在該空間內(nèi)線性可分。φ(?)的具體形式未知,但能夠用核函數(shù)K計(jì)算其點(diǎn)積φ′( x ) φ ( x ′ ) = K(x,x′)。輸出y是服從高斯分布的,其在訓(xùn)練圖像塊上取值為 1,而在其他移位圖像塊中的取值逐漸減小為0。
其中,F(xiàn)(?)和F?1(?)分別表示離散傅里葉變換(DFT)及其逆變換,y為標(biāo)簽集合。文獻(xiàn)[9]中定理描述如下:給定循環(huán)矩陣 C ( x),如果一個(gè)核函數(shù)對于任意排列矩陣B滿足 K ( x,x′ ) = K ( B x, B x′),則其對應(yīng)的核矩陣是循環(huán)矩陣。因此,如果核函數(shù)滿足該定理,式(2)可寫為
其中,kxx為核函數(shù) K = C ( kxx)的第一行。
對于一個(gè)新的尺寸為M×N圖像塊z,可由式(4)計(jì)算其置信圖為
其中,⊙表示元素與元素之間的乘積,kxz為K = C ( kxz)的第一行。將式(4)中的響應(yīng)值 f?(z)變換到空間域中,則響應(yīng)值 f (z)最大的樣本為KCF算法得到的跟蹤結(jié)果。
本節(jié)主要介紹了基于點(diǎn)軌跡的遮擋處理算法。該算法首先將核相關(guān)濾波器跟蹤作為預(yù)跟蹤器得到目標(biāo)的預(yù)測位置,在該位置周圍生成點(diǎn)軌跡;然后使用譜聚類方法對點(diǎn)軌跡聚類,對過分割所產(chǎn)生的多余的類進(jìn)行合并;最終將點(diǎn)軌跡標(biāo)記為目標(biāo)類和背景類。根據(jù)預(yù)測目標(biāo)框中2類點(diǎn)軌跡的分布情況,判斷目標(biāo)被遮擋的情況。記錄未發(fā)生遮擋時(shí)的目標(biāo)樣本作為模板,如果發(fā)生遮擋,取候選樣本,計(jì)算候選樣本與模板之間的相似度,將響應(yīng)值最大的樣本作為最終跟蹤結(jié)果。
通過對視頻序列進(jìn)行分析,可將遮擋的情況分為以下2種:目標(biāo)與遮擋物的方向相反;目標(biāo)與遮擋物的方向相同但速度不同,從而相互靠近導(dǎo)致遮擋發(fā)生。因此,從長期角度看,目標(biāo)與遮擋物的運(yùn)動方向或運(yùn)動速度不同,通過分析目標(biāo)及其周圍物體像素點(diǎn)的長期運(yùn)動軌跡,能夠判斷目標(biāo)是否被遮擋。
為了得到物體的長期運(yùn)動軌跡,需要對物體中每個(gè)像素點(diǎn)的歷史運(yùn)動規(guī)律進(jìn)行分析。點(diǎn)軌跡利用光流方法對第一幀中生成的像素點(diǎn)進(jìn)行跟蹤,從而在視頻序列中得到一條運(yùn)動軌跡。點(diǎn)軌跡的質(zhì)量依賴于光流方法的準(zhǔn)確性,因此,算法選取效果較好的大位移光流法(LDOF, large displacement optical flow)[16]和 Lucas-Kanade方法[17]用于測試視頻序列。由于算法的計(jì)算復(fù)雜度與點(diǎn)軌跡的數(shù)量成正比,則對搜索區(qū)域中所有的像素點(diǎn)進(jìn)行跟蹤會降低算法的速度,為了減少計(jì)算量,點(diǎn)軌跡在以預(yù)跟蹤器結(jié)果為中心的取樣區(qū)域中進(jìn)行下采樣。取下采樣因子為c,在原始圖像中使用尺寸為cc×的窗口進(jìn)行滑動,在每個(gè)窗口中隨機(jī)選取一個(gè)像素點(diǎn),則對于一個(gè)尺寸為MN×的圖像,樣本的數(shù)量由MN×減少到了。由于物體外觀變化或光流誤差等原因,點(diǎn)軌跡在向后續(xù)幀傳遞的過程中有可能由一個(gè)物體漂移到其他物體上,因此,需要清除這些點(diǎn)軌跡,避免一個(gè)點(diǎn)軌跡同時(shí)具有目標(biāo)和遮擋物的特征,從而導(dǎo)致標(biāo)記錯(cuò)誤。在非遮擋情形下,像素點(diǎn)的前向和反向光流的方向相反,并且當(dāng)后一幀的點(diǎn)軌跡反向映射到前一幀時(shí),應(yīng)落在前一幀對應(yīng)像素點(diǎn)的周圍區(qū)域內(nèi)。因此,可以通過定義一致性條件檢測點(diǎn)軌跡是否發(fā)生漂移,一致性條件由式(5)和式(6)給出。
其中,tω表示點(diǎn)的前向流向量,?tω表示后向流向量。式(6)右側(cè)為算法所設(shè)置的容忍區(qū)間,允許點(diǎn)軌跡在傳遞過程中出現(xiàn)一定的誤差,該值的大小與光流大小呈線性關(guān)系。如果不滿足式(5)和式(6)定義的一致性條件,則認(rèn)為點(diǎn)軌跡在該幀中發(fā)生了漂移。
前向—反向光流匹配準(zhǔn)則示意如圖1所示,點(diǎn)a和點(diǎn)b表示點(diǎn)軌跡在第t幀和第 1t+幀的位置,點(diǎn)a′表示點(diǎn)a在第 1t+幀中的映射。箭頭①和箭頭②分別表示前向光流向量和反向光流向量,箭頭③和箭頭④分別表示點(diǎn)軌跡的前向和反向運(yùn)動過程,箭頭⑤表示漂移情況下點(diǎn)軌跡的反向運(yùn)動過程。當(dāng)點(diǎn)軌跡未發(fā)生漂移時(shí),反向光流將第 1t+幀中的點(diǎn)b映射到灰色區(qū)域所表示的容忍區(qū)間中,如箭頭④所示;若發(fā)生漂移,該點(diǎn)被反向光流映射到了圖 1左側(cè)容忍區(qū)間外的點(diǎn)c上,如箭頭⑤所示。由箭頭①和箭頭②可得,當(dāng)點(diǎn)軌跡未發(fā)生漂移時(shí),前向流和反向流向量方向相反。因此,當(dāng)反向流終點(diǎn)不在容忍區(qū)間內(nèi)或方向與前向流向量相同時(shí),點(diǎn)軌跡被終止。
圖1 前向—反向光流匹配準(zhǔn)則示意
生成點(diǎn)軌跡的步驟如下:若當(dāng)前幀為第一幀,以核相關(guān)濾波器算法生成的初始目標(biāo)框?yàn)橹行模≡撃繕?biāo)框2倍大小的取樣區(qū)域,在該取樣區(qū)域進(jìn)行下采樣得到點(diǎn)軌跡樣本;若當(dāng)前幀不是第一幀,判斷點(diǎn)軌跡是否滿足一致性條件,剔除不滿足式(5)和式(6)的點(diǎn)軌跡,使用與第一幀中相同的方法選擇取樣區(qū)域,保留未發(fā)生漂移的點(diǎn)軌跡并在取樣區(qū)域的空白部分采集新的點(diǎn)軌跡樣本。
本節(jié)采用譜聚類(spectral clustering)[18]的方法對點(diǎn)軌跡進(jìn)行聚類。譜聚類方法是近年來流行的聚類方法之一,與K均值(K-means)和混合高斯模型(GMM,Gaussian mixture model)等傳統(tǒng)方法相比具有更好的聚類效果和較低的計(jì)算復(fù)雜度。
譜聚類方法是一種基于圖論的聚類方法,該方法將每個(gè)數(shù)據(jù)點(diǎn)作為節(jié)點(diǎn),連接節(jié)點(diǎn)的線作為邊,從而構(gòu)造完全圖。其中,每條邊的權(quán)重表示數(shù)據(jù)點(diǎn)之間的相似度,則該完全圖的鄰接矩陣即數(shù)據(jù)的相似度矩陣。為了降低對不規(guī)則誤差數(shù)據(jù)的敏感度,利用該相似度矩陣的譜(即矩陣的特征值)對數(shù)據(jù)進(jìn)行降維,再使用K均值算法進(jìn)行聚類。
首先,需要定義一個(gè)相似度矩陣。當(dāng)2個(gè)點(diǎn)軌跡的運(yùn)動規(guī)律越相同時(shí),表示它們之間的相似度越高。為了更加有效地區(qū)分物體,對于軌跡i和軌跡j,應(yīng)考慮二者之間運(yùn)動規(guī)律相差最大的時(shí)刻。因此,軌跡i和軌跡j之間的距離定義為
由于相似度需要包含點(diǎn)軌跡的長期運(yùn)動信息,定義軌跡i和軌跡j在T幀間的平均距離和為
對于軌跡i和軌跡j,二者之間的相似度與它們之間的距離成反比,定義為
其中,α是尺度參數(shù),為了防止式(10)中的相似度變得過小,通常取0.1α=。由式(10)得到一個(gè)nn×的相似性矩陣 S,n為點(diǎn)軌跡的個(gè)數(shù)。根據(jù)該相似性矩陣S,使用譜聚類方法標(biāo)記生成的點(diǎn)軌跡。
光流向量的灰度表示如圖2所示,圖2(a)為測試視頻序列中的一幀,圖2(b)為該幀中光流向量的灰度表示,其中左邊為光流在x方向上分量的可視化灰度圖,右邊為在y方向上分量的可視化灰度圖。由圖2(b)可以看出,目標(biāo)位置與周圍物體的灰度值具有明顯的對比,說明該位置與周圍位置的光流向量具有較為明顯的差異。圖2(b)中的橫、縱坐標(biāo)分別表示圖中像素點(diǎn)對應(yīng)位置的橫、縱坐標(biāo),右側(cè)圖例中的坐標(biāo)表示圖中顏色對應(yīng)的灰度值級別。
如果目標(biāo)與遮擋物上的點(diǎn)軌跡運(yùn)動差異較大,由3.2節(jié)中定義的相似度矩陣,根據(jù)物體的長期運(yùn)動特征,譜聚類方法能夠成功地將點(diǎn)軌跡分為目標(biāo)類和背景類。然而,當(dāng)二者運(yùn)動差異較小或目標(biāo)及周圍物體的運(yùn)動情況較為復(fù)雜時(shí),可能會造成對點(diǎn)軌跡的過分割。此時(shí),需要對具有相似特征的類進(jìn)行進(jìn)一步合并,最終將屬于目標(biāo)的點(diǎn)軌跡合并為一類,屬于背景的點(diǎn)軌跡合并為一類。合并過分割類的過程示意如圖3所示。
圖2 光流向量的灰度表示
圖3 合并過分割類的過程示意
假設(shè)最終的類別數(shù)為k,Ochs等[20]定義了一個(gè)包含空間約束項(xiàng)的能量方程,并且通過最小化該能量方程確定k的大小。設(shè)λi為聚類過程中相似度矩陣的第i個(gè)特征值,是第i個(gè)特征向量的第A個(gè)元素, uA是所有特征向量的第A個(gè)元素組成的向量。上標(biāo) A對應(yīng)一條單獨(dú)的點(diǎn)軌跡。設(shè)N ( A)為點(diǎn)軌跡A在空間鄰域中的點(diǎn)軌跡集合。初始化聚類個(gè)數(shù)K,最小化式(11)得到聚類結(jié)果πA∈ { 1,… ,K }為
其中,范數(shù)定義為
式(11)中,第一項(xiàng)為一元項(xiàng),kμ為類別k的質(zhì)心。第二項(xiàng)為對多余類別的懲罰項(xiàng)。使用克羅內(nèi)克積定義,當(dāng)軌跡A和B被歸為不同的類時(shí),該值為0,否則,該值為1。因此,當(dāng)2個(gè)軌跡被歸為不同類時(shí),使用類間特征向量差的倒數(shù)進(jìn)行懲罰。當(dāng)相似性較大的區(qū)域被分割時(shí),該項(xiàng)的值較大,而將不連續(xù)的區(qū)域分割開所產(chǎn)生的懲罰值較小。ν
最小化式(11)是一個(gè)較為復(fù)雜的問題,因?yàn)樵撌接泻芏嗑植孔钚≈?。Brox等[19]將該問題轉(zhuǎn)化為一個(gè)質(zhì)心未知的多標(biāo)簽馬爾可夫隨機(jī)場(MRF,Markov random field)問題,該問題解決方法的具體描述可參考文獻(xiàn)[20]。
本節(jié)主要對所提算法進(jìn)行詳細(xì)的闡述。首先,如果當(dāng)前幀為視頻序列的第一幀,在初始目標(biāo)框box1周圍取采樣區(qū)域,并在該采樣區(qū)域中的像素點(diǎn)進(jìn)行下采樣,得到初始點(diǎn)軌跡樣本;否則,將核相為平衡參數(shù),通常取關(guān)濾波器跟蹤算法作為預(yù)跟蹤器得到目標(biāo)的預(yù)測邊界框tbox,利用光流方法得到由前一幀傳遞的點(diǎn)軌跡,清除漂移的點(diǎn)軌跡樣本并在采樣區(qū)域內(nèi)產(chǎn)生新的樣本。然后,根據(jù)式(10)定義的相似度矩陣,利用譜聚類方法對點(diǎn)軌跡進(jìn)行標(biāo)記,將其劃分到不同的類別中,并通過最小化式(11)所定義的能量函數(shù)合并過分割的類,最終實(shí)現(xiàn)對目標(biāo)和背景的標(biāo)記。根據(jù)預(yù)測邊界框tbox中目標(biāo)點(diǎn)軌跡和背景點(diǎn)軌跡的分布情況,可以判斷預(yù)跟蹤器的結(jié)果是否偏移目標(biāo),從而判斷遮擋是否發(fā)生。當(dāng)不發(fā)生遮擋或目標(biāo)被輕度遮擋時(shí),繼續(xù)使用核相關(guān)濾波器進(jìn)行跟蹤;當(dāng)目標(biāo)被嚴(yán)重遮擋時(shí),利用前一幀結(jié)果訓(xùn)練濾波器,并且不更新預(yù)跟蹤器參數(shù);當(dāng)目標(biāo)長期發(fā)生漂移或被遮擋時(shí),則啟用重檢測機(jī)制對目標(biāo)狀態(tài)進(jìn)行檢測。重檢測機(jī)制的工作原理描述如下:記錄未遮擋時(shí)的目標(biāo)跟蹤框作為模板,以當(dāng)前幀的預(yù)測邊界框tbox為中心,取2倍大小的區(qū)域作為候選樣本采樣區(qū)域,并在該區(qū)域中利用滑動窗口采集候選樣本,利用巴氏距離和顏色直方圖計(jì)算候選樣本與目標(biāo)模板之間的相似度,最終將響應(yīng)值最大的樣本作為新的目標(biāo)跟蹤框。本文所提算法流程如下。
Step1 在第一幀中,訓(xùn)練回歸方程 ()fz,記錄1box為目標(biāo)模板,取點(diǎn)軌跡樣本。
Step2 在第t幀中,取點(diǎn)軌跡樣本并標(biāo)記點(diǎn)軌跡,分別計(jì)算目標(biāo)框中正、負(fù)樣本數(shù)所占比例 Ppos和Pneg,計(jì)算目標(biāo)框 b oxt中正樣本外接矩形 Prect。
Step3 如果 Pneg< 6 0%,則認(rèn)為不發(fā)生遮擋或輕度遮擋,更新KCF參數(shù),否則,轉(zhuǎn)到Step4。如果Ppos> 7 0%,將該幀的結(jié)果作為目標(biāo)模板,用于重檢測。如果 Prect< 6 0%,則認(rèn)為目標(biāo)發(fā)生漂移,重新檢測目標(biāo)并更新 b oxt。
Step4 如果 Pneg> 6 0%,則將目標(biāo)狀態(tài)判定為嚴(yán)重遮擋,不更新 KCF參數(shù);若上一幀狀態(tài)也是嚴(yán)重遮擋,則對目標(biāo)進(jìn)行重檢測并更新 b oxt。
Step5 若視頻未結(jié)束, t = t+ 1,轉(zhuǎn)到Step2。
本節(jié)使用Wu等[21]提出的流行目標(biāo)跟蹤測試平臺 OTB測試集對算法進(jìn)行測試,并且重點(diǎn)分析了算法在遮擋、快速運(yùn)動和目標(biāo)形變等復(fù)雜場景中的跟蹤效果。算法的測試平臺為Windows 7的64位操作系統(tǒng),硬件配置為3.0 GHz主頻的Intel CPU以及8 GB的內(nèi)存。此外,本節(jié)還將本文所提算法與一些跟蹤方法進(jìn)行了比較。
在本文所提算法執(zhí)行之前,需要對參數(shù)進(jìn)行設(shè)置。為使回歸方程更加穩(wěn)定,式(1)中的嶺回歸歸一化因子設(shè)置為 λ = 1 0?4。KCF算法中采樣區(qū)域的尺寸取目標(biāo)尺寸的2.5倍,使算法能夠取得更多的負(fù)樣本。為減少計(jì)算量,3.1節(jié)中的下采樣因子取為6,式(10)中的歸一化因子設(shè)置為α=0.1。
本文主要采用3個(gè)標(biāo)準(zhǔn)對跟蹤效果進(jìn)行評價(jià):1)中心位置誤差,定義為真實(shí)目標(biāo)框和估計(jì)目標(biāo)框中心的歐氏距離,圖4展示了各個(gè)算法中心誤差的結(jié)果;2)距離準(zhǔn)確度,定義為估計(jì)跟蹤結(jié)果在給定真實(shí)目標(biāo)框中幀數(shù)所占的百分比;3)成功率,定義為,其中,TROI是估計(jì)目標(biāo)框,ROIG是真實(shí)目標(biāo)框。如果該得分大于0.5,則認(rèn)為跟蹤成功。準(zhǔn)確率與成功率的實(shí)驗(yàn)結(jié)果如表1所示。
本文所提算法在大多數(shù)視頻序列中取得了較好的效果,根據(jù)上述3個(gè)標(biāo)準(zhǔn)可以看出,該算法能夠成功地解決遮擋問題。圖5直觀地展示了各個(gè)算法在不同視頻序列中的跟蹤目標(biāo)框。在 Coke序列中,物體被周圍葉片遮擋,而 KCF、DFT和 TLD算法的跟蹤結(jié)果發(fā)生了漂移。例如,在第255幀到第263幀中,目標(biāo)幾乎被全部遮擋,直到269幀才完全出現(xiàn)。雖然遮擋時(shí)間較長且遮擋程度嚴(yán)重,本文算法仍可以成功地對目標(biāo)進(jìn)行定位。由于在Coke序列中所跟蹤的目標(biāo)相對遮擋物運(yùn)動速度較快,因此,通過點(diǎn)軌跡聚類能夠成功地將目標(biāo)從背景中分離,從而可以準(zhǔn)確地判斷遮擋是否發(fā)生。在Girl序列中,目標(biāo)為一個(gè)女孩的面部,而在第412幀中出現(xiàn)一個(gè)另一人物并逐漸靠近目標(biāo),并從453幀開始對目標(biāo)進(jìn)行了較長時(shí)間的遮擋,直至467幀目標(biāo)才完全出現(xiàn)。于是 KCF將跟蹤目標(biāo)轉(zhuǎn)移為該人物,跟蹤失敗。由中心誤差圖可以看出,本文所提算法在Girl序列中的中心誤差與KCF、DFT和TLD算法相比較小。由于遮擋物與目標(biāo)人物的運(yùn)動規(guī)律不同,所提算法能夠準(zhǔn)確地將二者區(qū)分開。
另外,該算法也能夠很好地解決漂移問題。在Singer1序列中,由于目標(biāo)外觀及尺寸變化,KCF跟蹤的結(jié)果發(fā)生了嚴(yán)重的漂移。但是,由圖5可以看出,該算法始終能夠跟蹤目標(biāo)。由表1可知,該算法的成功率和準(zhǔn)確率與其他算法相比是最優(yōu)的。表1中在統(tǒng)計(jì)準(zhǔn)確率時(shí)允許目標(biāo)位置與真實(shí)位置有20px的誤差。
圖4 中心誤差曲線
表1 4種算法在測試序列上成功率和準(zhǔn)確率比較
該算法在空間信息網(wǎng)絡(luò)中能夠進(jìn)行應(yīng)用,為了驗(yàn)證其在遙感視頻跟蹤目標(biāo)的有效性,本文使用無人機(jī)拍攝的場景對目標(biāo)進(jìn)行跟蹤[22],跟蹤效果如圖6所示。在數(shù)據(jù)集Car9中,第257幀到第278幀被廣告牌遮擋。由圖6可以看出,本文所提算法能夠在遮擋結(jié)束后成功定位目標(biāo)。
以上實(shí)驗(yàn)證明了本文所提算法能夠有效地解決遮擋、漂移、光照變化、目標(biāo)形變等問題。但是,根據(jù)表2可得,該算法與KCF算法相比速度較慢,在后續(xù)工作中,可根據(jù)文獻(xiàn)[23-26],利用GPU對本文所提算法的實(shí)時(shí)性進(jìn)行優(yōu)化。另外,由于點(diǎn)軌跡是基于光流方法選取的,當(dāng)攝像機(jī)抖動劇烈時(shí),本文所提算法無法準(zhǔn)確地判斷遮擋;當(dāng)目標(biāo)窗口尺寸太小時(shí),基于顏色直方圖的重檢測機(jī)制無法有效地檢測目標(biāo)位置。針對這些問題,需要對本文所提算法做進(jìn)一步的改進(jìn)。
表2 2種算法在測試視頻中的幀率(單位為幀·秒-1)
圖5 目標(biāo)跟蹤框示意
圖6 算法在遙感視頻數(shù)據(jù)集Car9序列中的跟蹤結(jié)果
本文針對視頻跟蹤中的遮擋問題提出了一種創(chuàng)新的跟蹤算法。該算法的主要目的是判斷跟蹤過程中遮擋問題的發(fā)生并在遮擋結(jié)束時(shí)重新定位目標(biāo)。首先使用核相關(guān)濾波器跟蹤作為預(yù)跟蹤器確定目標(biāo)的大致位置和搜索區(qū)域。然后通過分析該位置周圍物體的運(yùn)動規(guī)律,利用點(diǎn)軌跡分割對目標(biāo)和背景進(jìn)行標(biāo)記,并根據(jù)標(biāo)記結(jié)果判斷是否發(fā)生遮擋。當(dāng)目標(biāo)受到嚴(yán)重遮擋時(shí),選取與未遮擋目標(biāo)模板相似度最大的候選樣本作為跟蹤的最終結(jié)果。實(shí)驗(yàn)結(jié)果證明,所提算法對于遮擋和漂移具有較強(qiáng)的頑健性。