摘 要 傳統(tǒng)的預警系統(tǒng)智能化有待提高,因此預警效果不太顯著,本文提出了一種基于OpenCV技術的預警系統(tǒng),該系統(tǒng)是基于圖像和視頻處理的運動檢測和目標跟蹤相關技術的基礎上,重點研究了運動物體(行人)危險檢測技術的基本原理和實現(xiàn)算法,應用OpenCV設計了一個預警系統(tǒng),可以實現(xiàn)智能交通控制、智能視頻監(jiān)控等。
關鍵詞 OpenCV 運動檢測 預警系統(tǒng)
中圖分類號:TP311 文獻標識碼:A
0背景
在日常生活中,存在著很多安全問題,若能有效地分析人的行為,而進行預警,可很好地防盜竊等。例如當監(jiān)控場景中的物體被偷盜或者移動時,算法將自動檢測這種動作并產(chǎn)生警報,常用于貴重物品和關鍵設備的監(jiān)控;本文使用智能視頻監(jiān)控系統(tǒng),利用計算機對數(shù)字視頻圖像進行智能化處理,結合計算機科學、機器視覺、圖像處理、模式識別、人工智能等多種學科,把視頻數(shù)據(jù)經(jīng)過幀處理,運動檢測、目標分類、目標跟蹤和行為理解等步驟,提取出高級的語義信息,從而指導和規(guī)劃行動,實現(xiàn)高層次的人工智能。本文研究的重點是對智能視頻監(jiān)控中行人危險行為的檢測和跟蹤。
1運動目標檢測基本思路
本預警系統(tǒng)在對視頻錄入的幀圖像進行二值化的基礎上,通過相鄰圖像間的差進行運動檢測,運用OpenCV中函數(shù)提取運動目標的輪廓,并對其進行違規(guī)判斷。由于錄入視頻中運動物體種類繁多,通過面積大小及運動的規(guī)律性,對運動物體進行性質判斷,確定是否為檢測目標,再對運動目標進行進一步處理。
研究運動目標檢測時,由于背景的變化較小,故采用幀差法檢測運動目標。首先是將連續(xù)的視頻處理成分割的幀圖像,得到幀圖像之后做差得到差圖像,然后對差圖像進行一系列的圖像處理。包括:二值化,平滑處理,形態(tài)學膨脹,輪廓提取。然而并非全部輪廓都是由目標產(chǎn)生,背景的擾動、噪聲的影響使結果中出現(xiàn)一些背景區(qū)域像素點被檢測為運動區(qū)域。為消除這些影響,首先將上述結果用形態(tài)學方法進行處理,找出處理后的連通域,拋棄面積小于一定值的區(qū)域。
2運動目標的跟蹤
運動目標的跟蹤是智能視頻監(jiān)控系統(tǒng)中基本且關鍵的部分,它銜接了運動目標檢測和目標行為分析理解,是在檢測運動目標的基礎上,來區(qū)分運動目標并獲得其運動軌跡。主要思路是系統(tǒng)在檢測到運動目標后,對運動目標的特征進行提取,以識別運動目標的種類、大小、運動方向以及其他特征信息,從而進行跟蹤。同時也可以根據(jù)運動軌跡判斷運動目標是否存在違章行為,或者檢測出在敏感區(qū)域中一直徘徊的可疑運動目標。
在分析了多種目標跟蹤方法的基礎上,我們選擇使用基于特征跟蹤的方式進行目標跟蹤。選擇應用圖像處理函數(shù)cvFindContours()提取目標輪廓信息,此函數(shù)可以得到運動目標的輪廓偏移量及長度寬度,根據(jù)這些數(shù)據(jù),我們可以得到運動目標的中心
點,比較其與檢測區(qū)或者敏感區(qū)的位置關系,繼續(xù)后續(xù)的檢測。其跟蹤的詳細設計為:
(1)根據(jù)視頻圖像中具體情況,確定檢測區(qū)。實際操作時,我們需要根據(jù)圖像一步一步調整檢測線的位置,確保與實際相符。
(2)運動目標特征值提?。簯胏vFindContours()后,運動目標的特征值、偏移量及長寬,會存儲在對應的變量內。
(3)根據(jù)特征值,偏移量及長度寬度,就可以確定運動目標的中心點。
但對于多個物體的跟蹤,中心點的存儲直接影響軌跡繪制時的正確性。當只有單個運動物體時,可以通過一維數(shù)組直接存儲;要是有多個運動物體或者不定個數(shù)的運動物體,就需要二維數(shù)組存儲中心點坐標;在cvFindContours()存儲有中心點坐標時,將中心點坐標利用行對應存儲進二維數(shù)組,由于對應列并不是表示同意運動物體,需要對數(shù)組的存儲數(shù)據(jù)進行更改,通過交換的方式達到對應行對應列,存儲的是對應的運動目標的目的。
(4)智能檢測:將中心點的位置與檢測區(qū)對比,確定是否違規(guī)。需要應用線性規(guī)劃,通過點與區(qū)間位置關系綜合實現(xiàn)。
(5)軌跡繪制:運動物體特征值中心點在檢測區(qū)內,警示違規(guī),應用cvRectangle()繪制紅色輪廓;運動物體特征值中心點在檢測區(qū)外正常,應用cvRectangle()繪制綠色輪廓。
3結論
基于OpenCV技術的預警系統(tǒng),選用幀間差分法進行檢測,跟蹤方式是特征值跟蹤,進行幀間差分,二值化,圖像平滑處理,形態(tài)學膨脹,去除背景椒鹽噪聲,輪廓特征值提取,軌跡繪制。實現(xiàn)幀間差分時,需要首先實現(xiàn)圖像灰度處理(函數(shù)cvCvtColor()),再應用cvAbsDiff()函數(shù)實現(xiàn)對相鄰兩幀的圖像對應像素點像素值做差,如果視頻中有運動物體,其邊界處的像素點相鄰兩幀的差值結果非零,其他無運動區(qū)域相鄰差值為零。
參考文獻
[1] Davd A.Forsyth , Jean Ponce.計算機視覺——一種現(xiàn)代方法[M].林學訚,王宏等,譯.電子工業(yè)出版社,2004.
[2] 張蕊,羅中明.基于機器視覺的跟蹤目標距離研究.哈爾濱理工大學,2011,33(4):101-131.
[3] 布拉德斯基(Bradski.G.),克勒(Kaehler.A.)著,于仕琪,劉瑞禎譯.學習OpenCV(中文版) 第1版.清華大學出版社,2009.10.1.
[4] 劉瑞禎,于仕琪.OpenCV教程——基礎篇.北京航空航天大學出版社,第1版 2007.6.1.
[5] 萬衛(wèi)兵,霍宏,趙宇明.智能視頻監(jiān)控中目標檢測與識別,上海交通大學出版社,第1版.2010.1.1.