劉勇
摘要 CSK( circulant structurekernel)運(yùn)動(dòng)目標(biāo)跟蹤算法具有跟蹤穩(wěn)定、計(jì)算量小、抗光照干擾等優(yōu)點(diǎn);根據(jù)上一幀圖像的基本特征和相關(guān)的信息,訓(xùn)練出分類器,來對(duì)實(shí)時(shí)目標(biāo)進(jìn)行鎖定跟蹤。這是如此,CSK算法對(duì)抗遮擋的魯棒性很差,假如跟蹤目標(biāo)在某一時(shí)刻被遮擋了,則將跟丟目標(biāo)。為了解決CSK算法的遮擋問題,本文引入VIBE運(yùn)動(dòng)目標(biāo)檢測(cè)算法,利用VIBE算法的計(jì)算量小,需要的樣本少,可在短時(shí)間內(nèi)檢測(cè)出目標(biāo),然后重新對(duì)目標(biāo)進(jìn)行鎖定,從而達(dá)到連續(xù)跟蹤的目的,實(shí)驗(yàn)驗(yàn)證,本算法能達(dá)到實(shí)時(shí)性,滿足系統(tǒng)需要。
【關(guān)鍵詞】VIBE CSK 跟蹤 目標(biāo)檢測(cè)
運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤是當(dāng)前視覺研究的熱門方向,廣泛各類武器裝備中,如:導(dǎo)引頭,光電吊艙等設(shè)備中。同時(shí)在民用領(lǐng)域也占有很大份額,在交通監(jiān)控、視覺監(jiān)控中也廣泛應(yīng)用,同時(shí)在現(xiàn)階段熱門的AR和VR設(shè)備當(dāng)中也經(jīng)常能夠看到目標(biāo)跟蹤的身影,應(yīng)用十分廣泛。
現(xiàn)階段的目標(biāo)跟蹤算法,大致可以分為以下四大類:
(1)基于模板匹配的目標(biāo)跟蹤算法,這是在80年代的時(shí)候比較先進(jìn)的算法,典型的代表有MAD、NCC和STC等算法;
(2)根據(jù)運(yùn)動(dòng)目標(biāo)的軌跡來進(jìn)行預(yù)測(cè),通過根據(jù)預(yù)測(cè)來進(jìn)行目標(biāo)跟蹤的,常見的方法有粒子濾波跟蹤算法;
(3)通過實(shí)時(shí)的目標(biāo)檢測(cè),從而達(dá)到實(shí)時(shí)的跟蹤效果,以檢測(cè)來代替跟蹤的跟蹤策略
(4) 21世紀(jì)后,大量的跟蹤算法涌現(xiàn),其中最引人注目的算法類就是基于核函數(shù)的濾波跟蹤算法。這種跟蹤算法不僅計(jì)算簡(jiǎn)便,而且僅僅只需要一張圖像就可以進(jìn)行訓(xùn)練,因此操作起來十分的簡(jiǎn)潔方便。
傳統(tǒng)的跟蹤算法,如NCC在進(jìn)行小目標(biāo)跟蹤時(shí),由于其本身的非旋轉(zhuǎn)性,很多時(shí)候出現(xiàn)大量的匹配誤差;而粒子濾波在現(xiàn)階段由于計(jì)算量加大,暫時(shí)還不能夠?qū)崿F(xiàn)嵌入式平臺(tái),因此要想有一個(gè)處理速度快,跟蹤又穩(wěn)定的處理算法還是有點(diǎn)困難的,本文就是基于跟蹤算法來完成的。運(yùn)用快速核函數(shù)濾波跟蹤C(jī)SK,CSK算法對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行鎖定跟蹤;基于濾波類的跟蹤算法具有一個(gè)明顯的弱點(diǎn),就是抗遮擋能力非常弱,一旦目標(biāo)被遮擋了,則在后面的視頻當(dāng)中目標(biāo)也不在會(huì)出現(xiàn),就算出現(xiàn)也已經(jīng)報(bào)丟失,顯示跟蹤失敗。
CSK算法在目標(biāo)跟蹤算法具有很強(qiáng)的魯棒性,但是也存在上述的一點(diǎn)缺陷。本文就是為了處理CSK跟蹤算法扛遮擋能力差的問題,在一般正常情況下采取CSK算法進(jìn)行目標(biāo)跟蹤,而如果目標(biāo)消失不見了或者發(fā)生突變現(xiàn)象,則在算法前端加上了運(yùn)動(dòng)目標(biāo)檢測(cè)算法一VIBE,從而將突變位置的目標(biāo)位置傳送出去,給CSK算法來進(jìn)行跟蹤,從而達(dá)到穩(wěn)定實(shí)時(shí)的跟蹤系統(tǒng)。
1 CSK跟蹤算法介紹
圖像算法一般分為兩種:稠密型的和稀疏型。在大多數(shù)情況,為了能夠達(dá)到實(shí)時(shí)性,常規(guī)做法就是取用較少圖像像素點(diǎn)來進(jìn)行圖像處理一稀疏性,這種方式可以減小算法的負(fù)責(zé)度,使得算法能夠達(dá)到實(shí)時(shí)性,但是犧牲了算法性能,造成跟蹤或者檢測(cè)不準(zhǔn)確的情況發(fā)生。CSK算法通過單張圖片,通過循環(huán)舉證的操作,達(dá)到的稠密操作,具體做法是在行和列方向上分別做循環(huán)操作,從而達(dá)到多樣本的目的,最后進(jìn)行訓(xùn)練。而在檢測(cè)階段,算法可以采取求卷積的方式來代替?zhèn)鹘y(tǒng)的滑窗操作,進(jìn)一步提高算法的速度。
在分類器的訓(xùn)練階段,CSK算法從前一幀圖像中,以目標(biāo)為中心采集一個(gè)W*H的圖像塊i,然后對(duì)i在行和列方向上分別做循環(huán)移位,得到訓(xùn)練樣本集Ip={i(w,h)),參數(shù)w∈(0,1,2,3…W一1)、h∈(0,1,2,3…H一1),分別表示在w和H方向上做w和h次的循環(huán)移位,從而得到多個(gè)樣本,達(dá)到單個(gè)樣本變成多個(gè)樣本的目的。樣本I(w,h)的訓(xùn)練標(biāo)記為高斯函數(shù)r(W,h),整個(gè)訓(xùn)練采用百分制,目標(biāo)中心位置的值為100%,無窮遠(yuǎn)處記為O,與其距離成正比關(guān)系。最終的訓(xùn)練目的是在樣本集Ip上形成一個(gè)分類器,在后期的檢測(cè)中對(duì)待檢測(cè)區(qū)域進(jìn)行檢測(cè)。
CSK采用嶺回歸方法(Ridge Regression,即Regularized Least Squares,RLS)學(xué)習(xí)分類器,最終得到的參數(shù)是要使得如下?lián)p失函數(shù)最小的分類器參數(shù)ω,即
CSK算法采用高斯徑向基函數(shù)作為核函數(shù)k(),并利用FFT計(jì)算,采用線性插值對(duì)表觀i和分類器α進(jìn)行更新,每幀跟蹤的計(jì)算復(fù)雜度成指數(shù)形式降低。
2 融合VIBE運(yùn)動(dòng)目標(biāo)檢測(cè)算法
2.1 Vibe背景建模目標(biāo)檢測(cè)算法
Vibe算法是一種用來檢測(cè)運(yùn)動(dòng)目標(biāo)的檢測(cè)算法,具有計(jì)算量下、背景建模簡(jiǎn)單、檢測(cè)目標(biāo)準(zhǔn)確等優(yōu)點(diǎn)。它的原理是:運(yùn)用第一張圖像通過給每一個(gè)像素點(diǎn)建立樣本空間,在實(shí)時(shí)的與實(shí)時(shí)圖像進(jìn)行比對(duì),看樣本空間的像素點(diǎn)點(diǎn)是否位于實(shí)時(shí)圖像的鄰域當(dāng)中,根據(jù)處于樣本空間中的樣本個(gè)數(shù)來確定實(shí)時(shí)的區(qū)域是否是背景,從而能夠?qū)⒄鶊D像進(jìn)行分隔,將背景和目標(biāo)進(jìn)行分割;最后根據(jù)像素點(diǎn)在連續(xù)圖像中的背景次數(shù)來進(jìn)行背景模板跟新,從而達(dá)到循環(huán)的運(yùn)動(dòng)目標(biāo)檢測(cè)。具體的算法實(shí)現(xiàn)步驟如下:
2.1.1 背景模板初始化
運(yùn)動(dòng)目標(biāo)檢測(cè)過程中,首先要對(duì)目標(biāo)的背景進(jìn)行建模:第一步是要對(duì)第一張圖像進(jìn)行樣本空間的設(shè)定,將第一幅圖像拓展成為領(lǐng)域上的八個(gè)空間。假設(shè)SR(Vx)表示的是以實(shí)時(shí)像素點(diǎn)所構(gòu)成的圓形值域空間,且用Vx表示的樣本空間中的每一個(gè)元素與實(shí)時(shí)元素的歐式距離,如下公式(5):
M(x)={V1,V2…,VN}
(5)
2.1.2 目標(biāo)實(shí)時(shí)檢測(cè)
在得到了特定的運(yùn)動(dòng)目標(biāo)背景以后,我們需要根據(jù)背景信息進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)。我們將初始化值域空間中的每一個(gè)值與實(shí)時(shí)的像素值進(jìn)行求歐式距離,若反應(yīng)的歐式距離小于特定值,在N加一,當(dāng)N大于特定閾值時(shí),也就是說SR Vx)圓形值域空間中點(diǎn)的個(gè)數(shù)大于某一個(gè)既定的閾值時(shí),在認(rèn)為該實(shí)時(shí)像素為背景,如圖1所示,在實(shí)時(shí)像素點(diǎn)的領(lǐng)域中的點(diǎn)個(gè)數(shù)大于2時(shí),則認(rèn)為該像素點(diǎn)為背景,反之則可以認(rèn)為是運(yùn)動(dòng)目標(biāo)。