基于视频画面的设备面板监控系统设计

2019-09-10 07:22陈晓
河南科技 2019年19期

陈晓

摘 要:在多系统设备面板集成监控信号的应用场景中,针对某些无法直接从系统中引接监控信号的设备,本文设计了一种基于视频画面的监控系统。首先分析系统结构及监控流程,然后探讨设计难点及解决方案,以供参考。

关键词:视频画面;非介入;面板监控系统;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.