【安防知識網(wǎng)】視頻監(jiān)控系統(tǒng)是安全防范技術(shù)系統(tǒng)中的核心。隨著光電等現(xiàn)代高科技的發(fā)展,以及信息社會發(fā)展的需要,視頻監(jiān)控系統(tǒng)已由第一代的模擬視頻監(jiān)控系統(tǒng),經(jīng)第二代數(shù)字視頻監(jiān)控系統(tǒng)發(fā)展到第三代的網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng)。所謂網(wǎng)絡(luò)視頻監(jiān)控,即指通過數(shù)字化網(wǎng)絡(luò)化的視頻前端,如網(wǎng)絡(luò)攝像機或者視頻編碼器等設(shè)備,對所監(jiān)控視頻圖像進行數(shù)字化編碼,再通過計算機網(wǎng)絡(luò)傳輸至終端的工作站、服務(wù)器上進行瀏覽,并通過數(shù)字存儲介質(zhì)進行錄像存儲。
引言
視頻監(jiān)控系統(tǒng)是安全防范技術(shù)系統(tǒng)中的核心。隨著光電等現(xiàn)代高科技的發(fā)展,以及信息社會發(fā)展的需要,視頻監(jiān)控系統(tǒng)已由第一代的模擬視頻監(jiān)控系統(tǒng),經(jīng)第二代數(shù)字視頻監(jiān)控系統(tǒng)發(fā)展到第三代的網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng)。所謂網(wǎng)絡(luò)視頻監(jiān)控,即指通過數(shù)字化網(wǎng)絡(luò)化的視頻前端,如網(wǎng)絡(luò)攝像機或者視頻編碼器等設(shè)備,對所監(jiān)控視頻圖像進行數(shù)字化編碼,再通過計算機網(wǎng)絡(luò)傳輸至終端的工作站、服務(wù)器上進行瀏覽,并通過數(shù)字存儲介質(zhì)進行錄像存儲。
這種網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)具有安裝部署便捷、節(jié)省線纜、輕松實現(xiàn)遠(yuǎn)程監(jiān)控訪問、可升級性、可擴展性強等傳統(tǒng)模擬視頻監(jiān)控系統(tǒng)所不具備的優(yōu)勢,正在成為越來越多的新建、改造、擴展尤其是平安城市的安防監(jiān)控系統(tǒng)項目的第一選擇。但是,根據(jù)現(xiàn)有的技術(shù)建立的龐大的網(wǎng)絡(luò)化安防監(jiān)控系統(tǒng),已不可能是“實時監(jiān)控系統(tǒng)”,實際上是一種事后取證的系統(tǒng),因為它僅提供事發(fā)后的錄像數(shù)據(jù)查詢。而且,這種大型網(wǎng)絡(luò)安防監(jiān)控系統(tǒng),攝像機的數(shù)量大,如果還是用人來觀察,則很難提取有價值的信息,因而效果很差,這就失去了一個安防監(jiān)控系統(tǒng)的預(yù)防與積極干預(yù)的功能。
隨著網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng)的飛速發(fā)展,隨著平安城市建設(shè)的需要,尤其美國9·11及英國2005年7月倫敦爆炸案事件等引起了全世界的震動,其偵破過程對于安防監(jiān)控系統(tǒng),特別是智能視頻監(jiān)控系統(tǒng)的發(fā)展也起到了巨大的推動作用。所以,網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)亟需智能化,即借助計算機強大的數(shù)據(jù)處理功能,對視頻畫面海量數(shù)據(jù)進行高速分析、處理與識別,將監(jiān)控者不需要關(guān)注的信息過濾掉,僅提供人與物異常等的關(guān)鍵信息,一旦識別為異常,即觸發(fā)啟動錄像,并進行預(yù)/報警,從而使可能發(fā)生的事故被制止,以保障國家與人民生命及財產(chǎn)的安全。
智能視頻監(jiān)控系統(tǒng)主要實現(xiàn)運動檢測與識別、目標(biāo)分類、目標(biāo)跟蹤及事件檢測(包括人的行為理解和描述、人為場景物體之間的交互行為等,實際上主要是人與物的異常行為的檢測與識別)等智能功能。其中,運動檢測與識別、目標(biāo)分類、目標(biāo)跟蹤等屬于低級和中級處理,而事件檢測,如人與物的異常行為的檢測與識別等則屬于高級處理,但它們之間也可能有交叉。傳統(tǒng)的數(shù)字圖像處理通常是將模擬的視頻圖像信號轉(zhuǎn)換成數(shù)字視頻信號后,送PC機進行軟處理,這不僅不夠靈活,其處理能力還受到PC機和軟件的限制。而實際場合往往要求系統(tǒng)具有低價、穩(wěn)定的特點,因而基于嵌入式平臺的智能視頻監(jiān)控算法研究越來越受到重視。隨著CCD與CMOS攝像機芯片工藝的改進和數(shù)字信號處理器DSP功能的提升,使得數(shù)據(jù)量與計算量較大的圖像硬處理成為可能。本文介紹基于DSP智能視頻監(jiān)控系統(tǒng)設(shè)計的功能與指標(biāo)要求、所設(shè)計的系統(tǒng)組成與原理、系統(tǒng)的硬件與軟件設(shè)計等。[nextpage]
DSP智能視頻監(jiān)控系統(tǒng)設(shè)計的功能與指標(biāo)要求
系統(tǒng)主要功能
所需設(shè)計的基于DSP(選雙核處理)智能視頻監(jiān)控系統(tǒng)主要完成以下的功能。
1、A核主要功能——實現(xiàn)智能視頻監(jiān)控
· 運動檢測與識別:檢測監(jiān)控場景中的人與物(主要是車輛)等運動目標(biāo),并識別其異常而實時報警;
· 目標(biāo)分類:能夠區(qū)分識別監(jiān)控場景中的人、人群、車輛等目標(biāo);
· 數(shù)量統(tǒng)計:在分類的基礎(chǔ)上,分別統(tǒng)計場景中目標(biāo)的數(shù)量;
· 入侵檢測:檢測非法進入監(jiān)控場景中的運動目標(biāo),并實時報警;
· 遺留物體檢測:檢測監(jiān)控場景中的遺留物體,如箱包、非法爆炸物等,并實時報警;
· 目標(biāo)跟蹤:實時跟蹤監(jiān)控場景中的運動目標(biāo);
· 攝像機模糊遮擋及其非法移動檢測:實時檢測監(jiān)控場景攝像機的工作狀態(tài),發(fā)現(xiàn)異常則實時報警處理。[nextpage]
2、B核主要功能——實現(xiàn)視頻編碼壓縮
B核主要實現(xiàn)視頻流的編碼壓縮處理,保存智能視頻監(jiān)控的結(jié)果。
系統(tǒng)主要指標(biāo)
基于DSP智能視頻監(jiān)控系統(tǒng)主要的基本指標(biāo)要求如下:
· 智能視頻監(jiān)控軟件算法能夠靈活切換;
· DSP的雙核能同時工作;
· 視頻處理速度至少在每秒15幀以上;
· 智能視頻監(jiān)控的結(jié)果要能夠保存。[nextpage]
基于DSP智能視頻監(jiān)控系統(tǒng)的結(jié)構(gòu)組成及原理
根據(jù)上述系統(tǒng)功能與指標(biāo)要求,選用美國模擬器件(ADI)公司的Blackfin 561 DSP數(shù)字信號處理器。它具有兩個Blackfin處理器內(nèi)核構(gòu)成的對稱多處理結(jié)構(gòu),且集成了兩個工作頻率均高達(dá)756MHz的Blackfin處理器內(nèi)核(ADI公司還提供了低成本的500MHz和600MHz版本)和2.6Mbytes的片上SRAM存儲器。該DSP片上存儲器被分配于每個內(nèi)核的專用、高速L1存儲器和一個128KBytes大容量共享L2存儲器之間。32位外部端口和雙16通道DMA控制器提供了極高的數(shù)據(jù)帶寬。它片上外設(shè)包括兩個并行外設(shè)接口(均支持ITU-R 656視頻格式化)和支持I2S格式的高速串行端口。該DSP的主要特點是:
· 雙Blackfin內(nèi)核(每個內(nèi)核性能高達(dá)756 MHz/1512 MMAC,總和達(dá)到3024 MMAC)適用于要求苛刻的數(shù)字成像和消費類多媒體應(yīng)用;
· 328 KByte的大片上存儲器 – 被用來作為每個內(nèi)核單獨的L1存儲器系統(tǒng)以及共享的L2存儲器空間;
· 為成像和消費類多媒體應(yīng)用量身打造的高數(shù)據(jù)吞吐量;
· 面向應(yīng)用的外設(shè)提供了到多種音頻/視頻轉(zhuǎn)換器和通用ADC / DAC的無縫連接。
基于Blackfin 561 DSP的智能視頻監(jiān)控系統(tǒng)采用監(jiān)控攝像機模式,即對單一攝像機獲取原始視頻流,并且要求攝像機固定不動和焦距不變,通過使用Blackfin 561 DSP對視頻流進行處理以實現(xiàn)智能視頻監(jiān)控功能。系統(tǒng)主要分為以下幾個模塊:視頻輸入模塊、通信模塊、智能視頻監(jiān)控處理模塊和視頻壓縮模塊。基于Blackfin 561 DSP的智能視頻監(jiān)控系統(tǒng)組成框架如圖1所示。
系統(tǒng)的工作原理或主要的處理流程如下:
· 利用視頻輸入模塊,通過攝像機采集一幀圖像數(shù)據(jù);
· 將采集進來的視頻數(shù)據(jù)(YUV4∶2∶2格式)進行重采樣得到Y(jié)UV4∶2∶0格式的數(shù)據(jù);
· 在Blackfin 561 DSP上進行視頻內(nèi)容分析(CoreA);
· 在Blackfin 561 DSP上進行視頻編碼和壓縮(CoreB);
· 將處理結(jié)果和壓縮碼流傳輸?shù)絇C機上。
基于DSP智能視頻監(jiān)控系統(tǒng)的硬件設(shè)計
由于本系統(tǒng)使用Blackfin 561 DSP進行開發(fā),因而整個系統(tǒng)可采用一塊BF561 EZ-KIT Lite評估板、一臺CCD攝像機、一臺PC機和一個Blackfin USB-LAN EZ-Extender卡。
BF561 EZ-KIT Lite評估板主要用來實現(xiàn)智能處理算法以及對視頻流的壓縮編碼功能。因為在BF561 EZ-KIT Lite評估板上包括有:視頻處理芯片ADSP BF561;外部總線接口單元(EBIU)、SPORT接口、SPI接口、PPI接口、UART接口、JTAG仿真接口等。視頻A/D模塊采用ADV7183視頻解碼芯片。BF561 EZ-KIT Lite評估板結(jié)構(gòu)如圖2所示。[nextpage]
Blackfin USB-LAN EZ-Extender卡
Blackfin USB-LAN EZ-Extender卡可連接USB設(shè)備,并通過網(wǎng)絡(luò)傳輸已壓縮的視頻數(shù)據(jù)到PC客戶端。因為在Blackfin USB-LAN EZ-Extender卡上包含有一個USB 2.0接口;一個10/100自適應(yīng)網(wǎng)口等。
CCD攝像機
這一臺CCD攝像機,主要用來采集視頻。
PC客戶端
該PC客戶端主要用來接收壓縮視頻,配置和控制終端控制系統(tǒng)工作方式,并且能夠存儲系統(tǒng)的輸出。
基于DSP智能視頻監(jiān)控系統(tǒng)的軟件設(shè)計
基于Blackfin 561 DSP的智能視頻監(jiān)控系統(tǒng)軟件部分,由上層PC監(jiān)控服務(wù)軟件和底層DSP監(jiān)控功能軟件兩部分組成。上層PC部分主要進行監(jiān)控功能選擇和監(jiān)控結(jié)果的顯示,底層DSP部分主要進行智能監(jiān)控和壓縮編碼的算法實現(xiàn)。視頻監(jiān)控系統(tǒng)通過使用UART和USB接口作為聯(lián)系PC和DSP的通道,以實現(xiàn)數(shù)據(jù)的交換。其中,使用異步串口(UART)作為監(jiān)控系統(tǒng)與PC端監(jiān)控軟件的通信接口,完成底層監(jiān)控程序和PC端監(jiān)控服務(wù)軟件之間的通信;使用USB控制器作為壓縮碼流的數(shù)據(jù)傳輸接口,完成壓縮碼流向PC端的輸送任務(wù)。
[nextpage]
智能視頻監(jiān)控系統(tǒng)同時使用Blackfin 561 DSP的兩個核進行處理,通過PC服務(wù)軟件和DSP端監(jiān)控功能軟件協(xié)同工作,其主要工作流程如圖3所示。
DSP端接收到一幀圖像后,利用Blackfin 561 DSP的兩個核完成智能視頻監(jiān)控處理和視頻編碼壓縮處理。智能視頻監(jiān)控處理部分,利用Blackfin 561 DSP的核A進行,它首先通過UART通信模塊獲得PC端監(jiān)控功能選擇模塊的當(dāng)前功能,以及這一功能的相應(yīng)參數(shù),然后根據(jù)相應(yīng)的功能調(diào)用監(jiān)控功能模塊中對應(yīng)的監(jiān)控函數(shù)進行處理;最后再利用UART通信模塊將處理的結(jié)果傳送到PC端顯示。視頻編碼壓縮處理部分,使用Blackfin 561 DSP的核B進行,利用由ADI公司提供的H.264編碼函數(shù)和USB驅(qū)動函數(shù)實現(xiàn),這里就不贅述了。
PC端進行不同監(jiān)控功能的切換或調(diào)整功能參數(shù),在下一幀輸入圖像中將進行監(jiān)控功能的切換和參數(shù)的調(diào)整。
客戶端軟件
客戶端軟件是用戶實現(xiàn)DSP監(jiān)控操作的平臺,主要由監(jiān)控軟件界面、監(jiān)控功能選擇模塊、驅(qū)動函數(shù)模塊組成。
監(jiān)控軟件界面是監(jiān)控系統(tǒng)和用戶進行信息交互的平臺,它整合了各個監(jiān)控功能模塊,用戶通過它完成各個監(jiān)控功能模塊的調(diào)用、參數(shù)的選擇、結(jié)果的顯示等。
PC監(jiān)控功能選擇模塊完成對底層DSP監(jiān)控功能的調(diào)用,從而實現(xiàn)用戶需要的相應(yīng)的監(jiān)控功能。
驅(qū)動函數(shù)模塊包括UART驅(qū)動和USB驅(qū)動。UART驅(qū)動的作用是實現(xiàn)上層PC的監(jiān)控服務(wù)軟件和底層DSP的監(jiān)控功能程序之間的UART接口通信;USB驅(qū)動的作用是通過USB接口接收底層DSP發(fā)送的壓縮碼流。[nextpage]
DSP端監(jiān)控功能軟件
DSP監(jiān)控功能軟件是整個監(jiān)控功能實現(xiàn)的核心,由監(jiān)控功能模塊、H.264視頻壓縮模塊和UART通信模塊組成。
DSP監(jiān)控功能模塊經(jīng)PC端監(jiān)控功能選擇模塊進行調(diào)用,直接負(fù)責(zé)完成相應(yīng)的監(jiān)控功能,并將結(jié)果傳輸?shù)絇C端。
H.264視頻壓縮模塊負(fù)責(zé)將輸入視頻圖像進行H.264壓縮,并使用USB接口將壓縮后的視頻圖像傳輸?shù)絇C端。
UART通信模塊負(fù)責(zé)利用協(xié)議實現(xiàn)和PC端的通信。
1、DSP監(jiān)控功能模塊
本文所設(shè)計的智能視頻監(jiān)控系統(tǒng)需要實現(xiàn)8個不同的智能視頻監(jiān)控功能。根據(jù)監(jiān)控功能的不同性質(zhì)和處理手段,主要分為:物體檢測與數(shù)量統(tǒng)計、自動跟蹤、入侵和遺留物體檢測、攝像機模糊、遮擋及非法移動等4類不同功能。本模塊通過從PC端功能選擇模塊獲取監(jiān)控信息,選擇單一視頻監(jiān)控功能進行處理。監(jiān)控功能模塊流程如圖4所示。
監(jiān)控功能模塊中大部分功能首先都需要進行相同的前期處理過程-運動對象的提取。本系統(tǒng)運動對象的提取主要包括背景建模和連通域標(biāo)記兩個部分,其主要流程如圖5所示。
· 物體檢測:物體檢測需要根據(jù)運動檢測的結(jié)果判斷當(dāng)前運動物體所屬的類別,如人體、四足動物、四輪機動車、非機動車等。其使用高斯背景模型進行運動檢測,提取目標(biāo)的形狀特征,并對它們進行分類,最后輸出運動物體的位置、類別;
· 數(shù)量統(tǒng)計:數(shù)量統(tǒng)計需要在物體檢測的基礎(chǔ)上,統(tǒng)計各類物體或一類物體的數(shù)目,在統(tǒng)計過程中,還需要區(qū)分個體和群體。其在分類的基礎(chǔ)上,使用計數(shù)器統(tǒng)計當(dāng)前幀中各種目標(biāo)的數(shù)量。最后輸出各類物體數(shù)目,如個體數(shù)目、群體數(shù)目;
· 入侵檢測:入侵檢測需要判斷場景中運動物體是否進入某一固定區(qū)域。其在運動檢測的基礎(chǔ)上,判斷目標(biāo)的位置與標(biāo)定的”禁入”位置的相對關(guān)系,以實現(xiàn)入侵檢測,最后輸出入侵物體位置和類別;
· 遺留物體檢測:遺留物體檢測主要是檢測固定區(qū)域內(nèi)箱包類物體的非法滯留問題。具體說,主要是檢測行人將箱包等遺留到場景中的情況(重點是為了排除爆炸物和危禁品)。當(dāng)然,也包括將場景中原有物體拿走的情況。通過判斷物體在監(jiān)控場景中出現(xiàn)的時間的長短,來判斷是否為遺留物體,輸出遺留物體的位置及大小;
· 自動跟蹤:自動跟蹤實現(xiàn)對于運動對象的連續(xù)檢測,通過對運動物體的跟蹤,獲得其位置、速度、運動軌跡等運動信息。使用卡爾曼濾波的方法進行目標(biāo)跟蹤,輸出運動物體的位置及中心坐標(biāo)等;
· 攝像機模糊、遮擋及非法移動檢測:攝像機模糊、遮擋及非法移動檢測是需要發(fā)現(xiàn)影響監(jiān)控攝像機正常工作或者威脅監(jiān)控攝像機自身安全的活動。使用DCT變換,統(tǒng)計全局的圖像變化信息,判斷攝像機是否模糊;利用圖像灰度直方圖變化信息,判斷攝像機是否被遮擋;使用模板匹配的方法,判斷攝像機是否非法移動,輸出模糊、遮擋及非法移動情況信息和程度。[nextpage]
系統(tǒng)優(yōu)化
1、三緩沖結(jié)構(gòu)
設(shè)置三緩沖組成緩沖區(qū)隊列。在實際處理過程中,使用其中兩個緩沖區(qū)進行數(shù)據(jù)接收,另外一個緩沖區(qū)進行圖像處理等(具體的三緩沖區(qū)結(jié)構(gòu)如圖6所示)。
利用回調(diào)函數(shù)對緩沖區(qū)進行管理,每接收完一整幅圖像后產(chǎn)生一次回調(diào)。使用三個變量維護當(dāng)前緩沖區(qū)狀態(tài),F(xiàn)rame Buffer1和Frame Buffer2用于維護在循環(huán)中接收的兩個緩沖區(qū),F(xiàn)rame Counter為當(dāng)前最新接收到的緩沖區(qū)。每次接收數(shù)據(jù)的存儲位置根據(jù)Frame Buffer1和Frame Buffer2的值決定。
在主循環(huán)過程中,使用一個變量Active Index維護當(dāng)前處理中的緩沖區(qū)。每當(dāng)開始處理新的一幀時,交換Frame Counter和Active Index的值,并同時更新Frame Buffer1和Frame Buffer2。實現(xiàn)將上一幀處理結(jié)束的緩沖區(qū)加到輸入緩沖中,而將最新一幀緩沖并進行處理的目的。
2、算法優(yōu)化
系統(tǒng)對大部分的功能實現(xiàn)算法進行了優(yōu)化。在物體檢測、數(shù)量統(tǒng)計、自動跟蹤、入侵檢測、遺留物體檢測等算法中都需要使用背景模型。因此,系統(tǒng)重點對背景建模算法進行了優(yōu)化。
背景建模主要包括兩個部分:一是用當(dāng)前圖像和背景模型的均值和方差矩陣進行比較,得到前景圖像和更新后的背景模型;二是對前景圖像進行膨脹、腐蝕的形態(tài)學(xué)運算。
· 背景模型更新:模型更新過程涉及的數(shù)據(jù)有:當(dāng)前圖像幀緩沖(8位)、當(dāng)前前景幀圖像(8位)、背景均值模型(32位)、背景方差模型(32位)、前景駐留時間矩陣(16位)。為了提高運算速度,需要首先將內(nèi)存搬運到L1中再進行處理。其步驟如下:
第一步:在L1內(nèi)存中分配行緩存區(qū)用于計算,采用PINGPONG結(jié)構(gòu)設(shè)計雙緩沖區(qū)。
第二步:使用兩個DMA通道用于輸入和輸出。首先使用異步DMA方式輸入一行輸入圖像、均值和方差矩陣及駐留時間矩陣,交替使用current和bck指針分別指向輸入和處理緩沖區(qū),并不斷更新實現(xiàn)雙緩沖結(jié)構(gòu)。這里要求從第二行輸入起使用同步DMA方式進行傳輸,因此使用了回調(diào)函數(shù)Line In Caqll Back和input_index變量,實現(xiàn)依次輸入4個緩沖區(qū)。
由于這里要求將輸入并計算后的新均值、方差和駐留時間行矩陣傳回SDRAM中,因此輸出DMA采用異步方式,等待完成后才會開始下一次的DMA輸入。這樣,在一定程度上,可避免同時向一個SDRAM區(qū)讀/寫內(nèi)存。[nextpage]
· 膨脹、腐蝕算法:這里同樣也使用行處理方式進行膨脹、腐蝕兩步運算。根據(jù)膨脹、腐蝕算法的特點,需要輸入3行緩沖,然后進行一行的處理。因此,需設(shè)計使用6行輸入的前景緩沖和兩行膨脹、腐蝕處理結(jié)果作為3行輸入和1行輸出雙緩沖。由于輸入和輸出的緩沖區(qū)沒有沖突問題,因而輸入和輸出均采用同步模式,并注意輸入緩沖增量設(shè)為一行。
結(jié)語
智能視頻監(jiān)控系統(tǒng)借助計算機對視頻數(shù)據(jù)進行高速分析、處理與識別,將監(jiān)控者不需要關(guān)注的信息過濾掉,僅提供人與物異常等的關(guān)鍵信息。一旦識別為異常,即觸發(fā)啟動錄像,并進行預(yù)/報警,從而使可能發(fā)生的事故被制止,以保障國家與人民生命及財產(chǎn)的安全。因此,智能化是數(shù)字化網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng)發(fā)展的方向和必然的產(chǎn)物,應(yīng)當(dāng)引起我國各安防監(jiān)控媒體及企業(yè)的重視。
由于實際應(yīng)用場合往往要求系統(tǒng)具有低價、穩(wěn)定的特點,因而必須研究基于嵌入式平臺的智能視頻監(jiān)控系統(tǒng),即將智能視頻監(jiān)控算法固化到DSP中。上面介紹的基于DSP智能視頻監(jiān)控系統(tǒng)的設(shè)計,可完全嵌入系統(tǒng)前端的攝像機、DVS與DVR中,以減輕大型系統(tǒng)網(wǎng)絡(luò)傳輸帶寬的壓力。