趙康,王正勇,何小海,熊杰,鄭新波
(1.四川大學(xué)電子信息學(xué)院,成都 610065;2.東莞前沿技術(shù)研究院,東莞 523000)
機(jī)場環(huán)境下的特定目標(biāo)跟蹤采用視頻分析技術(shù)監(jiān)視目標(biāo),也即在視頻的初始幀中指定某個(gè)特定目標(biāo),然后在連續(xù)的視頻幀中找到該目標(biāo)出現(xiàn)的位置。本文主要對(duì)機(jī)場場面進(jìn)行監(jiān)視,對(duì)場面上的飛機(jī)和車輛進(jìn)行跟蹤,以預(yù)防碰撞事件的發(fā)生,能很好地推進(jìn)航空事業(yè)的快速發(fā)展。
近年來,國內(nèi)外學(xué)者對(duì)特定目標(biāo)跟蹤算法進(jìn)行了大量研究,也提出了很多新的方法[1-3],但是針對(duì)機(jī)場環(huán)境下需要克服的困難很多,如光照變化、目標(biāo)尺度變化、目標(biāo)與背景相似度較高等,還沒有算法能夠直接適用于機(jī)場環(huán)境。近幾年由于機(jī)器學(xué)習(xí)算法的快速發(fā)展,基于判決模型的算法取得了很好的效果,實(shí)質(zhì)是將目標(biāo)跟蹤看成一個(gè)目標(biāo)和背景的二分類問題。
鑒于此,本文在核相關(guān)濾波算法框架下,融合多種特征,設(shè)計(jì)尺度自適應(yīng)策略以及模型更新機(jī)制,提出一種改進(jìn)的核相關(guān)濾波目標(biāo)跟蹤算法,能夠很好適應(yīng)機(jī)場環(huán)境,克服光照變化、目標(biāo)尺度變化、目標(biāo)旋轉(zhuǎn)變化。實(shí)驗(yàn)結(jié)果顯示,本文提出的算法在機(jī)場場景視頻序列上,跟蹤精度較好。
KCF(Kernelized Correlation Filters)算法[4]是 Joao F.Henriques等人在2014年提出的一種目標(biāo)跟蹤方法,其可以在變換域快速地學(xué)習(xí)和檢測(cè)目標(biāo)。KCF算法使用核函數(shù)將輸入特征映射到高維空間,并利用循環(huán)矩陣的循環(huán)移位進(jìn)行稠密采樣,同時(shí)結(jié)合了核嶺回歸模型,提高了算法在非線性情況下的分類能力。由于KCF采用循環(huán)矩陣采樣,因此大大降低了算法的時(shí)間復(fù)雜度。本節(jié)主要介紹核相關(guān)濾波目標(biāo)跟蹤算法的主要原理,其中包括:核嶺回歸、構(gòu)建訓(xùn)練樣本和快速核相關(guān)。
嶺回歸是在最小二乘估計(jì)思想上改進(jìn)的,使之比后者回歸的系數(shù)更接近實(shí)際。本文采用核嶺回歸是由于嶺回歸在解決非線性問題時(shí)具有局限性,引入了核函數(shù)[5]。對(duì)給定的最小化樣本xi和它的嶺回歸目標(biāo)yi所組成的訓(xùn)練集,通過一個(gè)線性分類器其中wTx表示變量的內(nèi)積,b為真實(shí)值與所預(yù)測(cè)值之間的偏差,找到最優(yōu)的參數(shù)w使得如下平方誤差最?。?/p>
其中,λ是正則化參數(shù),w是線性分類器的系數(shù),文獻(xiàn)[6]通過對(duì)式(1)中參數(shù)w求偏導(dǎo)可得到封閉式解:
將式(2)擴(kuò)展到復(fù)數(shù)形式可表示為:
其中,X為循環(huán)矩陣,矩陣中的行代表訓(xùn)練分類器的樣本,y表示對(duì)應(yīng)樣本的標(biāo)簽,I表示單位矩陣,XH是X的共軛轉(zhuǎn)置,對(duì)于實(shí)數(shù)來講式(2)和式(3)是等價(jià)的。
大多數(shù)跟蹤方法是基于判別式的,均需要構(gòu)建樣本來訓(xùn)練分類器,傳統(tǒng)的基于粒子濾波的跟蹤方法采用隨機(jī)擴(kuò)散粒子來獲取樣本,這種方式獲取的樣本效率很低。在諸如機(jī)場實(shí)際環(huán)境下會(huì)考慮分類器的實(shí)時(shí)性,不會(huì)用太多樣本來訓(xùn)練分類器。核相關(guān)濾波算法使用循環(huán)矩陣中的循環(huán)移位來獲得目標(biāo)周圍的所有樣本,將目標(biāo)圖像的外觀記為正樣本,利用正樣本的循環(huán)移位得到負(fù)樣本。其中所得的樣本的循環(huán)矩陣X如下:
式(4)矩陣中所有數(shù)據(jù)都由第一行來唯一確定。對(duì)于循環(huán)矩陣不管生成向量是哪種形式都可以通過離散傅里葉變換將所有的循環(huán)矩陣對(duì)角化。相比于其他解決回歸問題的方法,該方法具有更高的計(jì)算效率。
核相關(guān)的計(jì)算均會(huì)涉及到兩個(gè)輸入向量,而這兩個(gè)輸入向量通過循環(huán)移位得到的全部向量也是一個(gè)比較大的數(shù)字。這樣也會(huì)帶來很大的計(jì)算量,并成為計(jì)算的瓶頸。但是,運(yùn)用循環(huán)移位模型,能夠充分利用數(shù)據(jù)的冗余性來有效地減少核相關(guān)的計(jì)算量,提升算法效率。為了能處理多個(gè)通道的情況(如HOG特征的31個(gè)方向箱[7]),只需要在頻域?qū)γ總€(gè)通道進(jìn)行相加處理。簡化成多通道相關(guān)濾波器[8],假設(shè)向量x連接了C個(gè)通道向量:
在快速核相關(guān)中所用到的全部核函數(shù)都是基于?;騾?shù)的點(diǎn)積??梢詫⒚總€(gè)通道的點(diǎn)積進(jìn)行簡單求和來計(jì)算。又因?yàn)楦道锶~變換是線性的,因此可以對(duì)頻域中的每個(gè)通道進(jìn)行求和。通過將此推理到高斯核情況。
在機(jī)場場面上,由于天氣常有薄霧,導(dǎo)致運(yùn)動(dòng)小車和飛機(jī)外觀與背景相似度較大,當(dāng)運(yùn)動(dòng)目標(biāo)在距離攝像頭較遠(yuǎn)的一端時(shí)更為明顯,KCF算法采用單一的HOG特征來提取表觀模型,因此不能很好地區(qū)分運(yùn)動(dòng)目標(biāo)與背景,影響后續(xù)跟蹤魯棒性。當(dāng)小車和飛機(jī)由遠(yuǎn)到近、由近到遠(yuǎn)運(yùn)動(dòng)時(shí)以及轉(zhuǎn)彎時(shí),運(yùn)動(dòng)目標(biāo)尺度都會(huì)發(fā)生較大的變化,KCF算法不能尺度自適應(yīng)變化。KCF算法中模型更新因子一直是固定不變的,當(dāng)運(yùn)動(dòng)目標(biāo)發(fā)生較大姿態(tài)變化或出現(xiàn)遮擋時(shí),如果模型更新因子一直保持固定不變,就會(huì)導(dǎo)致模型學(xué)習(xí)到錯(cuò)誤的信息,帶來誤差。
針對(duì)上述問題,本節(jié)在核相關(guān)濾波目標(biāo)跟蹤算法的基礎(chǔ)上,提出了一種基于多特征融合的尺度自適應(yīng)相關(guān)濾波目標(biāo)跟蹤算法。首先,在特征提取方面,主要提取了HOG特征和區(qū)分性的色彩描述子(Discrimina?tive Color Descriptor,DCD)特征來更好地區(qū)分運(yùn)動(dòng)目標(biāo)和背景;其次,引入了一種尺度自適應(yīng)變化方法,解決KCF算法的固定模板尺寸問題;最后提出一種自適應(yīng)模型更新方法。實(shí)驗(yàn)證明,本文提出的算法效果較好。
本文采用將一種用來表征目標(biāo)局部梯度方向和強(qiáng)度的HOG特征和DCD[9]進(jìn)行融合,得到一個(gè)融合的特征向量后作為相關(guān)濾波器的輸入。
在目標(biāo)跟蹤中,目標(biāo)尺度變化是一個(gè)具有挑戰(zhàn)的問題,其會(huì)影響目標(biāo)跟蹤的精度。KCF算法模板尺寸是固定的,無法解決目標(biāo)尺度變化問題,本文采用一種基于特征點(diǎn)檢測(cè)的尺度自適應(yīng)方法。具體尺度更新策略如下:在前一幀的運(yùn)動(dòng)目標(biāo)矩形框中用Shi-Tomasi算法提取可靠角點(diǎn)特征。設(shè)置檢測(cè)特征的最大值Maxcount,特征質(zhì)量系數(shù)qLevel,特征之間的最小距離minDist。最后將檢測(cè)到的可靠特征數(shù)目記為N,表示為,用Lucas-Kanade光流法來跟蹤這些角點(diǎn),找到前一幀中的特征點(diǎn)在當(dāng)前幀中的位置,記為{},再將得到的特征點(diǎn)反向跟蹤到前一幀,將得到的特征點(diǎn)記為{,,…,}。將每一個(gè)特征點(diǎn)的前向和后向跟蹤誤差記為,如果ei的值小于某一閾值,則認(rèn)為該特征點(diǎn)是可信賴的跟蹤點(diǎn)。設(shè)有M個(gè)可信賴特征點(diǎn)保留下來,則將這些特征點(diǎn)用來進(jìn)行尺度估計(jì),特征點(diǎn)對(duì)距離變化集合可表示為:
得到特征點(diǎn)對(duì)距離變化集合后,對(duì)集合s(i,j)求平均值得到尺度伸縮系數(shù)s。此處尺度變化的計(jì)算是假設(shè)目標(biāo)沒有被遮擋的情況下,如果目標(biāo)被遮擋,應(yīng)停止尺度更新,判斷目標(biāo)是否遮擋的方法將會(huì)在2.3小節(jié)詳細(xì)介紹。
在目標(biāo)跟蹤期間,運(yùn)動(dòng)目標(biāo)常常會(huì)因?yàn)槟繕?biāo)的尺度變化、姿態(tài)變化以及旋轉(zhuǎn)等情況,而發(fā)生外觀變化。為了使得用于目標(biāo)跟蹤的分類器性能更加魯棒,在每一幀跟蹤結(jié)束后,我們需要對(duì)分類器系數(shù)和外觀模型進(jìn)行更新。更新系數(shù)aˉ和外觀模型xˉ的更新公式如下:
其中,η為固定的更新率,一般設(shè)為0.012。
在目標(biāo)跟蹤的過程中,目標(biāo)的外觀模型經(jīng)常在改變,因此對(duì)目標(biāo)的外觀模型進(jìn)行實(shí)時(shí)更新很有必要。由于外觀的變化,需要通過在線追蹤器收集所跟蹤目標(biāo)的訓(xùn)練樣本來更新跟蹤模型。但是當(dāng)運(yùn)動(dòng)目標(biāo)出現(xiàn)遮擋時(shí),會(huì)使得分類器學(xué)習(xí)到錯(cuò)誤的目標(biāo)信息,從而導(dǎo)致目標(biāo)跟丟。在大多數(shù)相關(guān)濾波跟蹤算法中,學(xué)習(xí)率都是固定的。固定的學(xué)習(xí)率限制了跟蹤器適應(yīng)外觀快速變化的能力,當(dāng)目標(biāo)處于遮擋下的時(shí)候表現(xiàn)更為明顯。本文提出一種新的模型在線更新方案來跟蹤目標(biāo)。
根據(jù)用訓(xùn)練好的分類器去檢測(cè)目標(biāo)與模板的匹配得到目標(biāo)的最大匹配分?jǐn)?shù) fmax(用歐氏距離度量),當(dāng)fmax大于某一閾值thr時(shí),說明運(yùn)動(dòng)目標(biāo)與模板匹配較好,運(yùn)動(dòng)目標(biāo)沒有發(fā)生較大姿態(tài)變化或遮擋,此時(shí)以正常的更新率進(jìn)行更新;當(dāng) fmax小于閾值thr時(shí),判斷目標(biāo)是否發(fā)生遮擋,如果沒有發(fā)生遮擋,則以較大的更新率進(jìn)行更新,如果運(yùn)動(dòng)目標(biāo)被遮擋時(shí),外觀模型不應(yīng)該被改變,學(xué)習(xí)率應(yīng)該設(shè)置為0。學(xué)習(xí)率更新公式如下:
判斷目標(biāo)是否遮擋策略:首先根據(jù)最大匹配分?jǐn)?shù)fmax,如果 fmax大于閾值thr,則說明當(dāng)前運(yùn)動(dòng)目標(biāo)與模板匹配很好,沒有遮擋發(fā)生。若 fmax小于閾值thr,則說明當(dāng)前可能發(fā)生了遮擋,由2.2小節(jié)中可知,在前一幀中提取到的可靠角點(diǎn)特征數(shù)為N,通過Lucas-Kanade光流法進(jìn)行前向和后向跟蹤后得到的可信賴特征點(diǎn)數(shù)為M。如果發(fā)生了遮擋,那么M的值將會(huì)變得很小,因此根據(jù)M與初始幀中N的比值來確定當(dāng)前目標(biāo)是否被遮擋,即:
其中,O等于1時(shí)表示目標(biāo)被遮擋,等于0時(shí)表示未被遮擋,θ為遮擋閾值,經(jīng)過大量實(shí)驗(yàn)驗(yàn)證,θ取值0.4較為合適。
為了驗(yàn)證本文所提出算法的有效性,把本文所提出的算法與CSK算法、KCF算法、DSST[10]算法和sKCF算法[11]進(jìn)行比較,其中CSK算法是經(jīng)典的基于核相關(guān)濾波的跟蹤算法,KCF算法是在CSK算法的基礎(chǔ)上融合了多通道HOG特征,并引入“核技巧”,加快了算法的運(yùn)行速度,DSST算法則是在KCF算法的基礎(chǔ)之上增加了尺度濾波器,解決了目標(biāo)運(yùn)動(dòng)過程中發(fā)生的尺度變化,sKCF算法在KCF算法的基礎(chǔ)之上添加了自適應(yīng)高斯窗口函數(shù)和基于關(guān)鍵點(diǎn)的尺度估計(jì),能夠自適應(yīng)目標(biāo)尺度的變化。并對(duì)KCF算法進(jìn)行了速度優(yōu)化。
在如下圖1(a)中,主要是對(duì)停機(jī)坪的運(yùn)動(dòng)小車進(jìn)行跟蹤的實(shí)驗(yàn)結(jié)果圖,在第10幀時(shí),由于小車沒有發(fā)生較大姿態(tài)變化,對(duì)比算法和本文算法都能很好地跟蹤運(yùn)動(dòng)的小車。在第220幀時(shí),運(yùn)動(dòng)小車轉(zhuǎn)彎時(shí)發(fā)生了較大的姿態(tài)變化,且小車明顯變小,由于CSK算法和KCF算法不能自適應(yīng)尺度變化,因此CSK算法和KCF算法的跟蹤框有一點(diǎn)偏離運(yùn)動(dòng)小車,DSST算法、sKCF算法和本文算法此時(shí)均能很好地跟蹤上小車。在第330幀時(shí),小車再次轉(zhuǎn)彎,發(fā)生較大姿態(tài)變化和形變,此時(shí)CSK算法和KCF算法均發(fā)生明顯漂移,DSST算法和sKCF算法均稍許偏離目標(biāo),而本文算法能穩(wěn)定跟蹤。在450幀時(shí),小車伴隨著輕微的遮擋,此時(shí)CSK算法和KCF算法均跟丟小車,DSST算法和sKCF算法也出現(xiàn)了明顯的漂移,本文算法依然能很好地跟蹤上小車。
在如下圖1(b)中,主要是對(duì)機(jī)場場面遠(yuǎn)處跑道的飛機(jī)進(jìn)行跟蹤的實(shí)驗(yàn)結(jié)果圖,在第10幀時(shí),飛機(jī)沒有出現(xiàn)遮擋,也沒有出現(xiàn)明顯的尺度變化,對(duì)比算法和本文算法都能很好地跟蹤運(yùn)動(dòng)的飛機(jī)。在第132幀時(shí),被跟蹤的飛機(jī)被另外一輛正緩慢駛向滑行跑道的飛機(jī)所遮擋,CSK算法跟丟目標(biāo),KCF算法出現(xiàn)明顯漂移,DSST算法、sKCF算法和本文算法此時(shí)均能很好地跟蹤飛機(jī)。在第185幀時(shí),運(yùn)動(dòng)飛機(jī)再次被停在停機(jī)坪的飛機(jī)遮擋,且飛機(jī)尺寸明顯變小,KCF算法、DSST算法和sKCF算法均跟丟目標(biāo),本文算法能穩(wěn)定地跟蹤上飛機(jī)。在第235幀時(shí),飛機(jī)再次出現(xiàn)遮擋,本文算法依然能穩(wěn)定跟蹤,直到飛機(jī)駛出視頻畫面。由上述分析可知,本文提出的算法與對(duì)比算法相比,在目標(biāo)發(fā)生較大姿態(tài)變化和遮擋時(shí),跟蹤效果更好。
圖1 機(jī)場視頻序列跟蹤結(jié)果圖
為了定量分析各個(gè)跟蹤算法的性能,實(shí)驗(yàn)中主要采用中心位置誤差(Center Location Error,CLE)、距離精度(Distance Precision,DP)和重疊成功率(Overlap Success rate,OS)這3個(gè)參數(shù)來對(duì)跟蹤的結(jié)果進(jìn)行定量分析。其中:CLE表示跟蹤到的目標(biāo)中心位置和目標(biāo)中心的真實(shí)之間的歐氏距離(數(shù)值越小說明目標(biāo)的跟蹤越精確);DP表示中心位置誤差小于某一閾值的幀數(shù)與總視頻幀數(shù)的比值,比值越大說明跟蹤過程中符合條件的幀數(shù)越多,也就表明跟蹤效果越好;OS表示目標(biāo)跟蹤矩形框和目標(biāo)真實(shí)矩形框交集的面積和兩矩形框并集的面積的比值超過一個(gè)閾值時(shí)的幀數(shù)與總視頻幀數(shù)的比值,比值越大說明跟蹤過程中符合條件的幀數(shù)越多,也就表明跟蹤效果越好。表1為各個(gè)目標(biāo)跟算法的中心位置誤差,單位為像素(pixels),該值越小跟蹤的精度就越高。
表1 中心位置誤差(單位:像素)
本文基于核相關(guān)濾波算法,提出一種機(jī)場環(huán)境下的特定目標(biāo)跟蹤算法。首先,在建立目標(biāo)外觀模型方面融合了多種特征,更好表觀目標(biāo)的特征信息;其次,提出一種尺度自適應(yīng)算法,適應(yīng)目標(biāo)尺度的變化;最后,對(duì)模型適當(dāng)更新,克服分類器學(xué)到錯(cuò)誤信息。最終結(jié)果表明,該算法能很好運(yùn)用于機(jī)場環(huán)境,跟蹤魯棒性較高。