劉曉明,張起貴
(太原理工大學(xué) 信息學(xué)院,山西 太原 030024)
隨著社會(huì)的快速發(fā)展,起源于計(jì)算機(jī)視覺的視頻分析技術(shù)與傳統(tǒng)監(jiān)控手段相比,具有在不需要人為干預(yù)的情況下自動(dòng)對攝像機(jī)拍攝的視頻序列進(jìn)行實(shí)時(shí)分析、自動(dòng)定位、識(shí)別和跟蹤目標(biāo)等優(yōu)勢,引起了人們越來越多的關(guān)注,并已成為未來監(jiān)控的發(fā)展方向[1]。徘徊檢測屬于這種技術(shù),它是當(dāng)1個(gè)或多個(gè)人在預(yù)先設(shè)定的防區(qū)內(nèi)出現(xiàn)徘徊行為時(shí),系統(tǒng)會(huì)發(fā)出報(bào)警。其目的是為了排除一些易成為攻擊目標(biāo)的場所 (如銀行、政府機(jī)關(guān)、大使館、高安全周界、商業(yè)區(qū)和住宅區(qū))的安全隱患。
本文提出了徘徊行為的一種簡單判定依據(jù)并采用背景差分方法檢測序列圖像中的運(yùn)動(dòng)目標(biāo),再利用矩形逼近目標(biāo)輪廓[2],并把該矩形作為目標(biāo)跟蹤時(shí)的跟蹤框。為了解決目標(biāo)在跟蹤過程中由于長時(shí)間靜止而導(dǎo)致目標(biāo)丟失的問題,本文對目標(biāo)的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)判定,在判定目標(biāo)靜止之后,采用實(shí)時(shí)性和魯棒性都表現(xiàn)良好的Camshift跟蹤算法繼續(xù)跟蹤。
準(zhǔn)確的徘徊行為判定是一個(gè)相當(dāng)復(fù)雜的過程。但它可以通過對象在預(yù)先設(shè)定的防區(qū)滯留時(shí)間、運(yùn)動(dòng)距離、運(yùn)動(dòng)方向等簡單判定。另外,也可以根據(jù)防區(qū)的安全級別適當(dāng)?shù)卦鰷p判定條件。本文是通過對象在防區(qū)的總移動(dòng)距離以及目標(biāo)在當(dāng)前幀位置和初次進(jìn)入防區(qū)位置之間的距離關(guān)系判定徘徊行為的。
對象徘徊行為的判定條件1是依據(jù)序列圖像的大小,預(yù)先對對象在防區(qū)允許移動(dòng)距離進(jìn)行設(shè)定,然后把每幀對象移動(dòng)的距離累加起來,當(dāng)對象移動(dòng)距離的累加和超過規(guī)定值時(shí)即判定條件1滿足。表1是在相同的規(guī)定值340下不同對象在防區(qū)內(nèi)運(yùn)動(dòng)的總路程(本文所有數(shù)據(jù)均在窗口坐標(biāo)系下獲得,視頻圖像大小為320×320),通過表1得出結(jié)論是5號和6號對象滿足徘徊行為的判定條件1。圖1是防區(qū)范圍坐標(biāo),圖2是防區(qū)實(shí)際效果圖。
表1 相同的規(guī)定值下不同對象在防區(qū)內(nèi)運(yùn)動(dòng)的總路程
圖1 防區(qū)范圍坐標(biāo)
圖2 防區(qū)實(shí)際效果圖
對象徘徊行為的判定條件2是依據(jù)徘徊行為的特點(diǎn),即對象需要轉(zhuǎn)身并沿著和原路線成一定夾角的反方向運(yùn)動(dòng),依據(jù)這個(gè)運(yùn)動(dòng)特點(diǎn),利用對象在當(dāng)前幀位置和初次進(jìn)入防區(qū)位置之間的距離較前一幀小來判定徘徊行為。但是只通過連續(xù)2幀來判定結(jié)果并不準(zhǔn)確,原因是對象走路和轉(zhuǎn)身時(shí)的姿勢以及下蹲對結(jié)果的判定有影響,表2和表3(數(shù)據(jù)是對象部分連續(xù)幾幀里當(dāng)前幀位置和初次進(jìn)入防區(qū)位置之間的距離,按時(shí)間順序列出)說明了這一點(diǎn)。為了解決這個(gè)問題,本方法選擇連續(xù)幾幀來判定。幀數(shù)可根據(jù)防區(qū)內(nèi)目標(biāo)的大小進(jìn)行重新設(shè)定,本文選擇連續(xù)5幀來判定結(jié)果。
表2 當(dāng)前幀位置和初次進(jìn)入防區(qū)位置之間的距離
如果選擇連續(xù)2幀來判定,由表2中的幀序號1和2滿足判定條件,但此時(shí)目標(biāo)并未發(fā)生徘徊行為,判定結(jié)果錯(cuò)誤。錯(cuò)誤結(jié)論產(chǎn)生原因是由于目標(biāo)走路和轉(zhuǎn)身時(shí)的姿勢引起的。為此,將判定條件改為連續(xù)5幀來判定。由表2會(huì)發(fā)現(xiàn),從幀序號16開始到20號滿足條件,判定目標(biāo)徘徊,該結(jié)論與實(shí)際相符,判斷正確。
表3 當(dāng)前幀位置和初次進(jìn)入防區(qū)位置之間的距離
如果選擇連續(xù)2幀來判定,由表3中的幀序號10和11滿足判定條件,但此時(shí)目標(biāo)并未發(fā)生徘徊行為,判定結(jié)果錯(cuò)誤。錯(cuò)誤結(jié)論產(chǎn)生原因是由于目標(biāo)的下蹲引起的。為此,將判定條件改為連續(xù)5幀來判定。由表3會(huì)發(fā)現(xiàn)沒有連續(xù)5幀滿足條件,判定目標(biāo)沒有徘徊,該結(jié)論與實(shí)際相符,判斷正確。
背景差分方法[3-5]是利用當(dāng)前幀圖像與背景圖像相減來進(jìn)行目標(biāo)的檢測和提取,如圖3所示。
圖3 背景差分檢測目標(biāo)流程
式中,fi(x,y)為第 i幀(x,y)點(diǎn)的灰度值,Bt(x,y)為 t時(shí)刻的背景模型,T為指定閾值。
為提高檢測效果,背景按照指定時(shí)間進(jìn)行更新。為提高精度和減少噪聲干擾,可以采用形態(tài)學(xué)濾波對二值圖像進(jìn)行處理,最終獲得精確的前景運(yùn)動(dòng)目標(biāo)區(qū)域如圖4、圖 5所示。
圖4 當(dāng)前幀圖像
圖5 檢測到的目標(biāo)
Camshift算法[6-10](Continuously Apative Mean-Shift算法)是一種運(yùn)動(dòng)跟蹤算法。它主要通過視頻圖像中運(yùn)動(dòng)物體的顏色信息來達(dá)到跟蹤的目的。為了便于理解可以將該算法分為 3個(gè)部分:Back Projection、Mean Shift算法、Camshift算法。
首先計(jì)算被跟蹤目標(biāo)的色彩直方圖,采用HSV空間中可以表示顏色信息的H分量,然后將RGB色彩空間轉(zhuǎn)換到HSV空間。因?yàn)橹粚分量操作,所以只需對H分量做1D直方圖計(jì)算。根據(jù)獲得的色彩直方圖將原始圖像轉(zhuǎn)化成色彩概率分布圖像,這個(gè)過程即被稱為“Back Projection”。
Mean Shift算法是一種密度函數(shù)梯度估計(jì)的非參數(shù)方法,通過迭代尋優(yōu)找到概率分布的極值來定位目標(biāo)。算法步驟如下:
(1)在顏色概率分布圖中選取大小為s的搜索窗。
(2)計(jì)算此時(shí)搜索窗口的質(zhì)心:
則搜索窗的質(zhì)心(xcyc)為xc=M10/M00
式 中 ,Ic(x,y)是 坐 標(biāo)(x,y)的 像 素 值 ,x、y 的 變 化 范 圍 為 搜索窗的大小。
(3)重新設(shè)置搜索窗的大小s。
(4)重復(fù)(2)、(3)直到質(zhì)心收斂。
將Mean Shift算法擴(kuò)展到連續(xù)圖像序列,就形成了Camshift算法。它將序列圖像的所有幀做Mean Shift運(yùn)算,并將上一幀的結(jié)果(搜索窗的質(zhì)心和大小)作為下一幀Mean Shift算法的搜索窗的初始值,如此迭代下去實(shí)現(xiàn)對目標(biāo)的跟蹤。算法步驟如下:
(1)用背景差分方法得到的矩形框初始化搜索窗。
(2)計(jì)算搜索窗內(nèi)的顏色概率分布。
(3)運(yùn)行Mean Shift,獲得搜索窗新的大小和位置。
(4)在下一幀里用步驟(2)中的值重新初始化搜索窗的位置和大小,再跳轉(zhuǎn)到步驟(2)繼續(xù)進(jìn)行。
單目標(biāo)徘徊檢測及跟蹤方法流程圖如圖6所示。
圖6 單目標(biāo)徘徊檢測及跟蹤方法流程圖
實(shí)驗(yàn)是在Microsoft Visual C++6.0環(huán)境下,基于C語言編程實(shí)現(xiàn)的。序列圖像選自實(shí)際的監(jiān)控錄像,圖像大小為320×320。圖7是該方法的實(shí)際演示效果,只對防區(qū)內(nèi)有徘徊行為發(fā)生的對象進(jìn)行跟蹤報(bào)警。
本文提出了一種針對靜態(tài)場景下的單目標(biāo)徘徊檢測及跟蹤方法,實(shí)驗(yàn)證明,該方法能夠自動(dòng)識(shí)別出潛在的威脅,幫助管理人員更加有效地做出相應(yīng)的處理。在跟蹤過程中考慮到了目標(biāo)長時(shí)間靜止會(huì)消失的問題,采取了處理方法。本方法的不足之處在于無法對防區(qū)內(nèi)多對象的運(yùn)動(dòng)行為進(jìn)行判斷,如何解決所存在的問題是下一步研究的內(nèi)容。
[1]鄒芳,肖坦,蔣征朋.視頻分析技術(shù)綜述及鐵路應(yīng)用初探[J].鐵路通信信號工程技術(shù),2008,5(3):19-21.
[2]劉瑞禎,于仕琪.OpenCV教程[M].北京:北京航天航空大學(xué)出版社,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]朱明旱,羅大庸,曹倩霞.幀間差分與背景差分相融合的運(yùn)動(dòng)目標(biāo)檢測算法[J].計(jì)算機(jī)測量與控制,2005,13(3):215-217.
[5]汪沖,席志紅,肖春麗.基于背景差分的運(yùn)動(dòng)目標(biāo)檢測方法[J].應(yīng)用科技,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算法的運(yùn)動(dòng)目標(biāo)實(shí)時(shí)跟蹤系統(tǒng)[J].現(xiàn)代電子技術(shù),2008,19:116-118.
[8]劉雪,常發(fā)亮,王華杰.基于改進(jìn) Camshift算法的視頻對象跟蹤方法 [J].微計(jì)算機(jī)處理,2007,23(7-3):297-298,305.
[9]孫凱,劉士榮.多目標(biāo)跟蹤的改進(jìn) Camshift/卡爾曼濾波組合算法[J].信息與控制,2009,38(1):9-14.
[10]徐琨,賀昱曜,王衛(wèi)亞.基于 Camshift的自適應(yīng)顏色空間目標(biāo)跟蹤算法[J].計(jì)算機(jī)應(yīng)用,2009,29(3):757-760.
圖7 演示效果圖