秦璐璐,李敬兆
(安徽理工大學 計算機科學與工程學院,安徽 淮南 232001)
井下視頻監控是保證煤礦安全生產的重要環節[1]。現有礦井視頻監控系統配置的前端監控器主要是采集和上傳視頻數據,一般不具有分析計算能力。煤礦企業一般通過系統平臺的反饋對井下場景進行監控,存在著管理不及時、安全效率低等問題。此外,監控系統對井下各類監控場景的無差別采集和存儲,會產生海量的視頻冗余數據,若將數據全部上傳至云服務器進行分析處理,會存在網絡帶寬過高和云端壓力過大等問題[2]。而視頻監控數據的遠距離傳輸會產生較長時延,不能即時實現智能預警[3]。
目前,國內外針對煤礦視頻監控系統的研究較少,相關研究主要集中在煤礦監控視頻處理、礦工行為識別、井下視頻圖像增強和煤礦設備監測等方面。徐永剛等[4]針對井下視頻處理的時延問題,利用分布式組件搭建了井下視頻處理平臺,對幀間相關性高的視頻流等分截取視頻幀,通過加權融合算法對各節點處理結果進行融合,提高了平臺處理視頻數據的實時性,但對礦井高危場所的適應性不強,無法對礦工進行目標檢測。羅響等[5]針對井下礦工復雜行為識別,提出了基于深度網絡的持續學習模型,利用主動學習方法對新樣本進行標記和學習,提高了識別準確度,但無法解決礦工在礦井高危場所越界問題。王樹奇等[6]提出了一種礦井視頻監控圖像增強和運動目標檢測算法,使系統檢測能力得到了提高,但無法滿足礦井高危場所處理緊急事件時延低的需求。汪杰等針對煤礦設備的運行狀態,在云平臺上構建了煤礦監測系統,能在設備發生故障前起到智能預警作用,但沒有考慮邊緣感知設備的計算能力,存在延時長和帶寬壓力大等問題。
鑒于此,文章構建了一種基于云邊協同的礦井高危場所視頻監控系統,在邊緣節點(Edge Compute Node,ECN)中部署運動目標檢測算法,對前端監控器在短時間內采集到的視頻監控圖像進行檢測,提高視頻分析速度。將預處理后的視頻流根據任務優先級上傳至云服務器進行存儲,降低視頻傳輸時延,減緩云服務器計算存儲壓力[8]。
根據數據采集、處理、傳輸、存儲和應用的順序,基于云邊協同的礦井高危場所視頻監控系統主要由邊緣感知層、網絡傳輸層、云服務層和應用層組成。系統的分層架構如圖1所示。

圖1 系統的分層架構
1)邊緣感知層。邊緣感知層處于系統架構的最底層,由監控探頭、圖像處理模塊、圖像存儲模塊、微處理器、通信模塊和設備控制模塊組成,主要任務是采集原始監控視頻、分析視頻數據和上傳數據。其中,圖像處理模塊為整個系統的核心部分,圖像處理流程如圖2所示。監控探頭采集視頻原始數據,通過部署在微處理器上的運動目標檢測算法對視頻圖像進行分析。當檢測到有人員闖入時,設備控制模塊會進行聲光語音提醒,并發送閉鎖控制信號至電機電源控制系統,由通信模塊發送報警信息和入侵視頻至應用平臺顯示。圖像存儲模塊進行視頻幀過濾存儲入侵視頻段落,通過任務優先級上傳到云服務層進行存儲。

圖2 圖像處理流程
2)網絡傳輸層。以井下的以太環網為核心的網絡傳輸層為系統數據傳輸提供了保障。經邊緣感知層處理后的信息通過井下通信網絡按照優先級進行上傳。傳輸的方式主要有即時傳輸和緩存傳輸,對有人員入侵時的報警信息和現場實時視頻采用即時傳輸,視頻幀過濾后的入侵視頻段落采用緩存傳輸,在帶寬充足的情況下正常傳輸到云服務器進行存儲。若當前網絡帶寬壓力較大,則視頻存儲于緩沖區,待網絡正常后進行傳輸。
3)云服務層。云服務層主要由高性能服務器集群和數據庫服務器部署組成。在云邊協同架構中,云服務器始終是計算和存儲的中心,處理邊緣感知層難以計算的復雜任務,對接收到的視頻作進一步分析處理,發送數據給應用層。
4)應用層。應用層使用了C#語言和基于B/S架構構建的視頻監控應用平臺,有入侵監控、越界報警、數據推送和綜合管理等功能。
礦井中的視頻監控系統一般為7×24 h監控,會產生海量視頻數據。因此,在邊緣設備中部署運動目標檢測算法,以檢測視頻圖像中的運動目標,通過設置相應參數獲取運動特征,實現系統自動報警,從而降低視頻處理和傳輸時延。

在SVR模型中,模型的輸入是視頻圖像當前幀像素點的顏色向量,模型的輸出是像素從屬于背景的置信度。利用SVR學習算法對背景模型進行實時更新,設定視頻流圖像背景訓練數據為{(x1,y1),(x2,y2),…,(xn,yn)},其中xk表示在P位置處第k幀像素點的顏色向量,yk表示在P位置處當前幀像素點從屬于背景區域的置信度。
當前幀每個像素點匯總的背景置信度公式為:
(1)
采用高斯核函數衡量2個數據之間的相似性,公式為:
(2)
式(2)中,σ是高斯核的帶寬。
將式(2)代入式(1),得到代入高斯函數的背景模型:
(3)
由式(3)可知,每加入一幀圖像,新樣本就會加入到訓練集合,系統實時更新背景模型。根據SVR算法獲得當前幀圖像背景,將當前幀和圖像背景做差分運算,再與閾值進行比較,做二值化處理,從而區分出運動目標和背景。背景差分法檢測結果如圖3所示。

(a) 輸入圖像

(b) 運動目標檢測
視頻存儲主要是為了記錄監控場所的變化信息。如果不對視頻進行預處理,存儲大量有效信息含量低的視頻,會占用較大網絡帶寬。因此,可以使用幀過濾方法將有效視頻幀進行篩選,上傳到云服務器存儲,減少視頻冗余信息。
ECN將視頻流分為多個時長為T的視頻幀序列,根據檢測場景中運動目標的影像在不同視頻流圖像中的位置,采用三幀差分法計算視頻流S在當前時間點是否檢測到目標:檢測到目標數值為“1”,反之則為“0”。三幀差分法運算如圖4所示。

圖4 三幀差分法運算
三幀差分法運算公式為:
Dk(x,y)=|Fk(x,y)-Fk-1(x,y)|
(4)
Dk+1(x,y)=|Fk+1(x,y)-Fk(x,y)|
(5)
Dk'(x,y)=Dk(x,y)∩Dk+1(x,y)
(6)
式(4)~(6)中,Fk+1,Fk和Fk-1分別為視頻序列中第k+1幀、第k幀和第k-1幀圖像;Fk+1(x,y),Fk(x,y)和Fk-1(x,y)為三幀對應像素點的灰度值;Dk(x,y)為第k幀和第k-1幀的差分值;Dk+1第k+1幀和第k幀的差分值。
將與運算得到的結果進行閾值判斷。
(7)
式(7)中,Rk′(x,y)為閾值判斷的結果;V為固定的閾值。
對視頻幀進行篩選時,首先計算時間T內每路視頻流檢測到目標的關鍵幀數量Ai,對Ai數量最大的視頻流進行幀過濾。然后,將幀過濾得到的視頻流按照連續檢測到目標的關鍵幀數量進行降序排列,生成上傳視頻幀組序列,格式為[i,Ai,c],i為關鍵幀序列,Ai,c為從關鍵幀i開始連續檢測到目標的關鍵幀數量。視頻幀組序列按照Ai降序排列發送上傳請求,等待云服務器分配資源。云服務器通過任務調度優先級為ECN分配上傳通道,根據任務處理的平均價值量,對其進行優先級劃分,按任務優先級上傳視頻。沒有檢測到目標的視頻流則不進行上傳存儲。
設定礦井場所中有N個ECN,每個ECN都有一個待上傳任務,用Tk表示第k個ECN待上傳任務。Tk的具體信息參數為{TkDatasize,TkValue},其中TkDatasize為任務的數據量,TkValue為任務的計算價值量,可用視頻幀過濾中的Ai表示,Ai越大,任務的計算價值量越高。
任務的優先級描述為:
Pk=TkValue/TkDatasize
(8)
式(8)中,Pk為第k個任務的優先級,也可表示為單位時間內的平均計算價值量。由式(8)可知,Pk越高,任務優先級越高。
監控系統根據視頻中人員入侵的位置關系判斷是否達到報警條件。系統在要害區域周邊設置2條虛擬警戒線,對視頻圖像ROI進行檢測。監控探頭采集實時視頻數據,前端監控器中的微處理器通過運動目標檢測算法對視頻圖像進行分析。在檢測到有人員進入或觸碰外圍警戒線時,微處理器發送報警信號,以聲光方式提醒入侵人員,并即時發送現場監控畫面至前端應用平臺,語音提示管理員注意報警情況。若人員繼續入侵至內圍警戒線,微處理器發送閉鎖控制信號至設備控制模塊,對電機電源進行控制,關閉電源,保障工作人員生命安全。
使用C#語言,基于B/S架構采用Winform控件構建礦井高危場所視頻監控平臺。監控平臺是整個系統執行日常監控和管理維護的中心,管理員可以查看全部視頻監控數據和各類報警信息。在人員入侵時,現場監控視頻需要即時傳輸至平臺界面進行顯示,因而采用RTP/RTCP協議作為網絡機制傳輸音視頻。為保證音視頻的同步傳輸,系統分別對音頻和圖像的采集編碼線程設置緩沖區,利用信號量機制使同一線程中的2種碼流交替傳輸,從而達到音視頻同步傳輸[13-17]。
平臺界面主要分為3個板塊。頁面左邊列出監控設備列表,管理員可以手動選擇礦井中某要害場所監控視頻進行查看,在有人員闖入時及時提醒管理員注意異常信息,開啟對講模式提醒現場人員注意安全。頁面中間設置Windows Media Player控件,播放前端監控器所采集的實時視頻。頁面右邊分為視頻參數調節、本地回放和云臺控制3個部分,管理員可以更改相應視頻參數,查看視頻回放,設置監控器的聚焦、光圈,點擊視頻窗口數可以同時顯示多個要害場所的監控視頻,窗口信息處顯示監控異常信息,可以點擊異常信息查看人員入侵回放視頻[18-19]。平臺界面顯示如圖5所示。

圖5 平臺界面顯示
模擬礦井中高危場所配置,對云計算和云邊協同計算2種計算模式進行實驗對比,即將全部計算任務置于云服務層進行處理和在邊緣感知層進行數據預處理后,通過任務調度算法上傳云服務層作進一步分析處理,對比2種計算模式所產生的時延大小。
將2種計算模式下的云服務器部署在同一局域網中,在云計算模式中,云服務器是搭載Intel Core i7四核處理器的電腦,監控探頭選用普通礦用攝像頭。在云邊協同計算模式中,云服務器配置i5四核處理器,監控探頭選用配置微處理器的礦用攝像頭。把視頻流按分辨率分為3組(480 p,720 p,1 080 p),每組包含5段有人員闖入的視頻流,取5段視頻流預處理時延的平均值進行對比。
2種計算模式在不同視頻流分辨率下的處理時延如圖6所示。由圖6可知,隨著視頻分辨率增加,數據處理時延不斷提高,而邊緣感知層預處理時延始終低于直傳云計算層。這是因為視頻流經過幀過濾和任務優先級調度降低了系統處理時延。

圖6 2種計算模式在不同視頻流分辨率下的處理時延
在視頻圖像中設定2道虛擬警戒線劃分危險區域,選取5名人員依次進入場所進行系統目標識別率和系統響應時間測試,其結果見表1。由表1可知,系統目標識別率不低于97.7%,響應時間不高于2.1 s,滿足需求。隨著檢測人數增加,系統目標識別率降低,響應時間增加。這是因為系統對多運動目標增加了檢測時間,可以考慮在系統中對運動目標檢測算法進行優化。

表1 系統目標識別率和系統響應時間測試結果
針對目前煤礦視頻監控系統數據傳輸時延的問題,設計了一種云邊協同的礦井高危場所視頻監控系統。其以云邊協同模型為基礎,構建了系統分層架構,部署邊緣感知節點對監控視頻進行運動目標檢測,實現本地智能處理;對視頻流進行視頻幀過濾,根據任務優先級上傳視頻至云服務器存儲,減少了視頻傳輸時延。實驗結果表明,該系統可以在人員闖入礦井高危場所時進行警告、報警和控制,達到了預期要求。