《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于OpenCV的智能視頻監控設計
基于OpenCV的智能視頻監控設計
國外電子元器件
岑 銀
西南交通大學
摘要: 采用智能視頻分析技術的智能監控系統能夠最大限度地減少人為干預,提高監控效率,減輕人的工作負擔,并可對動態場景視頻中的目標物體進行檢測、分離、跟蹤與有效識別。文中介紹了opencv中的運動模板檢測方法,并給出了使用該檢測方法來對運動目標進行檢測、跟蹤與智能判斷的實驗結果。
Abstract:
Key words :

O 引言

智能視頻監控以數字化、網絡化視頻監控為基礎,但又有別于一般的網絡化視頻監控,它是一種更高端的視頻監控應用。智能視頻監控系統能夠識別不同的物體。發現監控畫面中的異常情況,并能以最快和最佳的方式發出警報和提供有用信息,從而能夠更加有效地協助安全人員處理危機,并最大限度地降低誤報和漏報現象。智能視頻監控中的運動目標檢測與跟蹤技術則是實現這一環節的關鍵技術。目前比較常用的運動目標檢測方法是幀間差分法、背景差分法和光流法。而幾種較受關注的目標跟蹤算法則有粒子濾波、基于邊緣輪廓的跟蹤和基于模板的目標建模等方法。

通過計算機開源視覺庫(openCV)中的運動模板檢測能對視頻圖像中運動目標有效地進行檢測與跟蹤,本文首先介紹了openCV算法,然后在該算法的基礎上,給出了實現智能視頻監控中對運動目標進行跟蹤,并根據運動目標的質心位置作出相應智能判斷的具體方法。

1 0penCV簡介

OpenCV是“Open Source Computer Vision Library”的簡寫,是Intel開源計算機視覺庫。它由一系列C函數和少量的C++類構成,是可實現圖像處理和計算機視覺方面的很多通用算法。OpenCV擁有包括300多個C函數的、跨平臺的中、高層API,它不依賴與其它的外部庫。Op-enCV對非商業應用和商業應用都是免費的;另外,OpenCV為Intel的IPP也提供了透明接口。這意味著,如果有為特定處理器優化的IPP庫,那么,OpenCV將在運行時自動加載這些庫,以使函數性能達到最好。OpenCV的優點是開放源代碼,具有基于Intel處理器指令集開發的優化代碼,統一的結構和功能定義,強大的圖像和矩陣運算能力,以及方便靈活的用戶接口,同時支持MS-Windows和Linux平臺。

最新的OpenCV庫已經包含有大量的函數和例子,可用來處理計算機視覺領域中常見的問題,其中主要涉及到以下幾個方面的內容:
    (1) Motion Analysis and Objection Tracking-運動分析和目標跟蹤;
    (2)Image Analysis-圖像分析;
    (3) StructuralA nalysis-結構分析;
    (4)ObjectR ecognition-目標識別;
    (5)3D Reconstruction-3D重建。

2 算法流程

運動模塊檢測算法的流程圖如圖1所示。該流程首先是獲得當前幀與上一幀的差,接著對差圖像進行二值化,以去掉超時影響,更新運動歷史圖像,然后計算運動歷史圖像的梯度方向,并將整個運動分割為獨立的運動部分,再用一個結構序列標記每一個運動分割,最后計算選擇區域的全局運動方向,從而獲得運動目標的質心位置與運動方向。

這個算法基于的條件是運動目標相鄰兩幀之間在畫面上存在的交集,此算法不用外推和相關分析以及軌跡后處理就可以清晰地顯示出目標的軌跡、速度與方向。用該算法基于運動目標檢測運動目標前景圖像的具體過程可描述如下:

◇存儲檢測出來的目標前景圖像,并使過去的幀灰度遞減:
    ◇在當前幀打上時間戳疊加存儲到歷史圖像后綴;
    ◇形成梯度漸變圖像;
    ◇由分割得到的梯度漸變圖像得到目標位置,并計算漸變梯度,以得到目標的速度和方向,并加上批號標記。

該算法簡化了目標相關性的運算,可在初始狀態下對于目標運動趨勢不了解的情況下實施對目標的穩定跟蹤,同時具有良好的實時性能。

3 相關函數

通過函數cvUpdateMotionHistory可使用下列方式更新運動歷史圖像:

也就是說,MHI(motion history image)中運動所發生的象素點被設置為當前時間,而運動發生較久的象素點將被清除。

函數cvCalcMotionGradient用于計算MHI的差分Dx和Dy,然后計算梯度方向,其公式為:

orientation(x,y)=arcztan(Dy(x,y)/Dx(x,y))

其中要考慮Dx(x,y)和Dy(x,y)的符號。然后填充mask以表示哪些方向是正確的。

函數cvCalcGlobalOrientation用于在選擇的區域內計算整個運動方向。并返回0°到360°之間的角度值。首先由函數創建運動直方圖,并尋找基本方向做為直方圖最大值的坐標。然后通過函數計算與基本方向的相對偏移量,并將其做為所有方向向量的加權和(運行越近,權重越大)。所得到的角度就是基本方向和偏移量的循環和。

函數cvSegmentMotion可尋找所有的運動分割,并在seg_mask用不同的單獨數字(1,2,…)標識它們。它也可返回一個具有CvConnected-
Comp結構的序列。其中每個結構對應一個運動部件。在這之后,每個運動部件的運動方向就可以被函數cvCalcGlobalOrientation利用提取的特定部件的掩模(mask)計算出來。此外,每個運動部件的質心位置也可由返回的圖像ROI位置來確定,由此便可確定運動目標的位置。

4 實驗結果

在實驗中,可采取標準視頻圖像源來有效檢測跟蹤出圖像中的運動目標,圖2所示是其實驗結果示意圖。其中通過圖2(a)能夠根據CvCon-neetedComp中所獲取的運動分割形狀大小,濾掉所不關心的運動目標;而對于圖2(b),如果把限定閾值取大。則視頻中的騎自行車的人將不會被跟蹤顯示;

圖2(c)中,假定豎直線右側為警戒區域,當有目標進入該區域時。即運動目標的質心位置為某一區間值時,則對該目標進行標記,從而達到智能判斷的效果。圖中直線方向表示運動物體的運動方向,在實際的運用場景中,可由此判斷物體是否逆行以達到智能監控和識別的效果。

5 結束語

本文介紹了openCV中運動模板的檢測方法,該方法可以有效正確檢測和跟蹤視頻圖像中的運動目標,并能獲得該目標的運動方向與相應位置,從而實現智能視頻監控和智能判斷。但實際上,該方法仍然會存在運動背景差不精確、運動目標形狀大小不一等問題,因此,還需進一步研究或與其他方法相結合,以達到更好的效果。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日韩在线免费观看视频 | 永久在线免费观看 | 国产免费看网站v片不遮挡 国产免费黄视频 | 三级全黄视频 | 免费观看无遮挡www的小视频 | 欧美69精品国产成人 | 国产日韩欧美视频在线 | 在线视频一区二区日韩国产 | 亚洲视频精品在线观看 | 日韩欧美一区二区在线 | 波多野结衣视频在线免费观看 | 日韩在线视频播放 | 一级毛片成人免费看免费不卡 | 欧美小视频在线观看 | 成年人免费观看网站 | 国产又黄又湿又刺激不卡网站 | 久青草国产在视频在线观看 | 欧美a在线 | 国产免费丝袜调教视频 | 国产欧美日韩一区二区三区在线 | 不卡视频免费在线观看 | 一区在线免费观看 | 亚洲国产欧美另类 | 亚洲精品一二区 | 丁香婷婷六月 | 天天干干干干 | 日韩欧美视频一区二区在线观看 | 欧美图片在线视频 | 国产黄色福利 | 日韩在线伦理 | 亚洲福利天堂 | 99精品视频不卡在线观看免费 | 色综合激情 | 免费一级毛片在线播放不收费 | 国产亚洲人成网站观看 | 欧美一区二区三区免费观看视频 | 一个人晚上在线观看的免费视频 | 55夜色66夜色国产亚洲精品区 | 操你啦在线观看 | 玖玖玖精品视频免费播放 | 18p爽视频在线观看免费 |