一種智能視頻監(jiān)控系統(tǒng)的DSP實現(xiàn)
隨著社會經(jīng)濟發(fā)展,城市交通和基礎(chǔ)設(shè)施的不斷進步,人們對安全的要求不斷提高,視頻監(jiān)控系統(tǒng)已經(jīng)廣泛用于小區(qū)安全監(jiān)控、火警監(jiān)控、流量控制以及軍事、銀行、商場、機場、地鐵等公共場所的安全防范。監(jiān)控系統(tǒng)是由攝像、傳輸、控制、顯示、記錄登記5大部分組成。攝像機通過同軸視頻電纜將視頻圖像傳輸?shù)娇刂浦鳈C,控制主機再將視頻信號分配到各監(jiān)視器及錄像設(shè)備,同時可將需要傳輸?shù)恼Z音信號同步錄入到錄像機內(nèi)。 通過控制主機,操作人員可發(fā)出指令,對云臺的上、下、左、右的動作進行控制及對鏡頭進行調(diào)焦變倍的操作,并可通過控制主機實現(xiàn)在多路攝像機及云臺之間的切換。利用特殊的錄像處理模式,可對圖像進行錄入、回放、處理等操作,使錄像效果達到最佳。視頻監(jiān)控系統(tǒng)發(fā)展了短短二十幾年時間,從最早模擬監(jiān)控到前些年火熱數(shù)字監(jiān)控再到現(xiàn)在方興未艾網(wǎng)絡(luò)視頻監(jiān)控,發(fā)生了翻天覆地變化。在IP技術(shù)逐步統(tǒng)一全球今天,我們有必要重新認(rèn)識視頻監(jiān)控系統(tǒng)發(fā)展歷史。從技術(shù)角度出發(fā),視頻監(jiān)控系統(tǒng)發(fā)展劃分為第一代模擬視頻監(jiān)控系統(tǒng)(CCTV),到第二代基于“PC+多媒體卡”數(shù)字視頻監(jiān)控系統(tǒng)(DVR),到第三代完全基于IP網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)(IPVS)。
近年來,視頻監(jiān)控系統(tǒng)平臺的設(shè)計層出不窮,而少有系統(tǒng)架構(gòu)設(shè)計層面的介紹。國內(nèi)外較為常見的系統(tǒng)設(shè)計,一種是使用PC機作為算法運行的硬件平臺,如 Morita等采用的C/S結(jié)構(gòu)或Dias等采用的分布式結(jié)構(gòu)。這種系統(tǒng)的主要缺點是成本高,由于PC對數(shù)字圖像處理不易優(yōu)化,智能算法很難達到實時要求。另一種使用專門數(shù)字圖像處理器構(gòu)建硬件平臺。
在算法研究上,視頻監(jiān)控關(guān)鍵技術(shù)包括:背景建立,動目標(biāo)檢測,動目標(biāo)提取與跟蹤,動目標(biāo)智能分析。其中背景建立和動目標(biāo)檢測是關(guān)鍵技術(shù)中的基礎(chǔ),其實現(xiàn)的好壞直接影響監(jiān)控效果。目前較常見的算法有:幀間差分法,背景差分法,光流法等。數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來,隨著計算機和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應(yīng)運而生并得到迅速的發(fā)展。數(shù)字信號處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來處理現(xiàn)實信號的方法,這些信號由數(shù)字序列表示。在過去的二十多年時間里,數(shù)字信號處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。德州儀器、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強的實力。
本文設(shè)計的視頻監(jiān)控系統(tǒng)遵循數(shù)字化、網(wǎng)絡(luò)化和智能化的發(fā)展趨勢,綜合考慮對上述不足進行改進,可以使用普通模擬攝像頭作為視頻源進行本地實時智能監(jiān)控,也可以使用網(wǎng)絡(luò)攝像機作為視頻源進行遠程實時智能監(jiān)控。傳統(tǒng)的視頻監(jiān)視系統(tǒng)是簡單的非智能閉路電視(CCTV)系統(tǒng),其缺點十分明顯。這樣的系統(tǒng)或者需要安保人員實時監(jiān)視畫面以捕捉關(guān)鍵事件,或者需要在事后對視頻記錄進行回放并進行人工分析。耗時耗力,成本高而效率低。近幾年,DSP在智能視頻監(jiān)控系統(tǒng)方面的應(yīng)用不斷完善,正在逐漸取代傳統(tǒng)的模擬非智能系統(tǒng)。
系統(tǒng)設(shè)計
系統(tǒng)硬件
本系統(tǒng)的硬件由多塊自行開發(fā)的數(shù)字信號處理(DSP)板卡組成,主要提供對本地和遠程視頻監(jiān)控的硬件支持。每塊DSP板卡包括:基于 TMS320DM642(TI多媒體數(shù)字信號處理DSP芯片,下文簡稱DM642)核心處理模塊,外設(shè)存儲器模塊,總線控制模塊,模擬視頻輸入模塊, PCI模塊。
系統(tǒng)軟件
·DSP端軟件
DSP板卡運行多通道的智能監(jiān)控算法,算法以庫形式提供。軟件構(gòu)架則以算法庫為核心、DSP/BIOS[6]和RF5[7]為框架進行構(gòu)建。 DSP/BIOS是TI公司提出的高度優(yōu)化、可裁剪的DSP實時操作系統(tǒng)內(nèi)核,提供了搶占式的線程調(diào)度,內(nèi)存管理,外設(shè)管理和可視化的調(diào)試工具等特性。RF5是一種DSP軟件開發(fā)的起步代碼參考框架,它以DSP/BIOS為基礎(chǔ),利用其中的數(shù)據(jù)處理元素和數(shù)據(jù)通信元素方便快捷地完成DSP軟件的設(shè)計與開發(fā)RF5是RF的最新版本,其區(qū)別于RF1和RF3的顯著特點是其支持動態(tài)對象創(chuàng)建和支持線程(任務(wù))掛起功能,因此適合系統(tǒng)較復(fù)雜的應(yīng)用場合。RF5 主要實現(xiàn)三個功能,存儲管理,線程模型和通道封裝,對于不同的應(yīng)用,我們只需在這三個元素上做修改,而對于整個應(yīng)用程序,不用從頭設(shè)計,這樣大大簡化了開發(fā)者的開發(fā)難度,縮短了開發(fā)時間
第五步動態(tài)創(chuàng)建了1個算法處理線程(ProcessTsk)、2個PCI通信線程(SendTsk,ReceiveTsk)以及一個中斷服務(wù)子程序(PCI_ISR):ProcessTsk根據(jù)客戶端為每個通道設(shè)定的監(jiān)控規(guī)則,對通道中的圖像進行算法分析,若有目標(biāo)違規(guī),則記錄違規(guī)場景,產(chǎn)生報警信息,否則送出原始圖像。SendTsk負(fù)責(zé)把ProcessTsk產(chǎn)生的報警信息或者圖像通過PCI傳輸?shù)絇C端;ReceiveTsk負(fù)責(zé)接收來自本地板卡的模擬攝像頭和來自PC端的網(wǎng)絡(luò)攝像頭圖像,以及PC端來的信息。并傳遞給ProcessTsk;PCI_ISR負(fù)責(zé)監(jiān)聽來自PC端的請求,根據(jù)不同請求發(fā)送不同的旗語,控制線程間的運行。
主機服務(wù)器準(zhǔn)備傳輸控制命令或者圖像的時候,向DSP發(fā)送中斷請求。PCI_ISR將響應(yīng)這些請求,根據(jù)主機服務(wù)器的不同信息向其他線程發(fā)送不同的控制旗語:如果是PC端接收一幀圖像完畢,則向SendTsk 發(fā)旗語PCI_READ_OK,表示可以接收下一幀圖像;如果是斷開、連接通道請求,則向ReceiveTsk發(fā)送旗語PCI_WRITE_OK,表示可以接收信息。ReceiveTsk接收網(wǎng)絡(luò)攝像機或者模擬攝像機圖像和控制命令。如果收到圖像,將其存儲在SDRAM的一個緩沖區(qū)中,以待進行算法分析; 如果收到控制命令,將其存儲在由PC、DSP共同維護的一個緩沖區(qū)中。然后發(fā)起SCOM通信,把信息傳送到ProcessTsk維護的SCOM中。 SCOM是RF5框架中的通信模塊,提供了隊列和旗語的雙重功能。ProcessTsk收到信息后,會使用視頻緩沖區(qū)和控制命令緩沖區(qū)中的數(shù)據(jù)作為算法參數(shù)進行計算。
·PC端軟件
在服務(wù)器主機端,主要實現(xiàn)三個功能:(1)接收來自網(wǎng)絡(luò)攝像頭的視頻流并解碼,對應(yīng)模塊為網(wǎng)絡(luò)攝像機模塊;(2)構(gòu)建用戶界面,即客戶端模塊,記錄用戶算法設(shè)置、控制命令等,用戶可以根據(jù)自己的需求在規(guī)則設(shè)置界面中對特定的通道設(shè)置算法參數(shù)和控制命令等;(3)將圖像數(shù)據(jù)和算法參數(shù)、控制命令傳給 DSP端,對應(yīng)模塊為后臺服務(wù)模塊。
算法設(shè)計與DSP實現(xiàn)
基于DM642的智能視頻監(jiān)控系統(tǒng)的核心是智能視頻監(jiān)控算法,本算法可以實現(xiàn)對監(jiān)控目標(biāo)物越線產(chǎn)生報警,對貴重物體消失產(chǎn)生報警,對可疑物體產(chǎn)生報警。算法原理:首先利用改進的幀間差分法來初始化背景模型,得到自適應(yīng)背景圖像;然后把當(dāng)前圖像和背景圖像做差分運算;再使用動態(tài)閾值法對差值圖像二值化,引入形態(tài)學(xué)噪聲濾波器來消除噪聲影響;進而使用快速二值圖像連通域標(biāo)記算法提取動目標(biāo);最后與用戶預(yù)先設(shè)置的警戒規(guī)則進行比較,算法流程如圖4所示。
自適應(yīng)背景模型建立
在運動目標(biāo)檢測過程中背景模型建立的準(zhǔn)確與否直接影響到目標(biāo)檢測結(jié)果的好壞。由于背景是個漸變的過程,所以采用了自適應(yīng)背景更新方法:在視頻圖像序列中先假設(shè)第一幀圖像為參考圖像I0,在隨后的圖像序列中找兩幀圖像I1和I2,要求運動部分在I0,I1以及I2中所占區(qū)域沒有重疊,將三幀圖像的灰度值平均得到圖像I:
將圖像I與I0進行比較,如果差別較大(差值超出某一閾值T0),則為目標(biāo)區(qū)域,否則為背景區(qū)域;在目標(biāo)區(qū)域,進一步判斷I1與I2的灰度值,如差別不大(差值小于某一閾值T1),則可用I1或I2中對應(yīng)區(qū)域作為背景對應(yīng)區(qū)域,否則用I0中對應(yīng)區(qū)域作為背景對應(yīng)區(qū)域,經(jīng)過這一替代,就可以得到一個不包含運動目標(biāo)的背景圖像Ib。
差值圖像建立及二值化
自適應(yīng)背景BL產(chǎn)生后,每一幀視頻圖像將與BL差分,并得到差分后的差值圖像,進而進行二值化。在這一過程中,閾值選取的優(yōu)劣是二值化結(jié)果好壞的關(guān)鍵。本文采用動態(tài)閾值法進行二值化處理。具體過程如下。
設(shè)差值圖像灰度值取值分布范圍為1~K,像素總數(shù)為N,灰度為i的像素數(shù)為ni,則每個圖像灰度值的取值概率為:pi=ni/N。設(shè)以h為閾值將圖像分割為兩個區(qū)域A、B,灰度為1到h的像素和灰度為h+1到K的像素分別構(gòu)成區(qū)域A和B。
以類間方差作為衡量分離性能的準(zhǔn)則,極大化的過程就是自動取定閾值的過程
換句話說,類間方差最大的那個圖像灰度值就是當(dāng)前差值圖像的最佳閾值。
運動目標(biāo)檢測
動態(tài)閾值確定以后,可根據(jù)此閾值對差值圖像進行二值化,得到二值圖像。但是在背景和目標(biāo)中還會存在一定量的噪聲斑點,再經(jīng)過形態(tài)學(xué)運算處理后的圖像更有利于目標(biāo)提取,濾波后的二值圖像通常包含多個連通區(qū)域。本文采用改進快速標(biāo)記算法對各連通域進行檢測提取。
根據(jù)用戶設(shè)置的算法規(guī)則判斷報警
得到動目標(biāo)的外接矩形以后,對每一個目標(biāo)物進行跟蹤監(jiān)控就具體化為對每一個矩形框的跟蹤監(jiān)控。這一過程中,用戶通過PC端的客戶端模塊中的用戶界面來選擇算法規(guī)則,實現(xiàn)對人或車的監(jiān)控。用戶可以在主機服務(wù)器界面中設(shè)定規(guī)則,包括對場景設(shè)置虛擬警戒線、警戒區(qū)域和違規(guī)行為(比如貴重物體消失報警,可疑物的出現(xiàn)報警,目標(biāo)物的越線報警)。
結(jié)語
本文實現(xiàn)了一個支持多板卡,多通道以及網(wǎng)絡(luò)監(jiān)控的智能視頻監(jiān)控系統(tǒng)。提供了一個完整的包括DSP硬件、軟件框架、算法及實現(xiàn)的解決方案,較好的解決了背景更新,動目標(biāo)提取等監(jiān)控系統(tǒng)中的重要技術(shù)環(huán)節(jié),提出并實現(xiàn)了對可疑物的報警、對貴重物體的報警等實用算法。
QICK





