呂金娜,張志軍
(1. 河南科技學(xué)院 信息工程學(xué)院,新鄉(xiāng) 453003;2. 空軍95824部隊,北京 100195)
視頻存儲是視頻監(jiān)控系統(tǒng)的關(guān)鍵技術(shù),嵌入式視頻監(jiān)控系統(tǒng)中,數(shù)據(jù)存儲技術(shù)一般的做法是把從嵌入式視頻監(jiān)控服務(wù)器端的視頻數(shù)據(jù)存儲在大容量的存儲器中,但是在許多場合存儲時間都會受到存儲器大小的限制,從而會在存儲終端增加存儲器容量。其實一般被人們關(guān)注的存儲視頻往往是那些異常視頻,基于這樣的事實[1],本文提出一種基于緩沖區(qū)和異常檢測機(jī)制的視頻存儲算法。
基于緩沖區(qū)與異常檢測機(jī)制的視頻存儲算法是在視頻圖像中的場景出現(xiàn)異常時,才執(zhí)行視頻存儲操作。這樣大大節(jié)省硬盤空間,減少訪問硬盤的頻率,有效性地提高系統(tǒng)效率。
基本思想:利用異常檢測機(jī)制,只有在場景中發(fā)生異常的情況下才進(jìn)行視頻存儲,視頻存儲時引入緩沖區(qū)機(jī)制,根據(jù)異常檢測精度的需求的不同設(shè)置緩沖區(qū)大小,存儲異常視頻幀前后某個閾值內(nèi)的視頻流,同時為可以滿足以后視頻回放的需求,一般用戶只對異常發(fā)生時候的前后一段的內(nèi)視頻感興趣。
緩沖區(qū)技術(shù)實現(xiàn)的基本思想是:當(dāng)用戶要求在某個設(shè)備上進(jìn)行讀操作時,從系統(tǒng)中獲得一個空的緩沖區(qū),并將一個物理記錄讀到緩沖區(qū)中。當(dāng)用戶要求使用這些數(shù)據(jù)時,系統(tǒng)將根據(jù)用戶要求,把當(dāng)前需要的邏輯記錄從緩沖區(qū)中取出并發(fā)送到用戶進(jìn)程存儲中。緩沖區(qū)技術(shù)可以提高CPU和I/O設(shè)備的并行性,以及I/O設(shè)備之前的并行性[2],從而提高整個系統(tǒng)的效率。
在本算法中引入緩沖區(qū)機(jī)制,可以比較完整的存儲異常產(chǎn)生時的視頻信息,同時提高系統(tǒng)效率。具體的引入緩沖區(qū)機(jī)制的異常檢測存儲算法步驟如下:
1)申請一個緩沖區(qū)Buffer[n];//n為一個取定的素數(shù);
2)對于緩沖區(qū)Buffer[n]接收第k幀采集的視頻圖像并把第k幀圖像存放在Buffer[k%n];
3)當(dāng)k%n=[n/2]時,調(diào)用異常檢測算法進(jìn)行異常檢測;
4)如果第k幀圖像被判定為異常,將緩沖區(qū)Buffer[n]的視頻信息存儲到硬盤中,否則第i
5)如果沒有輸入視頻圖像,則算法停止。
運(yùn)動檢測的靈敏度、正確性和魯棒性是嵌入式視頻監(jiān)控系統(tǒng)性能評價的關(guān)鍵指標(biāo)[3,4],在傳統(tǒng)的運(yùn)動檢測方法中一般使用單一的準(zhǔn)則來判斷是否發(fā)生異常情況,這必然導(dǎo)致靈敏度、正確性和魯棒性指標(biāo)相互沖突。該算法采用運(yùn)動矢量與運(yùn)動補(bǔ)償技術(shù)。運(yùn)動矢量是用來計算圖像幀之間的變化,而運(yùn)動補(bǔ)償技術(shù)屏蔽因噪聲或其它輕微變化產(chǎn)生的影響,從而降低誤報率提高監(jiān)控系統(tǒng)的魯棒性。具體算法如下:
1)采用運(yùn)動檢測與加權(quán)運(yùn)動補(bǔ)償技術(shù),獲取變化的運(yùn)動標(biāo)量MSk與加權(quán)運(yùn)動補(bǔ)償后的殘差信號能量 D iffEnergyk;
2)根據(jù)假定的運(yùn)動矢量與殘差信號能量的閾值:MSmin與DiffEnergymin,判斷當(dāng)前場景是否為正常,異常、可疑狀態(tài)。
3)如果MSk≥MSmin且DiffEnergyk≥ D iffEnergymin,當(dāng)前幀為異常幀,返回異常狀態(tài);
4)如果MSk<MSmin且DiffEnergyk< D iffEnergymin,當(dāng)前幀為正常幀,返回正常狀態(tài);
5)如果MSk≥MSmin且 DiffEnergyk< D iffEnergymin,當(dāng)前幀為可疑幀,進(jìn)行連續(xù)運(yùn)動分析,轉(zhuǎn)到7);
6)如果MSk<MSmin且DiffEnergyk≥ D iffEnergymin,當(dāng)前幀為可疑幀,進(jìn)行連續(xù)運(yùn)動分析,轉(zhuǎn)到7);
其中MSk與DiffEnergyk的計算如下:
運(yùn)動矢量刻畫了圖像中的運(yùn)動信息。H.264標(biāo)準(zhǔn)的運(yùn)動預(yù)測具有1/4像素精度,對運(yùn)動矢量的計算比以往標(biāo)準(zhǔn)更為精細(xì)。因此,當(dāng)有外來物體進(jìn)入畫面時,即運(yùn)動緩慢,其運(yùn)動趨勢也可以立即在運(yùn)動矢量集合中得到體現(xiàn),有助于提高監(jiān)控系統(tǒng)的靈敏度[5]。
在H.264編碼標(biāo)準(zhǔn)中,運(yùn)動估計補(bǔ)償比以前的標(biāo)準(zhǔn)更加靈活有效,支持可變塊大小的運(yùn)動估計運(yùn)動補(bǔ)償模式[6]。設(shè)H.264編碼流中的某一幀圖像經(jīng)過運(yùn)動補(bǔ)償預(yù)測后被劃分為Np個圖像塊,利用SAD加權(quán)系數(shù)值最小作為匹配準(zhǔn)則進(jìn)行運(yùn)動預(yù)測,對于左上端頂點位于s=(x,y)處、序號為 n p(1≤ np≤Np)、尺寸為 S izenp=M×N的圖像塊,設(shè)最終得到的運(yùn)動矢
其中SAD值由下式得到:
其中, Yn為當(dāng)前圖像的亮度值,YR為參考圖像的亮度值。Wnp是為了補(bǔ)償光線變化的影響所引入的加權(quán)系數(shù),定義如下:
可見運(yùn)動標(biāo)量MSk是圖像運(yùn)動塊的距離之和。
為了降低計算復(fù)雜度,采用式(1)使用的SADnp值作為第 np個圖像塊的殘差信號能量值,該值可以在運(yùn)動預(yù)測過程中直接得到。于是第k幀圖像的殘差信號能量 D iffEnergyk可表示為: D iffEnergyk
視頻監(jiān)控異常檢測涉及的異常變化種類繁多[7],對算法的性能和效率進(jìn)行評估并不容易,本文根據(jù)異常檢測算法的實時性和有效性,根據(jù)正確檢測率RD和錯誤報警率RFA對本文算法與以下幾種算法做比較,包括一般的運(yùn)動異常檢測、靜止物體緩慢變化時的監(jiān)控、背景變換情況下的檢測和光線緩慢變化時背景的更新[8]。分析比較結(jié)果如表所示。其中:
KTP表示正確檢出異常發(fā)生的情況;KFP表示錯誤檢出的運(yùn)動無力的情況;KFN表示存在異常但未檢出的情況即漏檢。
表1 各種異常檢測算法效率評價
RD反映了異常檢測的正確度,RFA反映了算法的精度,誤報率越低精度越高,在這里,本文有加入算法平均時間TE和算法效率ηHE兩個參數(shù),因為在視頻監(jiān)控中實時性要求很高,盡量要設(shè)計簡單執(zhí)行效率的高的算法才能滿足系統(tǒng)的整體性能。其中TE用算法復(fù)雜度來衡量,ηHE計算如下:
其中α、β、γ為RD、RFA和TE在評價中所占的權(quán)重。
本算法分析的測試實驗是利用包含大約2000幀圖像,由10個具有一定圖像細(xì)節(jié)和運(yùn)動的圖像序列組成的視頻流,異常情況有:物體進(jìn)出鏡頭、物體的位移和形變、光線的變換,采用公式(5)到公式(7)計算公式對幾種算法進(jìn)行分析,結(jié)果如表1所示。其中正確檢測率最高的是光線緩慢變化時背景的更新算法,但是它的誤報率較高,因為此算法在背景中存在緩慢變化的物體時不斷替換背景,一旦場景發(fā)生劇烈變化就產(chǎn)生持續(xù)報警,背景無法更新。背景變化情況下的檢測誤報率低,但是算法平均時間比較長,本文算法正確檢測率高,雖然存在一定的誤報率,不過也非常低,而且算法效率較高,算法平均時間短,能夠嵌入式視頻監(jiān)控的實時性和高效性。
為了提高視頻監(jiān)控系統(tǒng)中視頻存儲的效率,本文提出一種基于緩沖區(qū)與異常檢測機(jī)制的視頻存儲算法。該算法有效節(jié)省視頻監(jiān)控系統(tǒng)存儲負(fù)荷,并可以比較完整的存儲異常視頻信息。同時有利于用戶回放視頻的便捷性。通過實驗分析,與目前算法相比,本算法具有高效性與較高的正確檢測率。
[1] 呂金娜,周兵,張志軍.嵌入式數(shù)字視頻監(jiān)控系統(tǒng)通用存儲與檢索方案[J].計算機(jī)工程與設(shè)計,2009,30(21):4864-4867.
[2] 宋麗華,張曉彤,王沁,郭艷飛.一種高效嵌入式協(xié)議棧緩沖區(qū)管理機(jī)制[J].小型微型計算機(jī)系統(tǒng),2008,29(1):1-6.
[3] 武智霞,王化,王沛.基于H.264壓縮域的運(yùn)動目標(biāo)檢測算法[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].武漢:武漢科技大學(xué).2008.
[6] 王敬.基于壓縮域的運(yùn)動目標(biāo)檢測與跟蹤算法研究[D].上海師范大學(xué).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] 宋磊.視頻監(jiān)控若干關(guān)鍵技術(shù)的初步研究[D].北京:北京工業(yè)大學(xué),2003.