摘要:針對固定監控場景提出了一種運動目標檢測與跟蹤方案。在運動目標檢測中,利用像素梯度及色度均值、方差分布建立并實時更新背景模型。在目標跟蹤模塊,引入卡爾曼濾波器預測目標參數,合并目標碎片,建立幀間目標匹配矩陣完成目標匹配。通過實際圖像序列測試,算法能較好地實現運動目標跟蹤,獲得運動目標的軌跡,具有良好的實時性和適應環境變化的能力。
關鍵詞: 背景模型;目標跟蹤; 卡爾曼濾波;匹配矩陣
中圖法分類號:TP391.41文獻標識碼:A
文章編號:1001-3695(2007)01-0199-04
運動目標的檢測、跟蹤是智能視覺監控的重要課題,是各種后續高級處理,如目標分類、行為理解等的基礎。近年來,它得到了日益廣泛的研究,其難點在于:
①圖像序列具有復雜性。光線、目標動態變化使得獲取背景圖像困難,背景的實時變化需要動態更新,而如何從視頻幀中正確分割背景和檢測運動物體(前景目標)是后續跟蹤、識別處理的基礎。
②跟蹤過程中在物體暫時消失、相互遮擋時丟失目標信息,如何在這些復雜情況中跟蹤目標、獲得目標的運動軌跡。
已有的解決方法有:用多個攝像機構建系統來處理多個運動目標相互遮擋的問題[1];用EM算法將被跟蹤人體依據顏色信息建立跟蹤[2];基于區域的跟蹤[3]、基于模型的跟蹤[4]、基于活動輪廓的跟蹤[5]等。為了提高跟蹤實時性,降低算法復雜度,本文采用將運動目標符號化的方法[6],即對檢測出的目標用其外接矩形框標注,目標跟蹤建立在矩形框層次上,從而提高了算法的實時性,改進了文獻[7]中提出的通過建立幀間矩陣實現目標匹配的方法,將跟蹤情況分為五種狀態分別進行處理,并且引入Kalman濾波器實時預測目標外接矩形框參數,在目標暫時消失、相互遮擋等復雜情況下可恢復其運動信息。
1檢測運動目標
目標檢測流程如圖1所示。
圖1運動目標檢測流程圖
根據不包含目標的一段時間內的背景幀得到背景圖像中每個像素的均值、方差參數,建立背景模型[8]:
模型參數分別為R,G,B通道的均值和方差。
假設光線變化相對于物體運動為緩慢變化。背景模型中均值和方差用遞歸算法更新,并只用于非目標區域中,目標區域對應到背景模型中的區域其均值、方差參數不變。已知在t+1時刻的背景中某像素值zt+1,則
場景中由于光線變化引起陰影變化被視為目標區域,從而影響目標的正確檢測。根據陰影區域在亮度上的變化大于色度,則任何亮度突變而色度無突變的情況都是由陰影引起的。像素色度計算如下:
分割前景目標時,當背景色度與前景目標色度差別不大時,前景目標內會出現空洞或目標碎片,影響下一步的聚類分析。在這種情況下,不能基于零階、像素級上檢測目標,而需要結合一階圖像梯度信息得到較為準確的目標分割。
本文采用基于色度、梯度建立背景模型檢測目標,如像素的梯度或色度信息滿足式(6)或式(7),則像素標記為前景點。
背景減除后的圖像采用3×3中值濾波器、形態學閉運算去噪聲及連通像素區域標記法,得到目標個數及其外接矩形框參數;然后計算目標間中心點的歐式距離,若X,Y方向的距離均小于閾值Td(實驗中設Td=15),則目標合并;將得到的目標依次判斷它的面積是否小于閾值Tarea(實驗中設Tarea=20),如小于面積閾值則丟棄。通過目標檢測,可得到目標的個數,及其外接矩形框的中心點、左上點坐標和長、寬。
目標檢測結果如圖2所示,視頻序列中取a=2。圖2(a)是視頻序列中某幀圖像;圖2(b)是對圖2(a)的檢測結果,背景模型采用像素RGB值建立,無法消除陰影;圖2(c)是對圖2(a)的檢測結果,背景模型采用像素的梯度、色度值建立,可有效消除陰影,從而分割出前景目標,如圖2(d)所示。檢測出的目標用不同顏色矩形框標注,基本上達到目標檢測的要求。
圖2目標檢測
2運動目標跟蹤
跟蹤等價于在連續的圖像幀間創建基于位置、速度、形狀、紋理、色彩等有關特征的對應匹配問題。對于單個目標,可以通過獲得目標在每一幀中的位置得到運動軌跡,即建立跟蹤;但對于多個目標,情況較為復雜,在運動目標遮擋、暫時消失等情況下目標信息丟失使跟蹤失敗。
目標跟蹤流程如圖3所示。本文采用Kalman濾波器預測目標在下一幀中的參數,以此合并目標碎片,建立目標匹配,確定當前幀中的目標所屬序列,從而得到運動軌跡,實現多運動目標跟蹤。
圖 3多目標跟蹤流程圖
下面將分別闡述利用Kalman濾波器預測目標參數,根據預測參數聚類(進一步合并目標碎片)及建立相鄰幀間目標匹配。
2.1基于Kalman濾波器的運動目標參數估計及預測
本文將Kalman濾波器應用于預測目標在下一幀中的參數,算法如下:
對于實時視頻序列,每兩幀時間間隔Δt比較小,可以認為目標在相鄰幀間運動變化緩慢,近似為勻速運動,由動力學公式可得
2.2基于預測參數的目標聚類
目標正確分割是建立目標匹配、實現目標跟蹤的基礎,基于像素梯度、色度的背景模型能有效地分割出前景目標。由于目標位置引起目標內部部分空洞(如被背景物體遮擋)造成目標碎片,從而在目標檢測模塊標記為不同目標,影響后續處理,因此必須在當前幀中識別目標碎片屬于哪個運動目標。
本文利用Kalman濾波器得到的當前幀目標預測參數,將預測范圍內的目標碎片合并,從而得到完整的外接矩形框來標志目標。
假設運動目標在最初兩幀內未發生相互遮擋,并且目標出現的第一幀未被背景物體遮擋,即能分割出完整目標。該假設是符合實際情況的,則可獲得目標狀態,即外接矩形框大小和位置,由Kalman濾波器得到其在下一幀中的預測值。
在當前幀中得到可能包含有目標碎片的多個目標外接矩形框,將讀取的上一幀目標在當前幀中的預測值(目標預測大小、位置),依次與當前幀中每個目標求交集。如果相交面積大于目標面積的80%,則認為該目標與預測參數對應的目標屬同一目標序列,可基本識別出碎片所屬目標,得到運動目標外接矩形框,并得到初匹配結果,即當前幀目標已與上一幀目標建立對應標號,但對于出現目標遮擋、消失等復雜情況需要進行后續匹配以實現跟蹤。
實驗結果如圖4所示。圖4(a)為當前幀圖像;圖4(b)的背景模型準確度不高,提取的目標1斷裂為兩個目標,檢測出有三個運動目標;圖4(c)在圖4(b)的結果上標注目標,目標1由于斷裂,被認為發生分離,算法判斷跟蹤狀態錯誤;圖4(d)根據上一幀分割出的完整的目標1得到的預測參數,合并其碎片,得到正確的檢測結果;圖4(e)虛線矩形框代表當前幀檢測出的三個目標,實線矩形框是上一幀中目標1在當前幀中的預測位置;當前幀目標1,2與其相交面積達到閾值,則判斷是目標1在當前幀中的目標碎片,合并后得到外接矩形框如圖4(f)中的目標1,以及目標2在當前幀中的實際位置(虛線矩形框)、預測位置(實線矩形框)所示。
圖4根據預測參數合并目標碎片
2.3目標匹配及跟蹤算法
2.3.1目標跟蹤算法
跟蹤即為在相鄰幀間建立目標匹配的過程,本文引入Kalman濾波器預測目標參數,建立匹配矩陣以實現相鄰幀間的目標匹配。跟蹤算法如下:
(1)在當前幀中檢測目標,結構數組Objects_info將每個目標用四個域值描述:State,Label,Retangle,Special。其中State表示目標匹配狀態,分為Old(一般情況),Merged(遮擋),Split(分離),New(出現新目標),Disappear(目標消失);Label為目標標號,同一目標序列應具有相同標號;Retangle存儲目標外接矩形框參數;Special為目標遮擋時各個目標標號或目標分離時的分離目標標號。
(2)如果為目標運動的第一幀,則轉到(4)執行;如果為后續幀則讀取當前幀的預測參數,即目標外接矩形框的大小和位置,合并目標碎片,完成初匹配,得到更新后的Objects_info,Label為匹配的上一幀目標標號。
(3)將當前幀目標(Objects_info)和上一幀目標(Objects_infoo)建立匹配矩陣(2.3.2節闡述矩陣建立及匹配過程),判斷目標匹配的五種狀態,得到匹配后的當前幀目標(Info_new)和上一幀目標(Info_old):
①如Info_new(i).State=Merged, 則當前幀第i個目標為目標遮擋形成,Info_new(i).special中存儲遮擋目標標號,并且在第i個目標的狀態變為Split前,其State,Special域值不變。根據標號記錄遮擋目標在后續幀中的預測參數(目標外接矩形框中心點坐標X,Y值及寬度、高度預測參數數組Preonex, Preoney, Preonew, Preoneh),便于為目標分離時建立匹配。
②如果Info_old(i).label=Spilit 且 Info_new(i).label=Old, 表明上一幀第i個目標在當前幀中分離,Objects_infoo中第i個目標由分離目標參數代替,從Preonex, Preoney, Preonew, Preoneh中讀取其參數,再通過建立與當前幀目標Objects_info的匹配矩陣,確定Objects_info 中每個目標的匹配情況,即得到更新后的Info_new,并使Objects_infoo=Info_new(存儲當前幀信息以便下一幀建立匹配)。
(4)由Kalman濾波器得到當前幀目標外接矩形框在下一幀中的預測參數,得到預測數組Prex(左上點X坐標),Prey(左上點Y坐標),Prew(寬度),Preh(高度),程序轉到(1),直到視頻圖像序列結束。
2.3.2目標匹配
文獻[7]只根據匹配矩陣確定了當前幀的目標運動情況,并未更新上一幀的目標運動情況,無法判斷是否出現上一幀目標消失、分離成新目標的情況。因此,本文改進了文獻[6]提出的匹配矩陣算法。
多目標在視場中的運動可分為五種情況:出現新目標、目標遮擋、目標消失、遮擋目標分離和除此以外的一般情況下的目標匹配。本文分兩步掃描匹配矩陣以確定當前幀目標和更新上一幀目標的運動狀態。
(1)按列掃描匹配矩陣(確定當前幀目標匹配狀態),可合并成三種情況處理,具體判斷準則如下:
①若第k列的每個元素都為0。當前幀的第k個目標為新出現目標, State更新為New。
②第k列中只有第h行一個元素非零。當前幀中的第 k個目標與上一幀中的第h個目標匹配,加入第h個目標的目標鏈,賦予與上一幀中第h個目標相同的標號, State更新為Old;但如上一幀中的第h個目標為遮擋情況下形成的合并矩形框,即Objects_infoo(h).State=Merged, 則State,Special域值不變。
③第k列中有多個元素非零(如第h行、第h+1行非零)。上一幀中第h和h+1個目標在當前幀中發生遮擋,記錄下發生遮擋的目標標號(目標分離時的匹配需要此信息),并把最小的目標標號作為當前幀遮擋目標的標號,將State更新為Merged。
(2)再按行掃描關系矩陣(更新上一幀目標狀態):
①若第K行每個元素都為0,上一幀中的第K個目標消失,刪除目標鏈,State更新為Disappear。
②若第K行中有多個元素非零(如第h列、第h+1列非零),則上一幀中目標K在當前幀發生分離,為避免誤判,需滿足條件:目標K在匹配前的State為Merged,則表明確為遮擋目標分離,應將State更新為Split。
跟蹤結果如圖5所示。場景中有三個運動目標,分別為目標1(實線矩形框標注)、目標2(虛線矩形框標注)、目標3(點劃線矩形框標注),目標分別用不同標號對應到不同矩形框識別。表1給出了目標1在一般情況下(狀態為Old)、遮擋情況下(狀態為Merged)及被遮擋后分離情況下(狀態為Split)的跟蹤數據。第472~476幀數據表明實際值、預測值間誤差較小,Kalman算法預測參數是可靠的。第477幀原目標1被遮擋,其參數丟失,跟蹤過程則建立在預測值上。第514幀目標1分離出,根據預測參數和實際值識別目標1。
第470幀為一般情況下的跟蹤,即目標未發生遮擋、消失等情況。第477幀目標1,2部分遮擋,檢測到兩個目標,目標1由原目標1,2形成,則原目標1,2的信息丟失。跟蹤采用Kalman濾波器對原目標的預測參數記錄目標參數,直到第514幀,目標1重新被檢測出,跟蹤預測參數恢復其丟失信息進行匹配,得到正確的跟蹤結果。外接矩形框為實線矩形框,屬于目標1的運動序列,圖5中其余兩個目標也建立了有效的跟蹤。
圖5跟蹤結果
表1目標1外接矩形框(實線矩形框)中心點X坐標值跟蹤數據
3結論
本文針對固定監控場景實現了一種多運動目標檢測、跟蹤方法,建立了基于梯度、色度的背景模型檢測目標,詳細闡述了Kalman濾波器在預測目標信息中的應用,建立匹配矩陣分別針對不同運動狀態跟蹤,在目標遮擋、暫時消失的情況下能較好地實現多個運動目標跟蹤。
該算法將改進的是:需要更為完整、準確地分割前景目標;在目標匹配階段約束條件少并直接用矩形框代替物體(目標符號化);在復雜情況下的跟蹤,如視場中有四個以上的目標、目標運動情況復雜多變時,算法準確度降低。下一步工作將在利用目標顏色信息提高匹配算法精度等方面作進一步研究。
參考文獻:
[1]S L Dockstader, A M Tekalp.Multiple Camera Fusion for Multiobject Tracking[C]. Proc. of IEEE Workshop on MultiObject Tracking, 2001.95102.
[2]S Khan, M Shah. Tracking People in Presence of Occlusion[C]. Taipei: Asian Conference on Computer Vision,1998.156161.
[3]Wren C, Azarbayejani A, Darrell T,et al. Realtime Tracking of the Human Body[J]. IEEE Trans. on Pattern Analysis and Machine Intelligence,1997,19(7):780785.
[4]Karaulova I, Hall P, Marshall A. A Hierarchical Model of Dynamics for Tracking People with a Single Video Camera[C]. Bristol: British Machine Vision Conference, 2000.352361.
[5]Paragios N, Deriche R. Geodesic Active Contours and Level Sets for the Detection and Tracking of Moving Objects[J]. IEEE Trans. Pattern Analysis and Machine Intelligence,2000,22(3):266280.
[6]王栓,艾海舟,何克忠.基于差分圖像的多運動目標的檢測與跟蹤[J].中國圖像圖形學報,1999,4(6):470474.
[7]L Marcenaro, M Ferrari, L Marchesotti,et al.Multiple Object Trac ̄king under Heavy Occlusions by Using Kalman Filters Based on Shape Matching[C]. International Conference on Image Processing, 2002.341344.
[8]Stephen J McKenna, Sumer Jabri,Zoran Duric, et al. Tracking Groups of People[J]. Comput.Vis.Image Understanding, 2000,8(1):4256.
[9]馬頌德,張正友.計算機視覺——計算理論與算法基礎[M]. 北京:科學出版社,2003.133148.
作者簡介:
萬琴(1980),女,重慶萬州人,博士研究生,主要研究方向為計算機視覺監控、數字圖像處理;
王耀南(1957),男,教授,博導,主要研究方向為智能控制理論與應用、智能信息處理與融合、模式識別與圖像處理、智能機器人系統。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文