何錫浩 單玉剛
摘要:針對當(dāng)前校園安防需要,開發(fā)了基于nodejs校園智能視頻監(jiān)控系統(tǒng)。校園智能視頻監(jiān)控通過網(wǎng)絡(luò)攝像頭采集視頻信息,使用智能算法分析視頻對目標(biāo)進(jìn)行檢測和識別,根據(jù)用戶請求分發(fā)信息到客戶端。系統(tǒng)具有實時性、準(zhǔn)確性和智能化特點,極大地減輕校園安保人員的工作壓力,節(jié)省了大量人力物力,可以被廣泛運用。
關(guān)鍵詞:視頻監(jiān)控;Web;智能;校園
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)36-0198-03
1背景
視頻監(jiān)控是安防系統(tǒng)的重要組成部分。傳統(tǒng)的視頻監(jiān)控系統(tǒng)包括前端攝像機、傳輸線纜和視頻監(jiān)控平臺。視頻監(jiān)控具有直觀、準(zhǔn)確、及時和信息內(nèi)容豐富等特點[1]。智能視頻監(jiān)控在傳統(tǒng)視頻監(jiān)控基礎(chǔ)上使用計算機視覺技術(shù)對視頻信號進(jìn)行處理、分析和理解,在不需要人為十預(yù)的情況下,通過對序列圖像自動分析對監(jiān)控場景中的變化進(jìn)行定位、識別和跟蹤,并在此基礎(chǔ)上分析和判斷目標(biāo)的行為,能在異常情況發(fā)生時及時發(fā)出警報或提供有用信息,有效地協(xié)助安全人員處理危機,并最大限度地降低誤報和漏報現(xiàn)象。
傳統(tǒng)校園管理通常采用保安人員巡邏和視頻監(jiān)控系統(tǒng),其時效性較差且功能單一,很難滿足復(fù)雜的監(jiān)控需求。因此開發(fā)響應(yīng)快、具有人工智能的校園視頻監(jiān)控系統(tǒng)不僅具有理論意義,而且具有實用價值。
本文采用B/S結(jié)構(gòu),分為web服務(wù)器端和web客戶端部分。web服務(wù)器端自動處理校園視頻流信息,對行人和車輛進(jìn)出情況進(jìn)行統(tǒng)計、存儲和管理;web客戶端部分供用戶遠(yuǎn)程查看校園中的人車情況以及人車統(tǒng)計信息,使校園監(jiān)控實現(xiàn)智能化,安全化。系統(tǒng)開發(fā)使用了H5、Js、PYTHON等多語言混合編程,采用WEBSOCKET技術(shù)實現(xiàn)服務(wù)器和客戶端的信息交互。
2系統(tǒng)架構(gòu)設(shè)計
視頻監(jiān)控系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成。視頻監(jiān)控系統(tǒng)硬件系統(tǒng)主要前端攝像機部分、系統(tǒng)傳輸網(wǎng)絡(luò)部分、系統(tǒng)管理中心部分和客戶端。前端攝像機布置在路面固定點、路面可控點、出入口、室內(nèi)等常規(guī)場景,可以選擇固定槍機與球機搭配使用,保證監(jiān)控空間內(nèi)的無盲區(qū)、全覆蓋。監(jiān)控傳輸網(wǎng)絡(luò)系統(tǒng)主要作用是接人各類監(jiān)控資源,采用IP網(wǎng)絡(luò)傳輸技術(shù)傳輸視頻數(shù)據(jù)到監(jiān)控中心的服務(wù)器,為各項應(yīng)用提供基礎(chǔ)保障[2]。系統(tǒng)管理中心是整個視頻監(jiān)控系統(tǒng)的核心,實現(xiàn)視頻圖像資源的匯聚,并對視頻圖像資源進(jìn)行視頻智能分析技術(shù)和進(jìn)行統(tǒng)一管理和調(diào)度。客戶端通過互聯(lián)網(wǎng)或WiFi,無線網(wǎng)可以訪問管理中心的信息。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
系統(tǒng)軟件劃分為視頻信息采集模塊、視頻處理模塊、流媒體服務(wù)模塊、Web服務(wù)模塊、Web客戶端模塊等。視頻采集模塊實現(xiàn)視頻信息采集、對視頻信息壓縮編碼和傳輸。視頻處理功能模塊實現(xiàn)目標(biāo)檢測、目標(biāo)識別和異常行為檢測等功能。Web服務(wù)模塊搭建基于UDP協(xié)議的web服務(wù)器,為用戶提供遠(yuǎn)程連接服務(wù)。Web客戶端模塊可以對實時視頻流和歷史視頻流的請求播放、暫停、停止等操作,和進(jìn)行用戶管理、網(wǎng)絡(luò)配置等操作。將流媒體服務(wù)和Web服務(wù)集成在一臺服務(wù)器上。流媒體服務(wù)模塊的主要功能就是通過流媒體協(xié)議,根據(jù)用戶請求將視頻實時流或歷史流數(shù)據(jù)以流化的方式分發(fā)給客戶端[3]。為了便于網(wǎng)絡(luò)用戶的訪問Web服務(wù),Web服務(wù)模塊主要負(fù)責(zé)接收Web客戶端發(fā)送的HTTP請求,處理請求,并把結(jié)果返回給客戶端,或者對視頻流進(jìn)行調(diào)度和傳輸?shù)裙ぷ鳌?/p>
3智能視頻監(jiān)控系統(tǒng)設(shè)計
3.1視頻信息采集模塊設(shè)計
視頻采集模塊將多種輸出設(shè)備如Image Sensor、vidicon等的視頻信號進(jìn)行抽樣、量化和編碼等操作,從而轉(zhuǎn)化成數(shù)字信號的數(shù)據(jù)采集方式。本系統(tǒng)主要采用IP攝像頭,采用rtsp進(jìn)行網(wǎng)絡(luò)傳輸,lP攝像頭進(jìn)行網(wǎng)絡(luò)傳輸部分代碼如下:
url=rtsp://用戶名:密碼@IP地址:端口號/
cap= cv2.VideoCapture(url)
3.2 Web服務(wù)器模塊設(shè)計
Web服務(wù)器模塊使用基于Chrome V8引擎的NodejS作為服務(wù)器實現(xiàn)視頻轉(zhuǎn)發(fā)、信息讀取等功能。在視頻轉(zhuǎn)發(fā)功能中對端口號進(jìn)行監(jiān)聽,判斷是否有客戶端連接,并進(jìn)行發(fā)送視頻到監(jiān)控畫面以及采集視頻等操作。在信息讀取功能中將讀到的MySQL數(shù)據(jù)庫中的數(shù)據(jù)存入list,并設(shè)置監(jiān)聽判斷是否有新數(shù)據(jù)進(jìn)入,然后封裝數(shù)據(jù)到信息頁面。NodeJS服務(wù)器模塊流程如圖2所示。
3.3視頻處理模塊設(shè)計
在NodejS服務(wù)器獲取了視頻信息后,視頻處理模塊[4]運用SSD和HyperLPR等算法將視頻信息中有用的目標(biāo)特征提取出來,實現(xiàn)目標(biāo)檢測、目標(biāo)識別和異常行為預(yù)測等功能。
3.4 Web客戶端模塊設(shè)計
web客戶端模塊實現(xiàn)與Web服務(wù)器端信息交互,由視頻接收和顯示與web信息接收和顯示兩個子模塊構(gòu)成。視頻接收和顯示子模塊用于從服務(wù)器端獲取視頻流數(shù)據(jù),web信息接收和顯示子模塊用于獲取服務(wù)器端的行人和車輛統(tǒng)計信息。Web客戶端根據(jù)端口號來判斷信息類型。Web客戶端模塊流程如圖3所示。
4關(guān)鍵技術(shù)實現(xiàn)
4.1 Web服務(wù)器構(gòu)建
視頻監(jiān)控系統(tǒng)采用Node.js實現(xiàn)服務(wù)器部分。Node.js充當(dāng)Web服務(wù)器和UDP服務(wù)器作用,實現(xiàn)的功能有通過UDP協(xié)議接收圖像幀數(shù)據(jù)[5],編碼后構(gòu)造成為data URL字符串,通過使用WebSocket協(xié)議進(jìn)行圖像幀數(shù)據(jù)的傳遞,可以同時實現(xiàn)多用戶交互。視頻監(jiān)控系統(tǒng)利用Node.js的path、express、MySQL等模塊,并與socket.io、連接池等相結(jié)合搭建Web服務(wù)器。
4.2 WebSocket通信
為了保證雙向通信信號的計算機通信協(xié)議,使用WebSock-et在客戶端和服務(wù)器之間實現(xiàn)全雙工通信。用戶可以向服務(wù)器發(fā)送消息并接收事件驅(qū)動的響應(yīng),而無須輪詢服務(wù)器。它可以讓多個用戶連接到同一個實時服務(wù)器,并通過API進(jìn)行通信并立即獲得響應(yīng)[6],WebSocket全雙工通信如圖4所示。在本系統(tǒng)中,主要使用socket.io模塊實現(xiàn),部分建立連接代碼如下:
var io= require(”socket.io”)(http);
var serverSocket= dgram.createSocket(”udp4”);
serverSocket.bind(config.udplmagePort);
4.3服務(wù)器端視頻顯示實現(xiàn)
視頻顯示采用PyQt5+designer實現(xiàn),運用多種Label標(biāo)簽和布局進(jìn)行排列組合,并使用百度地圖,canvas和表格等各種方式使界面更多元化。視頻顯示部分代碼如下:
#樹形列表
self'.treeWidget= QtWidgets.QTreeWidget(self.frame)
#顯示外框setFrameShape
self'.frame.setFrameShape(QtWidgets.Q Frame.Box)
self'.page_l.setobjectName(”攝像頭/視頻1”)
self:.frame_l= QtWidgets.QFrame(self'.page_l)
self'.labeL8.setObjectName(”視頻方式l”)
self'.horizontalLayout_3.addWidget(self'.labeL8)
4.4 Web客戶端模塊實現(xiàn)
Web信息接收模塊采用JavaScript+iQuery+ socket.10等實現(xiàn)對服務(wù)器端口號的監(jiān)聽,數(shù)據(jù)的實時顯示,數(shù)據(jù)統(tǒng)計圖的實現(xiàn)等功能。其對服務(wù)器端口的監(jiān)聽部分代碼如下:
socket.on(”(:1”,function(msg)(
var blob= new Blob([msg],(“type”:”imageVjpeg'});
lmage.sre一window.URL.createObjectURL(blob);
4.5目標(biāo)檢測和車牌識別實現(xiàn)
4.5.1目標(biāo)檢測算法
目標(biāo)檢測采用SSD算法實現(xiàn)。SSD算法是一個比單點檢測器更快、更準(zhǔn)確的single-shot多類檢測器,其原因主要有二:一是檢測層采用3*3的Conv卷積核實現(xiàn)了更快;二是針對大中小物體采用多尺度檢測,并分別使用6個檢測層實現(xiàn)了更準(zhǔn)確的檢測[7]。SSD算法基本思想是以均勻的在圖片不同位置進(jìn)行不同尺度和長寬比的密集采樣,利用CNN提取特征后進(jìn)行分類與回歸,SSD框架如圖5所示。根據(jù)理論證明,在相對低的分辨率輸入可實現(xiàn)高精度,高檢測速度以及實時檢測的準(zhǔn)確性。
我們選擇了vOc數(shù)據(jù)集中提取部分的人物和車輛圖片來訓(xùn)練SSD算法,并添加了SSD權(quán)重文件和修改ssd_notebook.ipynb等多個文件,加載VGG模型訓(xùn)練網(wǎng)絡(luò)。
4.5.2車牌識別
在智能監(jiān)控中,車輛車牌號碼的識別是必不可少的。據(jù)統(tǒng)計,全國有27種車輛號牌,如新能源汽車、小型汽車、警車、消防車、摩托車、輕便摩托等。本文采用HyperLPR算法實現(xiàn)車牌識別,HyperLPR是一種專門針對多類型中文車牌識別的高性能高識別的深度學(xué)習(xí)方法,使用了opencv庫函數(shù),易擴(kuò)展,并支持Windows、Linux等多平臺。
5結(jié)束語
本文采用nodejs、javaee、winsocket等技術(shù)設(shè)計和實現(xiàn)了一種校園智能視頻監(jiān)控系統(tǒng),實現(xiàn)的監(jiān)控界面如圖6所示。軟件設(shè)計采用模塊化編程,及面向?qū)ο蟮脑O(shè)計方法便于擴(kuò)展與維護(hù)。用戶在電腦端和手機端均可遠(yuǎn)程瀏覽監(jiān)控畫面、查看統(tǒng)計數(shù)據(jù)、設(shè)置監(jiān)控參數(shù)等功能,管理員能及時注冊用戶,管理監(jiān)控畫面。系統(tǒng)滿足了校園智能監(jiān)控、智能管理以及應(yīng)急響應(yīng)等功能。
參考文獻(xiàn):
[1]宮世杰,王薇,郭喬進(jìn).視頻監(jiān)控系統(tǒng)發(fā)展現(xiàn)狀與趨勢[J].科學(xué)技術(shù)創(chuàng)新,2018(29):81.
[2]胡祖輝,施儉,吳國慶.基于嵌入式以太網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機測量與控制,2019,27(10).
[3]全鳴.流媒體傳輸方式及相關(guān)技術(shù)[J].應(yīng)用科技,2016(2):72.
[4]李丹清,韓利峰,李嘉曾.Nodejs平臺下遠(yuǎn)程視頻和信號監(jiān)控系統(tǒng)的融合[J].儀器儀表用戶,2019(3).
[5]黃文杰.基于UDP的可靠高效數(shù)據(jù)傳輸協(xié)議的研究[D].北京:北京郵電大學(xué),2019.
[6]茆玉庭.基于Node.js和WebSocket的即時通信系統(tǒng)的設(shè)計與實現(xiàn)[D].南京:南京郵電大學(xué),2018.
[7] Wei Liu, Dragomir Anguelov, Dumitru Erhan. Berg. SSD: Sin-gle Shot MultiBox Detector[Z].
【通聯(lián)編輯:謝媛媛】
收稿日期:2019-10-29
基金項目:湖北省大學(xué)生創(chuàng)新創(chuàng)業(yè)基金號(S201910519023)
作者簡介:何錫浩(199 8-),本科生;單玉剛(1971-),通信作者,講師,博士,研究方向為大數(shù)據(jù)處理和模式識別。