韓 文,張 碩
(北京工業大學信息學部,北京100124)
隨著我國硬件與軟件實力的提升,公共交通智能化開始逐步發展,智能交通系統(Intelligent Transport System,簡稱ITS)應運而生[1]。盡管我國在智能公交監控系統方面有所研究,但是基于WebGIS的視頻監控并結合車輛調度模塊接口的系統卻并不多見[2-3],本文就是在這樣的構想下進行系統的設計與實現。
國內車輛視頻監控大多根據路況信息對車輛進行監控,如將車流量等因子作為衡量道路狀況的條件,通過背景查分等方法提取車流量、車輛類型及車速等信息實現車輛視頻監控[4-5]。這種方法只能對指定地點以及僅限車身環境進行視頻監控,而無法對車內狀況進行全程實時監控。因此,本文圍繞公交車輛進行視頻監控部署,通過將視頻流數據與車輛基本位置信息等數據進行融合發送至平臺進行處理,結合WebGIS將公交車內及車身環境進行實時和較為全面的監控[6-7]。
大多數的智能公交調度平臺會針對某一調度問題如制定排班計劃或最優路徑規劃等進行設計和開發[8-9],通常設計開發人員會使用某一算法來較理想地進行調度。然而,如果系統需要更優質的算法來提升系統的性能,則需要重新更新調度模塊,這勢必會耗費大量的人力物力,增加系統開發成本。針對這一問題,本文設計出車輛業務調度接口模型[10-11],實現系統功能模塊的解耦,從而解決系統模塊更新困難這一問題。
WebGIS技術是Internet技術應用于GIS系統開發的產物,是GIS系統在WEB功能上的一種拓展。WebGIS技術允許用戶和服務器能夠分布在不同地點或不同的操作平臺上進行運作,在WEB的任意一個節點上,用戶可以登錄WebGIS站點訪問瀏覽空間數據和制作專題圖,可以進行空間檢索、空間數據分析、空間數據發布和空間模型的服務等操作。目前對于WebGIS技術研究多是基于Internet,采用B/S或多級B/S體系結構,使用JAVA、CORBA、DCOM/ACTIVEX和COM+等分布式面向對象技術或幾種技術綜合使用來構造WebGIS。
EasyDarwin是國內開發的一套開源流媒體視頻平臺框架,包含單點服務開源流媒體服務器及擴展后的流媒體云平臺架構開源框架。EasyDarwin核心流媒體服務支持RTSP/RTP流媒體協議,經過相關配置,將H.264/M-JPEG/MPEG-4/G.711/G.726/AAC等音視頻數據推送至RTSP流媒體服務器,在Windows、Linux、Android、IOS等多種平臺上實現流媒體數據的轉發功能,進行低延時直播或視頻播放。
系統由安控終端、服務器集群和B/S客戶端三部分組成,其架構圖如圖1所示。

圖1 系統架構圖
安控終端用以車輛相關數據的收集,是整個系統所用數據的重要來源。通過與GPS衛星的通訊,車載終端獲得車輛GPS基本位置信息,包括經緯度、高程、車速、方向及時間等,這些信息參數將為調度接口的設計開發提供參考;攝像頭收集車內和車身等視頻信息,以數據流的形式向平臺進行數據傳輸。安控終端與平臺采用TCP通信協議進行通信,并通過發送終端心跳消息和平臺通用應答消息等維持通信鏈路的連接。
服務器端主要由網關服務器、GIS服務器、流媒體服務器、數據服務器、FTP服務器和數據庫組成。網關服務器提供車輛接入服務,車輛與網關服務器建立通信鏈路,并通過此鏈路傳送車輛位置和狀態信息以及負責與上級平臺交互;GIS服務器提供地理信息相關服務;數據服務器負責安控終端傳感器數據接收、數據入庫存儲;FTP服務器提供固件升級服務;數據庫用于系統信息和安控終端傳感器信息的存儲。流媒體服務器通過RTSP協議接收來自安控終端的視頻數據流,對流數據進行處理、存儲和轉發,可以在Web客戶端提取視頻信息進行實時的播放或者錄像的回放。
B/S客戶端實現系統功能應用展示。系統使用百度地圖JavaScript API加載WEB地圖,進行地圖功能的二次開發[12],實現車輛定位、軌跡回放及車輛報警等功能;使用VLC播放器播放H.264視頻流,根據不同頻道(Channel)來選擇想要播放的視頻監控,實現實時視頻監控和錄像回放功能;提供import調度功能模塊加載入口,通過添加功能類文件實現功能模塊的加載。
系統數據主要包括終端位置信息數據和終端視頻數據兩部分。安控終端通過GPS模塊接收車輛GPS數據信息,結合車載設備其他傳感器獲得的車輛終端參數,形成終端位置信息數據,包括車輛經緯度、高程值、車輛速度、行駛方向、定位時間以及報警信息等。終端視頻數據主要是由部署在安控終端上的攝像頭進行獲取,攝像頭將拍攝的視頻數據生成.avi格式文件存儲在安控終端存儲單元中,或通過RTSP協議將視頻流數據直接發送至服務器端進行處理。
按照以上設計,數據組織設計如圖2所示。從圖中可以看出,安控終端上的GPS模塊和傳感器獲取終端位置信息數據,將其發送至數據服務器,在SQL Server數據庫進行存儲,供平臺應用進行數據查詢,結合百度地圖API進行車輛位置相關服務展示;車輛攝像頭獲取終端視頻數據,轉發至EasyDarwin流媒體服務器進行處理,平臺通過VLC播放器進行視頻播放。

圖2 數據組織設計圖
WEB地圖加載是車輛定位及軌跡跟蹤功能實現的基礎,系統使用百度地圖的JavaScript API加載在線WEB地圖數據,可以提供位置標注、地圖縮放、地圖模式切換、經緯度顯示等功能。
車輛定位模塊將所有車輛以列表形式列出,用戶可以選擇想要查詢的車輛,根據選中車輛的終端ID在后臺通過與SQL Server數據庫的連接查詢車輛經緯度與高程值,前臺通過Ajax異步調用獲取Json格式數據,在地圖上進行車輛位置顯示[13]。點擊地圖上車輛圖標,會顯示車輛經緯度、高程、車速、車輛行駛方向、定位時間、溫濕度、油量、載客量等詳細信息。
軌跡跟蹤是對某一車輛在一段時間徑進行歷史查詢并進行回放。軌跡回放需要確定某一具體車輛和車輛查詢的起始時間及終止時間,根據車輛ID從數據庫中提取時間段內的位置坐標,在WEB地圖上通過線對象描繪歷史軌跡;通過定時器將車輛的變化位置進行描繪,動態展示車輛行駛軌跡。
實現視頻播放功能,首先需要在平臺上部署流媒體服務器,本系統使用EasyDarwin流媒體服務器實現視頻流的處理和轉發。使用EasyDarwin流媒體服務器前需配置RTSP端口和HTTP端口等服務器參數。視頻實時監控為用戶提供車輛選擇的樹形列表,并綁定監聽器,用戶在平臺界面上選擇目標監控車輛以及監控探頭編號時,平臺會向終端發送請求,終端根據車輛終端ID和攝像頭IP將獲取的實時視頻流傳送至EasyDarwin服務器進行處理和轉發,然后將視頻流推送至平臺前端,由VLC視頻播放器進行實時視頻播放[14]。VLC播放視頻加載偽代碼如下:

視頻錄像回放對車輛某段時間內的監控錄像進行提取和播放。視頻錄像在監控探頭進行攝像時,在終端設備進行歸檔備份,平臺提取時需要對目標文件進行篩選進行播放。在平臺上選擇監控篩選條件,包括車輛終端編號、開始時間和結束時間、文件位置以及錄像類型,點擊“搜索”按鈕,事件監聽器將會根據車輛終端ID及篩選條件,將符合條件錄像文件加載至下載列表中,用戶可以對目標視頻文件通過EasyDarwin流媒體服務器進行流數據轉發實現在線播放,也可以下載到本地進行查看。
平臺提供調度功能接口,用戶可以在車輛調度功能模塊界面搜索可以加載的調度模塊,選擇合適的調度模塊進行加載。平臺根據選中模塊對應的功能類文件,通過XML配置文件對功能模塊進行配置[15-16],利用反射機制實現功能模塊在平臺上的加載,提高系統擴展性和靈活性。調度接口模型如圖3所示。

圖3 調度接口模型圖
從模型圖中可以看出,終端位置信息數據發送至平臺,平臺將獲取的終端位置信息數據作為調度接口參數。平臺調度接口模塊加載實現調度功能的功能類文件,同時配置XML文件,運用反射完成調度接口的實現。此時,平臺調度模塊可以調用調度接口實現模塊功能,最終將結果在平臺上進行顯示。
根據以上的分析和設計,本文實現了基于WebGIS的智能公交視頻監控調度系統,主要功能實現效果圖如圖4和圖5所示,包括車輛的軌跡跟蹤和視頻監控的回放等。實驗結果表明,系統能夠對車輛進行有效的位置定位和視頻監控,加載調度功能模塊完成調度分析,實現了預期目標。

圖4 軌跡回放

圖5 視頻錄像播放
針對公交車輛監控方式和系統調度方式單一化以及無法有效實現可視化等問題,本文對基于WebGIS的智能公交視頻監控調度系統進行了設計和實現。系統在實現WebGIS基本功能的前提下,如在線地圖加載、車輛定位和軌跡跟蹤等,將視頻實時監控和錄像回放功能添加到本系統中,可以對車輛狀況進行有效的監控,同時提供了調度功能接口,可以任意添加符合接口規范的功能模塊實現調度,增強了系統的擴展性。經過測試,實驗結果表明,系統能夠實時準確地獲取車輛數據,查詢并清晰流暢地播放監控視頻,功能較為完善,在智能公交領域有非常廣闊的應用和發展前景。