• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種視頻監(jiān)控新算法研究

      2015-04-02 12:15:06朱金加楚栓成
      軟件導(dǎo)刊 2015年2期

      朱金加 楚栓成

      摘要:針對當(dāng)前視頻監(jiān)控系統(tǒng)普遍存在的視頻數(shù)據(jù)時間冗余多、系統(tǒng)資源利用率低等缺點,提出一種合理控制視頻采集和錄制的新算法。該算法以圖像幀間相關(guān)度分析為基礎(chǔ),能及時準確地捕獲監(jiān)控區(qū)域的細節(jié)變化,并有效節(jié)約監(jiān)控系統(tǒng)的硬盤資源。經(jīng)過軟件調(diào)試和指定平臺上的多次測試,證實該算法是一種性能穩(wěn)定、行之有效的控制算法,整個監(jiān)控系統(tǒng)的資源利用率也有所提高。

      關(guān)鍵詞關(guān)鍵詞:視頻數(shù)據(jù)時間冗余;幀相關(guān)度;視頻采集;資源利用率

      DOIDOI:10.11907/rjdk.143836

      中圖分類號:TP311.5

      文獻標識碼:A文章編號文章編號:16727800(2015)002007103

      基金項目基金項目:國家自然科學(xué)基金項目(61162005)

      作者簡介作者簡介:朱金加(1983-),男,湖北隨州人,北方民族大學(xué)電信學(xué)院碩士研究生,研究方向為信號檢測與信息處理;楚栓成(1963-),男,河南滎陽人,北方民族大學(xué)電信學(xué)院副教授、高級工程師,研究方向為電子與無線通信技術(shù)。

      0引言

      視頻監(jiān)控系統(tǒng)現(xiàn)已廣泛應(yīng)用于收費站、大型超市、倉庫等地,監(jiān)控管理員可通過觀看各監(jiān)控點的視頻發(fā)現(xiàn)安全隱患。這類監(jiān)控系統(tǒng)雖十分便利,但也存在如下問題:系統(tǒng)連續(xù)采集、錄制,硬盤連續(xù)不斷地被寫入實時采集的視頻數(shù)據(jù),而在瀏覽監(jiān)控錄像時,如果監(jiān)控畫面長時間“無異常出現(xiàn)”,則必須多次快進直到出現(xiàn)新畫面。在此過程中,存儲設(shè)備損耗很大。而且,監(jiān)控系統(tǒng)硬盤屬于高消耗設(shè)備,應(yīng)提高利用率。

      事實上,大多數(shù)時候監(jiān)控區(qū)域是安全狀態(tài),采集系統(tǒng)和錄像系統(tǒng)這一階段處理的是無應(yīng)用價值的數(shù)據(jù)。有價值的信息往往是監(jiān)控區(qū)域內(nèi)“有異?!钡募毠?jié)變化。因此,筆者摸索出一種能減少資源損耗的控制算法,以期提高系統(tǒng)的資源利用率和實用性。

      1算法設(shè)計

      1.1算法功能概述

      算法的目標是避免無效視頻信息的錄入,減少設(shè)備損耗,提高系統(tǒng)整體效率。算法設(shè)計的重難點是:根據(jù)經(jīng)驗數(shù)據(jù)提取控制參數(shù),對監(jiān)控系統(tǒng)的視頻采集、錄制進行合理控制。

      一般而言,監(jiān)控系統(tǒng)有固定的觀察區(qū),有人闖入或發(fā)生危險時,必然可以看到監(jiān)控畫面某部分出現(xiàn)連續(xù)變化,此變化速度通常低于采集設(shè)備的捕獲速度。例如陌生人進入房間拿東西然后走開,正常情況下這一過程總能被及時捕獲,也即人在觀看監(jiān)控畫面或事后觀看錄像時總能從畫面上發(fā)現(xiàn)有“異?!钡男畔ⅲ虼吮O(jiān)控系統(tǒng)的視頻數(shù)據(jù)必然存在時間冗余。

      根據(jù)這一經(jīng)驗,將一段時間間隔內(nèi)圖像幀間變化較小甚至“長期靜止”的部分視為冗余數(shù)據(jù)(稱為“時間冗余引起的視覺冗余\[1\]”),將變化稍大的各連續(xù)幀保留下來,再按時序?qū)懭胗脖P,最終得到的錄像則是經(jīng)“去時間冗余”處理的幀序列。硬盤空間將因此得到高效利用,驅(qū)動模塊和傳輸模塊的資源損耗也將降低。

      上述方法有兩個要點:一是錄像結(jié)果不影響正常觀看,二是要根據(jù)環(huán)境靈活設(shè)置和調(diào)整算法中的若干閾值。

      1.2算法原理設(shè)計

      (1)一般狀態(tài)。系統(tǒng)開機(設(shè)為0時刻)即開始采集現(xiàn)場圖像信息,系統(tǒng)將其處理成數(shù)字化的圖像信號,此圖像信號放入緩存(f_0),同時寫入硬盤(m_0)作為稍后的參考數(shù)據(jù)。在一段時間后(假設(shè)為t時刻),將最近一次采集到的幀(即緩存中棧頂數(shù)據(jù)f_t)與最初(0時刻)采集的幀(m_0)做相關(guān)度運算,即使用矩陣相關(guān)性取得圖像幀的差異\[3\],再取其標量數(shù)值e_0。

      若e_0低于閾值(設(shè)定w),則認為監(jiān)控畫面無變化,僅需保留硬盤初始寫入的圖像數(shù)據(jù)(m_0)作為這一段時間內(nèi)的“錄像”,也即錄像暫停;否則,系統(tǒng)連續(xù)向硬盤寫入圖像數(shù)據(jù)(從m_0到m_t)。顯然,“錄像”時間短于真實監(jiān)控時間。由于t時間短,算法的時間復(fù)雜度低,故整個過程中時間延遲很小,不會影響系統(tǒng)的實時性。

      (2)省電狀態(tài),即“休息”狀態(tài)。如果在相當(dāng)長的時間內(nèi)(設(shè)為d,d=10×t)監(jiān)控區(qū)域沒有“異?!保瑢和2杉〞和r長取5×t)。在此過程中,采集和錄像進程完全被掛起。“休息”結(jié)束后,監(jiān)控系統(tǒng)的采集和錄像進程進入就緒態(tài),經(jīng)過t間隔后,將緩存中的最新圖像幀與硬盤最近一次寫入的幀做比較。若比較結(jié)果超出閾值,采集和錄像同時進入運行態(tài),即“一般狀態(tài)”。直到再次出現(xiàn)d時長的“靜止”,并進入“休息”狀態(tài),如此循環(huán)。

      1.3流程設(shè)計

      根據(jù)上文所述,避免無效采集從而減少讀寫硬盤的時間是流程設(shè)計的關(guān)鍵。

      具體的時間閾值t以及圖像差運算的閾值w,應(yīng)根據(jù)具體應(yīng)用環(huán)境進行調(diào)整:人流量大或環(huán)境復(fù)雜的地方宜使用較短時間t和較大w,人流量小的環(huán)境應(yīng)預(yù)留較長的t和保持較小的w。算法流程如圖1所示。

      圖1算法流程

      2算法實驗平臺

      算法能否發(fā)揮作用,需要在實驗平臺上用具體程序?qū)崿F(xiàn),再經(jīng)過反復(fù)測試、評估才能驗證算法的可行性。

      筆者利用S5PV210作主控芯片,附加必要的外設(shè);采用1200線模擬攝像頭(又稱槍機)做視頻采集設(shè)備;使用VGA接口輸出,從而可用電腦顯示器觀察監(jiān)控畫面;此外,采用普通機械式4T容量的監(jiān)控硬盤存儲錄像。

      視頻監(jiān)控系統(tǒng)是一個復(fù)雜的工程,其中高速電路的設(shè)計、芯片選型、視頻編碼以及算法優(yōu)化、編程語言的選擇等共同制約著程序的健壯性和執(zhí)行速度,最終影響實驗結(jié)果,因此可能會出現(xiàn)畫面清晰度不夠或視頻延遲等現(xiàn)象。

      3算法實現(xiàn)和驗證

      3.1技術(shù)要點

      在確定的平臺上,算法的性能直接與數(shù)據(jù)結(jié)構(gòu)設(shè)計、程序語言的運行效率等相關(guān)。因此,設(shè)計過程中必須作大量優(yōu)化。

      (1)在程序設(shè)計中,對監(jiān)控區(qū)的亮度信號必須根據(jù)實際環(huán)境設(shè)定合適的閾值,以減少背景抖動帶來的錯誤判斷。具體取值要求反復(fù)實驗查看效果來確定。

      (2)錄像系統(tǒng)暫停過程中,要求采集設(shè)備每t時間存儲圖像到緩存并與硬盤參考圖像做相關(guān)度運算。因攝像頭背景相對固定,所以相關(guān)度計算可采用較簡單的幀間減法\[1\]實現(xiàn)。考慮到S5PV210開發(fā)板支持H.264編碼,所以決定應(yīng)用此編碼,以體現(xiàn)出優(yōu)越性。數(shù)據(jù)結(jié)構(gòu)設(shè)計中,幀緩存采用棧實現(xiàn)。

      (3)系統(tǒng)“休息”時,計數(shù)器繼續(xù)工作,系統(tǒng)“休息”結(jié)束后歸零。程序設(shè)計中,用多線程技術(shù)監(jiān)聽外界變化和保存現(xiàn)場。

      3.2關(guān)鍵部分設(shè)計

      算法使用VC++7.0和jdk7.0環(huán)境共同實現(xiàn)??紤]到各功能模塊對實時性和內(nèi)存控制的不同要求,實時控制部分用C++及OpenCV2.4工具輔助實現(xiàn),其它用JAVA和JMF2.1實現(xiàn),涉及混編的部分采用JNI技術(shù)。

      在調(diào)試階段,用斷點調(diào)試方法觀察計數(shù)器變量n的變化是否與設(shè)計邏輯相符,以驗證對錄像的控制是否準確。

      調(diào)試成功后經(jīng)交叉編譯并移植到預(yù)裝有Linux2.6的監(jiān)控系統(tǒng)板上,然后開始對系統(tǒng)進行全面測試,包括硬件的工作穩(wěn)定性、錄像清晰度等。以下對關(guān)鍵部分編程技巧進行闡述。

      3.2.1視頻中圖像幀獲取

      該步驟使用C++實現(xiàn):首先建立通信環(huán)境。

      String str_Cam="vfw:Microsoft WDM Image Capture (Win32):0"; //載入設(shè)備驅(qū)動程序

      CaptureDeviceInfo di_Cam= CaptureDeviceManager.getDevice(str_Cam); //搜索采集設(shè)備

      MediaLocator ml = di_Cam.getLocator();//建立數(shù)據(jù)源對象

      try{

      Player player=Manager.createRealizedPlayer(ml);

      player.start();//取得圖像流,線程啟動

      }catch(Exception e){...}

      //線程資源準備就緒,開始讀幀數(shù)據(jù)到緩沖區(qū)

      FrameGrabbingControl fgc=

      (FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");

      ...;//此處省略了C++內(nèi)存環(huán)境異常等處理

      Buffer bufFrame= fgc.grabFrame(); //此處調(diào)用抓幀方法,先捕獲一幀數(shù)據(jù),將其讀入緩存

      BufferToImage btoi=new BufferToImage((VideoFormat) buf.getFormat()); //該幀存圖片

      3.2.2相鄰圖像幀相關(guān)度計算

      使用JAVA語言和OpenCV2.4實現(xiàn):在t間隔后,取最近一次采集的圖像幀讀入緩存,再與硬盤最新幀進行比較,取得視頻幀差并求圖像幀間相關(guān)度,判斷是否超出閾值\[2\]。

      int count=0; //用10次計數(shù)獲得“10×t間隔”時間

      while(count<10){

      for(i=0;i

      for(j=0;j

      ...;//此處省略了幀差法中step等變量的定義,詳見參考書目\[3,4\]

      if(abs( data1\[i*step+j+0\]-data0\[i*step+j+0\])>e_t) //灰度差超閾值,監(jiān)控區(qū)有異常

      {break;...;} //跳出幀間比較;進入常態(tài)模式,向硬盤寫入每一幀

      else{...} //幀間相關(guān)度高,監(jiān)控區(qū)安全;接著檢查下一像素點

      } //不需要把緩存幀寫入硬盤,繼續(xù)比較下一像素點

      }count++; //計時間隔遞增

      }//若10倍t間隔內(nèi)未見異常,則轉(zhuǎn)入“休息”態(tài),系統(tǒng)的采集與錄像功能掛起

      3.3實驗結(jié)果

      所得錄像數(shù)據(jù)寫入硬盤,對應(yīng)不同時間的兩幀,觀看錄像時取得的對應(yīng)圖片并作比較。兩幀對應(yīng)兩幅圖片。為考察算法運行效果,特選擇兩種極端情形進行測試:

      第一幅圖,顯示的是靜止的瓶子和旁邊靜坐著的人,表示系統(tǒng)暫時“休息”中。由于畫面中塑料瓶和人都持續(xù)靜止了一段時間,采集和錄像部分將被掛起(時間設(shè)定為5個t間隔),屆時系統(tǒng)停止向硬盤寫入圖像幀,只有針對t的計時器仍在工作。

      第二幅圖,某時刻突然取走塑料瓶,相比前一幀(從硬盤最近寫入的棧獲?。┐藭r畫面只剩下靜坐著的人。系統(tǒng)檢測到當(dāng)前緩存幀與硬盤中最新一幀差異很大,應(yīng)當(dāng)判定監(jiān)控區(qū)域有異常,立即進入連續(xù)采集并錄像的狀態(tài)。此時計數(shù)器置零,系統(tǒng)等待下一個t間隔的循環(huán)檢查。

      根據(jù)程序調(diào)試的打印n值結(jié)果可知:系統(tǒng)的計數(shù)器變化與采集狀態(tài)能夠?qū)?yīng),說明系統(tǒng)已能按照算法的設(shè)計流程判斷采集圖像的最佳時機,并通過與閾值做差運算最終實現(xiàn)對采集和錄像模塊的控制;多次實驗過程中觀看畫面無跳躍,基本捕捉到了異常并錄像。

      4結(jié)語

      從實驗結(jié)果看,初步實現(xiàn)了減少采集次數(shù)和有效控制讀寫硬盤時間這一目的。限于筆者圖像處理經(jīng)驗上的不足,本文算法仍存在局限性:攝像頭對監(jiān)控區(qū)域內(nèi)不同位置或方向的分辨能力不同,視野邊界部分和正對鏡頭的近距離區(qū)域在發(fā)生同樣程度變化時,系統(tǒng)未能準確作出反應(yīng)。此類不足,降低了算法的實用性。本文所述研究內(nèi)容旨在拋磚引玉,如何克服弊端并提高系統(tǒng)的資源利用率,有待后期進一步研究與改進。

      參考文獻參考文獻:

      \[1\]HELD CORNELIUS,et al.Intelligent video surveillance\[J\].Computer,2012,45(3):8384.

      \[2\]王建文,陸璐.視頻監(jiān)控的異常報警機制\[J\].計算機與數(shù)字工程,2007(5):121123.

      \[3\]陸系群,陳純.圖像處理原理、技術(shù)與算法\[M\].杭州:浙江大學(xué)出版社,2001.

      \[4\]章毓晉.圖像處理和分析\[M\].北京:清華大學(xué)出版社,2000.

      \[5\]劉宏飛.基于JMF的視頻醫(yī)療系統(tǒng)的設(shè)計與實現(xiàn)\[D\].西安:西北大學(xué),2004.

      責(zé)任編輯(責(zé)任編輯:黃?。?

      仙游县| 裕民县| 伊川县| 邻水| 广汉市| 阿克苏市| 盘锦市| 瑞安市| 沙坪坝区| 山阳县| 昔阳县| 海丰县| 兴义市| 南郑县| 岐山县| 台南县| 巨鹿县| 溧阳市| 宣城市| 武冈市| 广水市| 耒阳市| 沅江市| 左云县| 台南县| 清丰县| 绍兴县| 铁岭市| 出国| 师宗县| 青州市| 灯塔市| 江北区| 兴化市| 图片| 木兰县| 阿拉尔市| 山东省| 和顺县| 怀远县| 江城|