计算机系统应用  2019, Vol. 28 Issue (5): 248-251   PDF    
基于Mask R-CNN的电力设备锈迹检测
薛冰     
中国石油大学(华东) 计算机与通信工程学院, 青岛 266580
摘要:电力设备锈迹目标的识别在电力安全方面具有极高的应用价值, 但是锈迹具有大小、形状不规则等特点, 利用传统的机器学习算法检测效率和准确率不高. 针对这一问题, 研究分析锈迹特点, 提出基于Mask R-CNN的电力设备锈迹检测识别方法. 使用Faster R-CNN完成目标检测的功能, FCN精准的完成语义分割的功能, 实现像素级别的分类识别, 较好地解决了不规则锈迹的检测问题. 实验结果表明, 基于Mask R-CNN的电力设备锈迹检测结果准确率高.
关键词: 深度学习    Mask R-CNN    锈迹检测    不规则    实例分割    
Rust Detection of Power Equipment Based on Mask R-CNN
XUE Bing     
College of Computer & Communication Engineering, China University of Petroleum, Qingdao 266580, China
Foundation item: National Natural Science Foundation of China (61309024); Key Research and Development Program of Shandong Province (2017GGX0140)
Abstract: The recognition of rust target on power equipment has very high application value in power security, nevertheless, the rust has the characteristics of irregular size and shape, thus the detection efficiency and accuracy of traditional machine learning algorithm are not high. Aiming at this problem, the characteristics of rust stain are studied and analyzed, and a rust detection and recognition method for power equipment based on Mask R-CNN is proposed. Faster R-CNN is used to complete the function of target detection, FCN accurately completes the function of semantics segmentation, realizes the classification and recognition at the pixel level, and better solves the problem of irregular rust detection. The experimental results show that the accuracy of rust detection of power equipment based on Mask R-CNN is high.
Key words: deep learning     Mask R-CNN     rust detection     irregularity     instance segmentation    

近年来随着经济社会的高速发展, 社会用电需求迅猛增长, 电力设备数量逐年增多, 电网的规模扩大, 电力供应的可靠性变得尤为重要. 电力设备长期运行, 长期缺乏及时的维护检修, 设备出现锈蚀缺陷问题, 存在安全隐患, 导致设备运行故障. 一旦设备发生故障, 就会影响整个电力系统正常运行, 将会严重影响生产生活, 造成不可估量的经济损失. 及时发现设备上发生的锈蚀缺陷并进行及时处理, 将大大降低危害, 保障电网安全稳定运行[1].

目前主要利用无人机和巡检机器人, 对输变电设备运行全天候巡检, 进行视频图像数据采集. 然而, 采集回的图像数据, 仍然需要依靠人工观测, 逐张查找设备上是否存在锈蚀问题. 采用人工观测的方式虽然能够发现设备上的锈蚀问题, 但是存在检测效率低下, 不能及时的进行反馈, 并且人力成本高, 因此, 研究一种用于电力设备锈迹检测的智能识别具有重要意义[1].

最初的图像识别算法在设备缺陷检测中, 主要针对边缘、轮廓等特征进行提取. 如文献[2]利用图像匹配和形态学运算方法, 文献[3]利用随机Hough变换检测实现对防震锤的检测. 文献[4]利用Otsu算法对Canny算子进行改良来提取图像边缘, 实现障碍物的检测识别. 以上方法能够检测出设备中的缺陷目标, 但是在应用中较容易受光照等外界条件的影响, 导致目标检测的有效性不理想.

近年来, 深度学习在目标识别检测方面表现突出. 2012年在ILSVRC竞赛上基于深度学习CNN网络的AlexNet取得突破性成果[5], 2014年Girshick在卷积神经网络的基础上设计出了R-CNN模型[6], 以此为契机点, 不断地对R-CNN进行改进, 出现了具有代表性的R-CNN系列算法: SPPNet[7]、Fast R-CNN[8]、Faster R-CNN[9]、Mask R-CNN[10]等. 本文中利用Mask R-CNN算法对电力设备上的锈迹目标进行识别分割[11]. 获得国家电网变电站内部图像数据, 利用labelme进行样本标注, 采用ResNet50[12]作为基准网络结构, 通过训练模型实现电力设备锈迹检测.

1 Mask R-CNN网络结构

Mask R-CNN网络结构如图1[10]所示, 主要分为Faster R-CNN、RoIAlign、FCN三个模块. Mask R-CNN在Faster R-CNN的基础上进行改进, 用RoIAlign代替RoIPooling, RoIAlign采用双线性插值法代替RoIPooling的取整量化, 减小误差, 完成像素级的对齐; 在候选对象RoI上添加了第三个分支用于预测分割掩码的分层, 称为掩码层(mask branch). Faster R-CNN算法为每个候选对象RoI的基础上增加了FCN来产生对应的MASK分支, 目标检测分割的效果良好, 并且训练简单.

1.1 Faster R-CNN网络结构简介

Faster R-CNN是由Ross Girshick提出的, 由区域建议网络(RPN)和Fast R-CNN两部分组成[13]. RPN代替了Fast R-CNN中的Selective Search(SS), 节省了区域建议检测的时间, 实现建议区域的确定; Fast R-CNN对RPN生成的每个建议区域的分类概率进行预测判断, 优化建议区域的偏移量, 从而获得精准的目标位置.

图 1 Mask R-CNN网络结构图

1.2 RoIAlign层

在Fast R-CNN、Faster R-CNN等两级检测框架中, 使用RoIPooling根据预选框的坐标在特征图相应的位置池化为固定尺寸的特征图, 再进行分类和包围框回归操作. 而预选框的位置通常是由模型回归得到的, 一般都是浮点数, 而池化后的特征图要求尺寸固定. RoIPooling首先将预选框边界量化为整数点坐标值; 其次将量化后的边界区域平均分割成n×n个单元, 对每个单元的边界进行量化的两次量化过程. 经过两次量化, 就会出现候选框与最开始回归出来的位置存在偏差, 影响检测分割精度.

为了能够提高检测分割精度, 解决RoIPooling存在的问题, Mask R-CNN提出了RoIAlign方法[14]. 取消RoIPooling量化操作: 遍历每一个候选区域, 保持浮点数边界不做量化, 将候选区域分割成n×n个单元, 每个单元的边界不做量化; 使用双线性内插方法: 最后在每个单元中计算固定四个坐标位置, 使用双线性内插的方法计算出这四个位置的值, 然后进行最大池化操作.

在反向传播过程中, 常规的RoIPooling的反向传播公式如式(1)所示.

$\frac{{\partial L}}{{\partial {x_i}}} = \sum\limits_r {\sum\limits_j {{\rm{[}}i = {i^{\rm{*}}}(r,j)]} } \frac{{\partial L}}{{\partial {y_{rj}}}}$ (1)

其中, ${x_i}$ 代表池化前特征图上的像素点; ${y_{rj}}$ 代表池化后的第r个候选区域的第j个点; ${i^*}(r,j)$ 代表点 ${y_{rj}}$ 像素值的来源.

RoIAlign与RoIPooling的反向传播相比较进行相应的修改, ${i^*}(r,j)$ 是一个浮点数的坐标位置(前向传播时计算出来的采样点), 在池化前的特征图中, 每一个与 ${i^*}(r,j)$ 横纵坐标均小于1的点都应该接受与此对应的点 ${y_{rj}}$ 回传的梯度, RoI Align的反向传播公式如式(2)所示.

$\begin{array}{c} \dfrac{{\partial L}}{{\partial {x_i}}} = \sum\nolimits_r {\sum\nolimits_j {[d(i,{i^*}(r,j)) < 1]} } \\ (1 - \Delta h)(1 - \Delta w)\dfrac{{\partial L}}{{\partial {y_{rj}}}} \end{array} $ (2)

其中, d(.)表示两点之间的距离, Δh和Δw表示 ${x_i}$ ${i^*}(r,j)$ 横纵坐标的差值, 这里作为双线性内插的系数乘在原始的梯度上.

1.3 FCN网络结构简介

FCN[15]对图像进行像素级别的分类, 从而实现语义级别的图像分割问题. FCN是一个端到端的网络, 使用反卷积对最后一个卷积层的特征图进行上采样, 不断扩大特征图, 直至恢复到与输入图像尺寸相同, 对每一个像素值进行分类, 从而实现对输入图像的准确分割.

Faster R-CNN为每个候选对象RoI提供两个输出, 一个类标签, 一个边界框偏移量, Mask R-CNN并行添加了第三个分割mask的分支, mask分支是应用到每一个ROI上的一个小的FCN(Fully Convolutional Network), 用FCN从每一个RoI中预测出一个m×m大小的mask, 这使得mask分支中的每个层能够明确的保持m×m空间布局, 而不将其折叠成缺少空间维度的向量表示.

2 图像预处理与训练 2.1 图像预处理

本文数据集是无人机和巡检机器人采集到的图片, 有锈蚀的设备数量不是很多, 学习样本相对较少, 在训练的过程中容易出现过拟合现象, 因此使用数据增强方法, 通过图像水平/竖直翻转, 图像缩放, 图像旋转等方法从现有的训练样本中生成更多的训练样本, 达到增强样本的目的, 从而降低过拟合. 将训练样本统一缩放至1920×1080, 设备锈迹样本示例如图2所示. 数据集总量为5000张, 4000张作为训练集, 1000张作为测试集. 使用labelme标注数据集, 每一张图片都会产生一个JSON文件, 存放绘制点的坐标信息.

图 2 设备锈迹样本示例

2.2 网络训练

本文的实验平台为Ubuntu14.0, 实验环境: CPU为Intel Core i7-6700 k, 4.00 GHz×8, GPU为GeForce GTX 1070.

相较于Faster R-CNN增加了mask分支, 那么每个RoI的Loss函数如式(3)所示.

$L = {L_{cls}} + {L_{box}} + {L_{mask}}$ (3)

${L_{cls}}$ 为分类损失函数, ${L_{box}}$ 为边框损失函数, ${L_{mask}}$ 为新增加的掩膜损失函数. 在训练过程中, mask分支对于每个RoI的输出维度为km2. 使用了像素级的Sigmoid函数和二进制交叉熵损失.

经过多次分析比较, 对原模型中的参数进行调整, 迭代学习率设置为0.001. 动量和权重衰减因子使用经验值0.9和0.0005.

3 实验结果与分析

本文做了Faster R-CNN和Mask R-CNN的对比实验, 测试结果如图3所示. 其中图3(a)为Faster R-CNN检测结果, 图3(b)为Mask R-CNN检测结果. 由于锈迹没有规则的大小、形状, Faster R-CNN缺乏对目标像素的描述, 造成一些具有局部特征的非目标被判断为目标, 因此对锈迹进行检测, 存在漏检、误检现象; Mask R-CNN添加了mask层, 可以实现像素级别的分类, 表现出良好的检测效果.

本文中对1000个样本进行测试, 获得了Faster R-CNN和Mask R-CNN检测一张图片所用的时间和准确率对比结果, 如表1所示.

表1中的实验结果可以看出, Faster R-CNN的检测速度比Mask R-CNN快, 在识别准确率上Mask R-CNN加入了mask分支, 并且使用了像素级的Sigmoid函数和二进制交叉熵损失, 在准确率方面有显著提高, 达到94%.

4 结论

本文针对电力设备无规则锈迹的检测, 采用Mask R-CNN的模型方法, Mask R-CNN在每一个RoI上添加了掩模分支, 实现像素级别的分类, 取得了较好的检测效果. 本文认为可以进行的改进是加强样本的数量和质量, 因为训练样本的规模和质量影响着模型性能的优劣, 训练集规模越大, 质量越高训练的模型的性能越优秀. 从改进数据的数量和质量提高模型的准确性和泛化能力, 从而识别效果更好.

图 3 检测结果图

表 1 实验评估结果

参考文献
[1]
汤踊, 韩军, 魏文力, 等. 深度学习在输电线路中部件识别与缺陷检测的研究. 电子测量技术, 2018, 41(6): 60-65.
[2]
金立军, 胡娟, 闫书佳. 基于图像的高压输电线间隔棒故障诊断方法. 高电压技术, 2013, 39(5): 1040-1045. DOI:10.3969/j.issn.1003-6520.2013.05.003
[3]
陈晓娟, 吴英石, 赵亮. 基于随机Hough变换的OPGW防震锤识别. 黑龙江电力, 2010, 32(1): 1-2, 5. DOI:10.3969/j.issn.1002-1663.2010.01.001
[4]
胡彩石, 吴功平, 曹珩, 等. 高压输电线路巡线机器人障碍物视觉检测识别研究. 传感技术学报, 2008, 21(12): 2092-2096. DOI:10.3969/j.issn.1004-1699.2008.12.028
[5]
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, NV, USA. 2012. 1097–1105.
[6]
Chen CY, Liu MY, Tuzel O, et al. R-CNN for small object detection. In: Lai SH, Lepetit V, Nishino K, eds, et al. Computer Vision - ACCV 2016. Cham: Springer, 2016. 214–230.
[7]
Purkait P, Zhao C, Zach C. SPP-Net: Deep absolute pose regression with synthetic views. arXiv:1712.03452, 2017.
[8]
Girshick R. Fast R-CNN. Computer Science–IEEE International Conference on Computer Vision (ICCV). 2015. 1440–1448.
[9]
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.
[10]
He KM, Gkioxari G, Dollár P, et al. Mask R-CNN. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018. DOI:10.1109/TPAMI.2018.2844175
[11]
韩元荣. 基于场景分析的目标检测技术研究[硕士学位论文]. 长春: 长春工业大学, 2012.
[12]
Wu ST, Zhong SH, Liu Y. Deep residual learning for image steganalysis. Multimedia Tools and Applications, 2018, 77(9): 10437-10453. DOI:10.1007/s11042-017-4440-4
[13]
韩凯, 张红英, 王远, 等. 一种基于Faster R-CNN的车辆检测算法. 西南科技大学学报, 2017, 32(4): 65-70, 94. DOI:10.3969/j.issn.1671-8755.2017.04.012
[14]
吴金亮, 王港, 梁硕, 等. 基于Mask R-CNN的舰船目标检测研究. 无线电工程, 2018(11): 947-952. DOI:10.3969/j.issn.1003-3106.2018.11.08
[15]
Dai JF, Li Y, He KM, et al. R-FCN: Object detection via region-based fully convolutional networks. Proceedings of the 30th International Conference on Neural Information Processing Systems. Barcelona, Spain. 2016. 379–387.