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