王 凱,高 勇,吳 敏,張 翔,2
(1.中國民用航空總局第二研究所科研中心,成都 610041;2.電子科技大學(xué)電子工程學(xué)院,成都 611731)
隨著全球經(jīng)濟(jì)的快速增長,計(jì)算機(jī)技術(shù)、電子產(chǎn)業(yè)等高新技術(shù)的快速發(fā)展,作為視頻監(jiān)控技術(shù)基礎(chǔ)之一的目標(biāo)跟蹤技術(shù)也逐步發(fā)展起來,而且該技術(shù)越來越多的涉及到人們?nèi)粘I畹母鱾€(gè)方面[1-2]。目前視頻監(jiān)控中場景日趨復(fù)雜化,對場景中目標(biāo)實(shí)現(xiàn)跟蹤是仍然存在著一些問題,天氣的變化、攝像機(jī)的抖動(dòng)、目標(biāo)的停留、遮擋等因素都直接影響跟蹤結(jié)果。研究一種能滿足實(shí)時(shí)性、穩(wěn)定性、準(zhǔn)確性要求的算法,仍有些困難。大多數(shù)目標(biāo)跟蹤根據(jù)對運(yùn)動(dòng)目標(biāo)特征的主流目標(biāo)跟蹤方法大致被歸納為以下四種方法:基于對比度分析的跟蹤[3]、基于匹配的跟蹤[4]、基于團(tuán)塊的跟蹤[5]及基于核函數(shù)的跟蹤[6]。
基于對比度分析的跟蹤方法是分析運(yùn)動(dòng)目標(biāo)和背景之間的差異而產(chǎn)生的對比度來提取、識別和跟蹤運(yùn)動(dòng)目標(biāo);主要的分類方法有基于邊緣跟蹤、型心跟蹤、質(zhì)心跟蹤等;該算法不適合在復(fù)雜的環(huán)境中進(jìn)行跟蹤,但在空中背景下進(jìn)行目標(biāo)跟蹤效果非常好。基于匹配的目標(biāo)跟蹤方法是提取運(yùn)動(dòng)目標(biāo)的特征,然后視頻序列每一幀圖像中尋找提取的特征,尋找特征的過程就進(jìn)行特征匹配。基于團(tuán)塊的跟蹤方法是利用特定的矩形或者橢圓標(biāo)示并且跟蹤目標(biāo),利用該團(tuán)塊的顏色信息、邊緣信息以及圖像的紋理信息作為后續(xù)的搜索目標(biāo)的基礎(chǔ)條件[7]。文獻(xiàn)[8]提及基于核函數(shù)的跟蹤方法是直接對相似性概率密度函數(shù)或者后驗(yàn)概率密度函數(shù)進(jìn)行連續(xù)估計(jì)。該方法中典型的算法是以顏色直方圖為統(tǒng)計(jì)特征的均值偏移(Meanshift)算法。其前提是顏色特征直方圖能夠確定運(yùn)動(dòng)目標(biāo)的位置,并且足夠穩(wěn)定,對其他運(yùn)動(dòng)不敏感。
根據(jù)在實(shí)際應(yīng)用場景中跟蹤不同種類目標(biāo)(即行人、車輛及飛行器等)、目標(biāo)活動(dòng)姿態(tài)變化大(快速運(yùn)動(dòng)、緩慢運(yùn)動(dòng)和逗留等)的問題,提出了一種改進(jìn)ViBe算法與Meanshift結(jié)合的目標(biāo)跟蹤方法。其基本思想是首先引入三幀差分算法在預(yù)留的幀中提取背景,利用色度特征和梯度特征相結(jié)合來消除陰影的干擾,使得改進(jìn)的ViBe算法魯棒性更好,從而對目標(biāo)區(qū)域進(jìn)行標(biāo)記;同時(shí)通過將邊緣特征融入到Meanshift算法中,引入運(yùn)動(dòng)矢量在當(dāng)前幀中預(yù)測下一幀運(yùn)動(dòng)目標(biāo)的位置,最后,利用目標(biāo)檢測階段對目標(biāo)區(qū)域的標(biāo)記,采用增量試探法來自適應(yīng)改變跟蹤窗寬,實(shí)現(xiàn)多目標(biāo)的自動(dòng)跟蹤。實(shí)驗(yàn)在不同監(jiān)視環(huán)境中行人、車輛及飛行器等多類目標(biāo)的監(jiān)控視頻中對本文改進(jìn)方法與文獻(xiàn)[8]方法進(jìn)行目標(biāo)跟蹤效果及性能對比。
設(shè)圖像中任意像素(x,y)的值為v(x,y),vi為第i個(gè)背景樣本像素值。當(dāng)前幀的每個(gè)背景像素(x,y)的模型由前一幀中的N個(gè)背景像素樣本集表示:
M(x,y)={v1,v2,…,vN}
(1)
式(1)中:x為圖像橫向坐標(biāo)點(diǎn);y為圖像縱向坐標(biāo)點(diǎn);M(x,y)為像素點(diǎn)(x,y)的樣本值;v為像素點(diǎn)的灰度值。對于當(dāng)前幀的像素(x,y),在二維的歐幾里德顏色空間中,以該像素點(diǎn)為中心,半徑為R的圓面,如果在圓面有M個(gè)該像素的樣本值,則該像素分類是背景像素,否則該像素分類是前景像素。要對像素(x,y)進(jìn)行分類,需要計(jì)算該像素的所有樣本點(diǎn)到該像素點(diǎn)的N個(gè)距離,并且要與半徑R進(jìn)行逐一比較,有M個(gè)像素符合要求,則該像素是背景像素。
假設(shè)t=0時(shí)刻的視頻圖像作為第一幀,則第一幀中就可以定義背景的模型如式(2)所示:
M0(p)={p0[v|v∈N8(p)]}
(2)
式(2)中:M0(p)為在t=0時(shí)計(jì)算的初始背景模型;p為圖像任意像素(x,y)的值;N8(p)為像素p(x,y)的八鄰域。v選取是p(x,y)在八鄰域中隨機(jī)選取N個(gè)樣本值。考慮到N取值不定,即出現(xiàn)在像素的八鄰域中隨機(jī)選取,可能出現(xiàn)有些像素重選或沒有被選擇,如果鄰域的像素是與之前假設(shè)的相同,則對后續(xù)檢測無影響。
根據(jù)ViBe算法無記憶更新策略,像素模型的樣本含前幾幀該像素的樣本值,不會(huì)丟棄更新前面幀中的樣本。通過提供一種以指數(shù)衰減的形式來表示樣本像素的生命周期,允許一些比較舊的樣本值仍然在當(dāng)前幀的樣本中,新的樣本值會(huì)取代被選中的樣本值本,而被取代的樣本是隨機(jī)選擇的結(jié)果,跟該樣本在樣本中所經(jīng)歷的時(shí)間無關(guān)。假設(shè)t時(shí)刻,一個(gè)樣本在該模型樣本中被替換掉的概率為(N-1)/N,t+Δt時(shí)刻,兩個(gè)時(shí)刻之間該樣本被替換的概率為
(3)
式(3)中:P(t,t+Δt)表示t~t+Δt時(shí)刻該樣本被替換的概率。任何一個(gè)像素的樣本值其生命周期是按照指數(shù)衰減的形式,并且其衰減的速度只與兩個(gè)時(shí)刻的時(shí)間差即Δt有關(guān),跟起始時(shí)刻t沒有關(guān)系,即無記憶性。即完全由給定一個(gè)時(shí)間段Δt來決定樣本在背景模型中保持的時(shí)間,在某種程度上來講,無記憶性允許更新機(jī)制適應(yīng)任何的幀率。
根據(jù)ViBe算法實(shí)現(xiàn)簡單,實(shí)時(shí)性好。但易產(chǎn)生鬼影和陰影,其是目標(biāo)檢測中常見的干擾,針對該算法存在的這兩個(gè)問題分別進(jìn)行改進(jìn)。
1.4.1 鬼影的去除
針對鬼影的去除,其實(shí)現(xiàn)步驟如下。
(1)先預(yù)留視頻的前T幀圖像,設(shè)c為當(dāng)前幀,b為背景生成幀,并給b和c初始化,即b=2,c=b。
(2)將c-1、c、c+1這三幀圖像做三幀差分,采用大津閾值分割算法對差分圖像進(jìn)行二值化以減少噪聲的影響,獲取前景目標(biāo)在第c幀中的位置圖像d,同時(shí)對第c幀圖像做Sobel算子邊緣檢測,將第c幀圖像和前景提取圖像d做與運(yùn)算得到圖像e,對e進(jìn)行邊緣連接和區(qū)域填充,得到完整的前景目標(biāo);由于c=b,將b中出去前景目標(biāo)的其余部分作為背景。
(3)判斷c是否大于T,如果大于T則轉(zhuǎn)到第(4)步,否則c=c+1,繼續(xù)按照第(2)步做三幀差分,得到第c幀圖像前景目標(biāo)的完整信息,用第c幀中沒有前景像素替代在相同位置上在第b幀中有前景的像素;判斷第b幀中是否存在前景目標(biāo)像素,如果有則重復(fù)第(3)步,否則轉(zhuǎn)到第(5)步。
(4)如果第b幀中還存在前景目標(biāo)像素,根據(jù)領(lǐng)域的像素有相似的時(shí)間分布,選擇最近的鄰域像素來填充。
(5)形態(tài)學(xué)處理并輸出所提取的背景像素。
1.4.2 陰影的去除
針對陰影的去除,其實(shí)現(xiàn)步驟如下。
(1)根據(jù)基于色度的信息來檢測可能的陰影區(qū)域的掩膜,閾值選取較小值,盡可能將所有的陰影像素包含在該掩膜內(nèi)。
(2)對步驟(1)中的陰影進(jìn)行分塊,分成不同的連通塊。
(3)選取梯度變化顯著的像素p(x,y),計(jì)算該像素的梯度幅值p和梯度方向θp,即
(4)
θp=arg2(y/x)
(5)
(4)對于步驟(3)中選擇的像素,計(jì)算其在給定幀f和背景圖像b的梯度方向值的差分,即
(6)
由于梯度方向是一個(gè)角度的變量,所以計(jì)算所得差分結(jié)果的單位是角度。
(5)估計(jì)給定幀和背景之間梯度方向的相關(guān)系數(shù),即
(7)
式(7)中:τ為閾值;u為計(jì)算單位階躍函數(shù);當(dāng)閾值τ和p相等或近似時(shí),該函數(shù)的值為1,否則為0。
(6)根據(jù)步驟(5)得到的像素在當(dāng)前幀和背景中的梯度方向相關(guān)系數(shù),判定該像素位置是否是陰影區(qū)域,如果是則在前景區(qū)域中將其去掉,否則保留,即
(8)
如果相關(guān)系數(shù)c大于某個(gè)閾值τc,那么像素p(x,y)所在位置為陰影區(qū)域,在提取的前景掩膜中將該點(diǎn)去除,否則該像素所在位置為非陰影區(qū)域,予以保留。
針對改進(jìn)前后的VIBe算法檢測效果,如圖1所示。圖1(a)、圖1(d)、圖1(g)為實(shí)驗(yàn)的原始視頻幀,分別是行人、車輛和飛行器。由圖1可知,當(dāng)運(yùn)動(dòng)目標(biāo)通過該場景時(shí)出現(xiàn)陰影,圖1(b)、圖1(e)、圖1(h)是原始ViBe算法進(jìn)行前景提取的結(jié)果,陰影作為前景提取出來,圖1(c)、圖1(f)、圖1(i)是將ViBe算法和陰影消除算法相結(jié)合,并進(jìn)形態(tài)學(xué)處理后的效果圖,可以看出,陰影區(qū)域已經(jīng)被消除,即陰影不作為前景目標(biāo)的一部分。

圖1 ViBe檢測算法改進(jìn)前后的效果
改進(jìn)ViBe算法實(shí)現(xiàn)視頻幀中運(yùn)動(dòng)目標(biāo)的前景提取,通過連通域標(biāo)記算法對前景目標(biāo)的上下左右輪廓的邊界進(jìn)行標(biāo)記,為后續(xù)的目標(biāo)跟蹤做準(zhǔn)備,其檢測結(jié)果如圖2所示。

圖2 前景目標(biāo)標(biāo)記結(jié)果
采用Mean Shift算法進(jìn)行目標(biāo)跟蹤,其運(yùn)算速度快、實(shí)時(shí)性好。針對傳統(tǒng)的Mean Shift算法存在一些問題,如顏色相似干擾、運(yùn)動(dòng)目標(biāo)過快導(dǎo)致目標(biāo)丟失等,將對其進(jìn)行改進(jìn),實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的準(zhǔn)確跟蹤。
Mean Shift跟蹤算法中的目標(biāo)模型是采用在目標(biāo)區(qū)域中各個(gè)像素點(diǎn)顏色特征值的概率密度分布函數(shù)來描述,顏色特征對遮擋有較強(qiáng)的魯棒性,如果運(yùn)動(dòng)目標(biāo)中心為a0,ai為目標(biāo)區(qū)域里第i個(gè)像素點(diǎn),那么此目標(biāo)模型的概率密度計(jì)算如式(9)所示:
(9)

設(shè)候選模板位于d的目標(biāo)模型概率密度計(jì)算公式如式(10所示):
(10)

(11)
ηl(d)取最大,將式(12)進(jìn)行泰勒公式描述為

(12)
(13)

(14)
針對目標(biāo)模型在目標(biāo)區(qū)域中各個(gè)像素點(diǎn)顏色特征值的概率密度分布函數(shù)來體現(xiàn)。顏色直方圖在整個(gè)顏色空間分布比較均勻及直方圖中顏色的量化使得顏色直方圖對目標(biāo)顏色的分布和描述不佳,如果有強(qiáng)、弱光或同一前景顏色干擾時(shí),易造成跟蹤效果不佳;式(12)中在相似性函數(shù)展開是在目標(biāo)最初位置中心的核函數(shù)窗口的尺寸內(nèi),如果出現(xiàn)快速動(dòng)目標(biāo),在后續(xù)視頻圖像中物體中心將會(huì)消失在這個(gè)尺寸內(nèi),即核函數(shù)的窗口中已完全不包含目標(biāo),搜索的點(diǎn)不是真實(shí)運(yùn)動(dòng)目標(biāo)的中心,導(dǎo)致目標(biāo)丟失。
2.2.1 邊緣特征
對于上述第一種情況,采用顏色特征和邊緣特征融合方法來解決。根據(jù)2.1節(jié)中將Meanshift跟蹤算法中目標(biāo)模型在目標(biāo)區(qū)域中采用各個(gè)像素的顏色特征值的概率密度分布函數(shù)轉(zhuǎn)換為邊緣特征的概率密度函數(shù)。相似地,通過建立目標(biāo)邊緣的直方圖以搜索運(yùn)動(dòng)目標(biāo)。
因此,目標(biāo)模型邊緣特征的概率密度函數(shù)計(jì)算公式如式(15)所示:
(15)
設(shè)候選模板位于d的目標(biāo)模型概率密度計(jì)算公式如式(16)所示:
(16)
que(d)與pue的相似函數(shù)通過Bhattacharrya系數(shù)度量:

(17)
將式(17)通過泰勒公式展開,使ηl(d)取最大。然后下面的計(jì)算與式(12)~式(14)相似,最后獲得目標(biāo)在后續(xù)幀中的相應(yīng)位置d1e。
2.2.2 運(yùn)動(dòng)矢量預(yù)測
對于上述第二種情況,采用運(yùn)動(dòng)矢量來進(jìn)行預(yù)估計(jì),即先通過運(yùn)動(dòng)矢量來估計(jì)下一幀圖像中的準(zhǔn)確位置,然后通過Mean Shift跟蹤算法進(jìn)行跟蹤,這樣能彌補(bǔ)快速動(dòng)目標(biāo)而導(dǎo)致目標(biāo)丟失的問題。
設(shè)定Ax、Ay分別代表在x軸、y軸上的運(yùn)動(dòng)矢量權(quán)值,運(yùn)動(dòng)矢量在垂直與水平分量間的角度α,根據(jù)三角函數(shù)可知tanα=Ax/Ay,計(jì)算所有運(yùn)動(dòng)矢量相應(yīng)的編碼函數(shù)如式(18)所示:
(18)
式(18)中:Lij(α)表示運(yùn)動(dòng)矢量相應(yīng)的編碼;其中Lij(α)∈(0,8);Δα表示常數(shù),取值為π/4。

2.2.3 本文算法


(19)
d1=φd1l+(1-φ)y1e
(20)
式(20)中:
φ=ηl(d)/[ηl(d)+ηe(d)]
(21)

2.2.4 多目標(biāo)跟蹤
以上改進(jìn)方法由于使用的固定帶寬的改進(jìn)Meanshift算法進(jìn)行目標(biāo)跟蹤,當(dāng)目標(biāo)運(yùn)動(dòng)過快而使跟蹤窗口內(nèi)的顏色特征和邊緣特征變化過大,采用運(yùn)動(dòng)矢量做預(yù)測也無法使Meanshift跟蹤算法收斂,故在目標(biāo)運(yùn)動(dòng)過快時(shí),需要限制窗寬的大小。采用增量試探法[9]來修正帶寬,使跟蹤窗口可以適應(yīng)運(yùn)動(dòng)目標(biāo)在場景中形狀大小的改變。其原理:設(shè)定原始帶寬是w,將該帶寬分別增大和減小v,v取值為(0,1),得到v1與v2,滿足Bhattacharyya系數(shù)最大的為跟蹤的帶寬v(v=0.1),運(yùn)動(dòng)目標(biāo)的概率密度函數(shù)計(jì)算公式如式(2)所示:
(22)
由式(22)和目標(biāo)模型的概率密度函數(shù)可求得Bhattacharyya的值最大[10-12]。對改進(jìn)ViBe檢測算法所檢測的多目標(biāo)區(qū)域進(jìn)行標(biāo)記,可根據(jù)在目標(biāo)檢測階段標(biāo)記的區(qū)域,在目標(biāo)的跟蹤階段讓這些區(qū)域作為初始的跟蹤區(qū)域,從而實(shí)現(xiàn)多目標(biāo)跟蹤[13-14]。
首先,在某學(xué)校樓口采集的原始視頻進(jìn)行的測試結(jié)果如圖3所示,實(shí)驗(yàn)中對初始化選定的行人目標(biāo)進(jìn)行文獻(xiàn)[8]方法與本文方法的效果比較。由圖3可知,從左至右分別截取了兩種不同跟蹤方法運(yùn)用于原始視頻樣本第130、156、170、183幀圖像的跟蹤效果,運(yùn)動(dòng)目標(biāo)在原始視頻中行動(dòng)軌跡是由視頻的下端往上端遠(yuǎn)處變速行走。圖3(a)中在初始跟蹤時(shí)可以很好地標(biāo)記出行人目標(biāo),而當(dāng)運(yùn)動(dòng)目標(biāo)逐漸走到遠(yuǎn)處,目標(biāo)體變小時(shí),跟蹤的可靠性也在逐漸下降,最后造成目標(biāo)跟蹤失敗的情況。圖3(b)由于采用了運(yùn)動(dòng)矢量進(jìn)行結(jié)合,不斷修正目標(biāo)的中心點(diǎn)位置,同時(shí)通過顏色特征和邊緣特征結(jié)合,最終實(shí)現(xiàn)目標(biāo)從頭至尾持續(xù)、準(zhǔn)確的跟蹤行人目標(biāo)。表1是根據(jù)兩種不同目標(biāo)跟蹤方法得到的目標(biāo)中心點(diǎn)誤差的對比,將行人跟蹤過程中矩形框的中心點(diǎn)作為目標(biāo)位置,由表1統(tǒng)計(jì)結(jié)果可知,本文方法與文獻(xiàn)[8]方法相比,跟蹤定位精度更高。

表1 學(xué)校路口行人跟蹤定位誤差對比

圖3 學(xué)校路口行人跟蹤測試結(jié)果
將上述某學(xué)校路口原始視頻截取135幀圖像序列進(jìn)行兩種跟蹤方法的精確度對比,以對比實(shí)際測試結(jié)果與真實(shí)目標(biāo)運(yùn)行軌跡存在的差異,結(jié)果如圖4所示。由圖4可知,本文方法在行人定位誤差上小于文獻(xiàn)[8]方法,表明本文方法在行人跟蹤過程中更加穩(wěn)定。

圖4 學(xué)校路口行人跟蹤精度對比
然后,在某車道路口采集的原始視頻進(jìn)行的測試效果如圖5所示,實(shí)驗(yàn)中對初始化選定的車輛目標(biāo)進(jìn)行文獻(xiàn)[8]方法與本文方法的效果比較。由圖5可知,從左至右分別截取了兩種不同跟蹤方法運(yùn)用于原始視頻樣本第131、152、175、192幀圖像的跟蹤效果,車輛目標(biāo)在原始視頻中行動(dòng)軌跡是前行—轉(zhuǎn)彎—停車。圖5(a)是采用文獻(xiàn)[8]方法對變速車輛跟蹤的結(jié)果;圖5(b)是本文方法對運(yùn)動(dòng)車輛跟蹤的結(jié)果。根據(jù)對車輛目標(biāo)的跟蹤效果圖可知,并不能準(zhǔn)確看出兩種跟蹤方法的優(yōu)劣。表2是兩種跟蹤方法在車輛跟蹤時(shí)進(jìn)行目標(biāo)中心點(diǎn)定位誤差的對比。由表2可知,本文方法在車輛跟蹤定位的精度上略高于文獻(xiàn)[8]方法。

圖5 車道路口車輛跟蹤測試圖

表2 車道路口車輛跟蹤定位誤差對比
為更好地驗(yàn)證本文改進(jìn)方法在不同環(huán)境中的自適應(yīng)性與魯棒性,在機(jī)場飛行區(qū)不同天氣環(huán)境下將本文方法運(yùn)用于飛行器的跟蹤測試結(jié)果如圖6所示。圖6(a)是針對機(jī)場飛行區(qū)晴朗環(huán)境下滑行道上快速運(yùn)動(dòng)的飛行器跟蹤結(jié)果(視頻幀從左至右分別為110、145、192幀),圖6(b)是針對機(jī)場飛行區(qū)霧霾環(huán)境下滑行道上快速運(yùn)動(dòng)的飛行器跟蹤結(jié)果(視頻幀從左至右分別為220、246、287幀)。針對機(jī)場飛行區(qū)復(fù)雜環(huán)境對飛行器進(jìn)行的跟蹤測試,由圖6可知,本文方法在運(yùn)用于天氣晴朗和天氣能見度環(huán)境較低時(shí),能夠?qū)崿F(xiàn)較為可靠的跟蹤效果,較好地滿足機(jī)場飛行區(qū)實(shí)際應(yīng)用的需要。

圖6 機(jī)場飛行區(qū)飛行器跟蹤結(jié)果
針對視頻監(jiān)視環(huán)境中光照變化、相似顏色干擾及快速動(dòng)目標(biāo)而導(dǎo)致的目標(biāo)易丟失問題,提出了一種改進(jìn)ViBe算法與Meanshift結(jié)合的目標(biāo)跟蹤方法。首先引入三幀差分在預(yù)留的幀中提取背景,利用色度特征和梯度特征相結(jié)合來消除陰影的干擾,使得改進(jìn)的ViBe算法魯棒性更好,從而對目標(biāo)區(qū)域進(jìn)行標(biāo)記;在Meanshift目標(biāo)跟蹤階段,通過結(jié)合顏色特征和邊緣特征融合的基礎(chǔ)上,提出對當(dāng)前幀采用運(yùn)動(dòng)矢量來預(yù)測下一幀中目標(biāo)的位置,能夠很好地彌補(bǔ)顏色特征容易受光照變化或相似顏色干擾的缺陷,提高跟蹤的準(zhǔn)確度。最后,引入增量試探法自適應(yīng)的改變跟蹤窗寬,實(shí)現(xiàn)全自動(dòng)的多目標(biāo)跟蹤。同時(shí)根據(jù)實(shí)驗(yàn)測試了本文方法可解決Meanshift跟蹤算法對光照變化或相似顏色干擾及目標(biāo)運(yùn)動(dòng)過快導(dǎo)致目標(biāo)丟失的問題,實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)準(zhǔn)確、可靠的跟蹤,并適用于低能見度天氣。
在后續(xù)的研究中,將圍繞檢測跟蹤后的目標(biāo)進(jìn)行智能識別,多源監(jiān)視數(shù)據(jù)(航班、告警等)[13-14]融合等處理,以滿足實(shí)際安防業(yè)務(wù)監(jiān)控及管理需要。