瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)

销钉缺陷检测(Defect-Detection Method of Pins)

电力金具上销钉松动、缺失等常见缺陷严重影响着电力系统的稳定运行, 而该类缺陷的检测方式主要依赖于人工标注,致使效率低下。电力金具作为架空输电线路不可缺少的一部分,在电力系统中负责地线与杆塔、输电导线与绝缘子、杆塔与绝缘子等电力部件的连接,对系统的安全稳定运行起着重要作用。然而由于多数电力金具除了要在环境恶劣的户外工作,还要长期承受外部机械负荷张力和电力系统内部的电力负荷的作用,使得金具上的销钉容易出现缺失或者松动等缺陷,影响电网的稳定运行。

近些年, 为了提高对架空输电线路的巡检效率,无人机巡检技术得到了广泛的应用。针对电网设备的外在缺陷,无人机携带数据采集装置沿着线路走廊飞行获取大量可见光图片,人工寻找相应缺陷。在此过程中, 人工标注缺陷存在以下局限性:1,即使是富有专业经验的人员进行标注,效率也是十分低下的;2,销钉在图片中所占比例是十分微小的并且单张图片中可能存在多个销钉,致使人工标注经常出现漏检的情况;3,由于无人机拍摄角度的原因(若固定拍摄角度,模型检测效果可能会提升),松动的销钉和正常情况下的销钉是十分相似的,这使得容易出现错标的情形。4,销钉具有多种形状,且被安装在不同的位置。5.数据集中缺少销钉的图像很少,导致训练集中标准样本和缺陷样本不平衡,导致分类效果不足;(2)销钉太小以至于很难将航拍图像与背景图像区分开来(困难样本)。因此有必要研究一种准确而又高效的缺陷智能识别方法。

目前,大多数图像检测研究都集中在大目标,如均压环、挂板、绝缘子等,很少关注销钉级缺陷识别(即小目标)。使用现有的目标检测方法,在复杂背景的大规模空中传输线图像中检测引脚缺陷是很棘手的。主要技术难点如下: (1) 无人机采集过程中,由于抖动和光强导致图像模糊;(2)图像背景复杂,检测目标小且被遮挡;(3) 高精度卷积神经网络一般都有很深的层数,由此产生的计算和存储成本是巨大的;(4) 更深的网络结构在训练时需要大量标记数据才能保证检测精度高,训练复杂且效率低下;(5) 由于现有的目标检测算法是为传统图像设计的,因此在训练和检测过程中必须固定图像大小,无法在空中传输线图像的目标检测中实现通用性和尺度适应性。

[1] 1[2] 2考虑到深度学习中的“单阶”检测算法RetinaNet在识别精度和实时性均要优于Faster RCNN,销钉松动类样本的严重不足以及无人机收集该类样本代价高昂,其采用人工采集的相关辅助数据对少数样本进行补充训练,结果表明添加适宜的相关辅助数据量能够明显增加检测模型对少数类的重视程度。

[3] 3考虑到无人机现场采集图像时由于自身的飞行和抖动使得一部分图像清晰度偏低的问题,文中构建了生成对抗网络,借助GAN来提高图像的清晰度,从而提高此类数据的识别精度。通过生成器来处理模糊图像,输出所需的清晰数据。针对GAN训练的图像数据对在现实情况下很难获得的问题,文中借助马尔可夫过程生成的轨迹矢量和子像素插值来实现模糊一清晰图像对的构建,最后通过RetinaNet实现销钉缺陷的检测。

[4] 4基于级联卷积神经网络的目标检测方法(改进MTCNN)。在以下四个方面对原有的MTCNN进行了改进:(1)在分解卷积核后,在部分卷积层后加入非线性多层感知器,同时去除全连接层;(2) 融合了多尺度特征图;(3) 在分类交叉熵损失函数中加入一个角度变量;(4)在训练过程中采用多任务学习和离线困难样本挖掘策略。。训练样本分为四类:正样本、负样本、部分正样本和难样本。正样本和负样本可以提高模型的分类损失函数,而正样本和部分正样本可以提高模型的边界回归损失函数。训练过程分为两个步骤:预训练和离线困难样本训练。整个过程如图所示。
瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第1张图片
数据来自三个地方:(1)高压输电线路航拍图;(2) 低压输电线路航拍图;(3) 通过互联网搜索获得的图像。包括三个地方在内,图像总数为1500张(相对[5] 5少很多,ssd效果很差)。经过数据增强处理后得到6000张航拍图像。不同算法的性能比较如下
瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第2张图片

不同目标检测网络的网络规模和检测时间对比

瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第3张图片

[5] 5提出了一种三阶段检测系统,将语义分割算法首次应用于高速铁路缺陷检测领域。该方法采用基于改进YOLOV3的两阶段定位方法对销钉进行定位。第一阶段用于定位悬链线支撑装置上的五个关节组件(桅杆支架,顶针和U形环等,这些组件里含有销钉),第二阶段用于定位关节组件图像中的销钉。然后,第三阶段实现了 deeplabv3+ 算法对销钉进行语义分割。最后,根据销钉的头部、身体和尾部的语义信息对销钉进行分类。

销钉有多种形状,它们安装在不同的位置。 很难有一个标准来对所有开口销进行分类。 文中将销钉根据其在悬链线上的位置和形状不同分为TYPE_A_SP、TYPE_B_SP、TYPE_C_SP三种,如图所示,可以提高分类方法的鲁棒性。 每种类型的销钉根据其自身的缺陷分类标准又分为缺失、松动和正常三种状态,如图5所示。

瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第4张图片
具体分类标准有兴趣参考原文。

瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第5张图片
三个阶段的标注过程
瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第6张图片
训练策略
瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第7张图片
结果
瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第8张图片

无法完全检测松动的销钉主要原因如下: 1)拍摄角度 2)污染干扰语义分割结果。 由于大量灰尘,背景和螺栓的灰度值相似,导致语义分割错误…

瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测

参考官方文档链接准备实验环境。

tips:

在PC上训练模型,如果模型太大的话,可以可以在PC上转换为RKNN模型后再通过winscp等工具上传到开发板上,在开发板上转换会失败,内存不足。最新的rknn-toolkit-v1.6.1增加了支持pytorch的算子。虽然现在只支持TensorFlow自定义算子,但是感觉bug挺多。pytorch应该大部分模型都可以转换了。

实验效果如下:

瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)_第9张图片

References


  1. 王凯, et al.“基于辅助数据RetinaNet算法的销钉缺陷智能识别.” 广东电力 32.09(2019):41-48. doi:. ↩︎

  2. 王凯, et al.“基于RetinaNet和类别平衡采样方法的销钉缺陷检测.” 电力工程技术 38.04(2019):80-85. doi:CNKI:SUN:JSDJ.0.2019-04-013. ↩︎

  3. 王凯, et al.“基于生成对抗网络和RetinaNet的销钉缺陷识别.” 华南理工大学学报(自然科学版) 48.02(2020):1-8. doi:CNKI:SUN:HNLG.0.2020-02-001. ↩︎

  4. Xiao, Yewei, et al. “Detection of Pin Defects in Aerial Images Based on Cascaded Convolutional Neural Network.” IEEE Access (2021). ↩︎

  5. Wang, Jian, et al. “A Defect-Detection Method of Split Pins in the Catenary Fastening Devices of High-Speed Railway Based on Deep Learning.” IEEE Transactions on Instrumentation and Measurement 69.12 (2020): 9517-9525. ↩︎ ↩︎

你可能感兴趣的:(瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects))