張益男++袁杰



摘 要: 伴隨視頻監控系統的普及,多攝像機智能視頻監控技術得到了廣泛的研究和應用。特別是視頻監控中的運動目標檢測分割、運動目標跟蹤和多攝像機協同技術,成為計算機視覺領域研究的熱點。單攝像機跟蹤常被應用的監控范圍限制,當監控場景是一個室外環境或需要一個較大的觀測范圍時,常需要多攝像機進行多物體跟蹤。為了建立一套有效的多攝像機智能監控系統,提出一種基于攝像機視野的重疊區域的協同監控方法,找出重疊區域的邊界線即場邊界線,旨在解決單攝像機監控范圍有限的問題,實現對某一場景進行全景監控。在多攝像機系統中各個攝像機的場邊界線在其他攝像機中可見的情況下,給出尋找它們的方法。基于此,可基本確定在多攝像機中的運動目標對應關系,獲取多攝像機的拓撲關系。
關鍵詞: 運動目標檢測; 多攝像機協同; 場邊界線; 全景監控
中圖分類號: TN911.73?34; TP391 文獻標識碼: A 文章編號: 1004?373X(2015)21?0006?05
Research on multi?camera intelligent monitoring system based on field of view lines
ZHANG Yinan1, YUAN Jie2
(1. School of Information Science and Engineering, Jinling College of Nanjing University, Nanjing 210089, China;
2. School of Electronic Science and Engineering, Nanjing University, Nanjing 210093, China)
Abstract: With the popularization of video monitoring system, the multi?camera intelligent video monitoring technology has been widely studied and applied. The moving object detection and segmentation, moving target tracking, and multi?camera coo?peration technology have become the research focus in computer vision field. Single camera tracking is limited by the monitoring scope. When the monitoring scene is an outdoor environment or needing a larger monitoring scope, multi?camera are required to track multi?object. A coordination monitoring method of overlapping region based on camera visual field is proposed to establish an effective multi?camera intelligent monitoring system. The field of view (FOV) lines are found out in the overlapping region to solve the limited monitoring scope of the single camera. The panorama monitoring for a certain scene is realized. The way how to find the FOV lines in multi?camera system is provided when each camera′s FOV lines can be seen by other cameras. The corresponding relationships of moving object in multi?camera can be ensured basically, and the topological relation of multi?camera can be acquired.
Keywords: moving object detection; multi?camera cooperation; field of view line; panorama monitoring
0 引 言
跟蹤移動物體是計算機視覺中一個極為重要的問題。它在監控、人體動作識別分析、交通[1]等眾多領域都有極為重要的應用。單攝像機跟蹤常被其應用的監控范圍限制。多攝像機監控系統在室內室外均可運用,特別在銀行、大型商場、機場等有著廣泛運用。即使在一些最簡單的場景人們也越來越傾向于使用多攝像機監控,首先因為單攝像機由于它有限的視野不可能提供足夠的場景覆蓋,其次多攝像機監控在面對如遮擋等問題時能有更強的魯棒性。現今流行的兩種多攝像機跟蹤策略分別是特征匹配法和依據3D信息的方法,前者運算量太大,不適用于實時系統,也有可能造成關鍵特征點的大量丟失,實用性不強,后者一般很難建立它的3D模型,即使可以建立,工作量也非常巨大,需要的場景信息也較復雜。因此,上述算法均不算十分成熟。本文提出一種基于攝像機視野的重疊區域的協同監控方法。
1 基于自適應背景模型的運動目標檢測和分割
運動檢測從攝像機獲取的視頻數據中通過建立背景模型、分割運動區域的手段檢測得到感興趣的目標運動區域。運動目標分割是通過檢測出的運動區域的后續處理,一般通過形態學的處理或一些其他的判別手段剔除如光線差異、物體晃動所帶來的影響,將真正的運動物體與一些噪聲、偽運動物體分開。目前對運動目標檢測和分割的研究很多,最普遍的算法有三種:背景減除法[2]、光流法和幀間差分法[3?4]。背景減除法比較簡單,但是對場景的動態變化比較敏感。光流法復雜性太高,且易受噪聲影響,難以符合視覺監視系統實時處理的要求。幀間差分法常需要大量的后續處理,比如采用多幀的變化檢測。
通常攝像機固定不動,只會有運動物體變化。由于可能沒有一個初始的場景情況,所以想獲取完整正確的背景是很難的,并且由于場景中可能出現諸如光線之類的變化,背景的變化也是比較大的,所以要對背景進行實時更新。因此可采用基于動態矩陣的自適應背景更新算法,該法簡單有效,且能適應陰影、光照變化以及攝像機抖動等情況。
2 基于改進的均值偏移算法的運動目標跟蹤
均值偏移(MeanShift)最早由Fukunaga等人于1975年在一篇關于概念密度梯度函數估計的論文中提出來。此算法一般指一個迭代的步驟,即先算出當前點的偏移向量,移動該點到其偏移均值處,然后以此為新的起始點,重復上述步驟繼續移動,直到滿足一定的條件結束。MeanShift算法只在局部范圍內進行窮盡搜索,因此算法的計算量很小,在實時性要求較高的目標跟蹤系統中已經得到成功的應用[5?8]。
本文選定的建模方法基于顏色模型,一般認為在單一攝像頭下,正常情況物體的顏色信息變化不會很大。而在多攝像機情況下,可能觀察同一個人從前面和后面看,顏色信息差距很大,可能衣服正面和背面是不同的底色。所以通過顏色模型進行跟蹤僅在單攝像機情況下適用,到了多攝像機聯合情況下,需要采用下文講述的基于場邊界線的跟蹤方法。實際采集的視頻信息都采用RGB顏色模型,但是該顏色模型對光照(亮度)影響較為敏銳,不適于利用它進行被跟蹤物體的特征提取,所以需要把視頻信息由RGB轉換為HSV模型。
如圖1所示,紅線框中的汽車為檢測出的運動目標,統計它的顏色直方圖分布,用于下文計算。當建立被跟蹤物體的顏色色相分布模型后,可通過反向投影的方法結合MeanShift算法進行跟蹤。反向投影即將統計的直方圖中的數據概率分布情況按照查表的方式對應回去,它可簡單地把目標概率分布映射到所要觀測的圖像中。
在實際圖像處理下,有時圖片的顏色信息會非常豐富,統計直方圖的值會很多,會難以設置閾值進行較為準確的劃分。一般來說,感興趣的運動物體的顏色信息不會太復雜,往往顏色信息會有一個聚集的特性,在圖像中的表現就是比較相近的顏色集中在一起。反向投影會降低顏色的種類數量,但是卻不會改變圖像的主要顏色信息特征,在下面處理后的圖像中可以看到反向投影的明顯作用。
實際處理中,可將上述步驟改進。設定一定的閾值,當該顏色信息在直方圖中的值高于一定值時,才將實際圖像中該顏色信息用黑色替代(后期計算時值可以設置為一個較大的數),而直方圖中小于閾值的其他顏色信息被去掉。這樣便于和改進后的MeanShift算法合作。可由圖1處理得到圖2。
由圖2可發現,右下角被跟蹤的車的主體輪廓已經完全呈現,為后面運用MeanShift算法提供了極大的便利,可以獲得很好的效果。然后運用MeanShift算法每次計算出目標框的重心,判別該框內的概率分布圖像是否與模板的顏色分布特征很相似,如果符合,那么停止迭代計算;不然修正搜索框的位置和大小,直到搜索框的移動距離在某一閾值內或者迭代達到一定次數時,才結束該算法,并最終確定一個最佳的搜索框位置。如圖3所示。
3 多攝像機協同監控
本文提出一種基于攝像機視野的重疊區域的協同監控方法。該方法主要找出重疊區域的邊界線,即場邊界線(Field of View Lines,FOV Lines),實現多攝像機協同監控的目的。本方法不需要標定好攝像機。按前面方法可得到在單個攝像機中物體的運動軌跡,那么在多攝像機中只需建立同一物體運動軌跡的關聯即可。理想情況是,當一個新的物體被發現時,關于它的軌跡便立刻被關聯。系統通過計算場邊界線來實現。具體來說,場邊界線是一個攝像機視野在其他攝像機視野范圍內的邊緣界限,通過這些線來建立同一物體軌跡間的聯系,它們同樣可以指出這個物體可以被這個攝像機系統中的哪些攝像機觀測到[9?10]。對于單攝像機監控可能出現的錯誤(比如阻隔),在多攝像機系統中易于被修正。
假設在所有攝像機中地平面可見,攝像機視頻序列是同步的,攝像機視野都是有重疊的(兩個攝像機間可以沒有重疊區域,但必有攝像機與它兩個都有關聯),這個假設并不苛刻。如果一個人消失在所有的攝像機范圍中,當他再次出現時,他會被當成一個新的物體。定義第[i]個攝像機的圖像為[Ci(x,y)]。[Ci]的覆蓋范圍在空間上實際是一個四棱錐,它的頂點是攝像機的投影中心,在圖像平面上的四條邊分別為[x=0,x=xmax,][y=0,][y=ymax。]定義[S]是圖像平面上四條邊的集合,用小寫[s]表示四條邊的任意一條。地平面與四棱錐相交的四條邊為圖像中足跡的實際邊界,稱為三維場邊界線。由于不同攝像機視野范圍會有重疊,所以一個攝像頭的場邊界線會出現在另一個攝像頭的視野中(如圖4所示)。如果[Li,s]是一條三維場邊界線,它表示[Ci]的視野限制的[s]邊,那么[Li,sj]表示[Ci]中的[Ci]的[s]邊場邊界線。接下來介紹假設已經知道了這些線,如何來解決連續跟蹤定位的問題。
定義任意[t]時刻出現在[Ci]的第[k]個物體為[Oik]。[Oik]表示[Ci]中能看見的所有物體(如[Oi=Oi1,Oi3]表示現在時間在[Ci]中有兩個物體,分別標記為1,3)。物體的定位被估計為一點[(x,y),]它是物體邊界框的下底框中心點。如[(xik,yik)=?(Oik),]其中[?(.)]返回的是物體邊框底部中心的那一點。人體的腳被選為是表示該人坐標的那一點,而且對于不同攝像機的光線也會在地平面上的這一點交匯(假設圖像中的人都是站立的)。對于多攝像機的物體跟蹤實際就是建立[Oim?Ojn。]若場邊界線已知,[Li,sj]將圖像分割成兩部分,一部分在場邊界線里面,另一部分在外部。定義函數[Li,sj(x,y)],如果點[(x,y)]在[Ci]可見,則函數返回一個大于0的數;如果該點在[Ci]中不可見,則函數返回一個小于0的數;如果該點在場邊界線上,則函數返回值即為0。
基于上述定義,可知[Ci]中的物體[Oik]是否在另一個攝像機視野中。注意有些情況下并不是一個攝像機的所有四條場邊界線在另一攝像機中均是可見的,這時會被[Ci]中可見的[Ci]的場邊界線的集合限制。同樣地,由于有的攝像機范圍被陰影覆蓋,這時考慮兩條場邊界線可能更加合理。在當前場景中可見的攝像機集合[C]由式(1)給出:
以上考慮的并不是真正的進出場景,而僅僅是進出攝像機的場邊界線。實際上,很有可能一個目標進入場景卻沒有經過任何的場邊界線,可能從場邊界線之間突然出現。比如當一個人突然從門后出現,或者一組物體的單軌跡分裂成了多物體多軌跡(比如一個人突然從他的汽車中走出來)。這些情況不會被用來初始化系統。然而在跟蹤過程中,要結合其他攝像機所拍攝到的其他軌跡來綜合看這個情況。
一旦依靠場邊界線確定[Oim]和[Ojn]之間的等價關系,便可確定在這兩個攝像機中兩個物體的運動軌跡也是對應的,可以依據此來盡量獲取兩個攝像機間的地平面坐標變換關系。這點并不需要用復雜的投影變換,用簡單的仿射變換就可以完全適用。單應性確定后,便可以簡單判別場景中央(非場邊界線上)突然出現的目標是否進入了監控大環境。發現此類情況時,將其依據仿射變換映射到其他攝像機的范圍內,看在他的位置上或一個最近的位置上是否存在一個已有目標。如果找到,那他們可以被認為是同一個目標,給予他們同樣的標號。因此把這個方法看作找出攝像機間協作關系的另一方法,主要應用在有大量重合區域的兩攝像機中。當遇到可能多個匹配的情況,運用這個方法可以起到部分消除誤匹配的效果。
在知道攝像機參數和地平面方程的情況下,檢測場邊界線還是一件很繁瑣的工作。而文中要在不知道這些信息的情況下,進行連續跟蹤,找出場邊界線。檢測每條場邊界線,[Li,sj]需要知道至少兩個關鍵點。圖6簡單介紹了檢測過程,根據兩點可確定出來。對于場邊界線的檢測需要知道多攝像機間的關聯關系。而簡單地估計它們間的關聯關系可以通過人的肉眼觀察環境得出。估算每個可能的目標對應,然后挑選出那些已經知道是對的目標對應再做下步處理。大多數情況下,連續跟蹤的場景中目標的確定是模棱兩可的,但是簡單的、沒有歧義的場景還是會發生的,而檢測場邊界線正是利用那些沒有歧義的關聯信息。系統啟動時不知道場邊界線的信息,但是當系統啟動后,監控了一些運動,就可以找出場邊界線的位置信息。一個初始化的方法是只讓一個人在這個監控環境中隨意走動,這樣可以找到絕對正確的相關對應并輕松找出場邊界線。
當場景存在不止一個人時,有人穿過場邊界線,在另外一個攝像機范圍內的所有人都會被認為是穿過場邊界線的候選目標。然而錯誤的匹配目標會隨機分散在場邊界線的兩邊,而正確的關聯候選目標會集中在一條直線上。因此可以采用Hough變換和RANSAC算法結合來擬合出正確的場邊界線,如圖7所示。
理想情況下,這些攝像機的場邊界線在其他攝像機的范圍里是全部可見的。然而實際上,很有可能一些場邊界線在另外一個攝像機中只能被看到一部分,便可能出現錯誤的匹配,即使檢測了很多的目標,同樣也不能很好地檢測出場邊界線。面對這個問題,主要靠減少誤匹配來檢測出那些場邊界線。方法是從其他同步的攝像機中獲取的額外信息來實現。定義在[Ci]中不可見的區域為[Vij,]可以通過觀察多攝像機范圍內的運動物體來獲取不可見區域的信息。注意獲取所有的不可見區域信息本身就需要知道場邊界線(因為不可見區域的邊界就是場邊界線),所以還是依靠一些運動目標的軌跡來獲取一些信息。
但如果系統中有一個攝像機失效,會對整個系統的工作有很大影響。另外,文中假設世界是平面的,人物的腳是可見的,如果某些場景不符合這條假設,此法也會完全失效。比如,在一個有著很多家具的室內環境,場邊界線會穿過某些家具,人物的腳也會被家具遮擋,這樣的情況下,此法就不能取得很好的效果,因為這時的場邊界線可能就不再是直線而是幾乎不可能得到的曲線。
4 結 語
本文采用的算法理論復雜度并不是太高,但卻是行之有效的方法。為滿足系統的實時性和魯棒性,對一些復雜算法進行簡化。比如在建立多攝像頭視野的幾何關系時,并沒有采用對極幾何、投影幾何的方法計算出完整的攝像機3D視野,而是簡化地運用仿射變換來實現。總體來說,該方法簡單實用,經濟成本和時間成本都不高,在經歷了初始化后,可以滿足實時性要求。
參考文獻
[1] 劉紹杰,張超,胡福喬,等.交通場景中的實時多目標跟蹤方法[J].計算機工程,2012,38(15):190?193.
[2] 朱一峰,陳麗華.人體運動目標檢測與跟蹤系統設計及算法仿真實現[J].江漢大學學報:自然科學版,2012,40(3):58?63.
[3] 吳垠,李良福,肖樟樹,等.基于尺度不變特征的光流法目標跟蹤技術研究[J].計算機工程與應用,2013,49(15):157?161.
[4] 袁國武,陳志強,龔健,等.一種結合光流法與三幀差分法的運動目標檢測算法[J].小型微型計算機系統,2013,34(3):668?671.
[5] LI Zheyuan, LIU Hong, XU Chao. Real?time human tracking based on switching linear dynamic system combined with adaptive MeanShift tracker [C]// Proceedings of 2011 the 18th IEEE International Conference on Image Processing. Brussels: IEEE, 2011: 329?2332.
[6] CHEN Ken, FU Songyin, SONG Kangkang, et al. A MeanShift?based imbedded computer vision system design for real?time target tracking [C]// Proceedings of 2012 the 7th IEEE International Conference on Computer Science & Education. Melbourne: IEEE, 2012: 1298?1303.
[7] 杜凱,巨永鋒,靳引利,等.自適應分塊顏色直方圖的MeanShift跟蹤算法[J].武漢理工大學學報,2012,34(6):140?144.
[8] 王田,劉偉寧,韓廣良,等.基于改進MeanShift的目標跟蹤算法[J].液晶與顯示,2012,27(3):396?400.
[9] 孫洛,邸慧軍,陶霖密,等.多攝像機人體姿態跟蹤[J].清華大學學報:自然科學版,2011,51(7):966?971.
[10] 霍闊,李長云,李妍,等.一種重疊視域多攝像機環境下的運動目標匹配SHFSM算法[J].計算機應用研究,2013,30(2):619?622.