摘要:针对现有数据中心机房智能巡检系统复杂、作业效率低等问题,提出了一种基于设备指示灯轮廓及颜色识别的视觉巡检系统。首先对采集的视频图像进行颜色空间转换及二值化处理,然后选取合适的滤波方式对二值化图像进行去噪,最后利用霍夫圆检测完成异常指示灯识别,以此实现机房内硬件设备的故障检测与报警。该系统具有操作方便、准确率高等优点,既提高了机房设备巡检效率,又保证了设备的稳定安全运行。
關键词:智能巡检;颜色识别;轮廓提取;滤波
中图分类号:TP308 文献标志码:A 文章编号:1671-0797(2022)01-0073-04
DOI:10.19514/j.cnki.cn32-1628/tm.2022.01.020
0 引言
数据中心机房内装载了大量计算机硬件设备,为保证这些设备的安全稳定运行,需要对其进行7×24 h实时监控与巡检。常规的人工巡检方式通过查看计算机设备前后面板上的指示灯了解设备的当前运行状态,如电源指示灯、硬盘/IDE设备活动指示灯、网卡指示灯、系统异常指示灯等,根据不同颜色的指示灯代表的不同意义来判断设备是否发生异常。由于机房的设备数量较多,加上设备类型不一,品牌型号繁杂,巡检人员完成一次常规巡检需要耗费很长时间。此外,巡检人员工作强度大、内容枯燥,其间很容易产生视觉疲劳,出现人为漏检、误检的情况。鉴于此,为避免人为因素给数据中心带来风险,许多运维管理方开始尝试智能巡检方式[1-6]。
目前,针对计算机设备的智能巡检大多采用动态识别设备的状态指示灯方式,即通过机器人上搭载的摄像头实现实时监测,并与设备正常指示灯状态的图像进行分析对比,如发现问题立即记录并报警[7-13]。由于机房内环境、机器人位置及摄像头角度等都会对视频图像的获取产生一定影响,这就给图像处理增加了不小的难度,同时还降低了检测效率与准确率。为解决上述问题,本文研制了一种基于设备指示灯轮廓及颜色识别的智能巡检系统。
1 系统工作原理及检测算法
本系统通过视觉系统对计算机设备前后面板进行检测,根据指示灯轮廓与颜色来判断当前设备的运行状态,发现异常后记录并报警。系统检测算法流程如图1所示。
2 系统组成
2.1 视频采集
本系统采用VideoCapture()函数调用外置摄像头获取视频图像,使用cap.read()函数按帧读取视频[14],通过调用cv2.resize()函数调整图像的尺寸,如图2所示。由于摄像头以30帧/s的速率采集视频,为减少图像处理时间,提高检测效率,本系统按0.5 s的时间间隔截取视频。
2.2 图像颜色空间转化
HSV颜色模型采用色调(Hue)、饱和度(Saturation)、亮度(Value)3个属性来表示,它是一种比较直观的颜色模型,便于颜色对比,常用于指定颜色的分割识别。在opencv中默认读取图像是RGB通道,现需要转化到HSV颜色空间,本文采用cvtColor函数对颜色空间进行转换。
本文试验采集的设备指示灯主要有橙色、绿色与蓝色,其中绿色与蓝色为正常工作状态,橙色为异常状态。将上述3种颜色的RGB色彩值转化为HSV值后,可以浮动得到上下阈值,如表1所示。
2.3 图像二值化处理
为了便于异常指示灯检测,需要选取合适的阈值对采集的图像进行二值化处理。在HSV颜色空间中,橙色阈值的上限与下限分别是[25,255,255]与[11,43,46]。采用cv2.inRange函数设置阈值,去除背景部分,即将图像中低于橙色阈值下限的图像值变为0,将图像中高于橙色阈值上限的图像值变为0,介于两者之间的值变为255。
为了便于观察目标轮廓,本文利用cv2.bitwise_not()函数对图像做取反处理,如图3所示,黑色区域表示图像中所有橙色部分的轮廓。
2.4 滤波处理
由于故障指示灯灯光通过机柜网孔门时会产生反射作用,因此采集的图像上产生了许多与目标颜色相同的区域或离散点,这对故障灯的识别产生了一定的干扰,为减少系统在上述情况下的误判,本文引入滤波处理方式。
常用的滤波方式有均值滤波、高斯滤波、双边滤波与中值滤波[15]。
(1)均值滤波是一种线性滤波,主要是利用目标像素及周围像素的平均值代替目标像素值,公式如下:
(2)高斯滤波是一种线性平滑滤波,利用高斯函数计算出每一个像素点本身和邻域内的其他像素点的值,然后进行加权平均的过程。
(3)双边滤波是一种非线性滤波,利用空间距离的权重与灰度信息的权重的乘积得到最终的卷积模板。相比高斯滤波,其增加了灰度信息的权重,即在邻域内灰度值与中心点灰度值相差小的点权重更大,而灰度值相差大的点权重更小。
(4)中值滤波是一种非线性滤波,其主要原理是对图像中的目标点及该点的邻域中各个像素值进行排序,取中值来代替目标点的像素值。
采用上述4种滤波方式对二值化图像进行处理,如图4所示。
均值滤波、高斯滤波、双边滤波均未能过滤掉图像中的黑点,而中值滤波能够在滤除孤立噪声点的情况下较好地保留纹理信息,目标像素周围更接近真实值,图像质量较高。
2.5 异常指示灯轮廓识别
由于报警灯外轮廓为圆形,而机柜门反光产生的图像轮廓为不规则图形,因此本系统采用cv2.HoughCircles()函数对中值滤波后的图像进行霍夫圆检测,它是基于图像梯度的方法实现的。其原理为对图像进行边缘检测,对边缘中的每一个非零点计算局部梯度,该梯度方向就是圆切线的垂线,三条垂线可以确定一个圆心,通过累加器得到重合度最高的圆心,从该中心的最小距离算起,选择非零像素最支持的一条半径,以此确定报警灯外圆。
如图5所示,图像左侧的干扰区域被系统过滤,报警灯处的区域被获取并进行圆心标记。
2.6 报警
在系统识别出计算机设备指示灯出现异常时,采用cv2.rectangle()与cv2.putText()函数在监控视频图像右上角显示alarm报警信息,同时调用winsound模块来播放报警声音,向外界传递示警信号。运维人员可在第一时间关注到报警事件的发生并及时应对响应,极大地提高了设备故障处理效率。
2.7 存储
為了便于运维人员后续处理、记录与查阅,本系统采用cv2.imwrite()函数对报警图像进行保存,并按时间依次命名文件。
3 结语
本文设计的基于设备指示灯轮廓及颜色识别的视觉巡检系统,能方便运维人员及时准确地掌握机房设备运行状态,发现问题并立即处置,有效提升了人员对机房设备的远程管控能力,确保了数据中心机房的安全稳定运行;同时,还提高了人员的工作效率,降低了巡检成本。
[参考文献]
[1] 张志韬,周瑾,彭朝亮.铁路机房智能巡检系统设计与实现[J].数字通信世界,2021(2):92-93.
[2] 俞晓静.数据中心机房智能巡检机器人应用研究[J].中国金融电脑,2021(2):77-80.
[3] 牟俊.智能巡检机器人在数据中心的应用分析[J].通信与信息技术,2021(1):25-28.
[4] 杨曹.一种数据中心巡检机器人的设计[J].机电信息,2020(2):111.
[5] 赵东明,田雷.基于计算机视觉的电信运营商智能巡检机器人技术研究[J].电信工程技术与标准化,2021,34(4):51-56.
[6] 曾骥,韩巍,翁芳.机房智能巡检机器人应用研究[J].科学技术创新,2020(4):77-78.
[7] 侯学辉,谢乾,朱建军,等.轨道交通电子信息机房智能巡检系统的设计与应用[J].中国新技术新产品,2021(4):13-15.
[8] 王诚,董芸州,潘德泰,等.基于物联网的无人值守机房智能巡检管理模式研究[J].机械与电子,2021,38(11):42-46.
[9] 杜冠军,潘海囤,王鹏展,等.基于AR的通信机房运维巡检技术[J].中国科技信息,2020(22):66-67.
[10] 薛俊伟,刘雨濛.应用于数据机房巡检的双目视觉机器人设计[J].通信电源技术,2019,36(9):99-101.
[11] 张俊,马迅飞,张进铎,等.基于人工智能学习的巡检监控机器人系统的探索与研究[J].计算机时代,2019(11):15-17.
[12] 唐琳,王顺阳,王永刚,等.一种基于视频图像识别的服务器故障辅助诊断系统[J].科技通报,2020,36(8):58-61.
[13] 梁飞,何英杰,孙丰.基于HSV的机房设备状态灯颜色智能识别系统[J].电子技术与软件工程,2021(12):96-99.
[14] SOLEM J E.Python计算机视觉编程[M].朱文涛,袁勇,译.北京:人民邮电出版社,2004.
[15] GONZALEZ R C,WOODS R E.数字图像处理[M].3版.阮秋琦,阮宇智,译.北京:电子工业出版社,2017.
收稿日期:2021-10-20
作者简介:郭文亮(1984—),男,河南安阳人,硕士,工程师,主要从事智能制造方面的工作。