秦璐璐,李敬兆
(安徽理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)
井下視頻監(jiān)控是保證煤礦安全生產(chǎn)的重要環(huán)節(jié)[1]?,F(xiàn)有礦井視頻監(jiān)控系統(tǒng)配置的前端監(jiān)控器主要是采集和上傳視頻數(shù)據(jù),一般不具有分析計(jì)算能力。煤礦企業(yè)一般通過系統(tǒng)平臺(tái)的反饋對(duì)井下場景進(jìn)行監(jiān)控,存在著管理不及時(shí)、安全效率低等問題。此外,監(jiān)控系統(tǒng)對(duì)井下各類監(jiān)控場景的無差別采集和存儲(chǔ),會(huì)產(chǎn)生海量的視頻冗余數(shù)據(jù),若將數(shù)據(jù)全部上傳至云服務(wù)器進(jìn)行分析處理,會(huì)存在網(wǎng)絡(luò)帶寬過高和云端壓力過大等問題[2]。而視頻監(jiān)控?cái)?shù)據(jù)的遠(yuǎn)距離傳輸會(huì)產(chǎn)生較長時(shí)延,不能即時(shí)實(shí)現(xiàn)智能預(yù)警[3]。
目前,國內(nèi)外針對(duì)煤礦視頻監(jiān)控系統(tǒng)的研究較少,相關(guān)研究主要集中在煤礦監(jiān)控視頻處理、礦工行為識(shí)別、井下視頻圖像增強(qiáng)和煤礦設(shè)備監(jiān)測等方面。徐永剛等[4]針對(duì)井下視頻處理的時(shí)延問題,利用分布式組件搭建了井下視頻處理平臺(tái),對(duì)幀間相關(guān)性高的視頻流等分截取視頻幀,通過加權(quán)融合算法對(duì)各節(jié)點(diǎn)處理結(jié)果進(jìn)行融合,提高了平臺(tái)處理視頻數(shù)據(jù)的實(shí)時(shí)性,但對(duì)礦井高危場所的適應(yīng)性不強(qiáng),無法對(duì)礦工進(jìn)行目標(biāo)檢測。羅響等[5]針對(duì)井下礦工復(fù)雜行為識(shí)別,提出了基于深度網(wǎng)絡(luò)的持續(xù)學(xué)習(xí)模型,利用主動(dòng)學(xué)習(xí)方法對(duì)新樣本進(jìn)行標(biāo)記和學(xué)習(xí),提高了識(shí)別準(zhǔn)確度,但無法解決礦工在礦井高危場所越界問題。王樹奇等[6]提出了一種礦井視頻監(jiān)控圖像增強(qiáng)和運(yùn)動(dòng)目標(biāo)檢測算法,使系統(tǒng)檢測能力得到了提高,但無法滿足礦井高危場所處理緊急事件時(shí)延低的需求。汪杰等針對(duì)煤礦設(shè)備的運(yùn)行狀態(tài),在云平臺(tái)上構(gòu)建了煤礦監(jiān)測系統(tǒng),能在設(shè)備發(fā)生故障前起到智能預(yù)警作用,但沒有考慮邊緣感知設(shè)備的計(jì)算能力,存在延時(shí)長和帶寬壓力大等問題。
鑒于此,文章構(gòu)建了一種基于云邊協(xié)同的礦井高危場所視頻監(jiān)控系統(tǒng),在邊緣節(jié)點(diǎn)(Edge Compute Node,ECN)中部署運(yùn)動(dòng)目標(biāo)檢測算法,對(duì)前端監(jiān)控器在短時(shí)間內(nèi)采集到的視頻監(jiān)控圖像進(jìn)行檢測,提高視頻分析速度。將預(yù)處理后的視頻流根據(jù)任務(wù)優(yōu)先級(jí)上傳至云服務(wù)器進(jìn)行存儲(chǔ),降低視頻傳輸時(shí)延,減緩云服務(wù)器計(jì)算存儲(chǔ)壓力[8]。
根據(jù)數(shù)據(jù)采集、處理、傳輸、存儲(chǔ)和應(yīng)用的順序,基于云邊協(xié)同的礦井高危場所視頻監(jiān)控系統(tǒng)主要由邊緣感知層、網(wǎng)絡(luò)傳輸層、云服務(wù)層和應(yīng)用層組成。系統(tǒng)的分層架構(gòu)如圖1所示。
圖1 系統(tǒng)的分層架構(gòu)
1)邊緣感知層。邊緣感知層處于系統(tǒng)架構(gòu)的最底層,由監(jiān)控探頭、圖像處理模塊、圖像存儲(chǔ)模塊、微處理器、通信模塊和設(shè)備控制模塊組成,主要任務(wù)是采集原始監(jiān)控視頻、分析視頻數(shù)據(jù)和上傳數(shù)據(jù)。其中,圖像處理模塊為整個(gè)系統(tǒng)的核心部分,圖像處理流程如圖2所示。監(jiān)控探頭采集視頻原始數(shù)據(jù),通過部署在微處理器上的運(yùn)動(dòng)目標(biāo)檢測算法對(duì)視頻圖像進(jìn)行分析。當(dāng)檢測到有人員闖入時(shí),設(shè)備控制模塊會(huì)進(jìn)行聲光語音提醒,并發(fā)送閉鎖控制信號(hào)至電機(jī)電源控制系統(tǒng),由通信模塊發(fā)送報(bào)警信息和入侵視頻至應(yīng)用平臺(tái)顯示。圖像存儲(chǔ)模塊進(jìn)行視頻幀過濾存儲(chǔ)入侵視頻段落,通過任務(wù)優(yōu)先級(jí)上傳到云服務(wù)層進(jìn)行存儲(chǔ)。
圖2 圖像處理流程
2)網(wǎng)絡(luò)傳輸層。以井下的以太環(huán)網(wǎng)為核心的網(wǎng)絡(luò)傳輸層為系統(tǒng)數(shù)據(jù)傳輸提供了保障。經(jīng)邊緣感知層處理后的信息通過井下通信網(wǎng)絡(luò)按照優(yōu)先級(jí)進(jìn)行上傳。傳輸?shù)姆绞街饕屑磿r(shí)傳輸和緩存?zhèn)鬏敚瑢?duì)有人員入侵時(shí)的報(bào)警信息和現(xiàn)場實(shí)時(shí)視頻采用即時(shí)傳輸,視頻幀過濾后的入侵視頻段落采用緩存?zhèn)鬏?,在帶寬充足的情況下正常傳輸?shù)皆品?wù)器進(jìn)行存儲(chǔ)。若當(dāng)前網(wǎng)絡(luò)帶寬壓力較大,則視頻存儲(chǔ)于緩沖區(qū),待網(wǎng)絡(luò)正常后進(jìn)行傳輸。
3)云服務(wù)層。云服務(wù)層主要由高性能服務(wù)器集群和數(shù)據(jù)庫服務(wù)器部署組成。在云邊協(xié)同架構(gòu)中,云服務(wù)器始終是計(jì)算和存儲(chǔ)的中心,處理邊緣感知層難以計(jì)算的復(fù)雜任務(wù),對(duì)接收到的視頻作進(jìn)一步分析處理,發(fā)送數(shù)據(jù)給應(yīng)用層。
4)應(yīng)用層。應(yīng)用層使用了C#語言和基于B/S架構(gòu)構(gòu)建的視頻監(jiān)控應(yīng)用平臺(tái),有入侵監(jiān)控、越界報(bào)警、數(shù)據(jù)推送和綜合管理等功能。
礦井中的視頻監(jiān)控系統(tǒng)一般為7×24 h監(jiān)控,會(huì)產(chǎn)生海量視頻數(shù)據(jù)。因此,在邊緣設(shè)備中部署運(yùn)動(dòng)目標(biāo)檢測算法,以檢測視頻圖像中的運(yùn)動(dòng)目標(biāo),通過設(shè)置相應(yīng)參數(shù)獲取運(yùn)動(dòng)特征,實(shí)現(xiàn)系統(tǒng)自動(dòng)報(bào)警,從而降低視頻處理和傳輸時(shí)延。
在SVR模型中,模型的輸入是視頻圖像當(dāng)前幀像素點(diǎn)的顏色向量,模型的輸出是像素從屬于背景的置信度。利用SVR學(xué)習(xí)算法對(duì)背景模型進(jìn)行實(shí)時(shí)更新,設(shè)定視頻流圖像背景訓(xùn)練數(shù)據(jù)為{(x1,y1),(x2,y2),…,(xn,yn)},其中xk表示在P位置處第k幀像素點(diǎn)的顏色向量,yk表示在P位置處當(dāng)前幀像素點(diǎn)從屬于背景區(qū)域的置信度。
當(dāng)前幀每個(gè)像素點(diǎn)匯總的背景置信度公式為:
(1)
采用高斯核函數(shù)衡量2個(gè)數(shù)據(jù)之間的相似性,公式為:
(2)
式(2)中,σ是高斯核的帶寬。
將式(2)代入式(1),得到代入高斯函數(shù)的背景模型:
(3)
由式(3)可知,每加入一幀圖像,新樣本就會(huì)加入到訓(xùn)練集合,系統(tǒng)實(shí)時(shí)更新背景模型。根據(jù)SVR算法獲得當(dāng)前幀圖像背景,將當(dāng)前幀和圖像背景做差分運(yùn)算,再與閾值進(jìn)行比較,做二值化處理,從而區(qū)分出運(yùn)動(dòng)目標(biāo)和背景。背景差分法檢測結(jié)果如圖3所示。
(a) 輸入圖像
(b) 運(yùn)動(dòng)目標(biāo)檢測
視頻存儲(chǔ)主要是為了記錄監(jiān)控場所的變化信息。如果不對(duì)視頻進(jìn)行預(yù)處理,存儲(chǔ)大量有效信息含量低的視頻,會(huì)占用較大網(wǎng)絡(luò)帶寬。因此,可以使用幀過濾方法將有效視頻幀進(jìn)行篩選,上傳到云服務(wù)器存儲(chǔ),減少視頻冗余信息。
ECN將視頻流分為多個(gè)時(shí)長為T的視頻幀序列,根據(jù)檢測場景中運(yùn)動(dòng)目標(biāo)的影像在不同視頻流圖像中的位置,采用三幀差分法計(jì)算視頻流S在當(dāng)前時(shí)間點(diǎn)是否檢測到目標(biāo):檢測到目標(biāo)數(shù)值為“1”,反之則為“0”。三幀差分法運(yùn)算如圖4所示。
圖4 三幀差分法運(yùn)算
三幀差分法運(yùn)算公式為:
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)中,F(xiàn)k+1,F(xiàn)k和Fk-1分別為視頻序列中第k+1幀、第k幀和第k-1幀圖像;Fk+1(x,y),F(xiàn)k(x,y)和Fk-1(x,y)為三幀對(duì)應(yīng)像素點(diǎn)的灰度值;Dk(x,y)為第k幀和第k-1幀的差分值;Dk+1第k+1幀和第k幀的差分值。
將與運(yùn)算得到的結(jié)果進(jìn)行閾值判斷。
(7)
式(7)中,Rk′(x,y)為閾值判斷的結(jié)果;V為固定的閾值。
對(duì)視頻幀進(jìn)行篩選時(shí),首先計(jì)算時(shí)間T內(nèi)每路視頻流檢測到目標(biāo)的關(guān)鍵幀數(shù)量Ai,對(duì)Ai數(shù)量最大的視頻流進(jìn)行幀過濾。然后,將幀過濾得到的視頻流按照連續(xù)檢測到目標(biāo)的關(guān)鍵幀數(shù)量進(jìn)行降序排列,生成上傳視頻幀組序列,格式為[i,Ai,c],i為關(guān)鍵幀序列,Ai,c為從關(guān)鍵幀i開始連續(xù)檢測到目標(biāo)的關(guān)鍵幀數(shù)量。視頻幀組序列按照Ai降序排列發(fā)送上傳請(qǐng)求,等待云服務(wù)器分配資源。云服務(wù)器通過任務(wù)調(diào)度優(yōu)先級(jí)為ECN分配上傳通道,根據(jù)任務(wù)處理的平均價(jià)值量,對(duì)其進(jìn)行優(yōu)先級(jí)劃分,按任務(wù)優(yōu)先級(jí)上傳視頻。沒有檢測到目標(biāo)的視頻流則不進(jìn)行上傳存儲(chǔ)。
設(shè)定礦井場所中有N個(gè)ECN,每個(gè)ECN都有一個(gè)待上傳任務(wù),用Tk表示第k個(gè)ECN待上傳任務(wù)。Tk的具體信息參數(shù)為{TkDatasize,TkValue},其中TkDatasize為任務(wù)的數(shù)據(jù)量,TkValue為任務(wù)的計(jì)算價(jià)值量,可用視頻幀過濾中的Ai表示,Ai越大,任務(wù)的計(jì)算價(jià)值量越高。
任務(wù)的優(yōu)先級(jí)描述為:
Pk=TkValue/TkDatasize
(8)
式(8)中,Pk為第k個(gè)任務(wù)的優(yōu)先級(jí),也可表示為單位時(shí)間內(nèi)的平均計(jì)算價(jià)值量。由式(8)可知,Pk越高,任務(wù)優(yōu)先級(jí)越高。
監(jiān)控系統(tǒng)根據(jù)視頻中人員入侵的位置關(guān)系判斷是否達(dá)到報(bào)警條件。系統(tǒng)在要害區(qū)域周邊設(shè)置2條虛擬警戒線,對(duì)視頻圖像ROI進(jìn)行檢測。監(jiān)控探頭采集實(shí)時(shí)視頻數(shù)據(jù),前端監(jiān)控器中的微處理器通過運(yùn)動(dòng)目標(biāo)檢測算法對(duì)視頻圖像進(jìn)行分析。在檢測到有人員進(jìn)入或觸碰外圍警戒線時(shí),微處理器發(fā)送報(bào)警信號(hào),以聲光方式提醒入侵人員,并即時(shí)發(fā)送現(xiàn)場監(jiān)控畫面至前端應(yīng)用平臺(tái),語音提示管理員注意報(bào)警情況。若人員繼續(xù)入侵至內(nèi)圍警戒線,微處理器發(fā)送閉鎖控制信號(hào)至設(shè)備控制模塊,對(duì)電機(jī)電源進(jìn)行控制,關(guān)閉電源,保障工作人員生命安全。
使用C#語言,基于B/S架構(gòu)采用Winform控件構(gòu)建礦井高危場所視頻監(jiān)控平臺(tái)。監(jiān)控平臺(tái)是整個(gè)系統(tǒng)執(zhí)行日常監(jiān)控和管理維護(hù)的中心,管理員可以查看全部視頻監(jiān)控?cái)?shù)據(jù)和各類報(bào)警信息。在人員入侵時(shí),現(xiàn)場監(jiān)控視頻需要即時(shí)傳輸至平臺(tái)界面進(jìn)行顯示,因而采用RTP/RTCP協(xié)議作為網(wǎng)絡(luò)機(jī)制傳輸音視頻。為保證音視頻的同步傳輸,系統(tǒng)分別對(duì)音頻和圖像的采集編碼線程設(shè)置緩沖區(qū),利用信號(hào)量機(jī)制使同一線程中的2種碼流交替?zhèn)鬏?,從而達(dá)到音視頻同步傳輸[13-17]。
平臺(tái)界面主要分為3個(gè)板塊。頁面左邊列出監(jiān)控設(shè)備列表,管理員可以手動(dòng)選擇礦井中某要害場所監(jiān)控視頻進(jìn)行查看,在有人員闖入時(shí)及時(shí)提醒管理員注意異常信息,開啟對(duì)講模式提醒現(xiàn)場人員注意安全。頁面中間設(shè)置Windows Media Player控件,播放前端監(jiān)控器所采集的實(shí)時(shí)視頻。頁面右邊分為視頻參數(shù)調(diào)節(jié)、本地回放和云臺(tái)控制3個(gè)部分,管理員可以更改相應(yīng)視頻參數(shù),查看視頻回放,設(shè)置監(jiān)控器的聚焦、光圈,點(diǎn)擊視頻窗口數(shù)可以同時(shí)顯示多個(gè)要害場所的監(jiān)控視頻,窗口信息處顯示監(jiān)控異常信息,可以點(diǎn)擊異常信息查看人員入侵回放視頻[18-19]。平臺(tái)界面顯示如圖5所示。
圖5 平臺(tái)界面顯示
模擬礦井中高危場所配置,對(duì)云計(jì)算和云邊協(xié)同計(jì)算2種計(jì)算模式進(jìn)行實(shí)驗(yàn)對(duì)比,即將全部計(jì)算任務(wù)置于云服務(wù)層進(jìn)行處理和在邊緣感知層進(jìn)行數(shù)據(jù)預(yù)處理后,通過任務(wù)調(diào)度算法上傳云服務(wù)層作進(jìn)一步分析處理,對(duì)比2種計(jì)算模式所產(chǎn)生的時(shí)延大小。
將2種計(jì)算模式下的云服務(wù)器部署在同一局域網(wǎng)中,在云計(jì)算模式中,云服務(wù)器是搭載Intel Core i7四核處理器的電腦,監(jiān)控探頭選用普通礦用攝像頭。在云邊協(xié)同計(jì)算模式中,云服務(wù)器配置i5四核處理器,監(jiān)控探頭選用配置微處理器的礦用攝像頭。把視頻流按分辨率分為3組(480 p,720 p,1 080 p),每組包含5段有人員闖入的視頻流,取5段視頻流預(yù)處理時(shí)延的平均值進(jìn)行對(duì)比。
2種計(jì)算模式在不同視頻流分辨率下的處理時(shí)延如圖6所示。由圖6可知,隨著視頻分辨率增加,數(shù)據(jù)處理時(shí)延不斷提高,而邊緣感知層預(yù)處理時(shí)延始終低于直傳云計(jì)算層。這是因?yàn)橐曨l流經(jīng)過幀過濾和任務(wù)優(yōu)先級(jí)調(diào)度降低了系統(tǒng)處理時(shí)延。
圖6 2種計(jì)算模式在不同視頻流分辨率下的處理時(shí)延
在視頻圖像中設(shè)定2道虛擬警戒線劃分危險(xiǎn)區(qū)域,選取5名人員依次進(jìn)入場所進(jìn)行系統(tǒng)目標(biāo)識(shí)別率和系統(tǒng)響應(yīng)時(shí)間測試,其結(jié)果見表1。由表1可知,系統(tǒng)目標(biāo)識(shí)別率不低于97.7%,響應(yīng)時(shí)間不高于2.1 s,滿足需求。隨著檢測人數(shù)增加,系統(tǒng)目標(biāo)識(shí)別率降低,響應(yīng)時(shí)間增加。這是因?yàn)橄到y(tǒng)對(duì)多運(yùn)動(dòng)目標(biāo)增加了檢測時(shí)間,可以考慮在系統(tǒng)中對(duì)運(yùn)動(dòng)目標(biāo)檢測算法進(jìn)行優(yōu)化。
表1 系統(tǒng)目標(biāo)識(shí)別率和系統(tǒng)響應(yīng)時(shí)間測試結(jié)果
針對(duì)目前煤礦視頻監(jiān)控系統(tǒng)數(shù)據(jù)傳輸時(shí)延的問題,設(shè)計(jì)了一種云邊協(xié)同的礦井高危場所視頻監(jiān)控系統(tǒng)。其以云邊協(xié)同模型為基礎(chǔ),構(gòu)建了系統(tǒng)分層架構(gòu),部署邊緣感知節(jié)點(diǎn)對(duì)監(jiān)控視頻進(jìn)行運(yùn)動(dòng)目標(biāo)檢測,實(shí)現(xiàn)本地智能處理;對(duì)視頻流進(jìn)行視頻幀過濾,根據(jù)任務(wù)優(yōu)先級(jí)上傳視頻至云服務(wù)器存儲(chǔ),減少了視頻傳輸時(shí)延。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)可以在人員闖入礦井高危場所時(shí)進(jìn)行警告、報(bào)警和控制,達(dá)到了預(yù)期要求。