吳 瑤,鄭愛華,2,羅 斌,2
(1.安徽大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601;2.安徽省工業(yè)圖像處理與分析重點(diǎn)實驗室,安徽 合肥 230039)
近年來,隨著計算機(jī)科技的不斷發(fā)展進(jìn)步,人們生活水平的不斷提高,特別是近來,公共安全防護(hù)及建設(shè)智慧城市的需求日益增長,視頻監(jiān)控越來越被人們所重視.在現(xiàn)有的視頻監(jiān)控系統(tǒng)中,大多都采用固定攝像頭,但固定攝像頭監(jiān)控視野窄,靈活度低,而且不能自由控制,使得相機(jī)對運(yùn)動目標(biāo)不能進(jìn)行連續(xù)的跟蹤,為我們提供的相關(guān)信息也很有限.基于PTZ相機(jī)的智能監(jiān)控系統(tǒng)能彌補(bǔ)上述缺點(diǎn).PTZ相機(jī)(智能一體化球型相機(jī))即Pan、Tilt和Zoom的簡寫,是集高分辨率攝像頭、變速云臺和光學(xué)變焦鏡頭等部件于一體的監(jiān)控設(shè)備,它能監(jiān)控的視野范圍更大,且能主動跟蹤運(yùn)動目標(biāo)對運(yùn)動目標(biāo)進(jìn)行分析.
PTZ相機(jī)下的主動目標(biāo)跟蹤,由于目標(biāo)尺寸的不斷變化以及背景的不斷更新,使得PTZ相機(jī)主動跟蹤目標(biāo)有很多困難.近年來,不少研究人員都做了很多研究.文獻(xiàn)[1-2]給出一種模糊控制算法,把云臺轉(zhuǎn)動分為八個方向,然后根據(jù)目標(biāo)位置與圖像中心點(diǎn)的位移偏移量作為模糊控制距離,與設(shè)定閾值比較,根據(jù)比較結(jié)果判斷相機(jī)的轉(zhuǎn)動方向,這種方法能滿足主動跟蹤,但跟蹤結(jié)果不夠準(zhǔn)確.文獻(xiàn)[3]通過對相機(jī)方向、焦距與在3D場景下目標(biāo)與相機(jī)之間的距離進(jìn)行預(yù)測,對相機(jī)進(jìn)行調(diào)整,跟蹤目標(biāo).文獻(xiàn)[4-5]先對背景進(jìn)行全景拼接,再通過背景減法獲取目標(biāo),該方法跟蹤效果較好,但計算量大,不能實現(xiàn)實時跟蹤目標(biāo).
本文對PTZ相機(jī)主動目標(biāo)跟蹤方法進(jìn)行了研究,首選通過相機(jī)自標(biāo)定方法[6-9]獲得PTZ相機(jī)的標(biāo)定信息,然后利用標(biāo)定信息,根據(jù)目標(biāo)在圖像坐標(biāo)系中的位移,計算出PTZ相機(jī)的偏轉(zhuǎn)角度,根據(jù)該角度調(diào)整相機(jī)使得目標(biāo)始終相機(jī)監(jiān)控視野中心區(qū)域,從而實現(xiàn)PTZ相機(jī)對目標(biāo)的主動跟蹤.該算法復(fù)雜度低,計算效率較高,通常情況下能夠準(zhǔn)確實時的主動跟蹤運(yùn)動目標(biāo)[10-11].
在計算機(jī)視覺中,標(biāo)定信息包括相機(jī)內(nèi)參數(shù)和外參數(shù).通過內(nèi)外參數(shù)能夠?qū)崿F(xiàn)相機(jī)成像平面中的二維坐標(biāo)與真實場景中三維坐標(biāo)之間的變換.在針孔模型[12]中,假設(shè)三維空間中一點(diǎn)x=(X,Y,Z,1),在相機(jī)成像平面上所成的像點(diǎn)為m=(x,y,1),則有如下關(guān)系式:
式(1)中,K為相機(jī)內(nèi)參數(shù)矩陣,其矩陣中元素即為要標(biāo)定的相機(jī)模型參數(shù);fu,fv是圖像坐標(biāo)系中u軸與v軸的尺度因子;γ是傾斜因子,是由u軸與v軸的不成交產(chǎn)生的,一般為0;(u0,v0)為主點(diǎn)坐標(biāo),即相機(jī)光軸與像平面的交點(diǎn)坐標(biāo);[R T]為相機(jī)外參數(shù)矩陣,R是世界坐標(biāo)系轉(zhuǎn)換到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣,T是世界坐標(biāo)系到相機(jī)坐標(biāo)系的平移矢量.本文所做研究是基于PTZ相機(jī)純旋轉(zhuǎn)運(yùn)動的,即相機(jī)只繞其光心做旋轉(zhuǎn)運(yùn)動,沒有平移向量,T為0,且相機(jī)不進(jìn)行縮放等變化.
通過PTZ相機(jī)拍攝一系列圖像,然后根據(jù)圖像間對應(yīng)關(guān)系求出圖像的單應(yīng)矩陣,求出單應(yīng)矩陣后再根據(jù)公式求出相機(jī)內(nèi)參數(shù)矩陣K,完成相機(jī)自標(biāo)定.
具體過程如下:
當(dāng)PTZ相機(jī)做旋轉(zhuǎn)運(yùn)動時,相機(jī)運(yùn)動前圖像m1與運(yùn)動后的圖像m2滿足如下關(guān)系:
式(2)中,s是非零常數(shù),矩陣H即為兩幅圖像間的單應(yīng)性矩陣,可由多組圖像對應(yīng)點(diǎn)求得.如果限定H的行列式即Det(H)=1,則:
將式(3)進(jìn)行轉(zhuǎn)置并分別右乘式(3)的兩邊,則得到
式(4)中,令C=KKT.則當(dāng)C已知后,可通過對C進(jìn)行Cholesky分解[13]求得K.因此,相機(jī)自標(biāo)定問題就轉(zhuǎn)化為求解矩陣C的問題.
當(dāng)已知一個H時,式(4)只有4個關(guān)于C中元素的線性獨(dú)立約束方程,而C有5個獨(dú)立元素,所以,無法由一個H求得C.當(dāng)相機(jī)內(nèi)參數(shù)保持不變時,控制相機(jī)繞光心做二次旋轉(zhuǎn),此時,可由兩個如式(4)的矩陣方程線性求解出C[14].
綜上,獲取PTZ相機(jī)內(nèi)參數(shù)的步驟為:
(1)用同一個相機(jī)旋轉(zhuǎn)不同角度拍攝一系列有重疊圖像;
(2)通過所拍攝圖像的對應(yīng)點(diǎn)求出其相應(yīng)的單應(yīng)矩陣H;
(3)求得單應(yīng)矩陣H后,聯(lián)立多個形如式(4)的矩陣方程求得矩陣C.
(4)求得矩陣C后,通過Cholesky分解法,求出相機(jī)內(nèi)參矩陣K.
本文提出的基于標(biāo)定信息的PTZ相機(jī)主動跟蹤方法,使相機(jī)能夠?qū)δ繕?biāo)進(jìn)行準(zhǔn)確的主動跟蹤,已達(dá)到目標(biāo)在運(yùn)動過程中始終位于監(jiān)控視野中心區(qū)域.算法流程圖如下圖1所示.在選定跟蹤目標(biāo)后,使用傳統(tǒng)跟蹤方法對目標(biāo)進(jìn)行跟蹤,獲取目標(biāo)在每一幀中的坐標(biāo).考慮到算法的實時性要求,本文在實驗部分選用Mean shift跟蹤算法對目標(biāo)進(jìn)行定位,其收斂速度快,滿足本文實時性的要求,具體跟蹤算法請見參考文獻(xiàn)[15].在獲得目標(biāo)位置后,通過目標(biāo)位置到圖像中心點(diǎn)距離與設(shè)定閾值R比較來判斷是否需要調(diào)整相機(jī),當(dāng)目標(biāo)不在圖像中心區(qū)域時,就使用本文提出的算法來調(diào)整相機(jī),使目標(biāo)回到圖像中心區(qū)域.
圖1 PTZ相機(jī)下主動跟蹤算法流程圖
下面介紹如何求解P,T的值,如下圖2所示,設(shè)圖像中心的坐標(biāo)為o,目標(biāo)已偏離圖像中心,在當(dāng)前幀圖像的坐標(biāo)為x,設(shè)要使目標(biāo)重新回到圖像中心,相機(jī)從中心點(diǎn)o轉(zhuǎn)到x的水平轉(zhuǎn)動角度為α,即為P值,豎直方向轉(zhuǎn)動的角度為β,即為T值.設(shè)世界坐標(biāo)系是以相機(jī)光心C為原點(diǎn)的,且o,x,m在世界坐標(biāo)系下對應(yīng)的坐標(biāo)為O,X,M.
圖2 PTZ相機(jī)的P,T計算圖
則在三角形COM中,由向量夾角公式可得:
同理,在三角形COX中:
由式(6)與反余弦定理可推出下式:
由式(9)可知,只要求出 CX,CM和 |CX|,|CM|的值,則相機(jī)的豎直方向轉(zhuǎn)動角度β,即相機(jī)T值就可被求出.在相機(jī)自標(biāo)定中,由相機(jī)成像模型及各坐標(biāo)系之間的轉(zhuǎn)換關(guān)系可知,對于空間中任意一點(diǎn)P與其成像平面的像點(diǎn)P'滿足如下關(guān)系:
其中,K是PTZ相機(jī)內(nèi)參數(shù)矩陣,R是旋轉(zhuǎn)矩陣,均可有相機(jī)自標(biāo)定求出.
則在圖2中, 也滿足該關(guān)系式:
由式(11)可求出O,X,M的值:
因此,當(dāng)相機(jī)內(nèi)參數(shù)K與目標(biāo)位置已知時,我們就可根據(jù)這兩個值,求出PTZ相機(jī)的水平和豎直方向的偏移角度,即P,T的值.這就是本文主動跟蹤的依據(jù),即根據(jù)幾何投影關(guān)系,求出相機(jī)轉(zhuǎn)動角度.求出P,T值后,然后調(diào)用相機(jī)相關(guān)接口函數(shù),讓相機(jī)轉(zhuǎn)動,使目標(biāo)重新回到圖像中心點(diǎn),即相機(jī)監(jiān)控視野中心,完成主動跟蹤.
實驗采用的硬件平臺為Pentium Dual-Core 3.4GHZ,內(nèi)存為2GB的PC機(jī),實驗運(yùn)行環(huán)境為Microsoft Visual Studio 2010,以.net為實驗平臺,本文使用的PTZ相機(jī)是杰邁高清球機(jī).
為驗證本文算法的可行性與有效性,實驗在真實場景下(在校園內(nèi)),選擇對行人進(jìn)行跟蹤.在相機(jī)自標(biāo)定過程中,使用同一PTZ相機(jī)轉(zhuǎn)動5個不同角度,拍攝5幅有重疊圖像,圖像大小為1280*720,來進(jìn)行相機(jī)自標(biāo)定實驗,如下圖3所示.將第一幅圖像與其他四幅圖像建立匹配關(guān)系,求出其匹配點(diǎn)對,根據(jù)圖像匹配點(diǎn)對求出4個單應(yīng)性矩陣H來求解相機(jī)內(nèi)參數(shù)矩陣K,由圖3可以看出,圖像匹配點(diǎn)較準(zhǔn)確,即由圖像對應(yīng)點(diǎn)求得的單應(yīng)矩陣H更準(zhǔn)確.
圖3 五幅圖像的自標(biāo)定匹配圖
表1 PTZ內(nèi)參數(shù)值表
本文PTZ相機(jī)標(biāo)定結(jié)果,即求得的內(nèi)參數(shù)矩陣K值,如下表1所示.主動跟蹤算法的實驗結(jié)果如下圖4所示.
圖4 PTZ相機(jī)主動跟蹤結(jié)果圖
如上圖4所示,第1幀為目標(biāo)選取幀,本文是手動選取的.圖像中心點(diǎn)用紅色圓點(diǎn)表示,由上圖可以看出,運(yùn)動目標(biāo)一直保持在圖像中心點(diǎn)周圍,即目標(biāo)一直保持在監(jiān)控視野中心.在第945幀時,目標(biāo)被車子輕微遮擋,跟蹤沒有發(fā)生漂移;在第1230幀時,目標(biāo)被完全遮擋,主動跟蹤結(jié)果還是魯棒的,說明本文算法具有一定的抗干擾能力;在第2280幀時,目標(biāo)漸漸遠(yuǎn)離,變得很小,本文算法仍能主動跟蹤目標(biāo),使其保持在中心點(diǎn)周圍,在后續(xù)的跟蹤過程中,目標(biāo)仍處于在圖像中心.在實時的720P碼流中,本文主動跟蹤算法結(jié)合均值漂移算法只需12ms.由實驗結(jié)果可以看出,本文算法能夠準(zhǔn)確的主動跟蹤運(yùn)動目標(biāo),使運(yùn)動目標(biāo)一直保持在圖像中心,即相機(jī)監(jiān)控范圍中心.
表2給出了本文算法與其他跟蹤算法的對比結(jié)果.算法1、算法 2、算法 3分別為文獻(xiàn)[1]、文獻(xiàn)[3]和文獻(xiàn)[4]所提出的跟蹤算法.對比實驗所使用的視頻是在真實場景下PTZ相機(jī)所錄制的單個行人行走的視頻,視頻共2280幀.表中Fps表示算法每秒處理的禎數(shù),No表示目標(biāo)在圖像中心點(diǎn)禎數(shù),Init表示算法是否需要初始化.
表2 不同算法的對比結(jié)果
本文對PTZ相機(jī)下的主動目標(biāo)跟蹤進(jìn)行了研究,現(xiàn)有的PTZ相機(jī)下的主動目標(biāo)跟蹤算法,大多都是基于模糊控制的,但是其主動跟蹤結(jié)果不夠準(zhǔn)確,針對該問題,本文提出一種基于相機(jī)標(biāo)定信息的PTZ相機(jī)主動目標(biāo)跟蹤算法.首先通過文中介紹的算法對PTZ相機(jī)進(jìn)行標(biāo)定,求出其內(nèi)參數(shù)矩陣K,然后結(jié)合運(yùn)動目標(biāo)的位置,求出PTZ相機(jī)的P,T值,然后根據(jù)這兩個值,轉(zhuǎn)動相機(jī),使相機(jī)能準(zhǔn)確跟隨目標(biāo)一起轉(zhuǎn)動,即讓運(yùn)動目標(biāo)一直處于相機(jī)監(jiān)控視野中心,完成主動跟蹤.經(jīng)大量實驗證明,本文提出的方法簡單可行,而且能應(yīng)用到實際生活中,具有較高的實際應(yīng)用價值.
〔1〕Al Haj M,Bagdanov A D,Gonzalez J,et al.Reactive object tracking w ith a single PTZ camera[C].The 20th International Conference on Patttern Recognition,2010:1690-1693.
〔2〕Kumar P,Dick A,Sheng T S.Real time target tracking w ith pan tilt zoom camera[C].Digital Image Computing:Techniques and Applications,2009:492-497.
〔3〕Chang F,Zhang G,W ang X,et al.PTZ camera target tracking in large complex scenes[C].The 8th World Congress on Intelligent Control and Automation,2010:2914-2918.
〔4〕Azzari P,Di Stefano L,Bevilacqua A.An effective real-time mosaicing algorithm apt to detect motion through background subtraction using a PTZ camera[C].IEEE Conference on Advanced Video and Signal Based Surveillance,2005:511-516.
〔5〕Hsieh JW.Fast stitching algorithm for moving object detection and mosaic construction[J].Image and Vision Computing,2004,22(4):291-306.
〔6〕Meng J,CohenpandHenuou M.Camera calibration w ith distortion model and accuracy evaluation [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1992,14(10):965-980.
〔7〕Luong Q-T,Faugeras O D.The fundamental matrix:Theory,algorithms,and stability analysis[J].Journal of Computer,1996,17(2):43-72.
〔8〕Stephen J Maybank,O liver D Faugeras.A theory of self-calibration of a moving camera[J].International Journal of Computer Vision,1992,8(2):123-151.
〔9〕Hartley R I.Slef-calibration of stationary cameras[J].International Journal of Computer Vision,1997,22(1):5-23.
〔10〕邵明禮.視頻運(yùn)動目標(biāo)跟蹤算法研究[D].西安:西安電子科技大學(xué),2006.
〔11〕張玲.視頻目標(biāo)跟蹤方法研究[D].合肥:中國科技大學(xué)計算機(jī)學(xué)院,2009.
〔12〕馬頌德,張正友.計算機(jī)視覺-計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,2003.9.
〔13〕Golub G,Loan Cvan.Matrix Computations third edition[M].Baltimore,Mary land:The John Hopkins U-niversity Press,1996.
〔14〕胡占義,吳福朝.基于主動視覺攝像機(jī)標(biāo)定方法[J].計算機(jī)學(xué)報,2002,25(11):1149-1156.
〔15〕Collins R T.Mean-Shift blob tracking through scale space[C].IEEE International Conference on Computer Vision and Patern Recognition,2003:234-240.