胡志坤,赵超越,王振东,林 晨
(智洋创新科技股份有限公司,山东 淄博 255000)
输电线路安全和稳定运行是电力系统的重要环节,同时保障输电线路的安全和稳定也是国家电力网络基础设施建设的重要基石。现有的输电线路杆塔状态监测方法存在智能化程偏低、实时性差、检测结果不够精确等缺陷。随着我国智能电网的加速建设,现有的输电杆塔状态监测方法已不能满足智能电网发展的要求。
目前,国家电网已采用无人机对电网的输电线路杆塔进行巡检。但是,在无人机进行巡检时,输电线路杆塔中关键部件是否出现故障,一般需要利用深层神经网络图像智能识别技术对无人机传回的海量图像数据进行信息的离线分析和模型计算。虽然,后端服务器借助深层神经网络模型可以得到较好的检测预测模型,但由于无人机采集数据传回服务器计算的延迟很长,计算结果返回的比较滞后。而且无人机的续航时间一直是限制其技术发展的瓶颈,无人机空载的续航能力一般在20~30 min 之间,并不适用于长距离巡线任务。因此,研究了基于边缘计算的嵌入式检测算法。边缘计算作为一种新的计算模式,将计算任务分解并将其迁移到边缘节点进行处理,以降低云计算数据中心的计算负载,降低传输延迟,从而达到降低能耗、提高移动设备服务时间的目的。研究基于边缘计算轻量级的微小隐患检测算法,对在无人机隐患巡检过程中进行实时的隐患检测和分析具有非常重要的意义。
近年来,深度学习在图像识别和智能检测领域取得了很多成果。特别是R-CNN(区域卷积神经网络)算法在图像识别检测上取得了显著的成效[1]。卷积神经网络善于处理图像的形态特征,在图像识别和检测任务中获得很广泛的应用[2]。为了减少R-CNN 候选区域使用CNN 模型提取特征向量所消耗的时间,科学家提出了Fast R-CNN算法。为了更进一步地提高效率,Faster R-CNN算法引入了RPN(区域生成网络)直接产生候选区域,相较于传统的R-CNN 算法、Fast R-CNN算法更为高效、轻量。随后,科学家又进行了基于One-Stage Detection 的检测方法的研究,其中,YOLO v1 创造性的将识别与定位任务合二为一,采用多任务联合训练的方式训练神经网络。YOLO v3 在两个方面进行了改进和优化:第一,应用残差模型;第二,使用FPN(特征金字塔网络)架构实现多尺度检测。
在输电线路杆塔隐患检测研究中,文献[3]提出了利用Faster R-CNN 检测输电线路中关键部件的隐患排查检测方法,并在线路中的间隔棒、防震锤和均压环三类部件上进行了检测应用的试验,取得了较好的效果。文献[4]提出一种基于深层神经网络U-net 网络的航拍绝缘子检测方法,可以实现自动分层并对不同层的信息进行特征提取,这种叠加方法可以有效地将浅层特征和高维的特征有机融合起来联合训练学习,进而避免一些关键信息被遮挡或丢失造成的隐患检测中常出现的漏报和误报问题。杨罡[5]提出了基于多尺度特征融合的输电线路关键部件的检测算法,使用了深层次的方便分离的卷积神经网络进行特征提取,并将算法应用到移动端的ARM 设备上。但是,没有考虑到边缘计算模型上ARM 设备的计算能力有限、训练数据量相对较少的问题,所以这种基于多尺度特征融合的检测算法的检测效果有待提高。目前,搭载在无人机上的巡检算法无法满足电网隐患检测高质量、高效率、低延迟的需求。
本文分析了目前输电线路杆塔上隐患检测算法的不足,研究了近些年来提出的电网隐患检测算法,并在此基础上进行了综合的分析研究之后,提出了适用于输电杆塔本体隐患智能识别的无人机边缘计算的轻量级算法MGFF-KCD(关键部件检测的多粒度特征融合算法),利用FPN 构建Faster R-CNN 检测模型来提取多粒度的特征图像的融合方法,使用多个粒度的图像特征融合后进行分类与检测,提高了算法的准确率;将算法模型移植到华为Atlas 芯片并集成到无人机平台中,在无人机终端进行实时智能分析。选取了销钉、绝缘子、防震锤、均压环、鸟巢五类关键部位进行实验,结果表明,该算法在Atlas 200 芯片设备上可实现平均每张62 ms 的检测速度和88%的准确率。
基于Faster R-CNN[6]检测的整体网络结构如图1 所示,该网络结构的输入是一幅包含塔杆本体隐患的图像(选取了销钉、绝缘子、防震锤、均压环、鸟巢五类关键部位),检测识别后通过分类算法[7]输出关键部位出现异常隐患特征的概率得分和隐患部位的边界框。其中,RPN 生成400个候选区域提供给塔杆本体隐患智能识别模型Faster R-CNN 网络模型,网络模型中,将RPN和Fast R-CNN 的卷积层参数共享。
图1 基于Faster R-CNN 的杆塔本体隐患智能识别网络结构
对于塔杆本体隐患智能识别的问题,传统的方法是先构建一幅图像的金字塔,然后通过提取特征来形成特征金字塔,最后在每一层图上进行预测,其缺点是计算开销比较大[8]。基于神经网络的智能识别方法仅需要在最后一层特征图上进行预测,也能获得较好的效果。但是,对于杆塔本体上小微部件的隐患检测[9],其表现还是不太好,因此,仍然需要考虑金字塔。FPN 使用自下而上路径、自上而下路径以及横向连接的方式将低分辨率、高语义信息的高层特征与高分辨率、低语义信息的低层特征结合在一起,使每一个尺度下的特征均拥有十分丰富的语义信息[10],如图2 所示。
图2 基于杆塔本体识别的特征金字塔网络
本文试验对象为7 304 张航拍巡检图像中6万余个关键部件异常的图像(包含销钉缺失、鸟巢隐患、防震锤锈蚀、均压环倾斜、绝缘子损坏),针对关键部位的隐患情况进行数据图像特征的标注。本文对无人机拍摄到的图像中关键部件在整张图像中出现的占比进行统计分析,得出以下结论,7 304 张图片中6 000 多张图片占比在10%以下,约1 000 张图片占比在10%~15%,所以关键部件在图像占比在15%~100%范围的数量非常少。如图3 所示为电网线路存在小微关键部件标注,左上为防震锤锈蚀图像、右上为绝缘子破损的图像、左下为均压环倾斜的图像、右下角为销钉识别出来的图像。由图3 可知,关键部件在无人机拍摄的图片中占比比较小,所以本文针对输电线路的小微关键部位的隐患情况进行数据图像特征的标注,然后结合本文提出的强化细粒度图像特征识别的边缘计算的轻量级算法MGFFKCD 进行预测。
图3 无人机拍摄图像的小微关键部位标注
针对输电杆塔本体关键部件的智能检测识别和分类隐患图像的问题,本文提出了基于华为Atlas 加速终端和轻量级算法MGFF-KCD 来处理多个粒度的特征信息。包括利用FPN 构建Faster R-CNN 检测模型来提取多粒度的特征图像的融合方法,使用多个粒度的图像特征融合后进行分类与检测可以有效地改善微小部件隐患检测的准确度和检测速率[11]。
首先,本文使用FPN 替代单尺度特征图以适应RPN。为了达到多粒度融合的效果,需要在金字塔每个等级的每一个位置进行滑动卷积。在形态大小上,为了缓解卷积网络上采样过程中的混叠效应,得到的特征映射集为{P2,P3,P4,P5},本文设计了一种多粒度融合的模型,在形式上,{P2,P3,P4,P5}所对应的尺度为{42,162,322,642}。由于FPN 之间有参数共享,故这样的设计方法可以使得所有层级具有相似的语义信息。本文仍然使用3 种长度比{1:1,1:2,2:1},因此在金字塔中共有12 个锚点。训练过程中,本文将重叠率大于0.7 的当做正样本,小于0.3 的当做负样本。由于FPN 之间有参数共享,故使得所有层级具有相似的语义信息。
在进行关键部件图像识别预测的过程中,需要将特征信息进行分类,在本文的轻量级边缘计算算法中可以近似将其看作一个凸二次规划的优化问题,其解可以通过构造拉格朗日函数获得分类函数的解:
式中:ai≥0 为拉格朗日乘子。
分别对式中的w 和b 求偏导数,并令其等于0,有:
带入式(1)中,有:
根据解得ai的得到权重w。决策函数为:
对于样本线性不可分的情况,引入非负松弛变量ζ=(ζ1,ζ2,…,ζn)≥0,构造最优超平面,在错误最小的情况下将样本分类:
式中:C 为惩罚因子,表征对错误的惩罚程度,C越大,表示对错误分类的惩罚越大。
然后,融合FPN 和Fast R-CNN。Fast R-CNN采用RoI pooling 层来提取特征,其通常在单尺度特征图上执行。如果要将其与FPN 一起使用,那么需要把不同尺度的RoI 分配给金字塔等级。在形式上,可以通过式(6)将宽度w 和高度h 的RoI分配给特征金字塔的等级k,即:
式中:224 表示ImageNet 数据集预训练图像大小;k0表示映射到wh=2242RoI 的目标水平,本文中将k0设置为4。式(6)意味着若RoI 的尺度变小(如:224 的二分之一),则其应该被映射到更细粒度的级别。
为了满足无人机边缘计算中深度神经网络对芯片算力的需求,本文的无人机搭载了华为升腾AI 处理器Atlas 200。处理器不仅可以提供强大高效的乘加算力,并且在硬件体系结构上对于深度神经网络进行了特殊的优化。升腾AI 处理器主要的架构组成部件包括特制的计算单元、大容量的存储单元和相应的控制单元,如图4 所示。
图4 升腾AI 处理器架构
图4 中,升腾AI 处理器采用达芬奇架构设计AI Core,具有高通量、大算力和低功耗的特点,主要负责执行标量、向量和张量相关的计算密集型算子,从而使之能够以极高的效率完成目前主流的深度神经网络的前向计算,即深度模型的推理任务,图5 为升腾AI 处理器对输入图像的处理流程。
图5 昇腾AI 处理器处理流程
图5 中,图像的转码、切分和变形由数字视觉预处理模块完成;针对输入数据完成包含正则化在内的一系列预处理;核心推理的运算由AI core,即达芬奇架构处理核心完成;运算结果交给CPU 进行处理,将结果输出。在主机侧已经完成了算子的实现和执行顺序的编排,在设备侧(无人机)秩序进行离线推理计算即可。
本文针对提出的算法改进方案进行试验,操作系统是Ubuntu16.04,使用caffe 和Tensorflow框架。CPU 为Inter (R) Core (R) i7-9750H,3.4 GHz×12,64G 内存,GPU 为Nvidia GeForce RTX 2080Ti,硬盘512G SSD(系统盘)和4T×2 的机械存储盘。具有边缘计算能力的移动端设备核心配置为Atlas 200 Develop Kit,Hi3559 Camera 模块以及Atlas 200 AI 加速模块,Ubuntu 服务器通过USB 接口与Atlas DK 开发者板连接。边缘计算模块连接方式如图6 所示。
本文所用数据集来源于国家电网无人机巡检时所拍摄的图片,涵盖了多个地区、不同时间段、各类场景。采集到的图片分辨率较高,约为4 800×3 600 像素。本文中主要选取绝缘子、均压环、防震锤锈蚀、销钉缺失、鸟巢共5 种不同关键部件异常的图片作为本文数据集的正样本,数据总量有7 304 张。其中训练集6 674 张,测试集630 张。不同类型的数据集数量和标注标签展示如表1 所示。
表1 无人机拍摄关键部位的数据类型和数量
由于关键部件数据集数量不足,不建议直接对模型进行训练,因为数据集数量太少容易引起过拟合问题,导致模型预测能力降低。因此,本文采取预训练模型后导入模型进行参数初始化的预训练方法:首先在监控摄像机拍摄的10 万余张电网线路隐患图像汇总进行预训练,从这些海量的图像数据集中提取丰富的语义特征[12],动态调整学习到的特征参数。然后将模型参数发送到无人机设备端,上述过程在无人机启动初期就完成了。启动完成并导入服务器模型参数后,无人机开始拍摄图像,接收到关键部件的图片后,使用一开始导入的预训练模型得到的特征参数作为模型初始化状态[13],并结合Fast R-CNN 和RPN2种神经网络对关键部件的特征提取后的模型进行微调,使得参数可以使用关键部件的数据。
本文开展的试验研究采用的是3.2 节中介绍的包含正样本数量总计7 304 张图像,其中6 674张图像为训练集,其中,从训练集中抽样选取660 张图片作为验证集,余下的630 张图像为测试集进行测试,采用预测的准确率作为评判标准。为了直观展示融合效果,本文还进行了几组消融试验,结果如表2 所示。
图6 边缘计算模块连接机制
表2 各类样本的识别准确率
由表2 可以看出,鸟巢和绝缘子的识别率相对较高。一方面,鸟巢和绝缘子体积较大,容易识别;另一方面,鸟巢和绝缘子的样本数目相对较多,提高了模型识别的正确率。其他的种类的识别率较低。销钉和防震锤的图像识别率不高,一方面是因为他们的样本数目太少,另一方面是体积小,不容易发现,销钉的体积就属于比较小的,在图像中占得比例不足2%,本文随机抽取了几张在Atlas 平台上输出的检测实例,如图7所示。
图7 杆塔本体检测算法输出实例
图7 展示了杆塔本体上检测识别的实例。针对杆塔本体检测和识别的关键部位对隐患区域进行标注并自动给出隐患类型的分类。
输电杆塔本体的缺陷检测主要采用基于深度学习的目标检测算法,深度神经网络模型计算量大[14],目前无人机终端搭载的处理器由于计算能力不足,难以达到实时检测的效果。
图8 展示了杆塔本体隐患检测和分类算法在不同的芯片上完成推理工作流程所需耗费的时间。显然,Atlas200 推理耗时略高于GTX2080Ti,但是其远低于CPU 的耗时。其次,隐患检测算法在输电线路的现场使用过程中会有其他方面的耗时,包含但不限于模型载入和传输的时间。由于Atlas 比GTX2080Ti 小,可以跟随输电线路检测的设备如摄像头一起安装到现场,所以其综合用时最少。
图8 杆塔本体隐患检测和分类速率结果比对
R-CNN 算法解决了目标检测中速度和数据集两个关键问题,在图像识别检测的应用上取得了显著的成效。但仍存在训练、测试速度慢,训练空间大等问题,于是出现了基于R-CNN 改进的Fast R-CNN 算法、Faster R-CNN 算法。与RCNN 算法相比,Fast R-CNN 算法在最后一层卷积层后加了ROI pooling 层且损失函数使用了多任务损失函数,将边框回归直接加入到CNN 网络中训练,改进了R-CNN 算法训练、测试速度慢,训练空间大等问题;相比Fast R-CNN,Faster R-CNN 算法使用RPN 代替原来的Selective Search 方法产生建议窗口以及产生建议窗口的CNN 和目标检测的CNN 共享,提高了检测精度和速度,真正实现了端到端的目标检测框架。
为了更明确的了解各个算法之间的差异,本文进行了模型性能分析,对比结果如表3 所示。
表3 各算法的性能对比
由表3 可知,Faster-R-CNN 的Fps 远快于R-CNN 和Fast-R-CNN,检测精度也远大与-CNN和Fast-R-CNN,于是本文选择Faster-R-CNN 作为基本检测算法,该算法高效且轻量。而且针对目前输电线路杆塔上隐患检测算法的不足,本文利用FPN 构建Faster R-CNN 检测模型来提取多粒度的特征图像的融合算法MGFF-KCD 来处理多个粒度的特征信息,不仅提高了检测算法的准确率,而且提升了无人机在输电本体隐患巡检过程中对输电本体小微隐患检测分类准确率和识别的实时性,试验结果表明,该算法在Atlas 200 芯片设备上可实现每张62 ms 的检测速度。
本文提出了一种基于边缘计算和无人机巡检图像的输电本体隐患智能检测和分类应用,基于华为Atlas 加速终端和轻量级算法MGFF-KCD 来处理多个粒度的特征信息。无人机搭载华为Atlas 200 人工智能计算加速模块,具备非常强大的计算能力,为检测算法提供更好的运算平台[15]。在后端服务器预训练模型后迁移到无人机端进行边缘检测模型的计算,输电线路杆塔关键部件隐患检测识别的准确率得到提升。选取了销钉、绝缘子、防震锤、均压环、鸟巢五类关键部位进行试验,结果表明,该算法在Atlas 200 芯片设备上可实现每张62 ms 的检测速度和88%的准确率。