摘 要:介紹了一種簡單、快速的實時交通場景中多目標的檢測與跟蹤算法。在使用自適應背景差分法分割出運動目標候選區(qū)域的基礎上,采用數(shù)學形態(tài)學操作和降低分辨率的方法,得到連通的目標區(qū)域,并使用改進的最近鄰法對目標進行匹配和跟蹤。實驗證明本算法較好地解決了跟蹤的連續(xù)性、實時性、精確度的矛盾。
關鍵詞:目標檢測;最近鄰法;跟蹤;匹配
中圖分類號:TP13 文獻標識碼:B
文章編號:1004373X(2008)0117704
Multiple Moving Objects Detection and Tracking under Traffic Scene
CHEN Jingbo1,LU Jianming1,WU Zhengyi1,TAN Zheng1,2
(1.Spinning Machine Research Center,Changshu Institute of Technology,Changshu,215500,China,
2.Research Institute of Information Engineering,Xi′an Jiaotong University,Xi′an,710049,China)
Abstract:A simplified and fast algorithm for detecting and tracking multiple moving objects under real-time traffic scene is presented.This algorithm firstly uses morphological operation and reduces the frames′ resolution to get the connected regions of moving objects which are segmented out by adaptive background subtraction algorithm.,then uses the improved nearest neighbor algorithm to match and track objects.Experimental results demonstrate that this method has better solved the contradictions between continuity,real-time and precision in tracking.
Keywords:object detection;nearest neighbor;tracking;match
1 引 言
目前,以數(shù)字圖像處理技術為核心的視頻監(jiān)視系統(tǒng)[1]越來越廣泛地應用到交通監(jiān)管中,他利用攝像機來獲取圖像,由計算機完成對運動目標的自動檢測,如果車輛交通違規(guī)時,自動發(fā)出預警,記錄全程違章視頻,這在很大程度上減輕了監(jiān)控人員的勞動強度,克服可能的人為失誤,而且節(jié)省大量存儲空間,使存儲的數(shù)據(jù)更為有效,為交通違規(guī)的后續(xù)處理提供了客觀依據(jù)。
運動目標分割是實現(xiàn)交通場景下車輛檢測與跟蹤的前提。常用的分割方法可以分為背景差分法、幀間差分法和基于光流的分割方法等[2,3]。基于光流的分割方法運算復雜度較大且對噪聲敏感,因而常見的適合交通場景下分割運動目標的方法主要使用前面兩種。使用基于幀差的算法進行目標檢測,當場景中運動目標沒有顯著運動時,往往會在目標檢測時留下大面積未被檢測到的區(qū)域,而這些區(qū)域本應屬于目標。本文中,考慮到交通監(jiān)控中使用固定攝像頭,采用自適應的背景差分法實現(xiàn)運動目標的分割。
視頻圖像中運動目標的跟蹤是智能監(jiān)控系統(tǒng)中重要的一部分,也是圖像理解重要的一個環(huán)節(jié)。Stauffer提出了自適應混合高斯模型[4],通過匹配目標的位置、大小、形狀和顏色等特性,建立運動目標與前景目標間的對應關系實現(xiàn)對目標的跟蹤。這種方法往往可以得到較為滿意、精確的跟蹤結果,但是計算復雜度較大。文獻[5,6]提出了通過軌跡預測并使用跟蹤窗口對多目標進行跟蹤,當目標數(shù)達到4個以上后很難保證實時性。本文考慮到交通場景中目標運動的特性,介紹了一種實時簡單有效的多目標跟蹤綜合方法——改進的最近鄰法(Improved Nearest Neighbor,INN),既保證了一定的跟蹤精度,又滿足了實時性要求,達到了預期的效果。該算法框圖如圖1所示。
2 目標檢測
2.1 背景估算
通常實時監(jiān)控狀態(tài)下很難獲得不含運動目標的理想背景圖像,為此,本文采用一種基于高斯統(tǒng)計模型的背景圖像估計算法。該算法由背景圖像的初始化和自適應更新兩部分組成。
在背景圖像的初始化算法中,采用前N幀圖像,計算視頻序列圖像每一象素的平均亮度μ0(x,y),并計算在前N幀內(nèi)的每一象素亮度的方差δ20(x,y),以此來組成初始的背景估計圖像。這里Bn表示背景圖像,In表示視頻圖像,n表示幀數(shù)。
2.2 運動區(qū)域的提取
當完成背景圖像的估計后,下一個重要環(huán)節(jié)是對當前幀圖像進行運動檢測。首先,利用背景估計圖像與當前幀圖像的“差”進行變化檢測,以判斷是否存在運動目標。采用的檢測公式如下:
式中,Mn是一個二值掩模圖像,值為255的點表示運動點,值為0的點表示背景點;T是一個用來判斷、檢測運動點的重要參數(shù),閾值范圍一般取在30~50之間,其值太大會產(chǎn)生漏檢,太小則會造成誤檢,具體數(shù)值應根據(jù)實際視頻圖像,通過實驗確定。本文的閾值取在36。后續(xù)的研究將會考慮在象素估值的基礎上實現(xiàn)自適應調(diào)節(jié)。
得到運動區(qū)域之后,就可以對背景圖像進行自適應更新。對背景圖像的更新是通過式(7)完成的:
在差分后的二值化的圖像Mn中,運動目標的象素往往缺乏整體的連續(xù)性,本文采用數(shù)學形態(tài)學操作和降低分辨率的方法,提取出連續(xù)的運動區(qū)域。
首先對Mn進行垂直方向的膨脹操作,得到圖像Dn,這樣彌合了運動目標水平方向大部分的小裂縫。然后降低Dn的分辨率得到圖像Rn,由于本文中實驗采用的視頻幀的分辨率為352×288,因此這里把Dn分割為8×8的小格,如果某一小格象素值為255的象素個數(shù)占到一半以上,則該小格的象素為255,否則為0。最后對Rn進行垂直方向的閉操作,實驗結果如圖2所示。
從實驗結果可以看出,由于攝像機的抖動、綠化帶風吹等原因導致二值化圖像(c)出現(xiàn)一些噪聲。由于汽車車身某些顏色與背景相似,導致(c)中運動目標區(qū)域象素不連續(xù)或者出現(xiàn)空洞。經(jīng)過膨脹操作以后,可以看到(d)運動區(qū)域的連續(xù)性得到很大改觀,同時對噪聲也進行了放大。通過(e)降低分辨率后,噪聲得到了很大程度的抑制,而且運動區(qū)域基本連通,同時也消除了空洞。最后經(jīng)過垂直方向的閉運算之后,噪聲基本上被消除。
運動區(qū)域提取出來之后,就可以對運動目標進行定位了。
2.3 運動目標的定位
在進行目標定位之前,必須進行連通區(qū)操作,標記不同的運動目標。連通操作一般用迭代的區(qū)域生長方法,該方法速度慢,內(nèi)存消耗大。本文采用一種僅使用一次掃描二值圖像的方法標記運動目標。
二值圖像任意一行中的直線用數(shù)據(jù)結構為:
如果相鄰兩行的直線Line1和Line2八鄰域連通,則必須滿足以下關系:
Line1.m[CD#*2]lColumnTail+1≥Line2.m[CD#*2]lColumnHead
Line2.m[CD#*2]lColumnTail+1≥Line1.m[CD#*2]lColumnHead
如果上兩式都取為>,則表示四鄰域連通。
通過逐行掃描,可以將所有連通的直線連成鏈表,這樣就得到了連通區(qū)域的信息。通過這些信息就可以方便地計算出各個運動目標的質心、面積、周長,用于目標的分類。
一個運動目標可以看作一個連通區(qū)域(Connected Region,CR),用下面公式來獲取第一個CR的質心坐標
2.4 運動目標的分類
得到連通區(qū)域的信息以后,就可以對運動目標進行分類,分類的目的在于區(qū)分出汽車和行人,因為只需對汽車進行跟蹤。
在交通道路上,特別是有設置監(jiān)視的路口,通常行人和汽車行進的速度都不是很快,因此,我們不能從速度上來判斷行人和汽車。為了對目標進行實時的分類,我們必須用一種計算簡單、合理有效的分類機制。我們仔細分析行人和汽車的基本特征,提出了緊密度的概念:Compactness=AreaPerimeter2,因為,人的形體較小但外形復雜,因此他的緊密度較小,但汽車的形體較大,外形簡單,因此他的緊密度較大。通過對檢測到的大量樣本進行計算,可以大概估計出車輛和行人的緊密度邊界閾值K,然后將其作為分類的標準。若運動目標的緊密度大于此邊界閾值K,則被判為是汽車,否則被判為行人。目標周長的計算見文獻[7]。
目標分類完成之后,就可以對目標進行跟蹤,并判斷其運動軌跡。
3 多目標跟蹤
本文中采用改進的最近鄰法對多運動目標進匹配和跟蹤,這種方法適合交通場景中目標數(shù)的動態(tài)變化。
3.1 改進的最近鄰法
最近鄰法是考慮待跟蹤目標與下一幀每個目標質心的歐氏距離,距離最小的兩個目標認為是同一個目標。
本文中使用改進的最近鄰法,除了滿足距離最小以外,還要滿足最小的距離小于某一個閾值才判斷為同一個目標。
改進的最近鄰法步驟如下:
(1) 設有K個樣本,全部作為初始的模式,記為S1(1),S2(1),…,Sk(1)。
(2) 計算新的樣本到K個模式的歐氏距離,并按最鄰近規(guī)則進行匹配。
設:
(3) 刪除第二步中沒有得到更新的模式。
(4) 重復步驟(2)和(3),直到程序結束。
3.2 目標跟蹤實現(xiàn)
實現(xiàn)步驟如下:
(1) 讀入第一幀圖像進行目標檢測,把K個目標的質心坐標(模式)保存到listInit和listMatched中,其中列表listInit中保存的為進入攝像機鏡頭的汽車的初始坐標,列表listMatched保存的為當前幀中得到匹配的目標的坐標。
(2) 讀入下一幀圖像進行目標檢測,把N個目標的質心坐標(樣本)保存到listCurrent中,進行模式識別,計算listMatched中各個類別和當前各個樣本的歐氏距離,若Si與Xj歐氏距離最小并且小于某一個閾值Tl,則表明Xj屬于Si,并用Xj更新Si,保存在listMatched中,這里Tl為相鄰幀間汽車運動的最大距離;否則表明當前幀中已無Si,即汽車Si已經(jīng)駛出場景,此時根據(jù)listMatched每次記錄的值,判定Si運動軌跡,并在listInit和listMatched中刪除該車的信息。
(3) 若所有的Si都已匹配結束,還有新的樣本Xl,則表明Xl為新進入場景的汽車,把他加入到listInit和listMatched中,作為新的類別。
(4) 重復步驟(2)和(3),直到讀完所有幀。
4 實驗結果和結論
實驗使用的視頻序列分辨率為352×288,幀率為每秒15幀,T=36,Tl=10。圖3給出了典型的幾幅運動目標檢測結果,圖中紅色方框內(nèi)為使用本文提出方法檢測的目標的鄰接矩形的結果,顯然從圖可以看出本文的方法較精確地檢測出目標的鄰接矩形。同時,表1中給出了使用INN跟蹤多輛汽車的坐標數(shù)據(jù)。
由表1可知,從16幀到24幀,目標原始坐標個數(shù)由2個變?yōu)?個,表明場景中有新的汽車進入;從44幀到52幀,又增加一個目標;從52幀到54幀,有汽車駛出場景,此時根據(jù)目標從進入場景到出去之前的坐標序列計算運動目標的軌跡,如圖3中的(f),在目標即將離開場景時,判斷其運動軌跡為右拐。若其軌跡為違章,則記錄該幀之前一定數(shù)量的幀,合成到一個視頻文件中,這樣就大大減少了存儲空間和監(jiān)控人員的工作強度。
本算法采用VC++6.0實現(xiàn),跟蹤在降低分別率的基礎上進行,大大減少了計算量,并且無需對每幀數(shù)據(jù)都進行處理,實驗中在相鄰兩幀之間進行跟蹤,達到了預期的效果。實驗結果證明,該算法不僅可以實現(xiàn)多目標跟蹤的準確性,而且不受道路環(huán)境和車輛運動方向的限制以及鏡頭遠近的影響,因而具有很好的適應性和魯棒性。在此基礎上,可以期望在后期工作中考慮目標自身的特征和各個目標的運動情況,進一步增加跟蹤的精確度。
參 考 文 獻
[1]Collins R,Lipton A,Kanade T,et al.A System for Video Surveillance and Monitoring[R].Tech.Report CMU - RI - TR - 00 - 12,Robotics Institute,Carnegie Mellon University,2000.
[2]Elgammal A,Harwood D,Davis L.Non-parametric Model for Background Subtraction[C].In European Conference on Computer Vision,2000 :751-767.
[3]Fujiyoshi H,Lipton A.Real - Time Human Motion Analysis by Image Skeletonization[J].Proceedings of IEEE.WACV98,1998:15-21.
[4]Stauffer C,Grimson W E L.Learning Patterns of Activity Using Real-time Tracking[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2000,22 (8) :747 -757.
[5]Bors A G,Pitas I.Prediction and Tracking of Moving Objects in Image Sequences[J].IEEE Trans.on Image Processing,2000,9 (8) :1 441-1 445.
[6]張云峰,王洋.基于視頻信號的多目標跟蹤方法[J].儀器儀表學報,2005,26(8):652-653.
[7]陳忠碧,張啟衡,一種適合于多目標檢測的圖像分割方法[J].光電工程,2004,31(5):34-37.
作者簡介 陳景波 男,1978年出生,講師,碩士。主要研究領域為圖像處理和機器視覺。
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文?!?/p>