運動檢測技術在數(shù)字化監(jiān)控中的實現(xiàn)和應用
來源:杭州??低晹?shù)字技術股份有限公司 作者:何峻峰 編輯:數(shù)字音視工程 2009-07-08 20:15:13 加入收藏
運動檢測技術在數(shù)字化監(jiān)控中的實現(xiàn)和應用
摘要: 本文重點介紹運動檢測的原理,給出了運動檢測技術在??低?/a>板卡中的實現(xiàn)過程,最后,對常用的運動檢測方法進行了簡單的比較。
關鍵詞:運動檢測,背景減除,時間差分,光流法
1、引言
隨著社會經(jīng)濟和科學技術的飛速發(fā)展,人們對安全技術防范的要求也越來越高。二十世紀八十年代末到九十年代中期,隨著各種新型安保觀念的引入,社會各部門、各行業(yè)及居民小區(qū)紛紛建立起了各自獨立的閉路電視監(jiān)控系統(tǒng)。然而,傳統(tǒng)的視頻監(jiān)控受到當時技術發(fā)展水平的限制,監(jiān)控系統(tǒng)大多只能在現(xiàn)場進行模擬電視監(jiān)視,視頻信息存儲到錄像帶上,如果是監(jiān)控的地點比較多,要求錄像的數(shù)據(jù)保存時間長,錄像帶的數(shù)量就會變的驚人,整個查詢、檢索工作變的很復雜,管理運營成本增加,而且還會出現(xiàn)錄像帶時間長了或轉錄次數(shù)多了時圖像質(zhì)量變差的問題。 隨著編解碼技術的發(fā)展,特別是MPEG4/H264編解碼技術的成熟,越來越多的用戶采用了數(shù)字視頻監(jiān)控系統(tǒng),實時壓縮多路視頻,并存儲到硬盤上,錄像信息以數(shù)字形式存放在硬盤上。由于計算機屏幕尺寸有限,在同時顯示多路視頻時每一路預覽的畫面都比較小,這一點不利于工作人員及時發(fā)現(xiàn)一些細小的隱蔽的安全隱患問題;而且智能化在數(shù)字安全防范領域也得到越來越多的應用,在某些監(jiān)控的場所對安全性要求比較高,需要對運動的物體進行及時的檢測和跟蹤,因此我們需要一些精確的圖像檢測技術來提供自動報警和目標檢測。運動檢測作為在安防智能化應用最早的領域,它的技術發(fā)展和應用前景都受到關注。
運動檢測是指在指定區(qū)域能識別圖像的變化,檢測運動物體的存在并避免由光線變化帶來的干擾。但是如何從實時的序列圖像中將變化區(qū)域從背景圖像中提取出來,還要考慮運動區(qū)域的有效分割對于目標分類、跟蹤等后期處理是非常重要的,因為以后的處理過程僅僅考慮圖像中對應于運動區(qū)域的像素。然而,由于背景圖像的動態(tài)變化,如天氣、光照、影子及混亂干擾等的影響,使得運動檢測成為一項相當困難的工作。
2、運動檢測(移動偵測)原理
早期的運動檢測如MPEG1是對編碼后產(chǎn)生的I幀進行比較分析,通過視頻幀的比較來檢測圖像變化是一種可行的途徑。原理如下:
MPEG1視頻流由三類編碼幀組成,它們分別是:關鍵幀(I幀),預測幀(P幀)和內(nèi)插雙向幀(B幀)。I幀按JPEG標準編碼,獨立于其他編碼幀,它是MPEG1視頻流中唯一可存取的幀, 每12幀出現(xiàn)一次。截取連續(xù)的I幀,經(jīng)過解碼運算,以幀為單位連續(xù)存放在內(nèi)存的緩沖區(qū)中,再利用函數(shù)在緩沖區(qū)中將連續(xù)的兩幀轉化為位圖形式,存放在另外的內(nèi)存空間以作比較之用,至于比較的方法有多種。此方法是對編碼后的數(shù)據(jù)進行處理,而目前的MPEG1/MPEG4編碼都是有損壓縮,對比原有的圖象肯定存在誤報和不準確的現(xiàn)象。
目前幾種常用的方法[1]
1)背景減除(Background Subtraction )
背景減除方法是目前運動檢測中最常用的一種方法,它是利用當前圖像與背景圖像的差分來檢測出運動區(qū)域的一種技術。它一般能夠提供最完全的特征數(shù)據(jù),但對于動態(tài)場景的變化,如光照和外來無關事件的干擾等特別敏感。最簡單的背景模型是時間平均圖像,大部分的研究人員目前都致力于開發(fā)不同的背景模型,以期減少動態(tài)場景變化對于運動分割的影響。
2 )時間差分(Temporal Difference )
時間差分(又稱相鄰幀差)方法是在連續(xù)的圖像序列中兩個或三個相鄰幀間采用基于像素的時間差分并且閾值化來提取出圖像中的運動區(qū)域。時間差分運動檢測方法對于動態(tài)環(huán)境具有較強的自適應性,但一般不能完全提取出所有相關的特征像素點,在運動實體內(nèi)部容易產(chǎn)生空洞現(xiàn)象。
3 )光流(Optical Flow )
基于光流方法的運動檢測采用了運動目標隨時間變化的光流特性,如Meyer[2] 等通過計算位移向量光流場來初始化基于輪廓的跟蹤算法,從而有效地提取和跟蹤運動目標。該方法的優(yōu)點是在攝像機運動存在的前提下也能檢測出獨立的運動目標。然而,大多數(shù)的光流計算方法相當復雜,且抗噪性能差,如果沒有特別的硬件裝置則不能被應用于全幀視頻流的實時處理。關于光流更加詳細的討論可參見Barron [3]等的文章。
當然,在運動檢測中還有一些其它的方法,運動向量檢測法,適合于多維變化的環(huán)境,能消除背景中的振動像素,使某一方向的運動對象更加突出的顯示出來,但運動向量檢測法也不能精確地分割出對象。
3 、運動檢測的實現(xiàn)
??低曌鳛閲鴥?nèi)著名的視音頻編解碼卡的生產(chǎn)商,依靠中電集團第52研究所強大的技術研發(fā)力量,在DSP(數(shù)字信號處理器)上完成MPEG4/H264實時編碼,在給用戶的SDK的接口中,提供了有效的運動檢測分析功能。其過程如下:
★信號輸入處理模塊:標準模擬視頻信號(CVBS彩色或黑白)是亮度信號和色度信號通過頻普間置疊加在一起,需經(jīng)過A/D芯片(如philips7113)的解碼,將模擬信號轉成數(shù)字信號,產(chǎn)生標準的ITU 656 YUV格式的數(shù)字信號以幀為單位送到編碼卡上的DSP和內(nèi)存中。
★ICP(Image Coprocessor 圖象協(xié)處理器)處理模塊:YUV數(shù)據(jù)在DSP中加上OSD(字符時間疊加)和LOGO(位圖)等,復合后通過PCI總線送到顯存中,供視頻實時預覽用,還將復合后的數(shù)據(jù)送到編碼卡的內(nèi)存中,供編碼使用。
★ENCODER(編碼)模塊:將編碼卡內(nèi)存中的YUV數(shù)據(jù)送到MPEG4/H264編碼器中,產(chǎn)生壓縮好的碼流,送到主機內(nèi)存中,供錄像或網(wǎng)絡傳輸使用。
★MOTIONDETECT處理模塊:對編碼卡內(nèi)存中的以幀為單位YUV數(shù)據(jù)進行處理。
目前,我們采用的是背景差分和時間差分相結合的一種幀差分的算法。通過計算兩個有一定時間間隔的幀的象素差分獲得場景變化。主要分以下幾個步驟:
1)設置運動檢測區(qū)域等參數(shù):
用戶可以通過SDK中的函數(shù),來設置1-99個有效的矩形,還可以設置快速和慢速兩種運動檢測狀態(tài)??焖贆z測是對每隔兩幀的兩幀數(shù)據(jù)進行差分運算,慢速檢測是指對相隔12幀以上的兩幀數(shù)據(jù)進行差分運算。
2)啟動運動檢測功能:
因為經(jīng)過A/D轉換后的數(shù)據(jù)是標準的ITU 656 YUV 4:2:2格式,而人眼又是對亮度最敏感,為了簡化算法,提高效率,直接對亮度(Y)值進行處理。對于某個檢測區(qū)域內(nèi)每個象素點(x,y),T時刻與T-n時刻亮度(Y)的差值為Mx,y(T)=||Yx,y(T) – Yx,y(T-n)||,IF ||Mx,y(T) – Mx,y(T-n)||≥Ta THEN L=TRUE,得到區(qū)域差分系數(shù)IMsum=ΣL。
實際決定是否報警,可由整個設置檢測區(qū)域的IMsum值來判斷。
報警 = 真, IF||ΣIMsum( ) ||≥Tb
假, ELSE
Ta,Tb為適當閾值量。
假, ELSE
Ta,Tb為適當閾值量。
在CIF格式下,整個畫面的分辨率是352*288(PAL),按16*16像素宏塊大小來劃分整個檢測區(qū)域,宏塊內(nèi)的像素點是逐點從左到右,從上到下進行差分運算并得到宏塊差分系數(shù)。整個檢測區(qū)域又是按16*16的宏塊從左到右,從上到下進行掃描,最后計算出整個區(qū)域的差分系數(shù)。
3)返回運動檢測結果
如果整個區(qū)域的差分系數(shù)大于設定的閥值,置報警狀態(tài)并實時將每個檢測區(qū)域的宏塊差分系數(shù)都返回。根據(jù)預先設置的快速和慢速兩種檢測狀態(tài),對畫面進行不間斷的分析處理,并返回結果,直到停止運動檢測。
如果整個區(qū)域的差分系數(shù)小于設定的閥值,復位報警狀態(tài)。
這種基于幀差分算法的運動檢測完全獨立于編碼,可以靈活的任意啟動停止。實現(xiàn)“動則錄,不動則不錄”。配合其它接口函數(shù),還可以實現(xiàn)預錄像功能,即通常狀態(tài)下只是進行畫面預覽監(jiān)控和運動檢測,編碼后的數(shù)據(jù)不寫入文件,只暫時寫入一個FIFO緩沖區(qū)里,一旦發(fā)生運動檢測報警,可以先將報警之前緩沖區(qū)的數(shù)據(jù)寫入文件,然后再實時將編碼后的數(shù)據(jù)寫入文件,報警解除后,延時一段時間再停止寫文件,轉入寫緩沖區(qū)狀態(tài)。實現(xiàn)運動檢測報警的全過程錄像。這樣既可以完整獲取整個報警事件的過程,又可以節(jié)約系統(tǒng)的資源,在相同的存儲空間下,可以大大延長保存錄像的時間。
4、運動檢測(移動偵測)技術評估
要對運動檢測技術的性能進行評估并不容易,特別是要進行定量的分析時,必須提供一個供作比較、研究的標準視頻序列,它應該包括突然場景變化,攝像機移動以及光線明暗變換等特殊效果。檢測方案可用多種參數(shù)來評估,比如檢測成功率、檢測失敗率等等。在實際應用環(huán)境中,可以通過調(diào)節(jié)閥值對室內(nèi)普通環(huán)境,室外環(huán)境獲得比較好的監(jiān)測效果。
還可根據(jù)功能實現(xiàn)的方法分類,主要是對軟件和硬件兩大類實現(xiàn)方法進行一些定性的分析。
采用硬件來實現(xiàn)監(jiān)測功能,不占用CPU,擁有較快的處理速度,因而可以采用一些較為復雜的算法以獲得更為準確的監(jiān)測結果,并且有很好的實時性。譬如有些 攝像機 內(nèi)置VMD(Video Motion Detector視頻移動探測器)電路可以當報警探頭使用。檢測電路首先會將靜態(tài)圖像貯存起來,之后,如果發(fā)現(xiàn)畫面的變化量超過了預先設定的值,系統(tǒng)就會發(fā)出報警信號,以提醒安防人員或啟動錄像機。然而硬件實現(xiàn)也意味著較高的成本,而且一旦系統(tǒng)對動態(tài)監(jiān)測功能提出了更新更高的要求,那么原來的硬件系統(tǒng)只能棄而不用,必須采購新的硬件,造成浪費。
用軟件實現(xiàn)的監(jiān)測功能,如果用主機的CPU來完成數(shù)值計算,算法不能太復雜,而且計算量不宜太大,否則會影響監(jiān)控系統(tǒng)其他功能(如顯示、錄像等)的實現(xiàn)。如果算法下載到DSP上運行,就可以解決這個問題,首先它的功能擴充非常容易,算法的優(yōu)化不會造成不必要的浪費,可以生成新的微碼下載到DSP上,就可以提升性能,并且可以根據(jù)用戶不同的需求提供一些個性化的功能組合。
我們認為,用DSP加軟件來實現(xiàn)系統(tǒng)的動態(tài)監(jiān)測功能,是一種眼光更為長遠的選擇,而且也是運動檢測技術發(fā)展的必由之路。實際上我們在Philips 的Trimedia1300芯片上完成MPEG4/H264 CIF/2CIF編碼加運動檢測功能,在TI的DM642芯片上完成了MPEG4/H264的4CIF/2CIF/CIF編碼加運動檢測功能。
參考文獻:
1.王亮等 “人運動的視覺分析綜述”
2. Meyer D, Denzler J and Niemann H. Model based extraction of articulated objects in image sequences for
gait analysis. In: Proc IEEE International Conference on Image Processing, Santa Barbara, California 1997,
78-81.
3.Barron J, Fleet D and Beauchemin S. Performance of optical flow techniques. International Journal of
Computer Vision, 1994, 12 (1): 42-77.
免責聲明:本文來源于杭州??低晹?shù)字技術股份有限公司,本文僅代表作者個人觀點,本站不作任何保證和承諾,若有任何疑問,請與本文作者聯(lián)系或有侵權行為聯(lián)系本站刪除。
評論comment