陳曉



摘 要:在多系統設備面板集成監控信號的應用場景中,針對某些無法直接從系統中引接監控信號的設備,本文設計了一種基于視頻畫面的監控系統。首先分析系統結構及監控流程,然后探討設計難點及解決方案,以供參考。
關鍵詞:視頻畫面;非介入;面板監控系統;Java
中圖分類號:TP391 文獻標識碼:A 文章編號:1003-5168(2019)19-0013-03
Abstract: In the application scenario of multi-system equipment panel monitoring signals, this paper designed a monitoring system based on video picture for some devices that can not directly connect monitoring signal from the system. Firstly, the system structure and monitoring process were analyzed, and then the design difficulties and solutions were discussed for reference.
Keywords: video screen;non-intervention;panel monitoring system;Java
許多傳輸設備、自動化設備和電子信息系統,其設備面板上都有閃爍的指示燈用來快速反映設備運行狀態及告警。雖然很多設備廠家都有定制的監控信號,從設備直接引接到監控席位進行主動告警,但在大規模設備機房中,系統的數量通常都在兩位數以上,不同系統的告警情況、信號引接方式各不相同。很多系統,特別是有保密要求的系統,出于閉環的安全性考慮,不允許這些監控信號向系統外部引接。在這種情況下,基于視頻畫面的設備面板監控系統成為最佳選擇。
1 系統結構及監控流程
本文設計了一個基于視頻畫面的設備面板監控系統,代替現場巡檢人員對面板上的指示燈進行24h不間斷監控,并主動發出報警,提示巡檢人員進行人工干預。系統結構設計如圖1所示。
本系統使用IP攝像頭采集設備面板的圖像,在監控服務器上進行運算并發出告警,通過將監控服務器接入公共網絡,在網絡中,任何地方的用戶都能實時地進行監控并收到告警。實際上,本系統僅包括攝像頭和監控服務器,其他都是依賴已存在的設備,因此投入較小。同時,對監控服務器的硬件要求也不高。核心部分集中在服務器上運行的軟件上。
本系統使用B/S結構。B/S結構即瀏覽器和服務器結構,用戶通過瀏覽器完成對服務器的訪問和操作。在B/S結構下,本系統采用J2EE架構。J2EE是一種基于Java平臺的企業級體系架構,在B/S結構的信息系統中有廣泛的應用。使用Tomcat作為系統Servlet容器。Servlet是一種服務器端的Java應用程序,具有獨立于平臺和協議的特性,可以生成動態的Web頁面[1]。本設計完全基于Java開源平臺,具有優秀的可移植性和擴展性;可部署在多種服務器平臺上運行。
本系統的一大特點就是在軟件上提供相當多的接口,使用戶可以在設置頁面進行詳細定制。這就要求軟件在多數地方采用動態的方式處理數據,并處理可能會出現的數據溢出。這些接口將在后面設計難點和解決方案中詳細說明。
在監控流程方面,本系統需要先手工拍攝一張基準圖像,然后在基準圖像上劃定監控區域,開始監控后,攝像頭周期性地采集實時圖像,進行特征提取后,與基準圖像進行比較,只要在監控區域中的特征有所改變,就發出告警。流程如圖2所示。
2 設計難點及解決方案
2.1 非介入
多數系統,特別是有保密要求的系統,出于閉環的安全性考慮,不允許監控信號向系統外部引接。在這種情況下,非介入式系統成為唯一選擇。而在非介入式情況下,對面板指示燈的圖像采集成為最好的選擇。
非介入式的另一個好處是,一旦系統完成后,只需稍加修改,就能在其他設備上使用。設備僅需要滿足面板上有基本指示燈需要監控的前提條件,就可以適用本系統,也不會和設備已有的其他監控系統有所沖突。
2.2 基準圖像
本系統監控前需要一張基準圖像。在實際應用中,設備位置的變化、機房環境的變化、業務變化等,都會導致基準圖像發生改變。因此,需要有可以隨時手工拍攝基準圖像的功能。
本系統在啟動后并不立即監控,而僅啟動攝像頭工作,通過一個“拍照”的按鈕,由人手工拍攝一張當前實時圖像作為基準圖像,并保存成圖片文件。在點擊“開始監控”后,系統將讀取該圖片文件進行監控。需要改變基準圖像時,先停止監控,再點擊“拍照”即可,系統會自動覆蓋之前的基準圖片文件。
2.3 定制監控區域的位置
設備面板上指示燈僅占面板的一部分,也不是所有的指示燈都需要監控。正在使用的端口數目和位置會隨業務更改而變化,因此,監控的區域必須可以編輯更改。
本系統可以在基準圖像上設定若干個矩形區域作為監控區域,在算法中僅對監控區域內的圖像進行運算,直接丟棄不需要的部分。系統提供設置頁面,在此頁面中,輸入所需矩形區域的起始二維坐標和高、寬。多個矩形區域的位置可以相互重疊。設置完成后,基準圖像上將用紅色矩形標出需要監控的區域。通過不斷調整矩形區域的位置設定精確的監控區域。這種方法可以使監控區域縮小到一個指示燈大小,僅監控所需要的指示燈,排除不感興趣的區域及其干擾,大大降低了算法的復雜度,節省了服務器資源。
2.4 矩形監控區域的數量
設備端口的數目會隨業務發生改變,因此,監控系統必須適應不確定數量的監控區域。
本系統采用動態生成矩形區域的方法,在設置頁面中有監控區域位置列表。輸入矩形區域坐標時,每輸入一組坐標,就會將其加入列表中。該列表可以動態刪除單組坐標。每次設置完矩形監控區域后,重新讀取設置好的監控區域位置列表,重新計算需要運算的矩形個數,動態改變運算邊界。
2.5 特征提取算法
獲取到監控區域內的圖像后,下一步就是提取圖像特征。針對本系統的應用,筆者所關注的是指示燈亮與不亮、亮的是什么顏色。因此,提取圖像像素點的RGB特征,并基于RGB直方圖的特征提取算法是理想的選擇。
所有的顏色都是由三原色,即紅、綠、藍合成,不同的顏色包含不同比例的三原色,這就是RGB特征。將每一個像素點的RGB特征提取出來,進行統計,就能得到圖像的RGB直方特征,即統計直方圖。該直方圖能反映圖像的主色調,即統計最多的幾種顏色[2]。通過之前的監控區域定制,主色調被縮小為僅剩一種,也就是我們所感興趣的指示燈顏色。
本系統是基于監控圖像的系統。對此類系統而言,背景光照變化對其影響很大,甚至是致命的。但在機房中,環境相對單純,不會出現類似戶外監控那種光照劇烈變化的情況。照明電故障,因發生概率較小,歸于需要人工處理的例外情況,在本系統中,按設備故障處理。
2.6 對閃爍指示燈的處理
以上算法都是針對長亮的指示燈,而設備面板上有一些閃爍的燈也需要監控。本系統處理閃爍的指示燈采用控制實時圖像采集頻率的方法。計算機的運算速度比人快很多,采集圖像的頻率快到一定程度會形成視頻流,而幾秒甚至幾十秒獲取一次圖像對人來說都是可以接受的,一方面對視頻流進行運算消耗的資源非常巨大;另一方面,設定采集圖像的時間間隔,可以解決閃爍問題。例如,指示燈每秒鐘亮半秒,熄滅半秒,周期性閃爍,故障則改變閃爍頻率,可以把采集頻率設定在每半秒采集一次圖像,就會得到一亮一滅周期性的監控圖像,只要實時監控結果打破這種周期規律,就可以視為設備發生故障。因此,通過控制采集圖像的頻率和相應的閃爍規律算法,就可以對閃爍的指示燈進行監控。
3 監控效果
本系統運行結果如圖3所示。左側為基準圖像,右側為實時圖像,處于正在監控的狀態。從圖3可以看出,當前僅對上方板卡的第7個端口進行監控,8—16端口未使用,成閃爍狀態,并未影響監控結果。第7個端口從黃色變成紅色,底部的狀態欄發出了文字告警,指明是哪個監控區域出現告警,并伴有聲音告警。
4 結語
本文介紹了基于視頻畫面的設備面板監控系統,并詳細論述了設計中的幾個難點及解決方案。
參考文獻:
[1]孫衛琴.Tomcat與Java Web開發技術詳解[M].北京:電子工業出版社,2009.
[2]Wu H,Chen X,Gao Y,et al. An Effective Algorithm of Tracking Multiple Objects in Occlusion Scenes[C]//International Conference on Industrial Mechatronics & Automation. IEEE,2010.