張 健,趙啟博,巨永鋒
(1.西安培華學院智能科學與信息工程學院,陜西西安 710125;2.陜西智世華頤科技有限公司,陜西西安 710061;3.長安大學 電子與控制工程學院,陜西 西安 710064)
邊緣計算是指在網絡邊緣側集成網絡、存儲、計算和應用等核心能力,靠近物聯網端或者數據源端提供應用智能服務以滿足行業在敏捷連接、數據優化、實時業務、智能應用、隱私與安全保護等領域的重點需求[1]。
傳統的基于云計算的物聯網系統存在數據傳輸網絡延時高、網絡帶寬消耗大、數據中心能耗高、數據安全和隱私性差等諸多問題。
將基于邊緣計算的物聯網技術應用于安防領域(如建筑工地、熱電廠、采煤廠等),不但可以充分發揮物聯網協同感知的優勢,使系統具備自學習、自適應特性,定位更加精準,入侵目標能分類識別,減輕監控人員的負擔,還能對各種類型的入侵行為進行及時、有效且規范的探測報警,并根據不同的報警事件作出實時的應急處理響應,為安防領域提供安全可靠的運行環境[3]。
該文針對目前應用比較廣泛的安防系統場景,并基于邊緣計算和AI 技術設計了一套通用的系統架構,主要包括邊緣端、邊緣計算節點、云服務端(服務器和監控平臺)三層架構,如圖1 所示。其中,邊緣端主要通過傳感器、攝像頭等采集監控區域特定的信息,并將采集到的視頻、語音、圖像等信息以數據流的方式實時發送到物端。物端設備即為邊緣計算設備,一個物端設備可以控制和管理8個邊緣設備。物端通過接收到邊緣端采集的視頻、語音、圖像等數據,實時調用從云端下載的AI 算法包即可得到實時預警畫面,從而進一步對安全生產過程中存在的人員、車輛、環境因素等安全隱患進行實時主動的監測預警,并將預警信息實時上報到云端。云端作為安全生產管理的駕駛艙,主要對安防環境區域、工作人員、訪客、車輛等信息的實時狀態進行遠程監控、預警和管理。除此以外,云端還根據物聯網端處理的業務類型的不同分別設計數據服務器、消息服務器、流媒體服務器,從而達到業務處理的負載均衡。

圖1 邊緣計算網絡三層架構圖
該文的主要目標是設計并搭建一套基于邊緣計算的高可用、可實時處理的通用安防系統,通過定制化邊緣計算的物聯網設備部署在靠近用戶側的邊緣設備,提供低延遲、高可靠、高可用、彈性AI計算等服務,從而滿足客戶要求的在實時業務、應用智能、數據就近處理分析、數據安全和隱私保護等方面的關鍵功能,且能夠靈活配置管理大規模邊緣計算應用,為不同領域安防系統的架構設計和實現提供技術參考。
從圖1 中可以看到,在邊緣設備和云端中間增加了邊緣計算物聯網設備,以此作為云端和邊緣端業務數據處理和控制消息的橋梁。通過邊緣計算節點實時采集邊緣終端攝像頭的視頻、語音、溫度、濕度等數據,并調用算法服務實現實時的業務處理,對安全生產過程中存在的人員、車輛、環境因素等安全隱患進行實時主動的監測預警,并根據預警信息實時作出處理。
邊緣計算物聯網設備主要由硬件和軟件組成,硬件最小化設計基本配置如表1 所示。其中,一個物端設備設計可以通過有線或無線網絡接入控制和管理8 個邊緣設備,硬件設備設計用戶可根據具體應用場景、預算成本個性化定制,在設計時需要充分考慮穩定的路由功能、高可靠性、穩定性、豐富的外設接口、全面的電氣保護功能、穩定的內核系統等多種因素影響。

表1 邊緣計算物聯網硬件設備基本配置
在邊緣計算物端硬件設備上部署消息服務高可用的集群(可考慮采用Kafka 集群),將消息服務作為物端設備和云服務之間的網關,實現設備監測、消息服務及對應業務處理,確保即使某單個節點發生故障,也能實現系統的高可用性和零停機時間,同時能達到節點與云服務器之間通信的高吞吐率。
通過部署分布式消息集群,開發邊緣計算軟件平臺,實現與云服務端的實時消息通信。通過消息訂閱實時響應云服務端的設備清單配置、物端設備狀態上報、邊緣端設備和SDK 管理、邊緣端設備控制、AI 算法調用和預警結果上報、算法服務升級、預警視頻流上傳、物端運行日志獲取等功能,其中邊緣計算終端軟件平臺詳細功能設計如圖2 所示。

圖2 邊緣計算終端軟件平臺詳細功能設計
邊緣計算終端在網絡邊緣側的計算能力主要體現在針對安防系統不同預警畫面識別的能力,用戶可以根據不同業務場景,設計多樣化的視頻流檢測AI 算法(如人臉識別算法,煙火算法,大規模人員聚集、越界檢測算法,車輛管理識別算法,工作服識別算法,安全帽識別算法,電子圍欄算法等)。通過目標檢測算法對視頻流中的預警畫面進行動態識別,實時發送預警消息到云端,并將預警證據視頻發送到流媒體服務器進行全量保存,以便云端可以靈活查詢指定時間段的預警畫面。
預警信息以短信、警報等方式傳送給安全員,同時通過后續加裝處置設備,可以實現自動關聯觸發安全裝置(如消防滅火、粉塵處理、車輛攔截等)。通過算法服務模塊可以高效完成算法升級服務,如算法升級正常處理流程、算法升級失敗回滾流程等,以上功能對正常業務完全透明。
云端監控管理平臺作為用戶管理整個系統的駕駛艙,主要模塊及具體功能如圖3 所示。管理平臺可以從不同維度提供預警大數據分析,為安防措施、改進和優化提供指導作用。

圖3 云端監控管理平臺各模塊功能
云端監控管理平臺設計以MySQL 為后臺數據庫,以WEB 設計網頁為前臺,采用三層網絡結構。網站用戶接口(即界面)由WEB 完成,數據和邏輯處理由JavaBean 組件完成,數據存儲由MySQL 完成。
邊緣計算終端作為云端和邊緣端業務數據處理和消息控制的橋梁,起著至關重要的作用。該文提出的基于邊緣計算的通用智能安防系統架構將詳細介紹邊緣計算終端軟件平臺的模塊具體實現流程。
為了提高邊緣計算終端并發處理來自云端控制消息的處理能力,此處將邊緣計算終端上部署的進程設計為多線程模式,由主線程模塊初始化創建多個子線程,每個子線程為一個獨立的調度任務,每個調度任務中創建多個消息隊列,用于多個任務并行處理云端和邊緣設備的控制消息。平臺軟件包含6個線程:消息服務線程(接收消息和發送消息)、設備服務線程(循環定時上報物端設備狀態信息)、心跳檢測線程、日志服務線程、算法服務線程、流媒體服務線程。
邊緣計算終端軟件系統具體實現主要分為控制接口和數據接口。其中,控制接口主要通過TCP 協議與云端服務器約定消息體結構,只需要根據約定的結構封裝和解析消息體內容,獲取到消息體中對應屬性即可。數據接口主要由邊緣計算終端根據服務器下發控制接口中不同的控制命令,通過Restful接口主動向服務器發送HTTP 消息,主動獲取不同對象的配置數據,以及向服務器發送預警信息、日志等。以下重點介紹設備服務模塊和算法服務模塊的主要功能,以及該系統應用于人員聚集場景下的口罩識別檢測的測試實驗結果。
設備服務模塊主要處理流程如下:
1)邊緣設備管理
邊緣計算終端調用邊緣設備的SDK 連接邊緣設備,并通過邊緣設備狀態更新請求消息將邊緣設備的連接狀態發送到服務器端。
2)邊緣設備控制
邊緣計算終端接收來自服務端的邊緣設備控制命令請求消息;邊緣計算終端通過控制命令的類型調用不同的控制接口,以此來控制邊緣終端進行拉伸、縮放以及角度旋轉等;邊緣計算終端完成邊緣終端的控制操作后向服務端傳回響應消息。
3)預警消息的上報和存儲
邊緣計算終端定時調用算法得到實時預警畫面,通過預警請求消息發送到消息服務器,以此來完成預警視頻畫面的截取、保存、上傳等操作。
算法服務模塊主要處理流程包括算法服務下載、算法服務加載運行、核心算法服務的調用,根據不同算法服務要求的入參調用算法服務,得到算法服務的處理結果,根據結果進行預警業務。另外,該模塊還包括算法升級功能,當進行算法升級時啟用備用模塊進行處理,升級完成后再切換回原模塊繼續處理。
如圖4 所示,將該系統硬件設備部署在學校報告廳內,通過攝像頭實時采集報告廳內的視頻流,并通過口罩檢測AI 算法進行目標檢測,對比攝像頭已連接邊緣檢測終端(即通過邊緣檢測終端設備調用目前檢測算法)和未連接邊緣檢測終端(即直接連接服務器PC 設備的集中式方法)兩種架構,得到實驗數據結果,如表2 所示。

圖4 口罩目標檢測實驗

表2 邊緣計算和集中式計算實驗數據對比
綜合以上實驗數據可以得出,通用邊緣計算架構在實際業務場景中比傳統集中式計算架構處理性能高,可節省服務器的存儲容量、減少服務器的硬件成本等,具有更好的商業推廣價值。
當今社會隨著對安防系統功能以及規模要求的提高,邊緣設備數量不斷增加,現已進入邊緣大數據時代。傳統的邊緣端+云計算架構無法在規模、功能和實時性上滿足安防系統的需求,同時傳統安防系統無法有效解決異構多源的數據融合、云中心存儲和計算負載較重、傳輸帶寬較低以及數據隱私等問題[9]。
該文設計了一種基于邊緣計算的通用智能安防系統,可將其廣泛應用于物聯網安防系統中,不但為企業節約了人力和硬件設備成本,還具有實時監控、提前預警、保障安全的功能。該系統通過對檢測數據進行整合,實現了監控區域的安全預警和趨勢分析,并進行實時可視化展示,便于對檢測區域全盤掌握,從而實現相關智能應用服務,起到安全預警、應急指揮和控制作用,其帶來的智能化系統、高效管理、便捷檢測也將產生重大的經濟效益。