劉曉明,張起貴
(太原理工大學 信息學院,山西 太原 030024)
隨著社會的快速發展,起源于計算機視覺的視頻分析技術與傳統監控手段相比,具有在不需要人為干預的情況下自動對攝像機拍攝的視頻序列進行實時分析、自動定位、識別和跟蹤目標等優勢,引起了人們越來越多的關注,并已成為未來監控的發展方向[1]。徘徊檢測屬于這種技術,它是當1個或多個人在預先設定的防區內出現徘徊行為時,系統會發出報警。其目的是為了排除一些易成為攻擊目標的場所 (如銀行、政府機關、大使館、高安全周界、商業區和住宅區)的安全隱患。
本文提出了徘徊行為的一種簡單判定依據并采用背景差分方法檢測序列圖像中的運動目標,再利用矩形逼近目標輪廓[2],并把該矩形作為目標跟蹤時的跟蹤框。為了解決目標在跟蹤過程中由于長時間靜止而導致目標丟失的問題,本文對目標的運動狀態進行實時判定,在判定目標靜止之后,采用實時性和魯棒性都表現良好的Camshift跟蹤算法繼續跟蹤。
準確的徘徊行為判定是一個相當復雜的過程。但它可以通過對象在預先設定的防區滯留時間、運動距離、運動方向等簡單判定。另外,也可以根據防區的安全級別適當地增減判定條件。本文是通過對象在防區的總移動距離以及目標在當前幀位置和初次進入防區位置之間的距離關系判定徘徊行為的。
對象徘徊行為的判定條件1是依據序列圖像的大小,預先對對象在防區允許移動距離進行設定,然后把每幀對象移動的距離累加起來,當對象移動距離的累加和超過規定值時即判定條件1滿足。表1是在相同的規定值340下不同對象在防區內運動的總路程(本文所有數據均在窗口坐標系下獲得,視頻圖像大小為320×320),通過表1得出結論是5號和6號對象滿足徘徊行為的判定條件1。圖1是防區范圍坐標,圖2是防區實際效果圖。

表1 相同的規定值下不同對象在防區內運動的總路程

圖1 防區范圍坐標

圖2 防區實際效果圖
對象徘徊行為的判定條件2是依據徘徊行為的特點,即對象需要轉身并沿著和原路線成一定夾角的反方向運動,依據這個運動特點,利用對象在當前幀位置和初次進入防區位置之間的距離較前一幀小來判定徘徊行為。但是只通過連續2幀來判定結果并不準確,原因是對象走路和轉身時的姿勢以及下蹲對結果的判定有影響,表2和表3(數據是對象部分連續幾幀里當前幀位置和初次進入防區位置之間的距離,按時間順序列出)說明了這一點。為了解決這個問題,本方法選擇連續幾幀來判定。幀數可根據防區內目標的大小進行重新設定,本文選擇連續5幀來判定結果。

表2 當前幀位置和初次進入防區位置之間的距離
如果選擇連續2幀來判定,由表2中的幀序號1和2滿足判定條件,但此時目標并未發生徘徊行為,判定結果錯誤。錯誤結論產生原因是由于目標走路和轉身時的姿勢引起的。為此,將判定條件改為連續5幀來判定。由表2會發現,從幀序號16開始到20號滿足條件,判定目標徘徊,該結論與實際相符,判斷正確。

表3 當前幀位置和初次進入防區位置之間的距離
如果選擇連續2幀來判定,由表3中的幀序號10和11滿足判定條件,但此時目標并未發生徘徊行為,判定結果錯誤。錯誤結論產生原因是由于目標的下蹲引起的。為此,將判定條件改為連續5幀來判定。由表3會發現沒有連續5幀滿足條件,判定目標沒有徘徊,該結論與實際相符,判斷正確。
背景差分方法[3-5]是利用當前幀圖像與背景圖像相減來進行目標的檢測和提取,如圖3所示。

圖3 背景差分檢測目標流程

式中,fi(x,y)為第 i幀(x,y)點的灰度值,Bt(x,y)為 t時刻的背景模型,T為指定閾值。
為提高檢測效果,背景按照指定時間進行更新。為提高精度和減少噪聲干擾,可以采用形態學濾波對二值圖像進行處理,最終獲得精確的前景運動目標區域如圖4、圖 5所示。

圖4 當前幀圖像

圖5 檢測到的目標
Camshift算法[6-10](Continuously Apative Mean-Shift算法)是一種運動跟蹤算法。它主要通過視頻圖像中運動物體的顏色信息來達到跟蹤的目的。為了便于理解可以將該算法分為 3個部分:Back Projection、Mean Shift算法、Camshift算法。
首先計算被跟蹤目標的色彩直方圖,采用HSV空間中可以表示顏色信息的H分量,然后將RGB色彩空間轉換到HSV空間。因為只對H分量操作,所以只需對H分量做1D直方圖計算。根據獲得的色彩直方圖將原始圖像轉化成色彩概率分布圖像,這個過程即被稱為“Back Projection”。

Mean Shift算法是一種密度函數梯度估計的非參數方法,通過迭代尋優找到概率分布的極值來定位目標。算法步驟如下:
(1)在顏色概率分布圖中選取大小為s的搜索窗。
(2)計算此時搜索窗口的質心:

則搜索窗的質心(xcyc)為xc=M10/M00

式 中 ,Ic(x,y)是 坐 標(x,y)的 像 素 值 ,x、y 的 變 化 范 圍 為 搜索窗的大小。
(3)重新設置搜索窗的大小s。

(4)重復(2)、(3)直到質心收斂。
將Mean Shift算法擴展到連續圖像序列,就形成了Camshift算法。它將序列圖像的所有幀做Mean Shift運算,并將上一幀的結果(搜索窗的質心和大小)作為下一幀Mean Shift算法的搜索窗的初始值,如此迭代下去實現對目標的跟蹤。算法步驟如下:
(1)用背景差分方法得到的矩形框初始化搜索窗。
(2)計算搜索窗內的顏色概率分布。
(3)運行Mean Shift,獲得搜索窗新的大小和位置。
(4)在下一幀里用步驟(2)中的值重新初始化搜索窗的位置和大小,再跳轉到步驟(2)繼續進行。
單目標徘徊檢測及跟蹤方法流程圖如圖6所示。

圖6 單目標徘徊檢測及跟蹤方法流程圖
實驗是在Microsoft Visual C++6.0環境下,基于C語言編程實現的。序列圖像選自實際的監控錄像,圖像大小為320×320。圖7是該方法的實際演示效果,只對防區內有徘徊行為發生的對象進行跟蹤報警。
本文提出了一種針對靜態場景下的單目標徘徊檢測及跟蹤方法,實驗證明,該方法能夠自動識別出潛在的威脅,幫助管理人員更加有效地做出相應的處理。在跟蹤過程中考慮到了目標長時間靜止會消失的問題,采取了處理方法。本方法的不足之處在于無法對防區內多對象的運動行為進行判斷,如何解決所存在的問題是下一步研究的內容。
[1]鄒芳,肖坦,蔣征朋.視頻分析技術綜述及鐵路應用初探[J].鐵路通信信號工程技術,2008,5(3):19-21.
[2]劉瑞禎,于仕琪.OpenCV教程[M].北京:北京航天航空大學出版社,2007.
[3]SPAGNOLO P, DORAZIO T, LEO M, et al.Moving object segmentation by background subtraction and temporal analysis[J].Image and Vision Computing, 2006,24(5):411-423.
[4]朱明旱,羅大庸,曹倩霞.幀間差分與背景差分相融合的運動目標檢測算法[J].計算機測量與控制,2005,13(3):215-217.
[5]汪沖,席志紅,肖春麗.基于背景差分的運動目標檢測方法[J].應用科技,2009,36(10):16-18,30.
[6]DRISN O, GANOUN A, CANALSR.Improved object tracking with Camshift algorithm[C].IEEE International Conference on Acoustics, Speech and Signal Procession, 2006.
[7]董蓓,謝勤嵐,賈茜.基于 Camshift算法的運動目標實時跟蹤系統[J].現代電子技術,2008,19:116-118.
[8]劉雪,常發亮,王華杰.基于改進 Camshift算法的視頻對象跟蹤方法 [J].微計算機處理,2007,23(7-3):297-298,305.
[9]孫凱,劉士榮.多目標跟蹤的改進 Camshift/卡爾曼濾波組合算法[J].信息與控制,2009,38(1):9-14.
[10]徐琨,賀昱曜,王衛亞.基于 Camshift的自適應顏色空間目標跟蹤算法[J].計算機應用,2009,29(3):757-760.

圖7 演示效果圖