计算机系统应用  2019, Vol. 28 Issue (4): 170-175   PDF    
基于Faster R-CNN的设备故障检测与识别
高露, 马元婧     
1. 中国科学院大学, 北京 100049;
2. 中国科学院 沈阳计算技术研究所, 沈阳 110168
摘要:现阶段环境检测设备故障频发, 需要自动判断该设备是否发生故障, 虽然在设备机房中该设备没有触发设备报警装备, 但是监测数据仍然超出了正常工作范围, 导致检测数据出错. 为了解决这一类设备故障问题, 提出了基于Faster R-CNN的故障检测与识别的方法, 通过对人工标注的图片数据进行卷积特征训练, 得到了用于该场景下开关、指示灯、数字仪器三种设备的检测识别模型. 实验表明, Faster R-CNN算法对不同拍摄角度、有遮挡物、不同光照条件下的这三种设备的故障检测都能得到理想的效果, 也能基本达到实时监测的速率.
关键词: 环境检测设备    Faster R-CNN    故障检测    
Equipment Fault Detection and Recognition Based on Faster R-CNN
GAO Lu, MA Yuan-Jing     
University of Chinese Academy of Sciences, Beijing 100049, China;
Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China
Foundation item: Science and Technology Major Project on Water Pollution Control and Govern (2018ZX07601-001); Innovation and Entrepreneurship Project for High-level Talents of Shenyang Municipality (2017CXCY-C-06)
Abstract: At the present stage, the environmental testing equipment failures occur frequently and it is necessary to automatically judge whether the equipment fails. Although the equipment does not trigger alarm equipment in the equipment room, the monitoring data is beyond the normal working range. In order to solve this kind of equipment fault problem, a method of target detection and recognition based on Faster R-CNN is proposed. By training the convolutional feature map for the manually marked image data, the detection and recognition model of switch, indicator and digital instrument in this scenario is obtained. Experiments show that the Faster R-CNN algorithm can detect the faults of the three kinds of equipment with different shooting angles, occlusion, and different illumination conditions, and can achieve ideal results and basically achieve the efficiency of real-time monitoring.
Key words: environmental testing equipment     Faster R-CNN     fault detection    

1 引言

我国环境监测设备行业起步较晚, 且环境监测设备多是中小型企业生产, 产品基本集中在中低档的环境监测设备, 还远远不能适应我国环境监测工作发展的需要, 主要表现为产品质量不高、使用寿命短、性能不稳定、故障高等方面, 这导致环境监测频次低、采样误差大、监测数据不准确, 不能及时反映环境质量状况. 因此, 加强设备的故障监测力度, 保障设备的正常运转, 提高设备的安全性与可靠性具有非凡的意义[1].

目前, 对设备故障检测的研究主要集中在对设备的红外热图像的分析. 在检测电力设备热故障中, 根据设备的形状特征识别热图像中的电力设备, 计算设备区域内的最高温度值, 并对各种影响因素进行修正后作出诊断, 取得了令人满意的结果[2]. 还可以通过红外图像配准区域的温度信息, 凭借温度信息相互对比获取的结果, 实现电力设备热故障检测, 具有较高的检测精度和鲁棒性[3]. 由于环境温度等因素对红外热图像的影响较大, 这些方法仍然存在很大的局限性.

随着深度学习在目标检测领域的广泛应用, Faster R-CNN[4]算法作为该领域的经典算法之一, 具有较高的识别准确率的同时, 也具有较快的检测速度, 已经广泛应用于车辆检测[5]、静态飞机检测[6]、商品图像检测[7]等方面.

本文提出了一种基于Faster R-CNN的环境监测设备故障检测与识别方法, 将Faster R-CNN应用于环境监测设备的故障检测上, 通过收集环境监测设备周围的视频监控, 有间隔地提取其中关于设备运行时状态的图像, 对这些图像数据进行离线训练, 获得相对应的故障检测模型, 然后通过设备故障在线检测系统实现在线实时监测, 从而及时有效地获取到设备是否出现故障的信息, 并通知相关的工作人员. 本文主要从设备开关状态识别、设备指示灯异常识别、设备显示异常数据识别三个方面验证了深度学习在环境监测设备故障识别上的可行性, 有效地解决了对环境监测设备的故障检测问题, 节省了人力物力, 进一步实现了设备的自动化检测.

2 Faster R-CNN算法

目标检测是计算机视觉的实际应用中重要的一个领域, 不仅包括对目标物体的分类, 还包含对目标物体的定位, Faster R-CNN算法就是该领域的一个经典之作, 与另一个目标检测算法Fast R-CNN[8]相比, Faster R-CNN在PASCA VOC 2007数据集上的准确率略有提高, 图像的处理速度大幅度提高. 在测试上, Faster R-CNN比Fast R-CNN快10倍, 图像处理速度基本可以达到17fps(每秒可处理17帧图像), 能达到准实时处理的能力.

Faster R-CNN算法的整体结构如图1所示, 可将其分为四个部分: VOC数据集、特征提取器、RPN(区域建议网络)和Fast R-CNN网络.

2.1 VOC数据集

数据集指的是用来训练和测试模型的图片数据, 将其处理成符合要求的数据格式, 目前Faster R-CNN算法常用的数据集是VOC, 将收集到的图片数据按照PASCAL VOC 2007数据集的格式存储即可.

将VOC数据集作为Faster R-CNN算法的输入数据, 经过相应的输入层处理, 返回三个值作为后面模型训练的输入, 这三个值分别是: 图片信息img、边界框信息bbox和标签信息label, 如图1所示.

图 1 Faster R-CNN结构图

2.2 特征提取器

在图像中, 目标事物的特征主要体现在像素与像素之间的关系, 如区分一张图片中是否有一条直线的依据是该直线上的像素与直线相邻像素的区别. 在这里, 依赖卷积运算可以找到像素与像素之间的关系, 对目标事物的特征进行提取, 从而区分目标事物与周围的背景.

本文采用的特征提取器是用于大规模图像识别的卷积神经网络VGG16, 整个结构包含13个卷积层, 按照“2+2+3+3+3”的模式分成5段, 每段卷积层后面都紧跟着一个最大池化层. 这里的卷积层可以从输入的一小块数据中学习到图像的特征, 并且可以保留像素的空间关系. 在实际应用中, 使用的卷积层数越多, 提取到的图像特征就越多, 网络在未知图像上识别效果越好, VGG16网络的13个卷积层能够很好的提取到图像中目标的有用特征, 获得其对应的特征图, 用于后面的模型训练. 在这里, 最大池化层主要是在保持大部分特征的基础上控制卷积层提取出的特征图的维度, 使网络对输入图像的变化不敏感, 从而最大程度上保持图像的尺度不变性.

2.3 区域建议网络(RPN)

RPN网络是全卷积的网络结构, 它能同时预测输入图片产生的目标候选框的位置和该目标属于真实目标的概率, 同时, 在训练网络的过程中, 通过对RPN网络和Fast R-CNN网络交替训练的方式, 在训练时可以共享卷积特征, 大大地减少了训练时需要的参数量, 提高了训练效率. Faster R-CNN的核心贡献就在于提出了RPN网络代替传统的选择性搜索(Selective Search)方法, 从而将候选区域提取的时间开销几乎降为 0(由2 s下降为0.01 s).

RPN网络的优势主要体现在RPN网络能预测出质量高、数量少的建议框, 并且RPN的预测绝大部分在GPU中完成, 能大幅度地加快目标检测的速度.

首先, RPN网络采用了3种不同类型的滑动窗口(称为锚点), 长宽比分别为1:1、2:1、1:2, 并用3种尺度缩放滑动窗口, 一共采用了9种类型的锚点. 利用这些滑动窗口在特征图上自左到右、从上向下移动, 对于一张图片, 大约有20 000个锚点, 这有点类似于暴力穷举, 能保证包含了绝大部分目标的真实边界框.

接下来RPN要做的事情就是从20000多个候选的锚点中选出256个锚点进行分类和回归位置, 选择算法如下:

算法1. RPN网络选择正负样本算法

1) 对于每一个真实边界框, 选择和它重叠度最高的一个锚点作为正样本;

2) 对于剩下的锚点, 从中选择任意一个和真实边界框重叠度超过0.7的锚点作为正样本, 并保证正样本的数目不超过128个;

3) 随机选择和真实边界框重叠度小于0.3的锚点作为负样本(保证负样本和正样本的总数为256). 其中, 对于每个锚点, 对应的标签类别信息等于1表示为前景(含有目标), 否则表示为背景(不含目标).

另一方面, RPN在自身训练的同时, 还会提供感兴趣区域作为Fast R-CNN的训练样本. RPN网络生成感兴趣区域的算法如下:

算法2. RPN网络生成感兴趣区域算法

1) 对于每张图片, 利用其特征图, 计算其对应的锚点属于前景的概率, 以及其对应的位置参数;

2) 选取概率较大的12 000个锚点;

3) 利用位置回归损失函数, 得到其回归的位置偏差, 修正这12 000个锚点的位置, 从而得到感兴趣区域;

4) 利用非极大值抑制算法, 选出概率最大的2000个感兴趣区域, 作为Fast R-CNN网络的训练样本.

2.4 Fast R-CNN

该部分负责对感兴趣区域进行类别分类和位置边框微调, 判断RPN找出的感兴趣区域是否包含目标以及该目标的类别, 并修正框的位置坐标. RPN只是给出了2000个候选框, Fast R-CNN网络需要在给出的2000个候选框上继续进行分类和位置参数的回归.

首先挑选出128个样本感兴趣区域, 然后使用RoI-Pooling层将这些不同尺寸的区域全部下采样到同一个尺度上. 这里, RoI-Pooling是一种特殊的下采样操作, 给定一张图片的特征图, 假设该特征图的维度是512×(H/16)×(W/16), 以及128个候选区域的坐标(其维度为128×4), RoI-Pooling层将这些候选区域的维度统一下采样成512×7×7的维度, 最终可以得到维度为128×512×7×7的向量, 可以将其看成是一个批处理尺寸为128、通道数为512、尺寸为7×7的特征图. 简而言之, 这整个过程是为了将挑选出的感兴趣区域全部下采样成7×7尺寸, 从而实现权重共享. 当所有的感兴趣区域都被下采样成512×7×7的特征图后, 将它重塑成一个一维的向量, 就可以利用VGG16预训练的权重, 初始化前两层全连接, 最后再接上用来分类的全连接层和用来回归位置的全连接层.

3 设备故障检测与识别

环境监测设备是用来收集评定环境质量的各种数据, 比如大气中含有SO2、NOx等污染物的浓度、温湿度范围等等, 通过这些数据, 研究人员可以分析当前的环境质量. 监测到的各种数据是否准确是这个过程中的关键, 而设备发生故障是影响监测数据是否准确的重要因素. 因此, 能否及时地检测到设备故障与准确地监测环境质量有着密切联系.

3.1 图像采集

由于人力物力的限制, 环境监测设备的工作站会安装许多的监控摄像头, 用于实时地监控设备的运行状况. 通过熟悉工作站设备摆放位置的工作人员, 挑选出相关设备运行状况的监控视频, 从这些视频中提取出设备运行时状态的视频帧, 包含正常运行时图像和发生故障时图像, 将其作为Faster R-CNN算法训练模型的样本集. 通常情况下, 环境监测设备的工作站会安排技术人员定期检查工作站中设备是否正常工作, 而人工检查时间过长、效率过低, 同时也受技术人员工作经验、工作状态等主观因素影响较大, 利用监控视频提取相关设备的状态图像, 既能节省人力物力, 也能有效地保证信息的正确性.

3.2 算法实现流程

环境监测设备种类繁多, 会导致收集到的图像数据量巨大, 通过工作人员逐个排查的方法困难重重. 本文将深度学习算法应用于环境监测设备故障的检测问题, 在Caffe平台的基础上, 提供Faster R-CNN目标检测和识别算法训练该识别模型. 首先配置Caffe平台的运行环境, 并在该平台上搭建Faster R-CNN算法, 然后将筛选出的样本集按照PASCAL VOC 2007数据集的标准进行数据标注和存储, 基于VGG16预训练模型进行参数微调, 使得最终模型适用于环境监测设备的故障检测和识别问题, 算法流程如图2所示.

图 2 基于Faster R-CNN设备故障检测算法流程图

简单来说, 训练模型的过程就是先初始化一个几乎什么也不能做的模型, 然后抓取一些有标注的数据集, 修改模型使得它在抓取的数据集上能够更准确的执行任务, 一直重复上面的步骤, 直到模型看起来不错. Faster R-CNN算法使用预先标注好的VOC数据集进行模型训练, 通过对这些有标注的数据进行分析提取微调模型, 从而使得最终得到的模型适用于设备故障检测和识别任务.

Faster R-CNN算法使用了RPN和Fast R-CNN两种网络, 由于直接使用BP (Back Propagation, 反向传播)算法进行训练比较繁琐, 训练模型时, 采用16层的VGG16卷积神经网络提取图片的特征, 使用RPN网络和Fast R-CNN网络交叉训练的方式, 由于训练时共享卷积特征, 既减少了训练时的参数量, 又提高了训练效率, 基本达到了准实时的检测性能.

4 实验结果与分析

本次实验主要是为了验证Faster R-CNN算法在环境监测设备故障检测与识别任务上的有效性和优越性, 将该算法应用在开关、指示灯、数字仪器三种设备的故障检测上, 能够及时有效地检测到该设备发生了故障, 然后通知相关的工作人员采取有效的解决方法, 从而有效的提高了设备故障监测的效率.

4.1 数据集

样本数据来源于环境检测设备周围的监控视频, 抽取最近7天内的全部监控视频, 每间隔15分钟, 从中截取一帧图像, 然后通过人工的方式, 从最后截取的视频帧中挑选出6000张环境监测设备开关状态相关的图像、6000张环境监测设备指示灯异常状态相关的图像和6000张环境监测设备数字显示异常的图像, 将其作为训练样本. 这样, 对于开关、指示灯、数字这三种设备, 每种设备的样本图像集均为6000张, 其中训练集与测试集的比例为2:1. 对整个数据集中每张图像里设备的状态进行人工标记, 将所有的样本图像集按照PASAL VOC2007样本集的格式处理并存储, 然后利用随机函数将数据集随机的分成训练集和数据集(数量比例为1:1), 对于开关、指示灯、数字这三种设备, 每类的训练集和测试集的数据量均为3000张, 其中每个类别中训练集和测试集的正负样本比例基本达到了1:1.

4.2 评价指标

目标检测中衡量检测精度的指标是mAP(mean Average Precision), 指的是多个类别的平均准确率的平均值. AP指的是单个类别的平均准确率, 衡量的是模型在该类别上识别效果的好坏, 而mAP衡量的是模型在所有类别上识别效果的好坏, 实际上, mAP就是求所有AP的平均值. mAP的值介于0–1之间, 且越大表示该模型的识别准确率越好. 本次实验中, 用mAP来评判模型识别的效果.

4.3 实验结果

本次试验的服务器操作系统是Ubuntu16.04, 显卡型号为GeForce GTX 960, 显卡内存为2 GB, 在该服务器上搭建深度学习框架Caffe, 并配置Faster R-CNN的运行环境. 然后将标定完成后的样本数据集使用Faster R-CNN进行训练, 基础特征提取网络选用VGG16网络, 使用轮流训练的方式训练模型.

Faster R-CNN在训练网络模型的过程中, 为了能够使得梯度下降法有较好的性能, 需要把学习率的值设定在合适的范围内. 太大的学习速率导致学习的不稳定, 太小值又导致极长的训练时间. 训练模型的学习速率、衰减系数和动量参数的选取直接影响到最终检测模型的训练速度和结果, 本文选取一些较常用的学习速率和衰减系数作为候选值, 如表1所示. 将衰减系数确定为0.1, 学习速率的选取值有0.1、0.01、0.001, 动量参数的选取值有0.5和0.9, 在衰减系数不变的情况下, 首先确定了学习速率, 然后确定动量的大小. 其中, 当学习率为0.1时, 训练无法收敛, 可能是学习速率初始值设置过大的原因. 由表可知, 最终确定衰减系数为0.1, 初始学习速率为0.001, 动量参数大小为0.9.

Faster R-CNN轮流训练的方式, 其实质是对RPN网络和Fast R-CNN网络的两次轮流训练, 即“RPN-Fast R-CNN-RPN-Fast R-CNN”的方式. 使用实验确定的训练参数, 改变Faster R-CNN的第一阶段的RPN网络和Fast R-CNN网络的迭代次数, 分布计算器对应的损失函数值, 如图3所示, 当RPN网络和Fast R-CNN网络分别迭代到80 000和40 000时, 损失函数值趋于平缓.

表 1 不同参数对应的测试精度

图 3 Faster R-CNN训练阶段损失值变化情况

由于RPN网络是Faster R-CNN的核心网络, 大大提高了获取候选建议框的效率, 而Fast R-CNN算法是通过选择性搜索方法获取候选建议框, 分别将这两种算法运用在环境检测设备的开关、指示灯和数字仪器的故障识别任务上, 实验结果如表2所示.

表2可知, Faster R-CNN在不同的基础特征提取网络上的检测效果差异很大. ZF网络相对于VGG16来说, 是一种小型的卷积网络, 将其作为Faster R-CNN的基础特征提取网络, 分别对开关、指示灯、数字仪器三种设备的故障状态进行检测识别, VGG16网络的mAP基本能达到90%以上, 而ZF的mAP在85%左右, 但是, ZF对图像的处理速度明显比VGG16大约快3倍左右. 在实际的环境设备故障检测场景中, VGG16对每幅图像处理时间为0.2s左右仍然是可以接受的, 因此, 综合考虑识别准确率和处理速率两个因素, VGG16仍然优于ZF网络. 另一方面, 将同样以VGG16作为特征提取网络的Faster R-CNN和Fast R-CNN算法做对比试验. 结果显示, Faster R-CNN算法的平均识别准确率明显优于Fast R-CNN算法, 至于图像的处理速度, Faster R-CNN比Fast R-CNN算法快了8倍. 因此, 在环境检测设备故障检测的复杂场景中, Faster R-CNN有着明显的优势.

表 2 Faster R-CNN与Fast R-CNN的对比结果

图4图5图6所示, 对不同拍摄角度、有部分遮挡物、不同光照条件下的图片, Faster R-CNN算法都能得到较好的检测效果. 由实验结果可以得出, 本文方法在开关、指示灯、数字仪表三种设备故障检测上都能得到较好的结果. 同时可以分析得到, 在设备机房监控获得的图像中, 由于监控角度多变、设备种类多、场景的复杂度大、监控视频的清晰度等问题, 使得设备目标的检测难度增加, 识别的准确率相对于单一场景的目标识别有了一定程度的下降, 而本文提出的方法, 在一定程度上缓解了这些问题, 对于不同的拍摄角度、不同程度的遮挡条件下的设备故障检测仍能够得到较好的检测效果.

5 总结

针对环境检测设备故障检测中, 由于设备故障频发、人工排查工作量大等因素, 同时需要保障设备机房的特定监测环境, 提出了基于深度学习算法的设备故障检测与识别的方法. 与其他方法的对比试验表明, 本文使用的方法在环境监测设备故障检测和识别上能够取得较好的检测效果, 提升了复杂环境场景下模板检测的准确率, 对不同拍摄角度的设备、有部分遮挡的设备、不同光照条件下的设备检测都有较好的效果. 但是, 本文的方法对于部分密集目标的检测效果并不好, 出现了部分目标误检或漏检的情况. 由于设备机房监控设备的限制, 对某些放置比较紧密的小型设备的拍摄图像比较模型, 难以提取到有效的设备状态特征图, 从而无法对最终的检测模型进行有效的优化. 因此, 在以后的研究中, 将重点解决环境监测设备机房中密集小设备的检测问题, 从图像特征提取、目标定位等方面对其进行改进, 以获得更高的准确率和检测效果.

图 4 开关仪器检测结果

图 5 指示灯检测结果

图 6 数字仪表检测结果

参考文献
[1]
康晓风, 于勇, 张迪, 等. 新形势下环境监测科技发展现状与展望. 中国环境监测, 2015, 31(6): 5-8. DOI:10.3969/j.issn.1002-6002.2015.06.002
[2]
卢竹茂, 王天正, 俞华, 等. 基于红外图像分析的电力设备热故障检测技术研究. 现代电子技术, 2017, 40(11): 123-126.
[3]
冯俊. 基于图像分析的电力设备故障检测技术研究. 现代电子技术, 2015, 38(24): 7-11.
[4]
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada. 2015. 91–99.
[5]
史凯静, 鲍泓, 徐冰心, 等. 基于Faster RCNN的智能车道路前方车辆检测方法. 计算机工程, 2018, 44(7): 36-41.
[6]
戴陈卡, 李毅. 基于Faster RCNN以及多部件结合的机场场面静态飞机检测. 计算机应用, 2017, 37(S2): 85-88.
[7]
胡正委, 朱明. 基于改进Faster RCNN与Grabcut的商品图像检测. 计算机系统应用, 2018, 27(11): 128-135. DOI:10.15888/j.cnki.csa.006631
[8]
Girshick R. Fast R-CNN. Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile. 2015. 1440–1448.