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

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

圖2 硬件架構(gòu)
系統(tǒng)的軟件功能分布如圖3 所示。前端設(shè)備包含的硬件較多涉及到不同類型的軟件模塊也相應(yīng)較多,所以這里對(duì)軟件進(jìn)行了分層。其中底層主要與硬件控制相關(guān),屬于驅(qū)動(dòng)類的軟件模塊,如電源管理、環(huán)境監(jiān)測(cè)、云臺(tái)控制、補(bǔ)光調(diào)節(jié)等,上層主要為應(yīng)用類的軟件模塊,其中包括數(shù)據(jù)通信、AI 識(shí)別、節(jié)能控制、流媒體等軟件模塊。這些模塊主要與系統(tǒng)的業(yè)務(wù)相關(guān)。

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

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

圖5 車輛識(shí)別效果

圖6 人員識(shí)別效果
系統(tǒng)為了滿足低功耗、高待機(jī)的需求,配置前端設(shè)備為ARM 架構(gòu)的低配設(shè)備,在運(yùn)算能力較低,所以本系統(tǒng)采用輕量化的模型,如YOLOv5、PP-YOLO、Efficient Det、Mobile Net 等。該類模型網(wǎng)絡(luò)規(guī)模較小,可以在算力受限的邊緣計(jì)算設(shè)備上運(yùn)行,同時(shí)較低的運(yùn)算量可以降低模塊的能耗。基于YOLOv5 模型的模型架構(gòu)以及運(yùn)算效果如圖7、圖8 所示。

圖7 YOLOv5 目標(biāo)檢測(cè)網(wǎng)絡(luò)的結(jié)構(gòu)

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

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