(玉溪師范學院 信息技術工程學院,云南 玉溪 653100)
目前,多目標跟蹤是智能視頻監控領域一個極具挑戰的研究課題,很多跟蹤算法被廣泛的應用,如卡爾曼濾波算法[1,4],Camshift[2,4],粒子濾波器[1,3]等.這些算法在特定的簡單場景下都能夠取得很好的跟蹤效果,但是,粒子濾波器會由于粒子退化現象導致后驗概率的估計錯誤;卡爾曼濾波算法有很高的計算復雜性,不適合對運動目標進行實時的跟蹤;Camshift算法通常應用在單目標跟蹤中,在多目標跟蹤中,魯棒性很差.由此可見,在復雜多目標場景下,這些算法都不能取得理想、有效的跟蹤效果,針對具體的跟蹤環境,這些算法都有待改進.文獻[5]中的方法能夠對單個運動目標進行魯棒跟蹤,在多目標存在的復雜場景下,該法行不通.文獻[6]中的算法,在復雜場景下能夠取得很好的跟蹤效果,但是該法對跟蹤場景中的靜態目標和重新進入場景的目標會跟蹤失敗.文獻[7]中的算法,可以很好的跟蹤到場景中的靜態目標和重新進入場景的目標,但是在復雜場景下,其不能取得滿意的效果.為了進一步改善多目標跟蹤效果,本文提出了一種改進的基于Camshift與目標軌跡跟蹤相結合的多目標跟蹤方法.
基于圖像序列的多目標跟蹤,就是通過對視頻圖像序列進行分析,從圖像中檢測出運動目標,然后對感興趣的目標,比如車、人等,在后續的幀圖像中進行跟蹤,直至其消失在視頻場景中.在實際應用中,視頻場景中的運動目標的運動狀態多種多樣,例如,對于進入場景后停止運動的目標,要求保持其跟蹤焦點,以實現對其進行持續的跟蹤;對于場景中從靜止狀態改變為運動狀態的目標,要求識別出該目標并繼續進行跟蹤;對于已經退出視頻場景,但稍后又重新進入場景的目標,要求能夠在其重新進入場景中時,對其進行準確的識別,將該目標與之前其自身的運動參數及狀態對應起來,并在后續的視頻圖像中對其進行持續的跟蹤.同時,在視頻場景中存在多個目標的時候,對這些多個目標進行有效的跟蹤也是一個亟待解決的挑戰性問題.為了滿足這些實際應用中的跟蹤要求,單純的依靠目前某一種跟蹤算法是行不通的.只有針對這些具體的跟蹤要求,從當前的主流跟蹤算法中選擇合理的跟蹤算法,并將其結合,互補利弊,才能真正有效的解決這些跟蹤難題,達到跟蹤目的.
運動目標軌跡跟蹤算法在多目標存在的復雜場景下能夠取得令人滿意的跟蹤效果,實時性好,但該算法不能對靜止目標、再進入場景和退出場景目標進行持續有效的跟蹤.Camshift在單目標或者目標很少等簡單場景中,能夠得到準確、魯棒的跟蹤效果,但在多目標復雜場景下,其跟蹤效果不理想.本文將二者結合,正好可以很好地發揮各自的優勢,從而實現多目標復雜場景中,對運動目標進行持續、有效的跟蹤.
運動目標軌跡跟蹤算法的基本原理是將運動目標從背景中檢測并分離出來之后,與已有的軌跡進行匹配和關聯,從而實現對目標的跟蹤[6].對于單目標場景,如果這一目標不是新出現的目標,那么把該目標直接賦予已有軌跡就可以了.但是,多目標場景下,需要通過距離矩陣和關聯矩陣來建立前景目標和運動軌跡之間的對應關系來對目標進行持續的跟蹤.運動目標軌跡跟蹤算法的基本原理和具體步驟如下:

M(k)={M1(k),M2(k),…,Mn(k)}
(1)
T(k)={T1(k),T2(k),…,Tn(k)}
(2)
(3)

(4)
在上述4個影響因素中,前3個指標均為數值指標,很容易量化。而對于第4個因素,可以通過查詢生產設備的訂貨紀錄結合工作人員的經驗,將這一指標轉化為0~1的數值指標,即極易容易采購則賦值為1,否則為0。
(5)

①一個運動軌跡和多個前景目標相關聯(此行有多個非0元素);
②一個前景目標和多條運動軌跡相關聯(此列有多個非0元素);
③一條運動軌跡和一個運動目標相關聯(矩陣元素中為2).

在運動目標軌跡和Camshift相結合的多目標跟蹤機制中,運動軌跡跟蹤法主要對場景中處于運動狀態的目標進行跟蹤,而對于在場景中處于靜止狀態的目標或者運動到視頻場景之外的目標,以及已經失去跟蹤焦點的再進入場景目標,基于運動軌跡跟蹤的算法會丟失掉該目標的跟蹤焦點,此時則基于Camshift及丟失焦點前的跟蹤信息進行分析和處理,在限定范圍內搜索到目標,并對該目標進行繼續跟蹤.如果Camshift在限定范圍內仍無法獲取到目標,那么視為已經運動到場景之外的運動目標.此外,當場景中處于靜止狀態并基于Camshift進行跟蹤的目標的焦點發生明顯的變化的時候,算法將停止Camshift,取回目標編號,并重新對該目標進行基于運動軌跡跟蹤的方法對其進行跟蹤并記錄其運動軌跡.
為了分析的方便,我們定義運動目標的存儲結構為Area{rect,object,trace,old},其中,Areai(k)代表第k幀中的第i個目標的出現區域,rect代表運動目標的矩形框,object代表運動目標的編號,trace表示運動目標的軌跡,old代表衰老計數值.則運動軌跡和Camshift相結合的融合跟蹤算法的具體步驟闡述如下:
②對于檢測出的所有運動目標,將其運動區域和前一幀中所記錄的運動軌跡進行匹配,匹配成功的標上正確的目標編號,并根據此目標在當前幀的質心位置,更新對應此目標編號的運動軌跡,同時存儲好新進入場景的運動目標和退出場景中的目標.
③對于新加入場景中的目標,將其目標區域和基于Camshift跟蹤的各個目標區域進行比較和匹配,判斷其是否為重新進入場景中的原有目標,如果是則中止Camshift跟蹤,并用取回的該原有目標的編號為其編上號,并更新此目標的原有結構記錄,并轉到步驟5,否則繼續步驟4.
④為新進入場景中的目標建立新的運動目標記錄,并按式6將其對應的運動區域參數添加到運動目標結構記錄中.
(6)
其中,n代表當前幀中的運動目標的總個數.如果還有目標尚未被處理,則轉步驟3進行繼續處理.如果目標已經全部處理完畢,則繼續步驟5.
⑤對于上一幀中仍未匹配的運動目標,為了避免個別運動目標的暫時消失,對該目標采取暫留措施,將該區域添加到運動目標區域列表中,并將其的衰老計數值Areai(n)→old增1,若該值未超過預先設立衰老閾值則視為在當前場景中暫時失去跟蹤焦點的運動目標,并轉下一步驟.如果Areai(n)→old已經超出了衰老上限,那么認為該目標已經徹底離開場景,清除該目標記錄.
⑥對于在當前場景中暫時失去跟蹤焦點的運動目標,將其運動區域參數傳遞給Camshift,計算該運動目標的顏色概率分布,獲取其目標特征模板,并在附近區域進行匹配搜索,若搜索到匹配目標,則認為該目標在當前幀中處于靜止狀態,此時,將其運動區域模板信息傳遞給Camshift并進行存儲,在后續幀中用Camshift對其進行鎖定跟蹤,直到其重新開始運動.如果未搜索到匹配目標,那么認為該目標已經離開視頻場景,將其運動參數暫時存儲起來,以防其在之后的幀中重新進入場景.
⑦若還有上一幀中未匹配運動目標未被處理,則轉到步驟5.
⑧對所有運動目標的運動軌跡進行更新.
在VC++和OpenCV編程環境下,對本文中的改進算法進行了驗證,實驗視頻為戶外拍攝,在視頻場景中,場景復雜,存在多目標,視頻的分辨率為320×480.實驗結果顯示在整個視頻跟蹤階段,場景中的多個目標(包括場景中的運動目標、靜止目標、再運動目標、再進入場景目標、離開場景目標等)都得到了魯棒和準確的跟蹤,取得了比較滿意的跟蹤效果.

表1 多目標跟蹤過程中的運動軌跡跟蹤數據 表2 距離矩陣和關聯矩陣數據
圖1顯示了利用Camshift進行跟蹤的跟蹤效果圖,我們不難發現,不僅存在許多不準確的跟蹤結果,同時,該算法只能對單目標進行跟蹤.

圖1 Camshift跟蹤算法的跟蹤效果 圖2 運動目標軌跡跟蹤算法的跟蹤效果[6]
圖2顯示了應用運動軌跡跟蹤方法的跟蹤效果.我們發現,在場景中,靜止的運動目標會跟蹤丟失.同時,對重新進入場景中的目標,該方法會將其定義成新的目標進行跟蹤,這是不合理的.
圖3顯示了本文中基于運動軌跡和Camshift相結合的融合跟蹤算法的跟蹤效果.可以看出,相對于Camshift算法,在多目標場景下,該法取得了更加滿意的跟蹤效果.
由以上實驗結果可以看出,本文中的改進算法取得了比文獻[6]更準確、更理想的跟蹤效果,不但實現了Camshift對多目標的準確跟蹤,而且能夠有效的對場景中的靜止目標、再進入目標、再運動目標和退出場景目標等進行有效的跟蹤,滿足了實際應用中的跟蹤要求.

圖3 Camshift和運動目標軌跡相結合的跟蹤算法的跟蹤效果[6]
[1]Ristic B,Arulampalam S,and Gordon N.Beyond the Kalman Filter:Particle Filters for Tracking Applications[M].Boston,London:Artech House,2004.
[2]張宏志,張金換,岳卉,黃世霖.基于CamShift的目標跟蹤算法[J].計算機工程與設計,2006,27(11):108-110.
[3]Nummiaro Katja,Koller-meier Esther,Van Gool Luc.Object Tracking with an Adaptive Color-Based Particle Filter[C].Proceedings of the 24th DAGM Symposium on Pattern Recognition.London,UK Springer-Verlag,2003,:591-599.
[4]孫凱,劉士榮;.多目標跟蹤的改進Camshift/卡爾曼濾波組合算法[J].信息與控制,2009,38(1):11-16.
[5]YUE Ying-ying,GAO Yun,ZHANG Xue-jie.An Improved Camshift Algorithm Based on Dynamic Background[R].1st International Conference on Information Science and Engineering,2009.
[6]黃綠娥,李平康,杜秀霞.室內人體運動目標的自動跟蹤方法[J].計算機工程,2009,35(9):201-204.
[7]蘇興俊,陳景波,胥法偉.交通圖像序列中的多目標跟蹤[J].常熟理工學院學報,2009,23(4):82-86.