呂金娜,張志軍
(1. 河南科技學院 信息工程學院,新鄉 453003;2. 空軍95824部隊,北京 100195)
視頻存儲是視頻監控系統的關鍵技術,嵌入式視頻監控系統中,數據存儲技術一般的做法是把從嵌入式視頻監控服務器端的視頻數據存儲在大容量的存儲器中,但是在許多場合存儲時間都會受到存儲器大小的限制,從而會在存儲終端增加存儲器容量。其實一般被人們關注的存儲視頻往往是那些異常視頻,基于這樣的事實[1],本文提出一種基于緩沖區和異常檢測機制的視頻存儲算法。
基于緩沖區與異常檢測機制的視頻存儲算法是在視頻圖像中的場景出現異常時,才執行視頻存儲操作。這樣大大節省硬盤空間,減少訪問硬盤的頻率,有效性地提高系統效率。
基本思想:利用異常檢測機制,只有在場景中發生異常的情況下才進行視頻存儲,視頻存儲時引入緩沖區機制,根據異常檢測精度的需求的不同設置緩沖區大小,存儲異常視頻幀前后某個閾值內的視頻流,同時為可以滿足以后視頻回放的需求,一般用戶只對異常發生時候的前后一段的內視頻感興趣。
緩沖區技術實現的基本思想是:當用戶要求在某個設備上進行讀操作時,從系統中獲得一個空的緩沖區,并將一個物理記錄讀到緩沖區中。當用戶要求使用這些數據時,系統將根據用戶要求,把當前需要的邏輯記錄從緩沖區中取出并發送到用戶進程存儲中。緩沖區技術可以提高CPU和I/O設備的并行性,以及I/O設備之前的并行性[2],從而提高整個系統的效率。
在本算法中引入緩沖區機制,可以比較完整的存儲異常產生時的視頻信息,同時提高系統效率。具體的引入緩沖區機制的異常檢測存儲算法步驟如下:
1)申請一個緩沖區Buffer[n];//n為一個取定的素數;
2)對于緩沖區Buffer[n]接收第k幀采集的視頻圖像并把第k幀圖像存放在Buffer[k%n];
3)當k%n=[n/2]時,調用異常檢測算法進行異常檢測;
4)如果第k幀圖像被判定為異常,將緩沖區Buffer[n]的視頻信息存儲到硬盤中,否則第i
5)如果沒有輸入視頻圖像,則算法停止。
運動檢測的靈敏度、正確性和魯棒性是嵌入式視頻監控系統性能評價的關鍵指標[3,4],在傳統的運動檢測方法中一般使用單一的準則來判斷是否發生異常情況,這必然導致靈敏度、正確性和魯棒性指標相互沖突。該算法采用運動矢量與運動補償技術。運動矢量是用來計算圖像幀之間的變化,而運動補償技術屏蔽因噪聲或其它輕微變化產生的影響,從而降低誤報率提高監控系統的魯棒性。具體算法如下:
1)采用運動檢測與加權運動補償技術,獲取變化的運動標量MSk與加權運動補償后的殘差信號能量 D iffEnergyk;
2)根據假定的運動矢量與殘差信號能量的閾值:MSmin與DiffEnergymin,判斷當前場景是否為正常,異常、可疑狀態。
3)如果MSk≥MSmin且DiffEnergyk≥ D iffEnergymin,當前幀為異常幀,返回異常狀態;
4)如果MSk<MSmin且DiffEnergyk< D iffEnergymin,當前幀為正常幀,返回正常狀態;
5)如果MSk≥MSmin且 DiffEnergyk< D iffEnergymin,當前幀為可疑幀,進行連續運動分析,轉到7);
6)如果MSk<MSmin且DiffEnergyk≥ D iffEnergymin,當前幀為可疑幀,進行連續運動分析,轉到7);
其中MSk與DiffEnergyk的計算如下:
運動矢量刻畫了圖像中的運動信息。H.264標準的運動預測具有1/4像素精度,對運動矢量的計算比以往標準更為精細。因此,當有外來物體進入畫面時,即運動緩慢,其運動趨勢也可以立即在運動矢量集合中得到體現,有助于提高監控系統的靈敏度[5]。
在H.264編碼標準中,運動估計補償比以前的標準更加靈活有效,支持可變塊大小的運動估計運動補償模式[6]。設H.264編碼流中的某一幀圖像經過運動補償預測后被劃分為Np個圖像塊,利用SAD加權系數值最小作為匹配準則進行運動預測,對于左上端頂點位于s=(x,y)處、序號為 n p(1≤ np≤Np)、尺寸為 S izenp=M×N的圖像塊,設最終得到的運動矢
其中SAD值由下式得到:

其中, Yn為當前圖像的亮度值,YR為參考圖像的亮度值。Wnp是為了補償光線變化的影響所引入的加權系數,定義如下:


可見運動標量MSk是圖像運動塊的距離之和。
為了降低計算復雜度,采用式(1)使用的SADnp值作為第 np個圖像塊的殘差信號能量值,該值可以在運動預測過程中直接得到。于是第k幀圖像的殘差信號能量 D iffEnergyk可表示為: D iffEnergyk
視頻監控異常檢測涉及的異常變化種類繁多[7],對算法的性能和效率進行評估并不容易,本文根據異常檢測算法的實時性和有效性,根據正確檢測率RD和錯誤報警率RFA對本文算法與以下幾種算法做比較,包括一般的運動異常檢測、靜止物體緩慢變化時的監控、背景變換情況下的檢測和光線緩慢變化時背景的更新[8]。分析比較結果如表所示。其中:

KTP表示正確檢出異常發生的情況;KFP表示錯誤檢出的運動無力的情況;KFN表示存在異常但未檢出的情況即漏檢。

表1 各種異常檢測算法效率評價
RD反映了異常檢測的正確度,RFA反映了算法的精度,誤報率越低精度越高,在這里,本文有加入算法平均時間TE和算法效率ηHE兩個參數,因為在視頻監控中實時性要求很高,盡量要設計簡單執行效率的高的算法才能滿足系統的整體性能。其中TE用算法復雜度來衡量,ηHE計算如下:

其中α、β、γ為RD、RFA和TE在評價中所占的權重。
本算法分析的測試實驗是利用包含大約2000幀圖像,由10個具有一定圖像細節和運動的圖像序列組成的視頻流,異常情況有:物體進出鏡頭、物體的位移和形變、光線的變換,采用公式(5)到公式(7)計算公式對幾種算法進行分析,結果如表1所示。其中正確檢測率最高的是光線緩慢變化時背景的更新算法,但是它的誤報率較高,因為此算法在背景中存在緩慢變化的物體時不斷替換背景,一旦場景發生劇烈變化就產生持續報警,背景無法更新。背景變化情況下的檢測誤報率低,但是算法平均時間比較長,本文算法正確檢測率高,雖然存在一定的誤報率,不過也非常低,而且算法效率較高,算法平均時間短,能夠嵌入式視頻監控的實時性和高效性。
為了提高視頻監控系統中視頻存儲的效率,本文提出一種基于緩沖區與異常檢測機制的視頻存儲算法。該算法有效節省視頻監控系統存儲負荷,并可以比較完整的存儲異常視頻信息。同時有利于用戶回放視頻的便捷性。通過實驗分析,與目前算法相比,本算法具有高效性與較高的正確檢測率。
[1] 呂金娜,周兵,張志軍.嵌入式數字視頻監控系統通用存儲與檢索方案[J].計算機工程與設計,2009,30(21):4864-4867.
[2] 宋麗華,張曉彤,王沁,郭艷飛.一種高效嵌入式協議棧緩沖區管理機制[J].小型微型計算機系統,2008,29(1):1-6.
[3] 武智霞,王化,王沛.基于H.264壓縮域的運動目標檢測算法[J].電子科技,2010,23(7):4-6.
[4] Peng Zhang, Yanning Zhang, Tony Thomas. Moving people tracking with detection by latent semantic analysis for visual surveillance applications. Multimedia Tools and Applications.2012.5(13).
[5] 吳國紅.基于H.264視頻流鏡頭邊界檢測的研究[D].武漢:武漢科技大學.2008.
[6] 王敬.基于壓縮域的運動目標檢測與跟蹤算法研究[D].上海師范大學.2012.
[7] Ping-guang Cheng,Zeng Zheng. Moving Object Tracking in Intelligent Video Surveillance System. Proceedings of the International Conference on Information Engineering and Applications (IEA) 2012(2).
[8] 宋磊.視頻監控若干關鍵技術的初步研究[D].北京:北京工業大學,2003.