王顯龍,方明
(長春理工大學 計算機科學技術學院,長春 130022)
視頻監控的智能化表現為計算機視覺算法在視頻分析中的應用[1]。智能視頻監控區別于傳統監控系統的地方在于變被動監控為主動監控(自動檢測、識別潛在入侵者、可疑目標和突發事件),即它的智能性。簡單而言,不僅用攝像頭代替人眼,而且用計算機代替人、協助人來完成監視或控制的任務,從而減輕人的負擔[2]。
目前的視頻監控系統主要為人工實時監控,或存儲后進行事后回放取證,而且系統的架構設計比較單一,不能遠程實時監控,不能及時應對類似于打架、火災、偷盜等緊急事件,具有時效性差、過度依賴人工監控以及需要事后進行繁瑣回放取證等特點,無法有效地保證人們的人身財產安全,也極大地造成了人力和時間成本的浪費[3]。
本文提出了一種自動實時監控、自動報警的智能視頻監控系統架構設計方案。利用流媒體技術和計算機視覺技術把當前數據源和智能視頻分析算法有機結合起來,能夠實時智能分析監控中的視頻內容,能夠及時發現監控中的異常事件;同時利用網絡通信機制及時發送報警信息,能夠讓監控人員第一時間發現異常情況,及時處理突發狀況。
整個智能視頻監控系統主要體現在遠程監控、自動監控、自動報警。三個方面利用現有網絡,滿足監控人員遠程查看監控場景、遠程設置智能監控、隨時隨地接收報警信息等,如圖1所示,系統總體架構主要分為三層,分別為數據采集端、數據處理單元、報警輸出端。

圖1 系統架構圖
數據采集端融合了多種視頻流解碼技術,支持不同的視頻流輸入,包括基于NVR(Network Video Recorder)硬件架構的視頻源、基于NVS(Network Video System)系統軟件的視頻源、基于RTSP協議的視頻源[4],易于連接多個、多種相機,實時遠程監控多種場景。數據處理單元是整個系統的核心部分,可以由一組服務器和硬件的算法處理卡及智能監控軟件構成。硬件圖像處理卡主要實現監控系統的智能化,包括多路監控視頻的智能分析、異常事件幀的捕獲與推送;智能監控軟件主要實現監控系統的自動化,包括監控算法和監控時間的智能設置、視頻幀的實時推送、異常事件的自動報警等。報警輸出端支持不同的網絡通信機制,根據用戶不同的需求,可以搭建不同的消息推送平臺,能夠及時有效地把報警信息推送給客戶端。
數據采集端作為整個監控系統的輸入端,通過不同的方式和流媒體傳輸協議為系統提供視頻流。NVR設備或NVS軟件通過網絡連接相機,系統軟件通過NVR或NVS獲取各個相機的視頻流;RTSP則是通過網絡直接連接相機,系統軟件通過多個RTSP地址獲取各個相機的視頻流。因此,本文提出的監控系統可以連接不同廠家的相機,可以通過不同的方式獲取視頻源。
視頻源主要用于兩個方面,一是用于監控軟件用戶界面的視頻播放,實現實時播放,二是用于向硬件處理卡推送視頻幀,實現智能監控。
數據處理單元包括兩大部分,分別為用戶界面操作和后臺處理,如圖2所示,用戶界面操作是通過智能監控軟件和數據庫實現,后臺處理是通過硬件處理卡實現。

圖2 數據處理
智能監控軟件通過接收視頻流實現監控場景的實時播放,通過設置智能監控算法和監控時間實現監控系統的自動化,實時把監控視頻幀推送給硬件處理卡。另外,智能監控軟件根據接收的事件幀會及時向報警輸出端發送報警信息,監控人員通過智能監控軟件可以及時從數據庫查詢歷史事件,及時應對突發狀況。
硬件處理卡利用圖像處理與識別算法實時智能分析視頻幀,實現監控系統的智能化,能夠及時發現異常事件,并把事件幀及時推送給智能監控軟件。硬件處理卡集成了多種圖像處理與識別算法,利用多線程機制實現了多路監控的智能管理,并且處理卡的選擇方式有多種,例如DSP、FPGA以及ARM[5],均易于擴展新的圖像處理與識別算法。
報警輸出端支持三種消息傳輸機制,分別為Socket通信機制[6]、HTTP通信機制[7]、郵箱通信機制[8]。其中,Socket通信機制是基于TCP的網絡應用開發,是一種流的機制,線程通過Socket進行數據流的讀取和發送;而HTTP通信機制是基于Web的開發,構建在HTTP協議之上,使服務器(智能監控軟件)與客戶端(報警輸出端)可以進行遠程傳輸報警信息;郵箱通信機制是利用現在已有的郵箱通信協議(比如163郵箱通信協議)進行發送報警信息,能夠讓管理人員利用郵箱終端遠程及時接收報警信息。
本文提出的監控系統架構方案融合了多種技術,以下主要是對視頻流穩定流與解碼、多種智能監控算法集中管理、多線程控制進行技術分析。
RTSP是用來控制聲音或影像的多媒體串流協議,并允許同時多個串流需求控制,能夠容忍網絡延遲,可以降低服務器端的網絡用量[9]。所以,該軟件系統主要通過RTSP直連獲取相機的視頻流,對于網絡波動情況,采用緩沖機制,如圖3所示。

圖3 RTSP視頻流解碼
RTSP視頻流解碼的流程分為input、decode、output三個過程。其中input利用live555庫獲取RTSP視頻流;decode利用FFmpeg庫解碼、轉碼視頻數據,并輸出解碼、轉碼后的視頻數據;output利用D3D顯示視頻數據。為了抑制網絡波動造成的視頻流延遲與失幀,設計了緩沖機制,包括回環數據緩沖機制、directbuffer機制、數據緩沖池。采用回環數據緩沖機制對輸入的視頻數據高效緩存,在傳入decode模塊時,避免了數據拷貝;同時在數據解碼時采用FFmpeg的directbuffer機制,進一步避免了數據拷貝的動作;在低延時和流暢的平衡上,通過設置最大緩沖幀數和最小緩沖幀數來實現控制,通過比較待解碼緩沖區和解碼后還未來得及顯示緩沖區的數據包個數差值,如果該值大于最大緩沖幀數,說明有很多數據在緩存里,延遲大了,這時就要加快顯示速度(減小output模塊的休眠時間),最大緩沖幀數就是影響延遲的;反之一樣,最小緩沖幀數就是流暢的保證,該值越大就越流暢,所以,通過改變這個最大值、最小值可以平衡延遲與流暢。
一個硬件處理卡可以加載1~4個智能監控算法,包括客流統計、遺失檢測、遺留檢測、闖入檢測等;通過在服務器上嵌入多個硬件處理卡,可以實現集中管理多個、多種智能監控算法。
硬件處理卡集中管理智能監控算法的工作流程如圖4所示。首先,硬件處理卡根據分配的算法通道匹配服務器傳來的視頻幀,然后經過相應圖像處理與識別算法的智能分析,捕獲事件幀。最后,把異常事件信息發送給服務器。通過硬件處理卡實現了多路監控的集中管理、智能分析,能夠智能處理多種異常情況。

圖4 多種算法集中管理
數據處理單元采用單進程多線程管理機制,主線程創建了視頻幀采集線程、視頻幀處理線程,如圖5所示。視頻流采集線程主要負責對多路視頻信號進行采集,將采集到的視頻數據放入緩存區,供視頻幀處理線程調用。視頻幀處理線程主要用于視頻幀的智能分析,及時發現異常事件。

圖5 數據處理單元多線程機制
為了保證視頻幀采集線程、視頻幀處理線程不被并發調用,防止它們之間由于競爭資源發生死鎖現象,通過創建信號量VI進行調度控制。VI初始值為0,視頻幀采集線程在向緩沖區輸出視頻幀時釋放信號量VI,VI值加1;視頻幀處理線程在從緩沖區讀取視頻幀時請求信號量VI,當VI為0時,繼續等待,當VI大于等于1時,根據視頻幀監控類型匹配算法通道,然后智能分析視頻幀,VI值減1。如果有異常事件幀,捕獲事件幀并存入數據庫,如果沒有異常事件幀,繼續讀取視頻幀進行智能分析。
本文提出的智能視頻監控系統架構方案根據不同功能劃分為三個模塊,每種模塊融合了多種技術。數據采集端通過不同的方式獲取視頻源,并著重分析了RTSP視頻流穩定流與解碼技術,實現了視頻流的實時播放,并有效抑制了網絡波動;數據處理單元把服務器與硬件處理卡有機結合起來,利用多線程管理機制實現了多種智能監控處理算法的集中管理,提高了系統的實時性、高效性。報警輸出端支持多種網絡通信機制,可以根據不同需求搭建不同的消息推送平臺,能夠讓監控人員在不同的地方及時收到報警消息,及時應對突發狀況。所以,本文提出的架構方案具有可靠性高、通用性好、功能齊全、抗干擾能力強等特點,具有較高的推廣價值。
[1]李琰婷,劉智,張冰川,等.基于3G網絡的遠程多功能視頻監控系統[J].長春理工大學學報:自然科學版,2014,37(1):138-141.
[2]Nakashima Y,Babaguchi N,Fan J.Intended human object detection for automatically protecting privacy inmobilevideosurveillance[J].MultimediaSystems,2012,18(2):157-173.
[3]吳群,王田,王漢武,等.現代智能視頻監控研究綜述[J].計算機應用研究,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]劉勝楠,汪恭焰,李京,等.嵌入式視頻摘要及智能視頻監控系統設計[J].長春理工大學學報:自然科學版,2017,40(1):119-122.
[6]羅亞非.基于TCP的Socket多線程通信[J].電腦知識與技術:學術交流,2009,5(3):563-565.
[7]祝瑞,車敏.基于HTTP協議的服務器程序分析[J].現代電子技術,2012,35(4):117-119.
[8]常朝穩,司志剛,王潛.基于郵箱的移動Agent域通信機制[J].計算機工程,2008,34(16):125-128.
[9]茅炎菲,黃忠東.基于RTSP協議網絡監控系統的研究與實現[J].計算機工程與設計,2011,32(07):2523-2526.