一种输电线路三跨点下工程机械的改进Faster-RCNN检测方法

2021-02-07 04:55刘志翔李永祥陈青松张智柏
仪器仪表用户 2021年2期
关键词:锚框候选框聚类

张 申,刘志翔,李永祥,陈青松,张智柏

(1.国网山西电科院,太原 300001;2.华北电力大学 自动化系,河北 保定 071003)

0 引言

随着中国经济的快速发展,电网的覆盖面积不断扩大,输电线路不可避免地跨越高速铁路、高速公路和重要输电通道区段,“三跨”施工日益频繁[1]。由于输送里程不断增加,运行环境日趋复杂,输电线路一旦出现线路缺陷及故障,将对电力输送与运行产生恶劣影响[2,3]。据统计,往年外力破坏造成的跳闸占输电线路跳闸率的70%,而施工机械特别是吊车、吊臂等工程机械,由于碰线造成的跳闸又占外力破坏的70%以上[4]。因此,对运行中的输电线路进行在线工程机械监视与检测显得尤为重要。

目前,输电线路防护多采用人工巡视和直升机巡视方法[5],但该方式易受到地形环境、天气状况等因素的影响,存在工作效率低下、工作量大、巡检周期长等问题。因此,输电线路在线监测技术苛待引用新型传感系统,如基于深度信息的雷达传感器[6],基于温度的红外检测装置[7],基于外物测距的超声波或激光等检测装置[2,4,8],基于音量监控的微波感应装置[9,10],但上述传感方式大多存在易受外界环境因素干扰、易短路失灵、检测范围狭窄、缺乏预警能力等问题[11]。

随着数字图像与视频监控技术的发展,输电线路图像在线监测技术已成熟应用。当前用于图像的入侵检测方法主要分为3 大类[12]:第一类是基于传统图像处理技术结合机器学习方法,实现大型工程机械的识别与分类,如文献[13]采用局部二值模式(Local Binary Pattern,LBP)提取色调饱和值(Hue Saturation Value,HSV)空间的吊车纹理特征并使用随机森林分类器完成目标识别,但这一类算法提取的特征往往具有较高的特异性,无法适用大型入侵机械的所有种类,难以大规模推广;第二类是基于混合高斯模型(Gaussian Mixture Model,GMM)[14]、码书建模[15]、背景差分法[16]、视觉背景提取器(Visual Background Extractor,Vibe)[17]等运动目标检测算法,处理输电线路监控视频并提取运动的工程车辆,但该类算法的问题是:易受到其他运动目标的干扰,算法敏感性过高;第三类方法是引入当前比较流行的深度学习目标检测算法,如单阶段的目标检测算法SSD(Single Shot MultiBox Detector)[18],YOLO(You Only Look Once)[19]算法,以及双阶段算法R-CNN[20]、Fast R-CNN[21]和Faster R-CNN[22]等,通过构建深度网络框架对输电线路大型机械图像进行特征提取与目标检测,该类算法结合大规模数据集与深度检测框架的优势,得到的检测结果既具备较高的检测精度,也具备在输电系统中大规模推广的泛化性能。因此,本文使用Faster R-CNN 目标检测算法作为基本框架,并进行适应性改进,并利用输电线路监控摄像头采集的图像数据,对所提出的算法进行了验证。

1 Faster R-CNN

图1 Faster R-CNN检测框架Fig.1 Faster R-CNN Detection framework

Ren 等人[22]在2015 年提出了Faster R-CNN 算法,最大的创新是提出了区域建议网络(Region Proposal Network,RPN),通过共享卷积层,将RPN 网络和Fast R-CNN 统一至一个网络中,解决了R-CNN、Fast R-CNN 检测算法中候选框生成耗时问题,极大提高了双阶段检测算法的效率。

Faster R-CNN 的基本算法框架如图1 所示,主要由卷积神经网络、区域生成网络(Region Proposal Networks,RPN)、感兴趣区域池化单元(Region Of Interest Pooling,RoI Pooling)以及分类和回归单元4 部分组成:

1)卷积神经网络:利用一系列卷积、池化、激活模块的组合,从低到高提取输入图像的深层特征并得到图像特征图(Feature Map)。

2)RPN 网络:预设3 类尺寸(8,16,32)和3 种比例(2:1,1:1,1:2)的9 种锚框(Anchor Box)。通过锚框在特征图上的滑动输出生成多个候选框,并利用候选框与真实候选框的回归得到目标候选框。采用非极大值抑制(Non-Maximum Suppression,NMS)分析并筛选出最终的N个目标候选区域。

3)RoI Pooling:通过特征图与目标候选区域的输入得到特征图候选区域,并将每个区域均匀分成 m×n 个图块,对每一块进行最大值池化(Max Pooling)计算,将不同大小的特征图候选区域映射为一个固定尺度的特征向量。

4)分类与回归单元:将步骤3 得到的特征向量输入全连接层,判断特征图候选区域的类别以及准确位置。

为了匹配输电线路下大型机具检测任务的特点与需求,本文对Faster R-CNN 算法进行适应性改进,通过不同特征提取网络实验;基于聚类的锚框尺寸修改;引入浮点数插值的RoI Align 池化层等方法,在下文中分别探究适用于目标任务的特征提取网络和目标候选框选取的锚框尺寸,以及降低取整误差,提高回归精度的池化方法,并通过定量比较与定性分析的方式分别提供了对应改进的实验结果与效果提升。

表1 网络参数设置Table 1 Network parameter setting

图2 不同特征提取网络的模型损失对比Fig.2 Comparison of model loss of different feature extraction networks

表2 不同特征提取网络的检测结果Table 2 Detection results of different feature extraction networks

2 模型改进与实验

2.1 实验环境与参数

本实验的模型采用NVIDIA 1080Ti 专业加速卡进行训练与测试;采用的操作系统为Ubuntu16.04.6 LTS,利用CUDA10.0 加速训练;使用的计算机语言为Python3.7,网络开发框架为Pytorch,在此基础上搭建Faster R-CNN 目标检测模型。

按照PASCAL VOC 数据集格式,利用输电杆塔监控设备采集的4003 张样本图像,制作大型机具数据集,其中包含3 种大型机具共10262 个,分别为挖掘机(excanator)、吊车(crane)与塔式吊车(towercrane)。采用LabelImg 软件对大型机具进行标注,并将输电线路数据集划分为互斥的训练集和测试集,比例约为3:1。

训练参数设置见表1,并利用平移、旋转、缩放方法等数据增加方法,将训练样本扩充至23976 张。

2.2 不同特征提取网络的实验对比

为了选取更合适的特征提取网络,本实验在Faster R-CNN 模型的基础上,分别使用不同特征提取网络进行模型的训练。首先,基于VGG-16、ResNet50 和ResNet101分别进行20 轮epoch 共480000 次迭代的训练,模型的损失曲线如图2 所示。其中,曲线表示不同网络每1000 次迭代的模型损失,红色直线代表VGG-16 网络,蓝色虚线代表ResNet50 网络,绿色点划线代表ResNet101 网络,画中为迭代次数在21 万次~27 万次损失曲线的细节展示。可以看出,基于VGG-16 的Faster R-CNN 网络无论收敛速度,还是模型损失都要优于其他网络,而且3 个特征提取网络在迭代次数为240000 次时均已基本收敛。

图3 不同聚类中心数的聚类结果Fig.3 Clustering results with different numbers of cluster centers

然后,本实验使用平均精度(Average Precision,AP)和平均精度均值(Mean Average Precision,mAP)作为评价模型准确率的评价指标,对比了VGG-16、ResNet50 和ResNet101 三种特征网络在不同训练迭代次数下的检测精度,检测结果见表2。可以看出,更深的网络反而导致了性能的下降。由本实验采用的数据集规模可以发现,所采用的数据集属于小批量数据集,当使用层数较多的网络时易形成过拟合现象,导致测试结果较差,所以层数较少的VGG-16 网络相较于其他两个网络表现出更加优异的性能。同时,比较不同epoch 的VGG-16 检测结果可以看出,由于数据集规模的原因,设置较高的epoch 并不能提高检测精确率。因此,选择epoch 为10 的VGG-16 网络作为特征提取的基础网络。

2.3 锚框尺寸修改

本实验所使用的输电线路数据集中,监控摄像头安装在输电杆塔上,为获得较广阔的监控视野所以处于较高位置,故图像中的目标尺寸往往较小。因此,使用Faster R-CNN 模型的原始预设尺寸对于目标的覆盖效果不佳,需要重新设置预设锚框参数,人工预设的方式往往需要进行大量验证实验,且易与模型不匹配影响检测结果。

本实验以输电线路数据集中大型机具各个目标的标注框宽与高作为输入数据,采用k-means++算法进行目标框聚类分析,根据聚类结果重新设定Anchor,以改进预设锚框大小。实验步骤如下所示:

1)标注框尺寸获取:在输电线路数据集中每一幅图像的XML 文件中,计算大型机具标注框的坐标差值作为当前目标的标注框宽度与高度,遍历所有图像获取10262 个目标的标注框尺寸。

2)使用k-means++算法处理标注框尺寸:首先,初始化K 个初始聚类中心,不同于k-means 算法随机初始聚类中心的方式,k-means++算法采用欧式聚类与轮盘法选择K 个距离较远的聚类中心;然后,计算每一个数据点到聚类中心的距离,并将数据点分到距离最小的聚类中心所对应的类;最后,重复迭代步骤直到聚类中心的位置不发生变化。

表3 不同聚类中心数的聚类结果Table 3 Clustering results with different numbers of cluster centers

3)设置初始聚类中心K 为2、3、4、5,对标注框尺寸进行聚类,结果如图3 所示。

其中,图4 的横、纵坐标分别表示标注框的宽与高,不同颜色的数据点表示不同的簇,每一个簇内的黑色叉号表示该类数据的聚类中心。由图4 可以看出,大量标注框尺寸都集中在图像的左下方,即由于输电线路监控摄像头安装位置的原因,图像中的工程机械往往尺寸较小,其中目标框的宽与高都在200 像素以内的数量为5295 个,约占全部目标的50%以上。

使用CH 指标[23]对聚类效果进行评估,CH 指标的定义如式1 所示。其中,n 表示聚类的数目;k 表示当前的类;trB(k)表示类间离散度矩阵的迹;trW(k)表示类内离散度矩阵的迹。可以得出,CH 越大代表着簇内部数据点越紧密,簇与簇之间越分散,即更优的聚类结果。不同聚类中心数的中心点坐标与聚类评价见表3。

由表3 可以看出,当聚类中心数为3 时,CH 指标的值最大,即此时聚类效果最好。同时,分析聚类中心数为3 的中心点坐标可以看出,中心点尺寸集中在1002 ~4502之间,宽高比集中在0.57 ~2.14 之间,所以设定锚框尺寸为(4,8,16,32),此时可以覆盖(642,1282,2562,5122)大小的原始图像,此时锚框极大值、极小值尺寸分别大于、小于中心点坐标尺寸,满足Faster R-CNN 的模型适应需求。分析宽高比可以发现,目标标注框的比例与预设锚框比例基本一致,所以锚框比例保持不变。

2.4 引入RoI Align的实验对比

Faster R-CNN 算法使用的RoI Pooling 单元使得生成的特征图候选区域映射为固定尺寸的特征图,使该算法不再限制输入图像的尺寸与比例。但RoI Pooling 会通过两次浮点数取整特征图候选区域与最开始回归得到的候选框存在一定差异,影响检测准确度。尤其在进行小目标检测时,RoI Pooling 会造成较大的精度损失,降低了后续回归和定位的准确性。

为解决上述问题,本文引入Mask R-CNN 算法[24]中提出的RoI Align 算法,该算法使用双线性插值算法替代了原有的取整量化,有效保留了浮点数,避免取整带来的精度损失。RoI Pooling 与RoI Align 算法的计算结构如图5 所示,具体实现过程如下:

1)第一次量化:假设输电线路数据集图像中,工程车辆的目标尺寸为300×200,图像尺寸设为1800×1400,首先该图像会经过特征提取网络得到特征图,经过网络层后将原图缩小为原图的1/16,则原图尺寸取整量化为112×87。使用RoI Align 层进行目标候选框的第一次量化时,得到尺寸为18.75×12.5 的特征区域(300/16=18.75,200/16=12.5)。

2)第二次量化:特征区域经过RoI 池化处理,划分为49 个等大小的子区域,RoI Align 单元在第二次量化时使用双线性插值给每个子区域取2.68×1.79 大小(18.75/7=2.68,12.5/7=1.79)。

3)最大值池化:对每个子区域取最大值作为该区域的输出值,得到7×7 大小的特征图。

由图4 可知,RoI Pooling 算法经过两次的取整量化,将原本18.75×12.5 大小的特征区域映射为14×7,这些像素偏差给后续的回归与定位带来了较大的精度损失。RoI Align 算法使用双线性插值算法有效解决了取整量化导致的像素映射误差问题,有利于提高候选框回归的精确性。

3 算法结果对比

为了测试本文所改进的Faster R-CNN 模型性能,本节采用原始Faster R-CNN 算法,以及使用锚框尺寸修改、RoI Align 引入等优化的改进Faster R-CNN 算法,分别进行输电线路工程机械检测性能的测试对比,不同算法的实验对比见表4。

由表4 可知,本文所提改进Faster R-CNN 算法相比于前3 种方法,本文算法的平均精确率最高,达到了72.58%,相比于原始Faster R-CNN 提升了16.19%。主要原因是本文算法在检测阶段采用了与所检测目标更匹配的锚框尺寸,同时减少了候选框回归中的精度误差。

图4 RoI Pooling、RoI Align结构图Fig.4 RoI Pooling, RoI Align structure diagram

表4 不同算法实验对比Table 4 Experimental comparison of different algorithms

为进一步研究本文所提算法对输电线路下工程机具检测精度的提高,部分样本的模型检测对比如图5 所示。

比较图5 中检测结果一可以看出,原始Faster R-CNN在左侧吊车检测中发生了虚警误报的现象,即同一辆吊车产生了多个检测框,这是因为原始算法所使用的锚框尺寸与目标图像并不匹配,给工程车辆目标框的位置回归带来影响,导致多个回归框对同一目标产生检测效果,进而误报。比较检测结果二可以看出,原始算法未能成功检测出图片左侧的两辆小型挖掘机,图片中部互相遮挡的3 辆吊车也只得到了两个结果,同样的,检测结果三中由于两台挖掘机的位置重叠,原始Faster R-CNN 发生了漏检现象,只产生一个挖掘机的检测结果。发生这些问题的主要原因是:原始Faster R-CNN,由于RoI Pooling 单元产生的精度误差问题,导致其小目标检测的不敏感,同时对于重叠物体也难以精准定位。本文所述的改进Faster R-CNN 算法引入RoI Align 单元的优势,在训练阶段将候选框尽可能精确保留,大大提高了目标检测与定位的准确性,尤其对于因距离传感器较远、目标重叠等原因导致的小目标检测产生了非常优秀的效果。从实验结果来看,本文算法提高了对输电线路下机具目标的检测能力,达到了预期的检测效果。

图5 Faster R-CNN及其改进算法的检测比较Fig.5 Faster R-CNN and its improved algorithm detection comparison

4 结论

随着电网的发展,对于输电线路大型机械入侵检测的准确性和泛化性提出了更高的要求,基于深度学习的目标检测算法表现出良好的性能。本文采用Faster R-CNN 模型,针对输电线路周围常见的工程机械进行了位置检测与提取。同时,针对输电线路下监控图像数据集的特点,采用k-means++算法对入侵机具标注框进行聚类分析,得到更符合检测目标的锚框尺寸,并引入RoI Align 单元降低候选框回归的精度误差。实验表明,改进算法大大提高了检测精度,有效改善了漏检和误检问题。在后续研究中,可考虑对回归算法进行改进,进一步提高工程车辆检测的精度和准确率。

猜你喜欢
锚框候选框聚类
基于YOLOv3锚框优化的侧扫声呐图像目标检测
锚框策略匹配的SSD飞机遥感图像目标检测
基于SSD算法的轻量化仪器表盘检测算法*
重定位非极大值抑制算法
基于GA-RoI Transformer的遥感图像任意方向目标检测
面向自然场景文本检测的改进NMS算法
基于深度学习的重叠人脸检测
基于K-means聚类的车-地无线通信场强研究
一种针对特定目标的提议算法
基于高斯混合聚类的阵列干涉SAR三维成像