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