基于Faster R?CNN的航拍图像中绝缘子识别
2019-04-04程海燕翟永杰陈瑞
程海燕 翟永杰 陈瑞
关键词: 卷积神经网络; 深度学习; Faster R?CNN; 航拍图像; 绝缘子识别; 智能电网
中图分类号: TN911.73?34; TP391 文献标识码: A 文章编号: 1004?373X(2019)02?0098?05
Faster R?CNN based recognition of insulators in aerial images
CHENG Haiyan, ZHAI Yongjie, CHEN Rui
(North China Electricity Power University, Baoding 071003, China)
Abstract: In order to solve the problems of poor applicability and low recognition efficiency in traditional insulator recognition methods, a method of auto?recognition of insulators in power grid inspection aerial images is proposed combining with the thought of deep convolutional neural network. The insulator recognition system is established by applying the Faster R?CNN framework and combining with the database of power grid inspection aerial images, so as to automatically recognize the insulators in aerial images, and analyze the influence of different models and parameters on recognition accuracy. The experimental results show that in comparison with the traditional aerial insulator identification method, the proposed method has higher recognition accuracy rate and efficiency by using the deep convolutional neural network to learn and recognize aerial insulators, and can well recognize all kinds of insulators with its greatly?improved recognition performance.
Keywords: convolutional neural network; deep learning; faster R?CNN; aerial images; insulator recognition; smart grid
0 引 言
电网巡检是保证输电线路安全、可靠运行的重要途径。近年来,使用无人机进行电力巡检,继而对航拍图像进行信息处理或部件识别是智能电网建设的研究热点之一。绝缘子是输电线路中的重要设备,受外界环境影响容易受损,继而引发电力事故[1]。因此对绝缘子进行状态检测尤为重要,而绝缘子状态检测的前提是绝缘子识别。传统的绝缘子图像识别包括图像滤波处理、特征提取和目标识别等步骤,特征的提取规则根据人工设计。文献[2]依据绝缘子颜色信息标示出绝缘子位置,文献[3]提取绝缘子的图像边缘,进而识别绝缘子。文献[4?5]利用绝缘子串的特有形状定位绝缘子。文献[6]基于绝缘子的纹理特征进行定位。文献[7]通过建立绝缘子标准图库,利用ASIFT算法进行匹配实现绝缘子识别。虽然上述方法在一定范围内能够识别出绝缘子,但存在两个主要问题:
1) 都是人工设计特征进行提取,依赖于研究者的经验,缺乏对問题的泛化能力,而且主要针对特定类别的绝缘子进行识别,在复杂背景和干扰条件下普遍存在适用性较低的问题。
2) 识别过程分多个阶段进行,实现过程较复杂,整体优化不易实现,因此制约了目标识别的效率。
近期,基于深度卷积神经网络的目标识别取得良好的效果。与传统方法不同,深度学习不需要进行人工特征提取,算法自动学习获得目标特征,适用性强、目标识别效率更高。相比深度学习其他目标识别方法,Faster R?CNN[8]的识别准确率更高、运行速度更快。因此,本文利用Faster R?CNN框架,结合航拍绝缘子图像数据集,构建绝缘子识别系统,自动识别电网巡检航拍图像中不同类型的绝缘子,并分析了不同参数对识别精确度的影响。
1 Faster R?CNN
1.1 Faster R?CNN结构
Faster R?CNN包含两个网络:区域建议网络RPN (Region Proposal Network)和Fast R?CNN[9]检测器,利用RPN生成目标建议框送到Fast R?CNN检测网络中,用于图像分类和定位修正,最终得到检测结果,其结构图如图1所示。
RPN为全卷积网络,采用滑动窗口遍历卷积,提取特征,将每个卷积映射位置编码为一个低维特征向量。每个窗口中心位置对应k个不同尺度和高宽比的锚点(anchor,即参数化后的目标建议框),同时采样。分类层和回归层对该区域的类别得分和边界框位置进行修正,输出一组可能包含目标的矩形区域建议框。
Fast R?CNN把RPN生成的目标建议框映射到CNN的最后一层卷积特征图上,通过计算预先标记的实际边界框与目标区域建议框的重叠率得到感兴趣区域RoIs(Regions of Interest);接着采用RoI池化层为每个建议框提取固定尺寸的特征向量;再利用全连接层得到RoI特征向量,对Softmax分类器和边框回归联合训练,从而对目标置信度分值和检测位置进行微调。
1.2 训练Faster R?CNN
训练过程采用RPN同Fast R?CNN交替训练的方式,即先训练RPN,再用生成的目标建议区域训练Fast R?CNN。在最后一个卷积层输出的卷积特征图上,采用3×3的滑动窗口实现建议框的提取,在每个滑动窗口位置采用3种不同尺度和3种不同高宽比(1∶1,2∶1,1∶2)生成9 个anchor框对包含目标的窗口位置进行预测。经过分类层和回归层对该区域的类别得分和边界框位置进行修正。最后分类和回归总损失为:
[L({pi},{ti})=1NclsiLcls(pi,p*i)+λ1Nregip*iLreg(ti,t*i)] (1)
[Lcls(pi,p*i)=-log[p*ipi+(1-p*i)(1-pi)]] (2)
[Lreg(ti,t*i)=i∈{x,y,w,h}smoothL1ti-t*i] (3)
[smoothL1(x)=0.5x2, x<1x-0.5 , 其他 ] (4)
式中:[Ncls]为批处理大小;[Nreg]为anchor框的位置数;[i]是anchor的索引;[pi]是anchor [i]属于某个目标的预测概率。当anchor为正样本时,[p*i=1],否则[p*i=0];[ti]表示預测的边界框的4个参数化坐标向量;[t*i]是与正anchor对应的实际边界框的坐标向量,默认取[λ=10];[Lcls]和[Lreg]分别为分类损失和回归损失。
采用RPN生成的建议框去训练Fast R?CNN检测网络,训练过程采用端到端的反向传播算法和随机梯度下降法。RPN和Fast R?CNN单独训练,没有实现卷积层共享。再利用上一步训练的Fast R?CNN重新初始化RPN,固定共享卷积层,仅微调RPN的特有层,保持共享的卷积层固定,用RPN提取的目标建议框微调Fast R?CNN的特有层,这样,两个网络共享相同的卷积层,构成一个统一的网络。
2 基于Faster R?CNN的绝缘子识别
基于Faster R?CNN的电网巡检航拍图像中绝缘子识别过程包括两个阶段,网络训练阶段和识别测试阶段。训练阶段用自建图像数据库对具有初始参数的卷积神经网络进行训练,得到目标识别模型,测试阶段将测试样本输入训练好的识别模型得到识别结果。整个流程包含以下几个步骤:
1) 构建绝缘子图像数据集,得到绝缘子边界框标注值;
2) 训练Faster R?CNN,得到最终识别模型;
3) 对新样本进行检测识别。
2.1 训练绝缘子识别网络
2.1.1 构建绝缘子图像数据集
Faster R?CNN是经过特定的图像数据集和相应的标注进行预处理的,不适用于直接为其他图像数据集执行目标检测。目前没有公开的绝缘子图像数据库,需要自己构建数据库。本系统数据库来源于某电网公司提供的电网巡检航拍图像,包含不同背景、不同材质、不同电压等级及不同角度下的各种类型的绝缘子,图像大小统一缩放到256×256像素,把它们作为图像样本,图2为部分图像样本。系统采用 VOC2007 数据集格式,对绝缘子进行相应标注。
2.1.2 训练模型
模型训练部分,RPN与Fast R?CNN交替训练。用预训练好ImageNet VGG?16模型初始化RPN。在训练过程中随机梯度下降法中mini?batches由一幅图像样本构成,在该图像中随机采样256个anchor 框,正负anchors的比例为1∶1。与已知标注框重叠区域大于0.7的anchor标记为正anchor,即前景,重叠区域小于0.3的标定为负anchor,即背景。对正anchor标签为1,负anchor标签为0。这些带标签的样本和标注框的坐标被用于RPN的有监督的训练。
采用上一步生成的建议框去训练Fast R?CNN检测网络,它同样由预训练的ImageNet VGG?16模型进行初始化。在训练过程中,mini?batches由2幅图像样本构成,每个图像生成64个感兴趣区域RoIs。在反向传播过程中经过RoI池化层时,进行反向传播的计算。利用得到的Fast R?CNN网络再次初始化RPN,固定卷积层参数,仅微调RPN的特有层;再保持共享的卷积层参数固定,用RPN微调Fast R?CNN的特有层,得到统一的识别模型。
2.2 检测和识别绝缘子
使用VGG?16模型学习绝缘子特征,训练Faster R?CNN模型进行绝缘子识别,同时训练网络参数,训练好的模型可直接用于绝缘子识别。进行绝缘子识别时,输入一幅图像,输出即为带标识框的识别结果,完全实现端到端识别。
3 实验结果与分析
绝缘子识别方法在容天超算工作站SCW4000上運行,其操作系统为Ubuntu 14.04.3位,显卡Nvidia Tesla K40C,共2片GPU, 单片GPU存储器容量12 GB,开发环境Matlab R2014a。
实验过程训练集含5 000张图像样本,测试集含500张图像。采用精确度均值(Average Precision,AP)来衡量识别效果,精确度为标记正确的绝缘子边界框个数与标记出的所有边界框个数之比。首先研究不同深度卷积网络对绝缘子识别系统性能的影响,然后分析了不同参数对AP的影响,最后将Faster R?CNN方法与基于选择性搜索算法进行目标区域建议的SPPnet[10]方法进行比较。
3.1 不同卷积层深度对绝缘子识别系统的影响
为了研究不同卷积层深度对绝缘子识别系统的影响,本文分别采用具有5个卷积层的ZF模型[11]和具有13个卷积层的VGG?16模型[12]作为共享卷积层进行对比实验。训练时,前30 000次迭代学习率为0.001,后面的10 000次迭代学习率是0.000 1,动量为0.9,权重衰减为0.000 5,比较结果如表1所示。
从表1可以看出,与ZF模型相比,采用VGG?16模型训练网络耗时长,测试速率慢,但随着网络模型深度的增加,AP值从89.49%提高到90.5%,提高了1个百分点,这是因为VGG?16模型选择比较小的卷积核和步长,网络精度高,对其他数据集具有很好的泛化能力。因此本系统采用VGG?16模型作为卷积网络。图3给出了采用VGG?16模型进行卷积运算的部分识别结果。
从图3可以看出,被识别出来的绝缘子形式各样,包含不同材质(玻璃、陶瓷)、不同颜色(蓝色、绿色、灰色等)、不同背景(绿地、森林,田野等)、不同尺度和角度,存在不同程度的模糊和遮挡情况,且输入的测试图像尺寸各异。和人工设计的特征只能识别某个特定类型绝缘子相比,由于深度学习自动学习绝缘子特征,对各种类型的绝缘子均能实现自动识别,其适用范围更加广泛,通用性更强。
3.2 不同批尺寸对AP的影响
表2为其他参数固定时改变批尺寸的测试集上实验结果,为缩短训练时间,最大迭代次数为20 000次。Faster R?CNN采用随机梯度下降法进行训练,每个样本进行一次迭代更新,从表2可以看出,在一定范围内,批尺寸越大,训练的样本就越多。
3.3 不同训练样本数量对识别系统性能的影响
训练样本数量对卷积神经网络的识别效果影响很大。采用不同训练样本数量训练Faster R?CNN模型,RPN和Fast R?CNN阶段批尺寸分别为256和128,最大迭代次数为40 000次,其他参数不变,对测试集进行测试,系统性能对比如表3所示。
观察表3发现,随着训练样本数量的增加,系统训练耗时增加,但AP 值明显提高,由1 000个样本的71.3%提高到5 000个样本的90.5%,提高了19个百分点,测试一张图像的平均耗时均为0.21 s,测试速率基本保持不变,这说明增加训练样本数量确实会提高系统识别精确度,而且该系统识别速度快,几乎可以实现实时识别。
图4给出采用不同训练样本数量对应的模型进行测试的部分识别结果。可以看出,随着样本数量的增加,识别出的绝缘子位置更加精确,包围框内绝缘子占比更大。
3.4 不同识别方法比较
SPPnet[11]网络采用选择性搜索 (Selective Search,SS)算法生成目标区域建议,SS是Faster R?CNN提出之前最常用的生成目标区域建议的算法。为了验证本文所提方法对绝缘子识别具有优势,将之与SPPnet网络进行比较。使用VGG?16模型,根据AP最大时对应的模型参数,对测试集分别采用Faster R?CNN与SPPnet进行识别,比较结果如表4所示。
可以看出,Faster R?CNN方法的识别精确度比SPPnet高,这主要是由于RPN比SS产生的目标区域建议框更加精准。Faster R?CNN将特征抽取、目标建议提取、边框回归和分类都整合在了一个网络中,所有过程都通过GPU完成,检测速度远远超过了SPPnet。
4 结 论
本文采用Faster R?CNN深度卷积神经网络构建绝缘子识别模型,通过建立绝缘子航拍图像数据集,完成模型的训练和效果的验证。通过实验验证,基于Faster R?CNN的绝缘子识别方法是有效的,可以识别图像中不同类型的绝缘子,其识别速度可以达到每张约220 ms,精确度达到90.5%,能克服传统绝缘子识别方法适用性受限、效率低的问题。但是,由于样本不完备,对于绝缘子之间存在遮挡的情况识别效果并不理想,需要进一步收集更有效的图像样本,这也是后续需要解决的问题。
参考文献
[1] 仝卫国,苑津莎,李宝树.图像处理技术在直升机巡检输电线路中的应用综述[J].电网技术, 2010,34(12): 204?208.
TONG Weiguo, YUAN Jinsha, LI Baoshu. Application of image processing in patrol inspection of overhead transmission line by helicopter [J]. Power system technology, 2010, 34(12): 204?208.
[2] 林聚财,韩军,陈舫明,等.基于彩色圖像的玻璃绝缘子缺陷诊断[J].电网技术,2011,35(1):127?133.
LIN Jucai, HAN Jun, CHEN Fangming, et al. Defects detection of glass insulators based on color images [J]. Power system technology, 2011, 35(1): 127?133.
[3] 赵振兵,金思新,刘亚春.基于NSCT的航拍绝缘子图像边缘提取方法[J].仪器仪表学报,2012,33(9):2045?2052.
ZHAO Zhenbing, JIN Sixin, LIU Yachun. Aerial insulator image edge extraction method based on NSCT [J]. Chinese journal of scientific instrument, 2012, 33(9): 2045?2052.
[4] 赵振兵,王乐.一种航拍绝缘子串图像自动定位方法[J].仪器仪表学报,2014,35(3):558?565.
ZHAO Zhenbing, WANG Le. Aerial insulator string image automatic location method [J]. Chinese journal of scientific instrument, 2014, 35(3): 558?565.
[5] 张晶晶,韩军,赵亚博,等.形状感知的绝缘子识别与缺陷诊断[J].中国图象图形学报,2014,19(8):1194?1201.
ZHANG Jingjing, HAN Jun, ZHAO Yabo, et al. Insulator recognition and defects detection based on shape perceptual [J]. Journal of image and graphics, 2014, 19(8): 1194?1201.
[6] 杨翠茹.基于纹理特征的绝缘子检测方法[J].电气技术,2010,11(7):46?48.
YANG Cuiru. A detection method for insulators based on texture features [J]. Electrical engineering, 2010, 11(7): 46?48.
[7] 苑津莎,崔克彬,李宝树.基于ASIFT算法的绝缘子视频图像的识别与定位[J].电测与仪表,2015,52(7):106?112.
YUAN Jinsha, CUI Kebin, LI Baoshu. Identification and location of insulator video images based on ASIFT algorithm [J]. Electrical measurement & instrumentation, 2015, 52(7): 106?112.
[8] REN S, HE K, GIRSHICK R, et al. Faster R?CNN: towards real?time object detection with region proposal networks [J]. IEEE transactions on pattern analysis & machine intelligence, 2017, 39(6): 1137?1149.
[9] GIRSHICK R. Fast R?CNN [C]// Proceedings of International Conference on Computer Vision. Santiago: IEEE, 2015: 1440?1448.
[10] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition [C]// Proceedings of the European Conference on Computer Vision. Berlin: Springer, 2014: 346?361.
[11] ZEILER M D, FERGUS R. Visualizing and understanding convolutional networks [C]// Proceedings of the European Conference on Computer Vision. Berlin: Springer, 2014, 8689: 818?833.
[12] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large?scale image recognition [C]// Proceedings of International Conference on Learning Representations. [S.l.: s.n.], 2015: 1?14.