韓 文,張 碩
(北京工業(yè)大學(xué)信息學(xué)部,北京100124)
隨著我國硬件與軟件實(shí)力的提升,公共交通智能化開始逐步發(fā)展,智能交通系統(tǒng)(Intelligent Transport System,簡稱ITS)應(yīng)運(yùn)而生[1]。盡管我國在智能公交監(jiān)控系統(tǒng)方面有所研究,但是基于WebGIS的視頻監(jiān)控并結(jié)合車輛調(diào)度模塊接口的系統(tǒng)卻并不多見[2-3],本文就是在這樣的構(gòu)想下進(jìn)行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
國內(nèi)車輛視頻監(jiān)控大多根據(jù)路況信息對(duì)車輛進(jìn)行監(jiān)控,如將車流量等因子作為衡量道路狀況的條件,通過背景查分等方法提取車流量、車輛類型及車速等信息實(shí)現(xiàn)車輛視頻監(jiān)控[4-5]。這種方法只能對(duì)指定地點(diǎn)以及僅限車身環(huán)境進(jìn)行視頻監(jiān)控,而無法對(duì)車內(nèi)狀況進(jìn)行全程實(shí)時(shí)監(jiān)控。因此,本文圍繞公交車輛進(jìn)行視頻監(jiān)控部署,通過將視頻流數(shù)據(jù)與車輛基本位置信息等數(shù)據(jù)進(jìn)行融合發(fā)送至平臺(tái)進(jìn)行處理,結(jié)合WebGIS將公交車內(nèi)及車身環(huán)境進(jìn)行實(shí)時(shí)和較為全面的監(jiān)控[6-7]。
大多數(shù)的智能公交調(diào)度平臺(tái)會(huì)針對(duì)某一調(diào)度問題如制定排班計(jì)劃或最優(yōu)路徑規(guī)劃等進(jìn)行設(shè)計(jì)和開發(fā)[8-9],通常設(shè)計(jì)開發(fā)人員會(huì)使用某一算法來較理想地進(jìn)行調(diào)度。然而,如果系統(tǒng)需要更優(yōu)質(zhì)的算法來提升系統(tǒng)的性能,則需要重新更新調(diào)度模塊,這勢(shì)必會(huì)耗費(fèi)大量的人力物力,增加系統(tǒng)開發(fā)成本。針對(duì)這一問題,本文設(shè)計(jì)出車輛業(yè)務(wù)調(diào)度接口模型[10-11],實(shí)現(xiàn)系統(tǒng)功能模塊的解耦,從而解決系統(tǒng)模塊更新困難這一問題。
WebGIS技術(shù)是Internet技術(shù)應(yīng)用于GIS系統(tǒng)開發(fā)的產(chǎn)物,是GIS系統(tǒng)在WEB功能上的一種拓展。WebGIS技術(shù)允許用戶和服務(wù)器能夠分布在不同地點(diǎn)或不同的操作平臺(tái)上進(jìn)行運(yùn)作,在WEB的任意一個(gè)節(jié)點(diǎn)上,用戶可以登錄WebGIS站點(diǎn)訪問瀏覽空間數(shù)據(jù)和制作專題圖,可以進(jìn)行空間檢索、空間數(shù)據(jù)分析、空間數(shù)據(jù)發(fā)布和空間模型的服務(wù)等操作。目前對(duì)于WebGIS技術(shù)研究多是基于Internet,采用B/S或多級(jí)B/S體系結(jié)構(gòu),使用JAVA、CORBA、DCOM/ACTIVEX和COM+等分布式面向?qū)ο蠹夹g(shù)或幾種技術(shù)綜合使用來構(gòu)造WebGIS。
EasyDarwin是國內(nèi)開發(fā)的一套開源流媒體視頻平臺(tái)框架,包含單點(diǎn)服務(wù)開源流媒體服務(wù)器及擴(kuò)展后的流媒體云平臺(tái)架構(gòu)開源框架。EasyDarwin核心流媒體服務(wù)支持RTSP/RTP流媒體協(xié)議,經(jīng)過相關(guān)配置,將H.264/M-JPEG/MPEG-4/G.711/G.726/AAC等音視頻數(shù)據(jù)推送至RTSP流媒體服務(wù)器,在Windows、Linux、Android、IOS等多種平臺(tái)上實(shí)現(xiàn)流媒體數(shù)據(jù)的轉(zhuǎn)發(fā)功能,進(jìn)行低延時(shí)直播或視頻播放。
系統(tǒng)由安控終端、服務(wù)器集群和B/S客戶端三部分組成,其架構(gòu)圖如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
安控終端用以車輛相關(guān)數(shù)據(jù)的收集,是整個(gè)系統(tǒng)所用數(shù)據(jù)的重要來源。通過與GPS衛(wèi)星的通訊,車載終端獲得車輛GPS基本位置信息,包括經(jīng)緯度、高程、車速、方向及時(shí)間等,這些信息參數(shù)將為調(diào)度接口的設(shè)計(jì)開發(fā)提供參考;攝像頭收集車內(nèi)和車身等視頻信息,以數(shù)據(jù)流的形式向平臺(tái)進(jìn)行數(shù)據(jù)傳輸。安控終端與平臺(tái)采用TCP通信協(xié)議進(jìn)行通信,并通過發(fā)送終端心跳消息和平臺(tái)通用應(yīng)答消息等維持通信鏈路的連接。
服務(wù)器端主要由網(wǎng)關(guān)服務(wù)器、GIS服務(wù)器、流媒體服務(wù)器、數(shù)據(jù)服務(wù)器、FTP服務(wù)器和數(shù)據(jù)庫組成。網(wǎng)關(guān)服務(wù)器提供車輛接入服務(wù),車輛與網(wǎng)關(guān)服務(wù)器建立通信鏈路,并通過此鏈路傳送車輛位置和狀態(tài)信息以及負(fù)責(zé)與上級(jí)平臺(tái)交互;GIS服務(wù)器提供地理信息相關(guān)服務(wù);數(shù)據(jù)服務(wù)器負(fù)責(zé)安控終端傳感器數(shù)據(jù)接收、數(shù)據(jù)入庫存儲(chǔ);FTP服務(wù)器提供固件升級(jí)服務(wù);數(shù)據(jù)庫用于系統(tǒng)信息和安控終端傳感器信息的存儲(chǔ)。流媒體服務(wù)器通過RTSP協(xié)議接收來自安控終端的視頻數(shù)據(jù)流,對(duì)流數(shù)據(jù)進(jìn)行處理、存儲(chǔ)和轉(zhuǎn)發(fā),可以在Web客戶端提取視頻信息進(jìn)行實(shí)時(shí)的播放或者錄像的回放。
B/S客戶端實(shí)現(xiàn)系統(tǒng)功能應(yīng)用展示。系統(tǒng)使用百度地圖JavaScript API加載WEB地圖,進(jìn)行地圖功能的二次開發(fā)[12],實(shí)現(xiàn)車輛定位、軌跡回放及車輛報(bào)警等功能;使用VLC播放器播放H.264視頻流,根據(jù)不同頻道(Channel)來選擇想要播放的視頻監(jiān)控,實(shí)現(xiàn)實(shí)時(shí)視頻監(jiān)控和錄像回放功能;提供import調(diào)度功能模塊加載入口,通過添加功能類文件實(shí)現(xiàn)功能模塊的加載。
系統(tǒng)數(shù)據(jù)主要包括終端位置信息數(shù)據(jù)和終端視頻數(shù)據(jù)兩部分。安控終端通過GPS模塊接收車輛GPS數(shù)據(jù)信息,結(jié)合車載設(shè)備其他傳感器獲得的車輛終端參數(shù),形成終端位置信息數(shù)據(jù),包括車輛經(jīng)緯度、高程值、車輛速度、行駛方向、定位時(shí)間以及報(bào)警信息等。終端視頻數(shù)據(jù)主要是由部署在安控終端上的攝像頭進(jìn)行獲取,攝像頭將拍攝的視頻數(shù)據(jù)生成.avi格式文件存儲(chǔ)在安控終端存儲(chǔ)單元中,或通過RTSP協(xié)議將視頻流數(shù)據(jù)直接發(fā)送至服務(wù)器端進(jìn)行處理。
按照以上設(shè)計(jì),數(shù)據(jù)組織設(shè)計(jì)如圖2所示。從圖中可以看出,安控終端上的GPS模塊和傳感器獲取終端位置信息數(shù)據(jù),將其發(fā)送至數(shù)據(jù)服務(wù)器,在SQL Server數(shù)據(jù)庫進(jìn)行存儲(chǔ),供平臺(tái)應(yīng)用進(jìn)行數(shù)據(jù)查詢,結(jié)合百度地圖API進(jìn)行車輛位置相關(guān)服務(wù)展示;車輛攝像頭獲取終端視頻數(shù)據(jù),轉(zhuǎn)發(fā)至EasyDarwin流媒體服務(wù)器進(jìn)行處理,平臺(tái)通過VLC播放器進(jìn)行視頻播放。
圖2 數(shù)據(jù)組織設(shè)計(jì)圖
WEB地圖加載是車輛定位及軌跡跟蹤功能實(shí)現(xiàn)的基礎(chǔ),系統(tǒng)使用百度地圖的JavaScript API加載在線WEB地圖數(shù)據(jù),可以提供位置標(biāo)注、地圖縮放、地圖模式切換、經(jīng)緯度顯示等功能。
車輛定位模塊將所有車輛以列表形式列出,用戶可以選擇想要查詢的車輛,根據(jù)選中車輛的終端ID在后臺(tái)通過與SQL Server數(shù)據(jù)庫的連接查詢車輛經(jīng)緯度與高程值,前臺(tái)通過Ajax異步調(diào)用獲取Json格式數(shù)據(jù),在地圖上進(jìn)行車輛位置顯示[13]。點(diǎn)擊地圖上車輛圖標(biāo),會(huì)顯示車輛經(jīng)緯度、高程、車速、車輛行駛方向、定位時(shí)間、溫濕度、油量、載客量等詳細(xì)信息。
軌跡跟蹤是對(duì)某一車輛在一段時(shí)間徑進(jìn)行歷史查詢并進(jìn)行回放。軌跡回放需要確定某一具體車輛和車輛查詢的起始時(shí)間及終止時(shí)間,根據(jù)車輛ID從數(shù)據(jù)庫中提取時(shí)間段內(nèi)的位置坐標(biāo),在WEB地圖上通過線對(duì)象描繪歷史軌跡;通過定時(shí)器將車輛的變化位置進(jìn)行描繪,動(dòng)態(tài)展示車輛行駛軌跡。
實(shí)現(xiàn)視頻播放功能,首先需要在平臺(tái)上部署流媒體服務(wù)器,本系統(tǒng)使用EasyDarwin流媒體服務(wù)器實(shí)現(xiàn)視頻流的處理和轉(zhuǎn)發(fā)。使用EasyDarwin流媒體服務(wù)器前需配置RTSP端口和HTTP端口等服務(wù)器參數(shù)。視頻實(shí)時(shí)監(jiān)控為用戶提供車輛選擇的樹形列表,并綁定監(jiān)聽器,用戶在平臺(tái)界面上選擇目標(biāo)監(jiān)控車輛以及監(jiān)控探頭編號(hào)時(shí),平臺(tái)會(huì)向終端發(fā)送請(qǐng)求,終端根據(jù)車輛終端ID和攝像頭IP將獲取的實(shí)時(shí)視頻流傳送至EasyDarwin服務(wù)器進(jìn)行處理和轉(zhuǎn)發(fā),然后將視頻流推送至平臺(tái)前端,由VLC視頻播放器進(jìn)行實(shí)時(shí)視頻播放[14]。VLC播放視頻加載偽代碼如下:
視頻錄像回放對(duì)車輛某段時(shí)間內(nèi)的監(jiān)控錄像進(jìn)行提取和播放。視頻錄像在監(jiān)控探頭進(jìn)行攝像時(shí),在終端設(shè)備進(jìn)行歸檔備份,平臺(tái)提取時(shí)需要對(duì)目標(biāo)文件進(jìn)行篩選進(jìn)行播放。在平臺(tái)上選擇監(jiān)控篩選條件,包括車輛終端編號(hào)、開始時(shí)間和結(jié)束時(shí)間、文件位置以及錄像類型,點(diǎn)擊“搜索”按鈕,事件監(jiān)聽器將會(huì)根據(jù)車輛終端ID及篩選條件,將符合條件錄像文件加載至下載列表中,用戶可以對(duì)目標(biāo)視頻文件通過EasyDarwin流媒體服務(wù)器進(jìn)行流數(shù)據(jù)轉(zhuǎn)發(fā)實(shí)現(xiàn)在線播放,也可以下載到本地進(jìn)行查看。
平臺(tái)提供調(diào)度功能接口,用戶可以在車輛調(diào)度功能模塊界面搜索可以加載的調(diào)度模塊,選擇合適的調(diào)度模塊進(jìn)行加載。平臺(tái)根據(jù)選中模塊對(duì)應(yīng)的功能類文件,通過XML配置文件對(duì)功能模塊進(jìn)行配置[15-16],利用反射機(jī)制實(shí)現(xiàn)功能模塊在平臺(tái)上的加載,提高系統(tǒng)擴(kuò)展性和靈活性。調(diào)度接口模型如圖3所示。
圖3 調(diào)度接口模型圖
從模型圖中可以看出,終端位置信息數(shù)據(jù)發(fā)送至平臺(tái),平臺(tái)將獲取的終端位置信息數(shù)據(jù)作為調(diào)度接口參數(shù)。平臺(tái)調(diào)度接口模塊加載實(shí)現(xiàn)調(diào)度功能的功能類文件,同時(shí)配置XML文件,運(yùn)用反射完成調(diào)度接口的實(shí)現(xiàn)。此時(shí),平臺(tái)調(diào)度模塊可以調(diào)用調(diào)度接口實(shí)現(xiàn)模塊功能,最終將結(jié)果在平臺(tái)上進(jìn)行顯示。
根據(jù)以上的分析和設(shè)計(jì),本文實(shí)現(xiàn)了基于WebGIS的智能公交視頻監(jiān)控調(diào)度系統(tǒng),主要功能實(shí)現(xiàn)效果圖如圖4和圖5所示,包括車輛的軌跡跟蹤和視頻監(jiān)控的回放等。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)能夠?qū)囕v進(jìn)行有效的位置定位和視頻監(jiān)控,加載調(diào)度功能模塊完成調(diào)度分析,實(shí)現(xiàn)了預(yù)期目標(biāo)。
圖4 軌跡回放
圖5 視頻錄像播放
針對(duì)公交車輛監(jiān)控方式和系統(tǒng)調(diào)度方式單一化以及無法有效實(shí)現(xiàn)可視化等問題,本文對(duì)基于WebGIS的智能公交視頻監(jiān)控調(diào)度系統(tǒng)進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)。系統(tǒng)在實(shí)現(xiàn)WebGIS基本功能的前提下,如在線地圖加載、車輛定位和軌跡跟蹤等,將視頻實(shí)時(shí)監(jiān)控和錄像回放功能添加到本系統(tǒng)中,可以對(duì)車輛狀況進(jìn)行有效的監(jiān)控,同時(shí)提供了調(diào)度功能接口,可以任意添加符合接口規(guī)范的功能模塊實(shí)現(xiàn)調(diào)度,增強(qiáng)了系統(tǒng)的擴(kuò)展性。經(jīng)過測(cè)試,實(shí)驗(yàn)結(jié)果表明,系統(tǒng)能夠?qū)崟r(shí)準(zhǔn)確地獲取車輛數(shù)據(jù),查詢并清晰流暢地播放監(jiān)控視頻,功能較為完善,在智能公交領(lǐng)域有非常廣闊的應(yīng)用和發(fā)展前景。