管鳳旭,唐世文,叢浩東,胡秀武
(哈爾濱工程大學(xué)智能科學(xué)與工程學(xué)院,黑龍江 哈爾濱 150001)
目標(biāo)跟蹤是計算機(jī)視覺中最基本的問題之一,其應(yīng)用廣泛,包括視頻監(jiān)視,運(yùn)動視頻分析,動作識別,視頻編輯和人機(jī)界面[1-6]。對于水面高速運(yùn)動場景,傳統(tǒng)的相關(guān)濾波算法有著模糊、抖動等問題,研究改進(jìn)出新的算法勢在必行。
近些年,基于相關(guān)濾波算法的研究已經(jīng)取得飛速進(jìn)展。在2010年,Bolme等人[7]首先將相關(guān)性過濾器引入視覺跟蹤,建立具有最小輸出平方和(MOSSE)過濾器的判別模型。2012年,Henriques等人[8]利用樣本數(shù)據(jù)矩陣的循環(huán)特性,提出基于MOSSE的CSK。2015年,Henriques等人[9]提出的KCF算法,結(jié)合了HoG特征和帶內(nèi)核的多通道相關(guān)性到跟蹤器中,大大提高了跟蹤器性能。盡管KCF算法具有很高的速度和魯棒性,但它無法使用固定的比例模板來估計目標(biāo)的比例變化,當(dāng)目標(biāo)比例由于樣品窗口中目標(biāo)外觀的變化而變化時,會導(dǎo)致跟蹤失敗。Danelljan等[10]使用一個單獨(dú)的比例尺濾波器基于MOSSE(即DSST)估算比例尺變化,同時實(shí)現(xiàn)了高精度和高效率。在2014年,Li等人[11]發(fā)表了多尺度核相關(guān)濾波(SAMF)算法[12],該算法使用融合特征來對目標(biāo)進(jìn)行描述,并應(yīng)用了目標(biāo)尺度自適應(yīng)的概念,SAMF算法對跟蹤目標(biāo)尺寸大小變化更加敏銳,SAMF算法在跟蹤速度上相比較于DSST有所提升,但是在水面高速運(yùn)動場景仍存在水面高速運(yùn)動容易發(fā)生模糊、抖動、遮擋問題,本文將SAMF算法基礎(chǔ)上提出新的算法。
近幾年大火的深度學(xué)習(xí)也使得基于深度學(xué)習(xí)的目標(biāo)跟蹤算法成為熱點(diǎn)[13-15],其優(yōu)點(diǎn)在于跟蹤精度非常高,但并不符合在運(yùn)用于水面無人船需要有較高實(shí)時性的要求。
本文基于SAMF算法基礎(chǔ)提出兩點(diǎn)改進(jìn)方法:
1)在目標(biāo)跟蹤過程中,通過跟蹤目標(biāo)的大小和位置自適應(yīng)調(diào)整跟蹤框長和寬,確定合適的目標(biāo)跟蹤區(qū)域,改善跟蹤性能
2)由實(shí)時的目標(biāo)速度和加速度求得模型更新率與速度之間關(guān)系式,利用加速度對運(yùn)動狀態(tài)的預(yù)測作用確定模型的更新率,提高目標(biāo)的跟蹤精度。
SAMF算法使用融合特征來對目標(biāo)進(jìn)行描述,并應(yīng)用了目標(biāo)尺度自適應(yīng)的概念,SAMF算法對跟蹤目標(biāo)尺寸大小變化更加敏銳,在高速運(yùn)動中具有良好的跟蹤性能。SAMF算法利用一個相關(guān)濾波器來確定目標(biāo)位置和估計尺度。
位置濾波器Hp:設(shè)每一個維度的相關(guān)濾波器為hl,通過嶺回歸求取最小期望E
(1)
其中,g應(yīng)為訓(xùn)練樣本f的期望輸出,當(dāng)取E最小時,可以推導(dǎo)得到
(2)
(3)
最后假設(shè)當(dāng)前幀位置為Z,那么下一幀預(yù)測位置為
(4)
尺度濾波器:以位置濾波器找到的下一幀圖像位置為中心,求得各個尺度的候選框與候選框目標(biāo)特征,之后選取在特征計算中特征響應(yīng)最大的為此時的尺度。方式如下:
an*L×an*H,
(5)
其中,L和H分別表示上一幀圖像的寬度和高度,a表示尺度因子,S表示尺度數(shù)量,在SAMF算法中S=33。
SAMF算法采用了一個濾波器來完成目標(biāo)定位和目標(biāo)尺度估計。SAMF算法的預(yù)測框大小為固定值sT=(sx,sy),算法還新增了尺度池S=(t1,t2,…,tk)。在原始圖像空間中,若目標(biāo)預(yù)測框?yàn)閟T,為了讓尺度池中各尺度的樣本與sT樣本相同,采取雙線性插值來達(dá)到目的。為了求取最恰當(dāng)?shù)哪繕?biāo)尺寸,選取{tisT|ti∈S}中k個大小的目標(biāo)來對比當(dāng)前幀。
算法的濾波器采用新過濾器與舊過濾器線性組合的方式來更新。Y是濾波器器模板,在每一幀生成
(6)
SAMF算法具有優(yōu)良性能,但是SAMF算法對水面快速運(yùn)動的場景仍然性能不理想。在傳統(tǒng)的目標(biāo)跟蹤算法中,目標(biāo)跟蹤框的大小由目標(biāo)的初始大小決定,跟蹤框的大小在整個跟蹤過程中是固定的,而目標(biāo)跟蹤框的大小對算法精度有著很大影響。水面高速運(yùn)動中,如果目標(biāo)尺寸變大超過初始尺寸,容易導(dǎo)致目標(biāo)特征丟失,導(dǎo)致目標(biāo)定位精度降低,增加跟蹤過程中目標(biāo)丟失的概率。如果目標(biāo)尺寸變得比初始尺寸小,跟蹤幀將混合過多的背景圖像和無用的特征。本算法設(shè)計出一種可自適應(yīng)調(diào)整跟蹤區(qū)域與模板更新率的方法。
原SAMF算法中用padding表示中目標(biāo)周圍背景區(qū)域的范圍,若需要目標(biāo)周圍區(qū)域范圍較小,取padding=1.5,同時算法采樣和計算的信息量也較少,其缺點(diǎn)是可能出現(xiàn)的是目標(biāo)劇烈抖動導(dǎo)致目標(biāo)跟丟。當(dāng)padding取2的時,除去目標(biāo)區(qū)域下的背景區(qū)域所占百分比比padding=1.5時多得多,同時算法采樣和計算的區(qū)域也更大,算法的跟蹤速度會下降。在原SAMF算法中,為了保證算法的跟蹤準(zhǔn)確度,padding取2??紤]到背景范圍較大的搜索區(qū)域會使算法的跟蹤速度變慢,而背景范圍較小的搜索區(qū)域可能會使算法出現(xiàn)因劇烈抖動出現(xiàn)容易跟丟情況,本文提出一種新的對于不同目標(biāo)自身尺寸的大小和長寬比例不同,分別確定搜索區(qū)域的方法。具體方法如下:
跟蹤框?qū)?zhǔn)跟蹤目標(biāo)的中心點(diǎn)時,可設(shè)跟蹤目標(biāo)的長和寬分別為x和y,視頻序列下一幀的長和寬為X和Y,則下一幀的長寬可以確定
(7)
為了應(yīng)對目標(biāo)長寬不協(xié)調(diào)可能使目標(biāo)快速運(yùn)動時可能偏離搜索區(qū)域的情況,定義一個長寬比k,如下
(8)
k代表長寬的比例,若k≥2時判定目標(biāo)狹長程度過大,重新確定搜索區(qū)域長寬,當(dāng)y=max(x,y)時,可設(shè)X′為調(diào)整后的高度,Y′為調(diào)整后的寬度,修正的公式如下
(9)
y>x,本方法采取的措施為減小上下區(qū)域,擴(kuò)大左右區(qū)域。若x=max(x,y)時,修正的公式如下
(10)
當(dāng)k<2時,則按式(7)設(shè)定搜索區(qū)域長寬即可。在以上一系列對應(yīng)的調(diào)整下,針對各種長寬比例的跟蹤目標(biāo),算法仍能自適應(yīng)性調(diào)整,優(yōu)化和調(diào)整搜索區(qū)域面積,在去掉無關(guān)的搜索背景并加快算法速度。
如下圖1和2,方框中的區(qū)域是算法調(diào)整前后的的目標(biāo)搜索區(qū)域,在圖1中可看出本文方法相比于padding=2的上下搜索區(qū)域縮小,左右搜索區(qū)域并未過多減小;在圖2中可看出本文方法相比于padding=2的搜索區(qū)域各方向均明顯減小。
圖1 k≥2時本文方法搜索區(qū)域
圖2 k<2時本文方法搜索區(qū)域
SAMF算法采用的模型更新率為式(6),如下
(6)
首先,將速度v的計算公式如下
(11)
前一幀的中心點(diǎn)坐標(biāo)和當(dāng)前幀中心點(diǎn)的坐標(biāo)可以確定。
外觀變化的程度越大,更新率變化越大,目標(biāo)速度影響著外觀變化程度,速度越快的目,其外觀變化越快。在大量實(shí)驗(yàn)中得到證實(shí),模板更新率λ需要隨著目標(biāo)速度ν變大而同步變大以適應(yīng)外觀的變化;反之,目標(biāo)速度ν越小,模板更新率λ越小,兩者關(guān)系如下
(12)
目標(biāo)加速度對目標(biāo)的狀態(tài)變化有預(yù)測左右,設(shè)序列幀速率為fr,于是加速度有以下關(guān)系式
(13)
其中,vn表示當(dāng)前幀目標(biāo)速度,vn-1表示前一幀目標(biāo)速度,Δt為相鄰幀時間差,為fr的倒數(shù)。
當(dāng)a<0,速度減小時,應(yīng)按照a的值對η再次調(diào)整,通過減小更新率η來適應(yīng)目標(biāo)的速度減小這一狀態(tài)。調(diào)整的模型更新率的公式如下:
λ′=λ+a
(14)
λ表示一個所取的調(diào)整系數(shù),而λ′表示調(diào)整后得到的模型更新率。
在式(14)中,調(diào)整后的更新率與速度的變化保持步調(diào)一致,所以修正值應(yīng)該比模板更新率低一個數(shù)量級,幀速率越大則μ取值應(yīng)較小,在通常的視頻序列,幀速率的值應(yīng)該和μ取值呈相反關(guān)系,在幀速率fr為24~30fps,ω應(yīng)該取3×10-4~4×10-4。
關(guān)于濾波器更新機(jī)制,本文提供的方法為:先以濾波器模型確定目標(biāo)位置和尺度,然后使用預(yù)測框的中心點(diǎn)計算出目標(biāo)的移動距離,根據(jù)關(guān)系式和計算出的目標(biāo)速度v和加速度α來自適應(yīng)調(diào)節(jié)模板更新速率λ,于是新的濾波器模板可以通過調(diào)整過的模板更新率求得。
實(shí)驗(yàn)環(huán)境是筆記本電腦上某常用仿真軟件,處理器為i5,所采用的視頻序列集部分來自于黑龍江二龍湖實(shí)地拍攝的視頻。本文選取SAMF算法和本文算法下的不同幀速率分解得到的序列集做目標(biāo)跟蹤實(shí)驗(yàn)。為了模擬出不同速度,視頻以25幀/s、12幀/s、8幀/s的速度分解得到三組序列集Redhouse-25、Redhouse-12、Redhouse-8,通過比較實(shí)驗(yàn)結(jié)果分析得出本文算法對目標(biāo)速度的自適應(yīng)性。在Redhouse序列中的無遮攔、形變,有輕微尺度變化等特點(diǎn),有利于一定程度上避免其它變量對實(shí)驗(yàn)結(jié)果的影響。試驗(yàn)結(jié)果如圖3~5和表1所示。
表1 Redhouse序列集跟蹤結(jié)果數(shù)據(jù)表
圖3 Redhouse-25序列跟蹤結(jié)果對比
圖4 Redhouse-12序列跟蹤結(jié)果對比
圖5 Redhouse-8序列跟蹤結(jié)果對比
從圖3中的對比可以看出,對于Redhouse-25序列而言,SAMF算法和本文算法均取得不錯的效果,在跟蹤全程都保持平穩(wěn)跟蹤狀態(tài),其原因在與序列中相鄰幀的跟蹤目標(biāo)移動距離小,速度也小。對于Redhouse-12來說,在第85幀左右SAMF算法跟蹤失敗并在一段時間保持跟丟狀態(tài),但是在之后算法還能搜索目標(biāo)后跟上,在跟蹤過程中后期保持跟上目標(biāo)。對于Redhouse-8序列而言,由于目標(biāo)速度過快導(dǎo)致模板更新率失真而無法適應(yīng)目標(biāo)速度,第57幀左右跟丟目標(biāo)出現(xiàn)跟丟的情況并在后續(xù)過程中目標(biāo)一直處于跟丟狀態(tài)。而本文提供的算法采用實(shí)時自適應(yīng)調(diào)節(jié)的模板更新率,在目標(biāo)速度變化時,目標(biāo)變化劇烈時,仍能保持良好的跟蹤性能。
從表1可以看出,SAMF算法和本文算法的目標(biāo)序列中跟蹤結(jié)果中,本文算法比SAMF算法的跟蹤速度略快,兩者大概能達(dá)到94%左右的目標(biāo)識別率。在Redhouse-12序列中,隨著目標(biāo)速度的小幅度加快,原算法的識別率下降為85%并且出現(xiàn)短時間內(nèi)跟丟目標(biāo)后重新跟上目標(biāo)的情況。Redhouse-8序列,算法的識別率降低到不到24%,其原因在于目標(biāo)速度過快導(dǎo)致模板更新率失真而無法適應(yīng)目標(biāo)速度。相比之下,本文提供的算法目標(biāo)識別率均能保持在90%以上,其原因在于本文算法對目標(biāo)速度具有適應(yīng)性。由以上實(shí)驗(yàn)可以得出,本文提供目標(biāo)跟蹤算法能根據(jù)目標(biāo)速度自適應(yīng)調(diào)整更新模板,能較為有效地解決因目標(biāo)速度過快而發(fā)生的跟丟問題,從而使算法適用于水面高速運(yùn)動場景下的目標(biāo)跟蹤。
實(shí)驗(yàn)環(huán)境是筆記本電腦上某常用仿真軟件,處理器為i5,所采用的序列集包括從浙江千島湖采集的Whitehouse序列、來自互聯(lián)網(wǎng)公開的Speedboat序列。Whitehouse序列抖動和因水面霧氣產(chǎn)生的圖像模糊的特點(diǎn),Speedboat序列具有尺度逐漸變大的特點(diǎn)。下面是不同算法對上述問題序列跟蹤的對比圖。
從圖6看出,由于水面的霧氣的原因,整體圖像和目標(biāo)圖像均比較模糊,本文提供的算法可以較好的跟蹤目標(biāo)。在圖7中看出,SAMF算法和本文的算法均能在目標(biāo)尺度逐漸變化的過程中,算法的預(yù)測框能不斷自適應(yīng)調(diào)整尺度,使目標(biāo)處于穩(wěn)定被跟上的狀態(tài),本文提供的算法的跟蹤性能稍強(qiáng)于SAMF算法。從這樣的幾組效果圖來對比,本文提供的算法在一些場景下具有比SAMF算法更好的跟蹤性能。
圖6 Whitehouse序列跟蹤結(jié)果對比
圖7 Speedboat序列跟蹤結(jié)果對比
從表2可以得到,本文提供的算法在跟蹤識別率方面和原SAMF算法大致相當(dāng),本文算法跟蹤速度比原SAMF算法有一定提高,其原因在于本文算法優(yōu)化了目標(biāo)搜索區(qū)域。本文算法在濾波器模型更新和目標(biāo)搜索區(qū)域方面改進(jìn),在相關(guān)濾波的基礎(chǔ)原理分析,本文算法在涉及目標(biāo)特征、尺度濾波器等內(nèi)容均與原算法相同,改進(jìn)后的算法保留了原SAMF算法對水面高速運(yùn)動中尺度變化、目標(biāo)模糊問題的優(yōu)良跟蹤性能。由此可見,本文提供的算法對于水面高速運(yùn)動中的跟蹤問題有著良好的跟蹤效果。
表2 不同序列集跟蹤結(jié)果數(shù)據(jù)表
本文在以SAMF算法為基礎(chǔ),以目標(biāo)速度和加速度自適應(yīng)濾波器模型更新和目標(biāo)長寬比自適應(yīng)調(diào)整目標(biāo)搜索區(qū)域方面改進(jìn),本文算法保留了原SAMF算法的優(yōu)點(diǎn),如對水面高速運(yùn)動中目標(biāo)模糊、尺度變化問題的優(yōu)良跟蹤性能,同時,本文算法提高了對水面高速運(yùn)動中的跟蹤問題的跟蹤性能。在本文算法中,未考慮多目標(biāo)跟蹤,后續(xù)會考慮多目標(biāo)跟蹤。