王顯龍,方明
(長春理工大學(xué) 計算機(jī)科學(xué)技術(shù)學(xué)院,長春 130022)
視頻監(jiān)控的智能化表現(xiàn)為計算機(jī)視覺算法在視頻分析中的應(yīng)用[1]。智能視頻監(jiān)控區(qū)別于傳統(tǒng)監(jiān)控系統(tǒng)的地方在于變被動監(jiān)控為主動監(jiān)控(自動檢測、識別潛在入侵者、可疑目標(biāo)和突發(fā)事件),即它的智能性。簡單而言,不僅用攝像頭代替人眼,而且用計算機(jī)代替人、協(xié)助人來完成監(jiān)視或控制的任務(wù),從而減輕人的負(fù)擔(dān)[2]。
目前的視頻監(jiān)控系統(tǒng)主要為人工實時監(jiān)控,或存儲后進(jìn)行事后回放取證,而且系統(tǒng)的架構(gòu)設(shè)計比較單一,不能遠(yuǎn)程實時監(jiān)控,不能及時應(yīng)對類似于打架、火災(zāi)、偷盜等緊急事件,具有時效性差、過度依賴人工監(jiān)控以及需要事后進(jìn)行繁瑣回放取證等特點,無法有效地保證人們的人身財產(chǎn)安全,也極大地造成了人力和時間成本的浪費[3]。
本文提出了一種自動實時監(jiān)控、自動報警的智能視頻監(jiān)控系統(tǒng)架構(gòu)設(shè)計方案。利用流媒體技術(shù)和計算機(jī)視覺技術(shù)把當(dāng)前數(shù)據(jù)源和智能視頻分析算法有機(jī)結(jié)合起來,能夠?qū)崟r智能分析監(jiān)控中的視頻內(nèi)容,能夠及時發(fā)現(xiàn)監(jiān)控中的異常事件;同時利用網(wǎng)絡(luò)通信機(jī)制及時發(fā)送報警信息,能夠讓監(jiān)控人員第一時間發(fā)現(xiàn)異常情況,及時處理突發(fā)狀況。
整個智能視頻監(jiān)控系統(tǒng)主要體現(xiàn)在遠(yuǎn)程監(jiān)控、自動監(jiān)控、自動報警。三個方面利用現(xiàn)有網(wǎng)絡(luò),滿足監(jiān)控人員遠(yuǎn)程查看監(jiān)控場景、遠(yuǎn)程設(shè)置智能監(jiān)控、隨時隨地接收報警信息等,如圖1所示,系統(tǒng)總體架構(gòu)主要分為三層,分別為數(shù)據(jù)采集端、數(shù)據(jù)處理單元、報警輸出端。
圖1 系統(tǒng)架構(gòu)圖
數(shù)據(jù)采集端融合了多種視頻流解碼技術(shù),支持不同的視頻流輸入,包括基于NVR(Network Video Recorder)硬件架構(gòu)的視頻源、基于NVS(Network Video System)系統(tǒng)軟件的視頻源、基于RTSP協(xié)議的視頻源[4],易于連接多個、多種相機(jī),實時遠(yuǎn)程監(jiān)控多種場景。數(shù)據(jù)處理單元是整個系統(tǒng)的核心部分,可以由一組服務(wù)器和硬件的算法處理卡及智能監(jiān)控軟件構(gòu)成。硬件圖像處理卡主要實現(xiàn)監(jiān)控系統(tǒng)的智能化,包括多路監(jiān)控視頻的智能分析、異常事件幀的捕獲與推送;智能監(jiān)控軟件主要實現(xiàn)監(jiān)控系統(tǒng)的自動化,包括監(jiān)控算法和監(jiān)控時間的智能設(shè)置、視頻幀的實時推送、異常事件的自動報警等。報警輸出端支持不同的網(wǎng)絡(luò)通信機(jī)制,根據(jù)用戶不同的需求,可以搭建不同的消息推送平臺,能夠及時有效地把報警信息推送給客戶端。
數(shù)據(jù)采集端作為整個監(jiān)控系統(tǒng)的輸入端,通過不同的方式和流媒體傳輸協(xié)議為系統(tǒng)提供視頻流。NVR設(shè)備或NVS軟件通過網(wǎng)絡(luò)連接相機(jī),系統(tǒng)軟件通過NVR或NVS獲取各個相機(jī)的視頻流;RTSP則是通過網(wǎng)絡(luò)直接連接相機(jī),系統(tǒng)軟件通過多個RTSP地址獲取各個相機(jī)的視頻流。因此,本文提出的監(jiān)控系統(tǒng)可以連接不同廠家的相機(jī),可以通過不同的方式獲取視頻源。
視頻源主要用于兩個方面,一是用于監(jiān)控軟件用戶界面的視頻播放,實現(xiàn)實時播放,二是用于向硬件處理卡推送視頻幀,實現(xiàn)智能監(jiān)控。
數(shù)據(jù)處理單元包括兩大部分,分別為用戶界面操作和后臺處理,如圖2所示,用戶界面操作是通過智能監(jiān)控軟件和數(shù)據(jù)庫實現(xiàn),后臺處理是通過硬件處理卡實現(xiàn)。
圖2 數(shù)據(jù)處理
智能監(jiān)控軟件通過接收視頻流實現(xiàn)監(jiān)控場景的實時播放,通過設(shè)置智能監(jiān)控算法和監(jiān)控時間實現(xiàn)監(jiān)控系統(tǒng)的自動化,實時把監(jiān)控視頻幀推送給硬件處理卡。另外,智能監(jiān)控軟件根據(jù)接收的事件幀會及時向報警輸出端發(fā)送報警信息,監(jiān)控人員通過智能監(jiān)控軟件可以及時從數(shù)據(jù)庫查詢歷史事件,及時應(yīng)對突發(fā)狀況。
硬件處理卡利用圖像處理與識別算法實時智能分析視頻幀,實現(xiàn)監(jiān)控系統(tǒng)的智能化,能夠及時發(fā)現(xiàn)異常事件,并把事件幀及時推送給智能監(jiān)控軟件。硬件處理卡集成了多種圖像處理與識別算法,利用多線程機(jī)制實現(xiàn)了多路監(jiān)控的智能管理,并且處理卡的選擇方式有多種,例如DSP、FPGA以及ARM[5],均易于擴(kuò)展新的圖像處理與識別算法。
報警輸出端支持三種消息傳輸機(jī)制,分別為Socket通信機(jī)制[6]、HTTP通信機(jī)制[7]、郵箱通信機(jī)制[8]。其中,Socket通信機(jī)制是基于TCP的網(wǎng)絡(luò)應(yīng)用開發(fā),是一種流的機(jī)制,線程通過Socket進(jìn)行數(shù)據(jù)流的讀取和發(fā)送;而HTTP通信機(jī)制是基于Web的開發(fā),構(gòu)建在HTTP協(xié)議之上,使服務(wù)器(智能監(jiān)控軟件)與客戶端(報警輸出端)可以進(jìn)行遠(yuǎn)程傳輸報警信息;郵箱通信機(jī)制是利用現(xiàn)在已有的郵箱通信協(xié)議(比如163郵箱通信協(xié)議)進(jìn)行發(fā)送報警信息,能夠讓管理人員利用郵箱終端遠(yuǎn)程及時接收報警信息。
本文提出的監(jiān)控系統(tǒng)架構(gòu)方案融合了多種技術(shù),以下主要是對視頻流穩(wěn)定流與解碼、多種智能監(jiān)控算法集中管理、多線程控制進(jìn)行技術(shù)分析。
RTSP是用來控制聲音或影像的多媒體串流協(xié)議,并允許同時多個串流需求控制,能夠容忍網(wǎng)絡(luò)延遲,可以降低服務(wù)器端的網(wǎng)絡(luò)用量[9]。所以,該軟件系統(tǒng)主要通過RTSP直連獲取相機(jī)的視頻流,對于網(wǎng)絡(luò)波動情況,采用緩沖機(jī)制,如圖3所示。
圖3 RTSP視頻流解碼
RTSP視頻流解碼的流程分為input、decode、output三個過程。其中input利用live555庫獲取RTSP視頻流;decode利用FFmpeg庫解碼、轉(zhuǎn)碼視頻數(shù)據(jù),并輸出解碼、轉(zhuǎn)碼后的視頻數(shù)據(jù);output利用D3D顯示視頻數(shù)據(jù)。為了抑制網(wǎng)絡(luò)波動造成的視頻流延遲與失幀,設(shè)計了緩沖機(jī)制,包括回環(huán)數(shù)據(jù)緩沖機(jī)制、directbuffer機(jī)制、數(shù)據(jù)緩沖池。采用回環(huán)數(shù)據(jù)緩沖機(jī)制對輸入的視頻數(shù)據(jù)高效緩存,在傳入decode模塊時,避免了數(shù)據(jù)拷貝;同時在數(shù)據(jù)解碼時采用FFmpeg的directbuffer機(jī)制,進(jìn)一步避免了數(shù)據(jù)拷貝的動作;在低延時和流暢的平衡上,通過設(shè)置最大緩沖幀數(shù)和最小緩沖幀數(shù)來實現(xiàn)控制,通過比較待解碼緩沖區(qū)和解碼后還未來得及顯示緩沖區(qū)的數(shù)據(jù)包個數(shù)差值,如果該值大于最大緩沖幀數(shù),說明有很多數(shù)據(jù)在緩存里,延遲大了,這時就要加快顯示速度(減小output模塊的休眠時間),最大緩沖幀數(shù)就是影響延遲的;反之一樣,最小緩沖幀數(shù)就是流暢的保證,該值越大就越流暢,所以,通過改變這個最大值、最小值可以平衡延遲與流暢。
一個硬件處理卡可以加載1~4個智能監(jiān)控算法,包括客流統(tǒng)計、遺失檢測、遺留檢測、闖入檢測等;通過在服務(wù)器上嵌入多個硬件處理卡,可以實現(xiàn)集中管理多個、多種智能監(jiān)控算法。
硬件處理卡集中管理智能監(jiān)控算法的工作流程如圖4所示。首先,硬件處理卡根據(jù)分配的算法通道匹配服務(wù)器傳來的視頻幀,然后經(jīng)過相應(yīng)圖像處理與識別算法的智能分析,捕獲事件幀。最后,把異常事件信息發(fā)送給服務(wù)器。通過硬件處理卡實現(xiàn)了多路監(jiān)控的集中管理、智能分析,能夠智能處理多種異常情況。
圖4 多種算法集中管理
數(shù)據(jù)處理單元采用單進(jìn)程多線程管理機(jī)制,主線程創(chuàng)建了視頻幀采集線程、視頻幀處理線程,如圖5所示。視頻流采集線程主要負(fù)責(zé)對多路視頻信號進(jìn)行采集,將采集到的視頻數(shù)據(jù)放入緩存區(qū),供視頻幀處理線程調(diào)用。視頻幀處理線程主要用于視頻幀的智能分析,及時發(fā)現(xiàn)異常事件。
圖5 數(shù)據(jù)處理單元多線程機(jī)制
為了保證視頻幀采集線程、視頻幀處理線程不被并發(fā)調(diào)用,防止它們之間由于競爭資源發(fā)生死鎖現(xiàn)象,通過創(chuàng)建信號量VI進(jìn)行調(diào)度控制。VI初始值為0,視頻幀采集線程在向緩沖區(qū)輸出視頻幀時釋放信號量VI,VI值加1;視頻幀處理線程在從緩沖區(qū)讀取視頻幀時請求信號量VI,當(dāng)VI為0時,繼續(xù)等待,當(dāng)VI大于等于1時,根據(jù)視頻幀監(jiān)控類型匹配算法通道,然后智能分析視頻幀,VI值減1。如果有異常事件幀,捕獲事件幀并存入數(shù)據(jù)庫,如果沒有異常事件幀,繼續(xù)讀取視頻幀進(jìn)行智能分析。
本文提出的智能視頻監(jiān)控系統(tǒng)架構(gòu)方案根據(jù)不同功能劃分為三個模塊,每種模塊融合了多種技術(shù)。數(shù)據(jù)采集端通過不同的方式獲取視頻源,并著重分析了RTSP視頻流穩(wěn)定流與解碼技術(shù),實現(xiàn)了視頻流的實時播放,并有效抑制了網(wǎng)絡(luò)波動;數(shù)據(jù)處理單元把服務(wù)器與硬件處理卡有機(jī)結(jié)合起來,利用多線程管理機(jī)制實現(xiàn)了多種智能監(jiān)控處理算法的集中管理,提高了系統(tǒng)的實時性、高效性。報警輸出端支持多種網(wǎng)絡(luò)通信機(jī)制,可以根據(jù)不同需求搭建不同的消息推送平臺,能夠讓監(jiān)控人員在不同的地方及時收到報警消息,及時應(yīng)對突發(fā)狀況。所以,本文提出的架構(gòu)方案具有可靠性高、通用性好、功能齊全、抗干擾能力強等特點,具有較高的推廣價值。
[1]李琰婷,劉智,張冰川,等.基于3G網(wǎng)絡(luò)的遠(yuǎn)程多功能視頻監(jiān)控系統(tǒng)[J].長春理工大學(xué)學(xué)報:自然科學(xué)版,2014,37(1):138-141.
[2]Nakashima Y,Babaguchi N,F(xiàn)an J.Intended human object detection for automatically protecting privacy inmobilevideosurveillance[J].MultimediaSystems,2012,18(2):157-173.
[3]吳群,王田,王漢武,等.現(xiàn)代智能視頻監(jiān)控研究綜述[J].計算機(jī)應(yīng)用研究,2016,33(06):1601-1606.
[4]Hu W C,Chen C H,Chen T Y,et al.Moving object detection and tracking from video captured by moving camera[J].Journal of Visual Communication&Image Representation,2015,30(7):164-180.
[5]劉勝楠,汪恭焰,李京,等.嵌入式視頻摘要及智能視頻監(jiān)控系統(tǒng)設(shè)計[J].長春理工大學(xué)學(xué)報:自然科學(xué)版,2017,40(1):119-122.
[6]羅亞非.基于TCP的Socket多線程通信[J].電腦知識與技術(shù):學(xué)術(shù)交流,2009,5(3):563-565.
[7]祝瑞,車敏.基于HTTP協(xié)議的服務(wù)器程序分析[J].現(xiàn)代電子技術(shù),2012,35(4):117-119.
[8]常朝穩(wěn),司志剛,王潛.基于郵箱的移動Agent域通信機(jī)制[J].計算機(jī)工程,2008,34(16):125-128.
[9]茅炎菲,黃忠東.基于RTSP協(xié)議網(wǎng)絡(luò)監(jiān)控系統(tǒng)的研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2011,32(07):2523-2526.