張寶峰,趙建平,朱均超
(天津理工大學(xué) 自動化學(xué)院 天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點實驗室,天津 300384)
視頻跟蹤[1]是指對視頻幀圖像序列中所有動態(tài)目標進行運動檢測、特征提取與匹配和跟蹤,獲得目標運行參數(shù),如目標質(zhì)心位置、速度、加速度以及運動路線等。視頻跟蹤為下一步圖像處理與分析、運動目標行為理解奠定了基礎(chǔ)。多運動目標跟蹤是指在相同的時刻對多個運動目標進行判斷、相似度匹配和跟蹤,其關(guān)鍵是目標模型和背景環(huán)境模型的建立、待跟蹤目標的判定和對遮擋問題的處理。視頻跟蹤技術(shù)在民宅安防、倉庫安全、智能交通監(jiān)控和導(dǎo)彈航跡等方面具有廣泛的應(yīng)用[2]。
目前,對室內(nèi)靜態(tài)背景下常用的跟蹤方法是基于顏色特征的運動目標跟蹤方法。然而,由于背景和目標易受顏色相似性的干擾,且人是一個非剛性運動物體,活動具有靈活自主性,實時跟蹤這個運動對象是很困難的,尤其是當其發(fā)生形變或被嚴重遮擋時。本文對運動目標跟蹤主要分為遮擋和不遮擋兩種趨勢進行研究,通過對兩種趨勢算法的研究,將基于特征和基于區(qū)域的運動目標跟蹤方法混合進行計算。經(jīng)過實驗驗證,這種混合算法可以達到多運動目標跟蹤快速性、準確性和實時性的要求。
對視頻序列幀圖像內(nèi)的多個目標進行跟蹤的算法有很多種,目前常用的算法有Kalman濾波算法[3]、基于均值偏移的 Meanshift算法[4]、Camshift算法[5]和粒子濾波算法[6]等。Kalman濾波算法是一個帶回饋估計的方法,由濾波器先作出與之相適應(yīng)的估計,然后以含有噪聲的測量信息進行反饋。它適合于高斯分布的線性、正態(tài)系統(tǒng)狀態(tài)的預(yù)測估計,不適合具有隨意運動性的人體目標的跟蹤。Camshift算法是改進的Meanshift算法,它的搜索框可以自由變換,此外,它與粒子濾波算法一樣是基于概率統(tǒng)計的方法,需要迭代求解。Camshift算法一般情況下是根據(jù)目標顏色特征信息進行跟蹤,由于跟蹤特征單一,因此極易發(fā)生漂移現(xiàn)像,但是它的跟蹤速度快,尤其對沒有遮擋情況下的運動目標可以快速準確地進行跟蹤。因此,通過Camshift算法可以對發(fā)生遮擋前待跟蹤目標的運動區(qū)域進行提取,并在此基礎(chǔ)上對待跟蹤目標是否會發(fā)生遮擋進行及時預(yù)測。若遮擋不存在,則需要通過基于顏色直方圖和分塊的方法分別對目標的灰度特征進行提取,并對最近提取的m幀圖像灰度特征信息進行保存;反之,則需進入遮擋處理過程[7]。無遮擋處理流程框圖如圖1所示。
圖1 無遮擋處理流程框圖
基于區(qū)域的運動目標跟蹤方法[8]是指:首先把圖像分為不同的小區(qū)域塊,然后對各個小區(qū)域塊采用高斯分布建立它們的目標模型和背景模型,最后將屬于待跟蹤目標的像素劃分為一些與背景不同的小區(qū)域塊,通過跟蹤包含目標的小區(qū)域塊完成整個待定目標的跟蹤。由于人體運動目標在慢速運動時各幀之間的位移通常很小,因此可以在目標當前幀所處地點的小鄰域內(nèi)尋找是否有除待跟蹤目標外運動物體的對應(yīng)像素,如果有,則表明目標有遮擋的趨勢?;趨^(qū)域相應(yīng)跟蹤算法只能判定目標是否存在遮擋,并不能解決遮擋問題?;谔卣鞯倪\動目標跟蹤是指通過提取一些可以比較明顯地表示待跟蹤目標信息的特征描述運動目標,運用特征匹配方法實現(xiàn)對視頻圖像中多運動目標的跟蹤。通常情況下,可以用顏色、邊緣、紋理、有明顯標記區(qū)域?qū)?yīng)的點、線、曲線等特征描述運動目標,再通過目標區(qū)域與候選區(qū)域進行特征相似度匹配,實現(xiàn)運動目標跟蹤。目前,最常用的基于特征的跟蹤方法是顏色直方圖法,對顏色直方圖的提取可以采用二階直方圖或加權(quán)顏色直方圖。當目標顏色與背景顏色相似度很大時,基于顏色直方圖特征的跟蹤方法會導(dǎo)致錯誤跟蹤。本文將區(qū)域相應(yīng)和顏色特征匹配相結(jié)合,對多運動目標進行跟蹤,將室內(nèi)靜態(tài)背景中的待跟蹤目標分為進入室內(nèi)、離開室內(nèi)、合并、分離和正常5種運動狀態(tài)。首先,需要對輸入視頻序列的各幀圖像進行圖像預(yù)處理,預(yù)處理的關(guān)鍵是對目標區(qū)域進行分塊,得到運動目標;然后,利用區(qū)域相應(yīng)法判別目標處于哪種狀況;最后,當目標處于分離狀況時,采用基于顏色直方圖的特征提取方法,利用基于余弦匹配進行顏色相似度計算,從而再次跟蹤運動目標。圖2所示為存在遮擋時跟蹤算法框圖。
圖2 存在遮擋時跟蹤算法框圖
視頻圖像預(yù)處理主要是采用基于分塊的方法將表示目標區(qū)域的視頻幀圖像分割成若干個均勻一致的小方塊,假設(shè)各小方塊的寬度都是M個像素,若分割得到的小方塊內(nèi)像素個數(shù)與待跟蹤目標重合的像素個數(shù)少于一半或更多,則剔除這樣的小方塊。通常情況下,對目標分塊后要求小方塊個數(shù)大于10,考慮到人體目標在行進過程中姿勢、形態(tài)或體積可能發(fā)生變化,因此需要應(yīng)自動調(diào)整跟蹤時小方塊寬度的大小。調(diào)整方法為:
其中,s為目標區(qū)域包含的像素個數(shù)。
經(jīng)過圖像預(yù)處理,各個運動目標塊在空間中所處的具體位置已經(jīng)明確,假設(shè)視頻幀率為30 f/s,則相鄰兩幀圖像間隔小于33.4 ms。對于室內(nèi)環(huán)境下運動的人體目標,相鄰兩幀空間范圍上位置變化很小。所以只要第i幀與第i+1幀目標塊有重合的部分,就可以判定前后兩幀中運動目標屬于同一目標??赡艹霈F(xiàn)以下5種情形:
(1)合并事件:第 i幀上的兩個或兩個以上目標塊同時與第i+1幀上的一個目標塊在位置上重合。
(2)分離事件:第 i幀上的一個目標塊同時與第 i+1幀上的兩個或兩個以上目標塊重合。
(3)進人室內(nèi):第i+1幀上的目標塊在第i幀上沒有一個目標塊與其在位置上有重合,可判斷目標在第i+1幀進人室內(nèi)。
(4)離開室內(nèi):第i幀上的目標塊在第i+1幀上找不到一個目標塊與其在位置上有重合,可判斷目標在第i+1幀離開室內(nèi)。
(5)正常:第i幀上的一個目標塊與第i+1幀上的一個目標塊在位置上有重合區(qū)域,判斷它們屬于同一運動目標。
從上面的分析可以看出,區(qū)域相應(yīng)法可以對目標進入室內(nèi)、離開室內(nèi)、一般情況和合并事件進行直接判定,但是對于分離后的目標還需要采用顏色特征描述對其加以區(qū)分,因為各個目標的顏色分布不同。首先需要建立目標顏色直方圖模型,然后按照一定的相似度匹配準則對目標進行再次跟蹤判定。
如果當前幀為第i幀并已進入遮擋處理過程,利用人體運動目標慢速移動時幀間位移較小的特點,重新對待跟蹤目標做一個比上一幀大一點的搜索框。利用分塊方法將新搜索框內(nèi)的目標區(qū)域分成寬度為M的若干子塊,并將子塊轉(zhuǎn)化成向量的形式 vtest=[v1,v2,…,vN]。 當對遮擋發(fā)生前m幀提取的目標灰度特征向量集Vsample進行標記后,將vtest與Vample中的各個向量進行相似度匹配,通過匹配程度大小即可判斷該子塊是否屬于待跟蹤目標。假定 v是 Vsample中的一個向量,記‖v-vtest‖為向量 vtest與v間的歐式距離,于是可把存在遮擋趨勢的跟蹤難點轉(zhuǎn)變?yōu)楹唵蔚膶λ阉骺騼?nèi)每個子塊分類。分類的方式是令 f=min‖v-vttest‖(v∈Vsample),若 f比原來設(shè)定好的閾值小,則把vtest對應(yīng)的子塊歸為待跟蹤目標,并將其標號設(shè)為1;反之,將其標設(shè)為0。當搜索框內(nèi)一切子塊都被分類后,仍然需要對其進行平滑處理。分類后若某個子塊相鄰范圍內(nèi)的其他子塊標號大多數(shù)與該子塊不一樣,此時需要將該子塊重新進行標號。
2.4.1 目標顏色模型的建立和更新
顏色直方圖Hi(X|m)統(tǒng)計了在第i幀中目標m上顏色 X=(r,g,b)的數(shù)目,可計算目標 m 在每幀上的顏色分布(X|m)為:
其中,Ai(m)為第 m個目標在 i幀中的總像素數(shù)。由于每個目標的顏色分布是不恒定的,因此建立并更新i幀上目標 m的顏色模型 Pi(X|m)為:
2.4.2 顏色相似度計算
用顏色相似度[9]sij(X|m,n)計算幀間兩個目標顏色模型 Pi(X|m)和 Pj(X|n)的匹配程度,當顏色相似度大于某一動態(tài)閾值時,即可認為這兩個目標屬于同一目標;小于某一動態(tài)閾值時,認為它們屬于不同的目標。在運動跟蹤中,通常采用基于歐氏距離的匹配方法計算顏色相似度,即:
歸一化后:
通過實驗發(fā)現(xiàn),歐式距離相似度匹配方法并不能比較準確地區(qū)分出運動目標,因此本文利用一種新的顏色相似度匹配準則——基于余弦匹配的計算方法,公式如下:
其中,“·”表示點積。在實際跟蹤中,可能會有多個運動目標同時分裂,這多個目標為一群,這個群分裂后可能不只分裂成單一目標群,而是分成多個小目標群,此時就需要判斷每一小目標群分別包含哪些目標。針對這個問題,本文提出的算法如下。
(1)假設(shè)有 N個單一目標在第 i幀上發(fā)生合并,這N 個目標的顏色模型 Pi(X|n)(n=1,2,…,N)都為已知。
(2)這N個目標在第 j幀上分離成 M塊,M≤N,計算這 M 塊的顏色分布 Pj(X|m)(m=1,2,…,M)。
(3)可用式(7)計算第 n個目標在分裂后分別處于第幾塊:
2.4.3 計算復(fù)雜度
實驗過程中拍攝得到的視頻序列幀圖像是24 bit真彩色的 RGB 圖像。RGB 顏色空間 X=(r,g,b)共有 224種顏色。由于選擇的顏色種類過多會導(dǎo)致程序效率變低,因此需要對目標的顏色特征進行采樣,采樣公式為:
其中,r_value、g_value、b_value分別為像素 r、g、b 3 個分量的值;n表示采樣后每個通道的位數(shù)。實驗中取n=3,這樣采樣結(jié)果的精確度符合實驗要求,同時在程序上大大減少了計算量。
按照上述混合方法設(shè)計的室內(nèi)靜態(tài)環(huán)境下多目標跟蹤算法程序是在VC 6.0和OpenCV 1.0在Windows 7的環(huán)境下編寫的,實驗視頻的幀率為30 f/s,每一個像素24 bit。圖3所示為一組跟蹤結(jié)果。
圖3 跟蹤結(jié)果圖
本文通過簡單的Camshift跟蹤算法處理無遮擋情況下多目標的跟蹤,采用基于區(qū)域與基于特征匹配相結(jié)合的算法處理多遮擋情況下目標的跟蹤問題。首先采用基于區(qū)域相應(yīng)的方法進行初次跟蹤判定,然后利用顏色模型的相似性按照一定的匹配原則進行二次判定。但是該方法不能解決遮擋時的跟蹤問題,分塊的方法很好地解決了這一問題。當遮擋過程中目標的姿勢、形態(tài)和體積發(fā)生較大的變化時,這些跟蹤方法有一定的局限性。
[1]伏亞文.結(jié)合模糊理論的視覺識別與跟蹤技術(shù)研究[D].南京:南京理工大學(xué),2009.
[2]李谷全,陳忠澤.視覺跟蹤技術(shù)研究現(xiàn)狀及其展望[J].計算機應(yīng)用研究,2010,27(8):2814-2818.
[3]蔣戀華,甘朝暉.多目標跟蹤綜述[J].計算機系統(tǒng)應(yīng)用,2010,19(12):271-274.
[4]KALMAN R E.A new approach to linear filtering and prediction problems[C].Transactions of the ASME-Journal of Basic Engineering, 1960,82:35-45.
[5]Cheng Yizong.Mean shift, mode seeking and clustering[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 1995,17(8):790-799.
[6]BRADSKI G R.Computer vision face tracking for use in a perceptual user interface[J].Intel Technology Journal, 1998,2(2):1-15.
[7]CARPENTER J,CLIFFORD P.Improved particle filter for non linearproblems[J]. IEEE ProofRadar.Sonarand Navigation, 1999,146(1):2-7.
[8]白金濤.視頻序列中運動目標跟蹤算法的研究 [D].天津:天津大學(xué),2009.
[9]陸玉傳.基于PTZ相機的運動目標檢測與跟蹤技術(shù)研究[D].南京:東南大學(xué),2010.