APP下载

基于深度学习的电力塔关键点检测*

2022-04-12黄志欢

科技与创新 2022年7期
关键词:卷积关键点神经网络

胡 楠,黄志欢

(1.武汉大学测绘遥感信息工程国家重点实验室,湖北 武汉 430079;2.中国南方电网超高压输电公司柳州局,广西 柳州 545000)

随着中国社会和经济的快速发展以及人民日益增长的电力需求,中国的电网输电线路总里程也在不断的增加,为了保证这些需求,巡检任务的工作量和工作难度也在与日俱增[1]。由于电力设备的数量众多且有些设备所处位置偏僻,这使得维护这些设备需要更多的人力物力财力,所以应用无人机对电力线路进行巡检并且得到越来越多的有关电力塔和电力线的信息显得越来越有现实意义。传统的人工巡检方式会有一些问题,例如,巡检周期长,效率低下,人工巡检方式需要巡检人员徒步走过输电线路;在遇到山区中的输电线路时,巡检人员不仅要面对复杂地形,也会遇到恶劣天气,危险性高。这些原因都导致人工巡检难以满足电网运维的要求。所以,随着无人机技术的日益成熟以及无人机所携带成像设备的进步,在建设智慧城市,智能电网和增强输电线路供电可靠性的大背景下,应用无人机对输电线路进行巡检用来代替人工巡检已成为大势所趋[2]。智能巡检可以通过标注无人机搭载相机所拍摄的海量电力巡检图像,来训练深度学习模型,然后再利用该模型的参数,对其他无人机电力巡检影像进行相应预测,从而达到巡检目的。

在前人所做的工作中,有采用传统方法,进行基于模式识别的监督分类和非监督分类,从而达成对于无人机巡检影像的像素级分类[3],但是这些传统的遥感影像分类方法所提取的特征都比较浅层次,只是依据数据的统计特征和数据之间的统计关系来进行分类,分类的精度往往不是很高;有采用深度学习方法,比如SegNet[4],通过对电力巡检影像进行像素级标注,将网络进行训练,从而对无人机巡检影像进行分类,但是这种方法局限性较大。通过这种方法,只能了解在该电力巡检影像中,各个位置的地物属性,不能完美地达到人工巡检所达到的效果;还有采用Yolo[1]网络,通过训练该网络进行电力巡检多目标识别,从而找到故障发生地点的方法。

本文提供了一种全新的方法来进行基于深度学习的电力巡检。该方法启发于目前比较火热的人体姿态识别(人体关键点检测)网络[5]。众所周知,电力塔相对于人姿态固定,各个部件之间位置稳定,将用于人体姿态识别(关键点检测)的网络用于电力塔姿态检测(电力塔关键点检测)一定是可行的[6]。通过对无人机巡检影像进行关键点标注,进行训练,最终得到的模型可以很好地预测电力塔上各个关键点的位置,从而达到更好的电力巡检的目的。

1 深度学习HRNet

1.1 深度学习网络发展

现如今,深度学习的研究成果已经被广泛地应用于语音识别、模式识别、目标检测以及关键点检测等各个领域。为了更好地理解本文所使用的深度学习网络HRNet,本部分将简要介绍深度学习网络的发展史。

1986年RUMELHART等[7]提出了BP(Backpropagation)神经网络。BP神经网络是一种按误差逆传播算法训练的多层前馈网络,它的学习规则是通过使用最速下降法,经过反向传播来不断调整整个网络的权值和阈值,最后使网络的误差平方和最小。BP神经网络模型的拓扑结构有3个层:输入层、隐层以及输出层。BP神经网络的优点在于它实现了从一个输入到输出的映射功能,并且这种功能是可以通过数学理论证明的。BP神经网络可以实现任何复杂非线性映射,这也使得BP神经网络特别适合用来解决内部机制非常复杂的问题。但是BP网络的学习率是固定的,网络收敛的速度受学习率影响,所以在面对特别复杂的问题的时候,BP网络往往需要较长时间去解决。

卷积神经网络CNN(Convolution Neural Networks)是深度学习的代表算法之一。它是一种多层的监督学习神经网络。卷积神经网络的每一层成为特征图,输入层的特征图是不同颜色通道的3D矩阵。在卷积神经网络中,每个神经元都和前一层的部分相邻神经元相连,这样就可以在特征图中执行不同类型的转换,例如池化。卷积神经网络的核心在于隐含层的卷积层和池采样层,通过这2个层,卷积神经网络能够很好地提取特征从而完成各种任务。与其他传统方法相比,卷积神经网络的优势在于通过多层的卷积结构可以获得输入数据的高层特征,并且与传统的浅层网络比较,更多的卷积层数代表了更强大的表达能力。并且通过改变卷积神经网络最后几层的结构,卷积神经网络的结构可以适用于其他几个相关任务,例如目标检测。下面笔者将简要介绍几个经典的卷积神经网络。

1989年LECUN等[8]提出了LeNet的最初版本。LENET的最初版本包括2个卷积层,2个全连接层,共计60 000个学习参数。1998年在LeNet的基础上,LECUN等构建了手写数字识别网络LeNet-5,并且取得了成功。LeNet-5利用卷积、池化、参数共享等提取手写数字的深度特征,最后使用全连接层进行分类识别。

2012年KRIZHEVSKY等[9]提出的AlexNet在ILSVRC比赛中以显著优势获得了冠军。AlexNet第一次采用了ReLU、dropout、GPU加速等技巧,参数量为6 000万个。AlexNet的网络结构共有8层,其中有5个卷积层以及3个全连接层。AlexNet的特点在于,它使用ReLU作为卷积神经网络的激活函数,成功解决了Sigmoid在网络较深时候的梯度弥散问题。在训练时,AlexNet使用dropout方式,随机忽略一些神经元,这将会有效避免训练出来的模型过拟合。

2014年ZHANG等[10]针对卷积神经网络如何实现目标定位问题,提出了将Region proposal和CNN结合的算法R-CNN,第一次实现了应用卷积神经网络进行目标检测。但是R-CNN并不完美,它的缺点如下:①R-CNN会对输入图像进行缩放,这将会导致图像失真;②候选区域过多,并且每个候选区域都会被送入卷积神经网络提取特征,导致在应用R-CNN的时候计算量过大,训练时间太长;③训练测试单独运行且复杂,占用很大的硬盘空间,对硬件要求很高。

2014年由Google公司提出的GoogleNet[11]在ImageNet 2014比赛中获得了冠军。GoogleNet是一个拥有22层的深度网络,在主干卷积环节有3个inception模块,模块与模块之间应用3×3的最大池化层隔开。GoogleNet的特点如下:①采用性价比极高的1×1的卷积核来减少计算;②第一次提出了batch normalization,这有效避免了梯度消失,从而加快了收敛速度;③去除卷积神经网络最后的全连接层,大大减少了计算量。

2015年,GIRSHICK[12]提出了Fast R-CNN。Fast R-CNN用感兴趣池化层(Region of Interest,ROI)代替空间最大池化层,实现了端到端训练。虽然Fast R-CNN实现了端到端训练,但是训练和预测所需要的时间仍然不能实现实时性检测的要求。所以REN等[13]在Fast R-CNN的基础上提出了Faster R-CNN,在卷积层后添加区域提取网络RPN(Region Proposal Network),速度有了提高。

2017年HE等[14]在Faster R-CNN的基础上再次进行修改,提出了Mask R-CNN算法。该网络通过添加Mask分支,同时实现了目标检测、语义分割以及关键点识别任务。Mask R-CNN网络可以用于人体关键点检测任务。在下一部分将详细介绍用于电力塔关键点检测的HRNet网络。

1.2 HRNet(HighResolution Net)

利用深度学习网络对人体关键点进行检测的方法主要有2种思路,它们各自都有自己的优缺点。

1.2.1 Bottom-up方法

该方法首先是预测图片中人物的所有关键点,然后再把识别出来的各个关键点分别组合为属于某个人体的完整关键点,最后通过这些关键点的骨骼,得到最终的人体姿态。目前使用该思路的方法很多,比如OpenPose[15],就是通过对人体四肢关键点位置的预测,以及已有的方向进行连接,最后学习人体各个身体部位的位置和联系,从而对人体上的关键点进行识别和检测。

1.2.2 Top-down方法

这种方法在一般情况下不是独立存在而是和人体目标检测模块同时存在,所以采用该思路的方法比Bottom-up的方法准确度更高一些。应用该思路的方法会首先通过目标检测模块得到人体目标的位置,然后确定了人体目标的位置以后再分别对已经检测出来的目标进行关键点检测。但是采用此思路的方法也容易受到人体目标检测框的影响,造成漏检和错检,最后也会影响到对人体关键点检测的结果。

本文所采用HRNet[15]的思路为第一种,是一种Bottom-up的方法。现存的Bottom-up方法大多数都是从高分辨率到低分辨率网络(high-to-low resolution network)产生的低分辨率表征中恢复高分辨率表征。但是HRNet取得好成果的原因就在于HRNet能在整个过程中都保持高分辨率的表征。这对于人体关键点检测这个严重依赖于高分辨率表征的任务来说是非常重要的。

HRNet的第一阶段就是高分辨率子网,然后逐个添加低分辨率子网用以形成更多的阶段,并行连接多分辨率子网。在整个训练的过程中反复交换并行多分辨率子网中的特征和信息最终完成重复的多尺度融合的目的。

HRNet的优势在于它不像现存的其他网络那样进行串联连接而是并行连接高低分辨率子网,这样在训练的过程中能够保持图像的高分辨率而不是通过低到高的过程恢复分辨率。因此,采用HRNet预测的热图在空间上相对来说会更加精确。HRNet的网络结构如图1所示。HRNet包括4个阶段,主体为4个并行的子网,当分辨率降低到原图像的50%时,相应的宽度增加一倍。HRNet共有8个交换单元,最终训练过程中进行了8次多尺度融合。

图1 HRNet的网络结构[16]

2 实验数据

2.1 数据处理流程

应用无人机对电力线路进行巡检所拍摄的电力巡线影像纹理丰富,且影像尺寸相对于COCO数据集中的影像较大。应用无人机巡检影像对电力塔实施关键点提取的流程如图2所示。

图2 数据处理流程图

2.2 无人机航拍巡检影像

为了验证HRNet对于电力巡检影像电力塔关键点检测的精度,本文对于无人机低空遥感技术获得的电力巡检影像进行电力塔关键点检测。图像来源于2016年11月广东省江门市,电力塔高度约为60 m,在实际数据采集过程中飞行模式的安全距离为30 m,航线覆盖的地面宽度大约为70 m。本次电力巡检数据采集所使用的无人机型号为KC2000型无人机,无人机上所搭载的相机为SONYA-7R2型单反电力巡检影像大小为6 000×4 000。本次影像数据采集的地面平均分辨率为5 cm。在本次所采集的电力巡检影像中挑出61张含同一类型电力塔的影像应用COCO-Annotator工具进行标注。其中49张作为训练集,12张作为验证集。部分训练集和验证集的电力杆塔影像数据如图3所示。可以看出,在训练集和验证集中都有部分影像包含一个以上电力塔。本次所选用的电力塔上包含17个关键点,这将会在2.3中进行详细描述。

图3 训练影像和验证影像示意图

2.3 COCO标注

COCO(Common Object in Context)是微软公司提供的,用来进行图像识别以及目标检测,关键点识别的数据集。微软公司通过大量使用Amazon Mechanical Truk来收集数据标注COCO数据集。COCO数据集现在有3种类型的标注,分别是object instances(目标实例)、object keypoints(目标关键点)以及image captions(看图说话),最后使用JSON文件来储存。在本篇文章使用的HRNet网络中,主要应用object keypoints(目标关键点)这种标注类型来训练HRNet。所有的3种标注类型都共享下面的结构类型包括info、image、license。但是在annotation中不同的标注类型的annotation不同。下面将详细介绍本文应用COCOannotator所标注的数据。

如图4所示,展示了研究所使用的object keypoints(目标关键点)标注格式中的annotation部分。所有的图像中标注的关键点都会被储存在keypoints字段中。keypoints是一个长度为3×k的数组,其中k是keypoints的总数量,在本文所标记的关键点数据中k为17。每一个关键点都是一个长度为3的数组,第1个元素和第2个元素是x和y的坐标值,第3个元素是标志位v,v等于0表示这个位置的关键点没有标注;v等于1表示这个关键点被标注了,但是存在遮挡;v等于2时表示这个关键点在标注的同时也可见。

图4 COCO数据格式

如图5所示,可以看到电力塔17个关键点的位置。从表1中可以得到这17个关键点JSON数据中的名称。如图6所示,可以看到应用COCO-annotator标注电力塔关键点数据的实例。

图5 电力塔关键点所在位置

表1 电力塔关键点以及数据中对应名称

表1(续)

图6 软件中数据标注实例

3 实验结果和分析

3.1 实验环境配置

从表2中可以得到本次训练HRNet的计算机环境。本次训练网络所有的部分均在Ubuntu系统中完成。

表2 计算机环境配置

3.2 网络参数设置

在训练网络的过程中,由于HRNet网络所需要的显存和内存都较大,所以Batchsize被设置得很小,数据训练每1次为1个epoch,一共训练了210 epoch。具体的网络参数如表3、表4所示。

表3 网络1的相关参数

表4 网络2的相关参数

3.3 评价指标以及实验结果

为了验证所检测出来的关键点是否正确以及精确,COCO数据集提供了一种OKS(Object Keypoint Similarity)指标,这个指标受目标检测中的IoU指标启发,目的就是计算检测出来的电力塔关键点与所标注的真值关键点的相似度,其计算方法如下:

式(1)中:p为真值中电力塔的id序号;i为keypoint的序号;dpi为真值中每个电力塔和预测中电力塔的关键点的欧氏距离;Sp为当前电力塔的尺度因子,这个值等于此电力塔在真值中所占面积的平方根;σi为第i个关键点的归一化因子,这个因子是通过对数据集中所有的真值计算标准差得到,反映出当前关键点标注时候的标准差,σ越大表示这个点越难标注;vpi为第p个电力塔的第i个关键点是否可见。

在COCO数据集类型中,还会应用AP(Average Precision)以及AR(Average Recall)来检测关键点准确度。对于AP来说,已知某一张图像上的电力塔OKS分数,那么给第一个阈值t,如果当前的OKS的值大于t,那就说明当前这个电力塔的关键点和公共监测出来并且正确,如果小于它,这说明检测失败或者漏检。因此对于图像中所有的OKS,统计其中大于t的个数,并最终件其所占所有OKS的比值,就会得到最终的AP值。表5中AP50表示IoU大于0.5时的平均精确度,AP75表示IoU大于0.75时的平均精确度,APM表示中等目标(322<area<962)的平均精确度,APL表示大目标(area>962)的平均精确度。

表5 关键点检测最终结果

最终对于无人机巡线影像进行电力塔关键点预测的JSON进行可视化,部分结果如图7所示,可以看到,17个电力塔上的关键点已经预测成功且2个网络的平均正确率达到了89.6%和90.8%,关键点位置精度较高。从表5中也可以看到网络的宽度对于电力塔关键点识别是有着细微影响的。网络宽度越宽,精确率越高。

图7 电力塔关键点检测可视化

4 结语

本文主要对无人电力巡线中最重要的地物——电力塔进行了关键点检测,探索了在使用HRNet进行关键点检测中宽度对于平均精度的影响。通过实验,表明了HRNet不仅仅可以应用于对于人体关键点的检测,也可以完美地完成对于电力巡线电力塔关键点检测,且精度较高达到90%左右,相对传统方法能也更加快速,这将会对无人机智能电力塔巡线增加更多可能。

在未来的研究中,应该丰富对于电力塔标注的种类,不仅仅对酒杯塔进行关键点检测,也增加干字塔、猫头塔的影像和标注,最终让无人机智能电力巡线更加完整。

猜你喜欢

卷积关键点神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
论建筑工程管理关键点
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
水利水电工程施工质量控制的关键点
基于深度卷积网络与空洞卷积融合的人群计数
利用定义法破解关键点
三次样条和二次删除相辅助的WASD神经网络与日本人口预测