馮文奇,張國強,趙 興
(河北省天然氣有限責任公司,河北石家莊 050000)
隨著天然氣的廣泛應用,天然氣管網迅速增長,天然氣管道遭受第三方破壞造成的事故時有發生,對社會和用戶產生了巨大的影響。視頻監控系統是一個集日常生產管理、安全防范、事故防范為一體的綜合動態安全系統,能提升危險源監測預警和事故隱患排查、治理能力,把事故隱患消滅在萌芽狀態,從而達到防范、杜絕事故發生的目的。燃氣行業作為爆炸性高危行業,視頻監控系統是一種有效保障日常安全運營的必要手段之一。
隨著燃氣行業的高速發展,燃氣公司的供氣范圍日漸擴大,廣闊的地域、復雜的環境、有限的崗位、諸多的站點等已經成為燃氣行業管理方面的瓶頸,通過有限的人員與精力來完成上述龐大的監管工作,成為每個燃氣公司需要提上日程的課題。綜合燃氣視頻監控系統的諸多特點,已經成為公認的解決上述問題的最佳選擇。燃氣視頻監控系統已經成為燃氣行業調度系統中不可或缺的組成部分。
目前早期實施的視頻監控系統,無論是模擬系統還是數字系統,都只提供相對比較單一的功能模塊,包括視頻捕獲和視頻存儲等功能[1]。這類系統所采集的視頻數據只能用于事發時的記錄和事發后的審計回放,無法對異常事件提供事前預警。對于視頻數據的分析與查找,依然需要依賴大量的人力完成。由于無法全天候24 h 不間斷地對視頻數據進行甄別篩選,且在線的人工視頻監控過程中,依然會有對視頻漏看以及誤判的各種人工錯誤操作,既浪費了大量人力資源,也不利于在黃金時間進行案件分析與處理。
隨著計算機信息處理技術的快速發展,視頻監控技術正在朝著數字化、網絡化、智能化的方向發展[2]。為了加強安保措施,2008 年北京奧運會部署了中科院研發的實時智能視頻監控預警系統[3],對各個體育場館和周邊環境進行24 h 人流監控和智能分析,實現對異常事件實時預警。該系統有效保障了奧運會期間的安防管理,但是由于奧運會場館部署環境的硬件條件比較完善,供電和數據傳輸都不是系統實施的最大障礙。
由于視頻監控系統的前端設備安裝、供電以及數據通信等原因,一些戶外以及人煙稀少的地區監控應用還存在各種實施困難和應用障礙。尤其是對于地理跨度范圍較廣、地勢情況比較復雜的區域,尤其是當地環境比較惡劣的特殊情況,設備設施易受自然災害和人為破壞,常規的視頻監控解決方案需要提供市電供應和有線傳輸,很難有效監控燃氣管道等基礎設施的安全運營[4]。
針對這種情況,本文提出了一種基于云邊端的分布式架構,通過提供超低功耗的ARM 邊緣設備實現監控現場的視頻采集與基礎分析,通過4G/5G 網絡完成數據傳輸到云端服務監控平臺,能夠有效解決戶外環境下燃氣管道等設施的電力供應以及遠距離視頻數據傳輸的技術難點。大量計算在云端完成,包括數據融合、處理以及基于機器學習的深度挖掘,對現場的各種異常情況進行自動報警,從而實現現場管線和設備的安全運營監控保障。該系統架構能夠有效覆蓋廣袤區域,實現長時間、遠距離的視頻監控,為燃氣系統運營管理部門提供實時運營保障以及為系統的科學決策提供輔助。
目前,移動計算應用程序不斷增長的需求已觸發了從集中式移動云計算向邊緣計算的轉變[5]。云平臺計算是目前最常用的分布式計算模式,通過虛擬化技術整合后臺數據中心的資源,屏蔽不同底層設備的差異性,向用戶提供了透明的計算環境和開發平臺。系統利用互聯網實現了隨時、按需地快捷使用共享計算設備和存儲設備。這種計算模式和服務模式能夠非常靈活的提供應用程序部署資源,具有靈活性、擴展性以及用戶友好的技術優勢。
邊緣計算(Edge Computing)是在靠近數據源端的網絡邊緣側,融合網絡、計算、存儲、應用核心能力的開放平臺。對于需要實時處理的數據,就近提供邊緣計算服務,完成有實時性需求的視頻分析和數據處理[6-7]。對于需要大計算量的數據處理工作,例如數據融合和分析,則遷移到云平臺計算。
邊緣計算和云平臺計算互相配合,協同工作,共同完成系統功能。通過基于ARM 平臺的分布式架構部署,不但能夠有效降低傳統架構的成本,而且可以有效降低運行功耗,提高待機時間,實現長時間的戶外工作。隨著邊緣計算和云計算技術的快速發展,云邊端協同分布式框架作為一種有效的新型計算架構被提出,并在許多領域得到應用,例如Gang Y N 等人介紹了計算框架在電力負荷監控領域的應用,提出了一種在邊緣進行處理、在云端進行優化的云邊協同框架,有效地解決邊緣端計算資源弱和云端通信壓力大的矛盾[8]。但是常規的邊緣計算設備由于設計架構、功耗以及相應的計算能力的差異,無法滿足各種行業特殊應用[9]。
本系統采用云邊端的整體架構,端側與邊緣側實現數據采集和就地智能識別,云端實現智能分析和平臺功能。前端感知層面包含視覺、氣體、環境感知等傳感設備,同時結合智能邊緣計算設備實現前端數據的智能化分析。云端后臺具備智能分析功能,可對端側的識別結果進行二次確認,保障識別的準確性,系統架構如圖1 所示。

圖1 系統架構
系統硬件組成架構如圖2 所示,前端設備主要涉及的硬件包括通信模塊、邊緣計算模塊、存儲模塊、電源模塊,采集設備(攝像頭或激光檢漏儀)、揚聲設備、太陽能發模塊和風能模塊。遠端設備主要包含推理服務器(用于運行后臺的人工智能算法)、通用服務器(用于部署智能視頻管理平臺)、存儲器(用于存儲相應視頻數據),這些設備通常部署在機房或者云端。

圖2 硬件架構
系統的軟件功能分布如圖3 所示。前端設備包含的硬件較多涉及到不同類型的軟件模塊也相應較多,所以這里對軟件進行了分層。其中底層主要與硬件控制相關,屬于驅動類的軟件模塊,如電源管理、環境監測、云臺控制、補光調節等,上層主要為應用類的軟件模塊,其中包括數據通信、AI 識別、節能控制、流媒體等軟件模塊。這些模塊主要與系統的業務相關。

圖3 軟件功能分布
遠端設備主要為遠程視頻管理平臺。其軟件模塊包括預警、報表、流媒體、可視化、AI 識別、數據存儲、視頻存儲、設備定位、數據通信等。這些模塊涉及的中間件MySQL、ZeroMQ、Redis、Tomcat等。除此之外,軟件預留相應API 接口供其它系統集成使用。
遠程視頻管理平臺部署在云平臺上,系統的總體架構如圖4 所示。后端存儲層列舉了當前正在使用和未來可能會使用到的一些數據庫技術。當前使用了主備MySQL 作為主數據庫,并使用Redis 作為緩存。未來隨著數據量的增長,可以使用集群模式的MySQL 和Redis。ES(Elastic Search)數據庫可以作為未來全文搜索,如日志搜索所用。NoSQL 作為實時數據庫,用于支持數據統計的需求,也可以作為監控機器人及管理系統運行情況的數據庫。

圖4 運維管理云平臺架構
業務層以模塊化的形式列舉了系統所提供的各項功能,如用戶管理、權限管理、菜單管理、數據字典、告警消息、統計報表、機器人管理、任務管理等。
業務層之上是一個API 層,封裝了后臺服務與前端或其它服務間通信的協議層差異,保證業務層的相對穩定。第三方平臺可以通過API 層,訪問系統提供的數據。
最上層為交互層和邊緣端,前端設備通過Web Socket 與云平臺進行數據交互,Web 客戶端使用Vue 技術棧進行開發,通過RESTful 接口規范調用管理平臺的接口進行數據交互。另外,管理平臺通過Web Socket 向頁面進行實時信息的推送。在邊緣計算設備和云端系統之間的消息數據通過Web Socket 基于HTTPS 協議進行傳輸,數據傳輸格式為json 格式。對于占用帶寬和資源較大的圖片等數據采用ZMQ 以文件流的方式進行傳輸。
Web 服務器收到消息數據后,進行各種相關的業務處理,將處理結果保存到緩存和數據庫中。Web 服務器收到圖片和地圖后,進行相關處理,將媒體文件保存到磁盤,并將媒體相關信息保存到數據庫。用戶使用WEB 客戶端對系統進行訪問。對于業務數據的查詢、添加、修改、刪除等操作,Web 客戶端通過Post/Get請求,以Restful 方式調用后臺程序的接口,數據傳輸協議采用HTTPS 協議。
Web 服務器后臺程序收到請求后,進行相關業務處理,將處理結果返回給Web 客戶端,數據傳輸以json 格式進行。對于需要實時展示的數據,Web 服務器通過Web Socket 向Web 客戶端主動推送相關數據,客戶端收到后進行實時展示。
系統采用當前流行的前后端分離技術進行開發,其中前端通過Axios 封裝的post 或get 請求,調用后端接口,進行數據交互。對于邊緣端設備上傳的數據,云平臺服務器使用Redis 進行緩存,并保存到數據庫。對于需要實時展示的部分數據,云平臺服務器通過Web socket 向前端頁面進行推送,頁面獲得數據后進行顯示。
國內外對于智能監控系統中異常行為檢測算法的研究已經有很多年,學者們不斷地設計出更優化的算法[10]?;谏窠浘W絡智能識別算法,對典型事件做出自我判斷并識別預警:如人員聚集預警、工程車輛種類及數量、人員軌跡行為分析、管道周邊異常對比等典型目標進行發現。經前期數據集訓練后,后期可完全脫離人員監管,可交由神經網絡系統自動值守真正做到24 h 不間斷值守,大幅提升監管效率及安全手段,降低人員成本。基于神經網絡模型訓練后的車輛與人員識別效果如圖5、圖6 所示。

圖5 車輛識別效果

圖6 人員識別效果
系統為了滿足低功耗、高待機的需求,配置前端設備為ARM 架構的低配設備,在運算能力較低,所以本系統采用輕量化的模型,如YOLOv5、PP-YOLO、Efficient Det、Mobile Net 等。該類模型網絡規模較小,可以在算力受限的邊緣計算設備上運行,同時較低的運算量可以降低模塊的能耗?;赮OLOv5 模型的模型架構以及運算效果如圖7、圖8 所示。

圖7 YOLOv5 目標檢測網絡的結構

圖8 YOLO 不同版本推理性能對比
將YOLOv5 部署到邊緣計算設備Jetson TX2后,對于512×512 的圖片,其最高推理速度可達40 FPS,同時保持其功耗在5~10 W??紤]惡劣情況下電池電量受限,邊緣計算設備可有效降低電量消耗同時具備前端AI 識別功能。后臺由于運行環境為云平臺服務器,所以可以滿足智能識別算法的運行條件。對于后臺識別功能,盡可能選取準確率較高的識別算法如EfficientDet-D7 網絡,這樣可以達到前端報警后、后臺進行二次確認的目的。
對于高風險和臨時施工區,有可能遇到極端惡劣天氣,此時降低前端設備的能耗至關重要。因此可以依據電池電量以及電量的消耗情況,有計劃的改變識別的頻率和補光條件。例如當邊緣設備的電池電量滿格時,前端識別功能可采用較高的識別幀率(≥10 FPS),當設備電池電量降低到1/2 時,可以將識別幀率減半為5 FPS,且僅在需要識別時進行補光操作。通過動態的調整AI 識別模塊的運算負載和硬件設備的補光時機,降低整機功耗。
為了評估基于云邊端分布式系統架構和常規X86 的單機/服務器模式系統架構的區別,使用閥門開關識別模型分別在基于ARM 平臺和基于X86 平臺的計算設備上運行,并查看CPU使用情況,GPU 使用情況以及模型推理的耗費時間,以此對本系統架構的性能進行評估。
X86 服務器連續運行開關識別模型后顯卡及CPU 占用情況,顯存780 M,GPU 占用率約8%,CPU 占用不明顯,模型推理時間0.012 s。系統在Jetson TX2 平臺上連續運行開關識別模型后,顯存占用3 GB,GPU 占用率90%,CPU 占用不明顯。模型推理時間0.15 s。
由上述對比試驗結果可知,對于視覺識別的輕量化單一小模型可以在ARM 平臺上正常運行,但是模型運行對系統內存占用較大,不建議在邊緣端設備直接運行大型復雜模型或者并行運算,對比效果見表1。

表1 系統性能對比
由于視覺識別的推理模型沒有進行壓縮,本次對比實驗使用f32 進行推理,可能是導致顯存占用變大的原因。后續如果對推理模型壓縮后,GPU 占用率應該可以進一步下降。后續工作可以對推理模型進行壓縮和優化,嘗試在云邊端架構上進一步加強邊緣端設備的運行效率。
本系統基于“云—邊—端”分布式架構設計,通過前端部署的攝像頭、云臺、環境傳感器等獲取現場數據,采用ARM 平臺作為邊緣計算設備對需要實時反饋的現場視頻進行處理,依賴云平臺部署的運維管理系統完成大規模的視頻數據計算和分析。系統將大量運算遷移到云端,并通過采用低功耗的Jetson TX2 平臺完成邊緣計算,能夠實現長待機、不間斷24 h 工作。
系統實際測試結果表明,該分布式系統架構能夠滿足用戶實際使用需求,在本地完成必要的實時性運算后,大量的運算配置在云端完成。邊緣段設備的CPU 和GPU 占用都在可控范圍內,因此能夠滿足遠程的燃氣系統設備實時監控與視覺處理。由于前端邊緣計算設備需要配置足夠的算力才能覆蓋多種數據處理場景,因此未來基于本系統可以在視覺模型優化以及計算優化方面進行改善,從而能夠擴展應用場景。