基于Faster R-CNN的设备故障检测与识别①

2019-04-29 08:58马元婧
计算机系统应用 2019年4期
关键词:环境监测卷积图像

高 露,马元婧

(中国科学院大学,北京 100049)

(中国科学院 沈阳计算技术研究所,沈阳 110168)

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 RCNN 算法常用的数据集是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 个锚点进行分类和回归位置,选择算法如下:

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

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 RCNN-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 RCNN 算法做对比试验.结果显示,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 数字仪表检测结果

猜你喜欢
环境监测卷积图像
基于全卷积神经网络的猪背膘厚快速准确测定
关于物联网技术在环境监测中的应用分析
基于生成对抗网络的CT图像生成
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
关于如何做好水质环境监测的质量保证研究
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
环境监测市场化后存在问题分析