智能光电检测技术专栏
在可再生能源领域内,风能的储量丰富、经济效益高,具有广阔的商业化发展前景[1]。由于风力发电机组空气动力学的强非线性,结构复杂,运行工况的频繁随机切换以及有效风速的不可测性导致风力发电机组系统故障率极高[2]。齿轮箱螺栓是风力发电机重要的组成部分,由于风电机在高转速工作时产生的载荷与振动幅度会导致齿轮箱的螺栓松动,而螺栓松动会导致其作用在接头上的夹紧力降低,从而进一步导致结构刚度下降[3]。
传统螺栓松动检测是采用基于传感器的方法,主要分为基于声学和基于压电传感2种。基于声学的方法利用了超声波飞行时间[4],而压电有源传感的方法利用了介质材料的压电效应[5]。Yang等[6]提出了一种基于超声波衰减的诊断方法检测太空作业车辆的螺栓松动。Okugawa通过智能垫圈实现了基于压电的螺栓松动检测[7]。Zhao等[8]提出了一种基于压电传感器来识别飞机机翼中铆接面板的损坏。然而,上述方法依赖于人工操作,同时需要部署传感器,花费的成本较高,并且可移植性较低。
随着计算机视觉技术的不断发展,近年来基于计算机视觉的螺栓松动检测引起了广泛重视。Cha等[9-11]将机器学习与基于机器视觉的螺栓尺寸提取相结合,提出了一种螺栓松动检测方法。然而,这种方法在需要识别具有不同尺寸或形状的新型螺栓时,必须重复训练过程。Li等[12]提出了一种基于图像配准的螺栓松动检测方法,但是这种方法需要人工将图像中包含螺栓的区域框选出来。Yang等[13]提出了一种基于Faster-RCNN卷积神经网络的螺栓松动检测方法,不过这种方法依赖于相机拍摄的角度。
本文中提出了一种基于深度学习与图像配准的螺栓松动检测方法。与之前基于视觉的螺栓松动检测方法相比,本文中方法不需要人工将图像中包含螺栓的区域框选出来,也不需要有关螺栓类型或螺栓损坏状态的相关专业知识,因此该方法对于工程应用将更加灵活并且具有更低的成本。本文中通过风力发电机的齿轮箱螺栓做实验测试,测试结果证实,经改进后的YOLOv5目标检测网络检测速度FPS为131.6,检测指标AP@0.5为0.981。
首先收集一个包含349张螺栓图像的数据集,并将数据集分离,其中297张图像用于训练,52张图片用于测试。然后对YOLOv5s进行改进,并使用上述图像数据集对该模型进行训练和评估,实现了对图像中螺栓位置的定位。其次使用图像配准和透视变换技术,将不同检查周期的图像映射到同一坐标系中,将灰度对比图中的螺栓松动部分进行特征增强,定位出因螺栓松动引起的差异特征,从而检测出松动的螺栓。
假设目前有两排风力发电机齿轮箱螺栓需要被检测,本文中在两个检查周期间进行评估,并且在检查间隔期间松开螺栓5。两张输入图像中模板图像和待检测图像如图1所示。
图1 拧紧和松动的螺栓图
Fig.1 Images of tightened and loosened bolts
首先,需要识别出图像1中螺栓的位置。本文中使用的目标检测网络为YOLOv5[14]。在进行目标检测时,YOLO算法会首先将输入图片分成多个小网格,目标中心所在的网格用于检测该目标类别。YOLO算法只需将图片输入到网络中即可得到最终的检测结果,因此该网络将检测问题转换成回归问题。并且,YOLO算法直接使用整幅图像来进行检测,因此可以获取全局信息,减少了将背景检测为目标的错误。YOLO系列算法在经历了5个版本的发展后形成了如今完整的端到端目标检测网络。YOLOv5的整体框架如图2所示。
图2 YOLOv5网络模型
Fig.2 YOLOv5 network structure
YOLOv5是单阶段物体检测网络,它与其他单级物体检测网络一样具有3个重要部分。模型的Backbone部分主要用于从给定的输入图像中提取重要特征。在YOLOv5中,CSP(跨阶段部分网络)从输入图像中提取丰富信息特征。Neck部分主要用于生成特征金字塔。特征金字塔有助于模型在对象缩放上很好地泛化,识别具有不同大小和比例的同一对象。其他目标检测模型采用的特征金字塔技术有FPN、BiFPN、PANet等,YOLOv5的Neck部分和YOLOv4中一样,都采用FPN+PAN的结构。但是YOLOv4的Neck结构中采用的是普通的卷积操作,而YOLOv5的Neck结构中使用的是PANet来获取特征金字塔。模型Output部分主要用于执行最后的检测部分。它在特征上应用锚框,并且能生成具有类别概率、对象性分数和边界框的最终输出向量。
虽然YOLOv5的检测效果已经达到了很高的标准,但是其主要是针对Microsoft COCO数据集,并非在任何数据集上都能拥有优秀的表现。目标检测模型的Backbone是用于获取输入图像并从中提取特征映射的元素,这是任何目标检测网络的关键部分,因为它是负责从输入图像提取上下文信息以及将该信息提取为模式的主要结构。因此,本文主要是在Backbone上对YOLOv5进行修改。Zhang等在2018年推出了ShuffleNet[15],这是一种计算效率极高的轻量化CNN架构。ShuffleNet利用逐点群卷积来降低计算成本,同时保持准确性,并且其采用了通道混洗操作,用于帮助信息在功能通道之间流动。与另一种轻型目标检测网络MobileNet相比,ShuffleNet在ImageNet分类中的错误率更低,并在保持精度的同时,凭借其轻量化的设计,其推理速度大概为AlexNet的13倍。ShuffleNetV2在ShuffuleNetV1的基础上引入了通道分离操作,将输入的特征图分为两支,之后采用拼接合并分支,让前后的通道数一样,然后再进行通道混洗。ShuffleNetV2高效的架构设计,使每个构建块的效率被提高,从而能利用更多的特征图和更大的网络容量。因此,凭借ShuffleNetV2的优异表现,本文中选择使用ShuffleNetV2来替换掉YOLOv5s原有的Backbone。ShuffleNetV2主要由1个3×3的卷积层、1个池化层和16个ShuffleNetV2 block组成,其网络结构如图3所示。
图3 ShuffleNetV2-YOLOv5网络模型
Fig.3 ShuffleNetV2-YOLOv5 network structure
基于Pytorch框架的目标检测网络ShuffleNetV2-YOLOv5来定位螺栓的位置,实验在Windows 10(64bit)下进行,该系统的硬件环境为Intel(R)Core(TM)i5-8400 CPU@2.80GHz,NVIDIA GeForce RTX2060 GPU和16GRAM。
在训练过程中,训练和测试集比例为6∶1。使用学习率为0.001、动量为0.98、权重衰减为0.001、优化方法为Adam的训练过程进行了100次迭代,训练过程如图4所示。当迭代次数达到100次时,训练精度提升趋于平缓,其中AP@0.5值为0.981,在工程应用领域可以被接受。基于以上结果,决定使用100次迭代之后生成的模型作为最终检测模型。测试集中部分图片的检测结果如图5所示。
图4 训练过程
Fig.4 Training process
图5 测试集中部分图像检测结果
Fig.5 Detection results in the test dataset
图像配准算法可分为基于特征和基于强度2种算法。基于特征的方法是找到图像特征(如点、线和轮廓)之间的对应关系,根据图像中多个点之间的对应关系,再通过几何变换将目标图像映射到参考图像,从而在参考图像和目标图像之间建立逐点对应关系。基于强度的图像配准则不是通过基于特征的图像配准应用几何变换,而是根据相关性指标比较图像中的像素值,从待检测图中截取出和模板图最相似的部分与模板图做配准。该方法已广泛应用于医学成像[16]和遥感[17]。
从图1中识别出各螺栓位置以后,本文中截取出包含螺栓的区域作为模板图(ROI区域),如图6(a)所示。在基于特征点和基于强度的2种配准方法中,本文中经过测试,选择了效果更好的基于强度的配准方法。图1(a)中经过图6(a)图配准后截取出的图像为图6(b)图。模板图与待检测图之间的灰度图强度比较如图7所示,图像整体存在少量噪声。接下来,需要通过特征增强的方式,过滤掉图像的噪声,在原图中标记出松动的螺栓。
图6 模板图和待检测图中包含螺栓的区域
Fig.6 Areas containing bolts in the template image and the image to be inspected
图7 灰度图比对结果
Fig.7 Grayscale comparison result
一旦完成2个图像的配准过程,即可通过识别配准错误识别松动的螺栓。然而,直接识别松动的螺栓仍然需要借助人工干预,如:松动的螺栓周围存在噪声等现象。因此,需要对灰度图进行特征增强,消除噪声,以避免螺栓松动检测出现错误。
通过对图7执行SLIC(简单线性迭代聚类)[18]超像素分割方法,图像被分割为一系列局部区域,称为超像素,如图8(a)所示。超像素可以定义为一组具有共同特征(如像素强度)的像素。超像素携带的信息比像素多,并且具有感知意义,相比几乎没有感知意义的像素网格中的单个像素,属于同一个超像素组的像素具有某种共性,例如相似的颜色或纹理分布。同时,超像素能够将图像本身的复杂性从数十万个像素减少到仅数百个超像素,对于计算要求高的问题非常有用。
图8 超像素分割结果
Fig.8 Superpixel segmentation results
SLIC算法通过基于像素在图像平面中的颜色相似性和接近度对像素进行聚类,从而生成超像素。对于每个超像素区域,本文中计算该超像素区域内所有像素的方差,计为强度变化系数并表示为variance。然后,通过设置截止阈值T,可以从配准误差中消除噪声内容,从而可以保留螺栓松动特征,每个超像素区域的直方图如图8(b)所示。其中Superpixel1来自松开的螺栓区域,Superpixel2代表噪声内容。如图8所示,松动螺栓周围的强度大小发生了显着变化,而在其他区域平稳过渡。在这方面,提取超像素的variance值可以有效地将松动螺栓与它的背景噪声分离。因此,本文中对variance值小于预定义阈值T的超像素区域不作处理,而对variance值大于预定义阈值T的超像素区域对应的原图像区域处理为红色,表示螺栓松动部分。最终检测结果如图9所示。
图9 最终检测结果
Fig.9 Final detection result
对于平面区域,有2种方式的几何转换:一种是基于2×3矩阵进行的变换,称为仿射变换;另一种是基于3×3矩阵进行的变换,称为透视变换。一个平面内的任意平行四边形可以被仿射变换映射为另一个平行四边形。可以将仿射变换想象成一幅图像画到一个胶版上,在胶版的角上推或拉,使其变形而得到不同类型的平行四边形。相比较仿射变换,透视变换更具有灵活性,一个透射变换可以将矩形转变成梯形,如图10所示。
图10 仿射变换与透视变换
Fig.10 Affine transformation and perspective transformation
如图11所示,当输入的两张图片拍摄角度相差较大时,如果不对图像做任何处理而直接使用基于强度的图像配准,匹配效果较差、噪声难以去除。因此,做配准前需要对待检测图片做空间变换。本文中采用的方法是基于FAST特征点匹配的透视变换。
图11 模板图与待检测图
Fig.10 The template image and the image to be detected
提取图11的FAST特征点,对FAST特征点进行匹配,找到最匹配的特征点对,提取最优配对点的坐标,生成透视变换矩阵。作透视变换,生成待检测图像,如图12所示。将待检测图像与模板图像做配准后使用SLIC算法进行图像分割,如图13(a)所示。最后通过设置合适的阈值,得到最终检测结果如图13(b)所示。
图12 经FAST特征点匹配后生成待检测图像
Fig.12 Generate an image to be detected after FAST feature point matching
图13 经图像分割后得到最终检测结果
Fig.13 The final detection result is obtained after image segmentation
由于基于机器视觉的螺栓松动研究目前还处于起步阶段,因此还没有官方的基准数据集发布,为了确保神经网络能够处理不同种类的螺栓,本文中数据集部分由DS-2DC2D40IW-DE3(2.8~12 mm)智能相机采集,部分从网络上公开数据集中得到,总共收集了349张照片,并将数据集分成297张训练图像和52张测试图像。图像数据集中部分图片如图14所示。为了提高深度学习算法的训练速度,所有图片均统一转换为640×640像素,此外,每一张图像都使用LabelBox标记工具所标注,如图15所示。
图14 螺栓数据集
Fig.14 Dataset of bolts
图15 LabelBox标注数据集
Fig.15 Label bolts using LabelBox
在目标检测领域,P(Precision)、R(Recall)和AP(Average Precision)是常见的3种衡量网络性能的参数。Precision是检测到的物体中目标物体的比例,而Recall是实际检测到的目标物体总数的比例。精确召回(PR)曲线中y轴表示精确值,x轴表示召回值。AP是PR曲线与x轴和y轴所围成的面积,是目标检测中广泛使用的评价指标。精确率、召回率以及AP计算如式(1)—式(3)所示,其中TP表示真阳性,FP表示假阳性,FN表示假阴性。
本文中主要选用推理时间和AP@0.5两个参数对模型性能进行评测。目标检测模型的推理时间含义为运行检测模型识别每张图像中所有特定目标所花费的时间,本文中使用FPS来表示,单位为(帧/s)。AP@0.5是目标检测任务中广泛使用的Microsoft COCO标准中的一个参数,表示为当IoU设为0.5时,P-R曲线所围成的面积。
表1列出了ShuffleNetV2-YOLOv5训练结果的细节。在本文中计算环境中,ShuffleNetV2-YOLOv5的检测平均FPS为131.6,AP@0.5为0.981。
表1 ShuffleNetV2-YOLOv5训练结果
Table 1 Training results of ShuffleNetV2-YOLOv5
模型PRFPSAP@0.5ShuffleNetV2-YOLOv50.9900.935131.60.981
本文中将ShuffleNetV2-YOLOv5与其他常见的目标检测算法进行了比较,如表2所示。本文中在mmdetection框架中搭建了Faster-RCNN[19]和RetinaNet[20],在Tensorflow框架中搭建了YOLOv3[21],发现它们的检测速度和AP@0.5值都低于YOLOv5s,这证明了YOLOv5s相比上述3种目标检测网络更适合作为基准网络进行研究。相比YOLOv5自带的骨干网络DarkNet,ShuffleNetV2凭借其更为轻量化的设计,在本文中数据集上表现优异。尽管其AP@0.5值相比YOLOv5s并未得到明显地改善,但是由于ShuffleNetV2-YOLOv5模型的参数量(8.4M)相比YOLOv5s(14.1M)减少了40.8%,因此其检测速度上相比YOLOv5s得到了69.8%的提升。因此,可以认为ShuffleNetV2-YOLOv5在本文中数据集上的综合表现优于YOLOv5s。
表2 不同模型对比
Table 2 Comparison of different models
模型FPSAP@0.5Faster-RCNN18.80.908RetinaNet20.20.903YOLOv314.00.965YOLOv5s77.50.981ShuffleNetV2-YOLOv5131.60.981
在本文中提出的方法中,最耗时的过程是SLIC超像素分割。这个过程的计算成本与输入图像的分辨率、超像素分割的区域个数有关。如表3所示,在本文中计算环境下,如果输入图像分辨率为2 560×1 440,超像素分割的区域个数为240个,图像分割计算时间为7.2 s,图像配准耗时为378 ms。随着图像分辨率的降低,超像素分割的计算时间和图像配准耗时逐渐降低。在输入图像分辨率为640×360,超像素分割的区域个数为60个的情况下,图像分割计算时间可显着缩短至1.9 s,图像配准耗时缩短为28 ms。因此建议应用较低分辨率的输入图像来降低计算成本。
表3 不同分辨率图像耗时
Table 3 Time consuming images with different resolutions
待检测图像分辨率分割区域个数图像分割耗时/s图像配准耗时/ms2 560×1 4402407.23781 920×1 0801804.21791 280×7201202.7101640×360601.928
图像分辨率并不会对本文方法造成不良影响。本实验采用图1作为输入图像,通过缩小原始输入图像的大小并重复螺栓松动检测程序来进行研究。本文中选择了1 280×720和640×360两种图像分辨率,图16显示了不同输入分辨率图像的螺栓松动检测结果。
图16 不同分辨率的检测结果
Fig.16 Detection results at different resolutions
由于本文之前的测试是假设只有单个螺栓松动的情况下,因此,本实验对采集图像中松动螺栓的个数是否对本文方法产生不良影响进行研究。本实验采用图1作为模板图像,并且在检查间隔期间松开螺栓4、5,如图17所示。实验结果表明松动的螺栓个数并不会成为影响该方法的因素。
图17 不同松动螺栓个数的检测结果
Fig.17 Detection results of different quantity of bolts
由于螺栓自身的松动是一个漫长的过程,因此需要在螺栓松动角度较小时及时发现并处理。本实验将测试当螺栓旋转角度较小时,本文方法是否能正确定位出松动螺栓。本次测试兼顾检测的准确性和实时性,采用图11作为模板图像并且设置图像分辨率为1 280×720,其中5号螺栓分别进行了从5°、10°和15°的一系列逆时针旋转。图18显示了本文中方法在螺栓旋转角度较小的情况下依然能准确定位松动的螺栓。
图18 不同旋转角度的检测结果
Fig.18 Detection results of different rotation angles
两次拍摄周期光照强度的变化是影响本文中方法检测效果的重要因素。本实验采用图1作为模板图像,通过添加额外的光源来改变照明条件,导致第二个输入图像中的亮度发生了轻微变化。尽管如此,本文中方法仍然在这种情况下检测到螺栓松动,如图19所示。
图19 光照条件改变后的检测结果
Fig.19 Detection results after changinglighting conditions
如第2.4节所述,通过引入截止阈值T对灰度图中螺栓松动区域进行特征增强并消除配准误差中噪声内容。本小节将证明截止阈值T在特征增强过程中的重要性。本次测试采用图19作为输入图像,不同截止阈值的检测结果显示在图20。若阈值T设置得过高,松动螺栓所在的超像素区域则可能被会当作噪声区域而被抑制;若阈值T设置得过低,部分噪声区域则可能会被当作是松动螺栓所在的超像素区域而得不到准确地抑制,这会直接导致检测算法的准确率受到很大的影响。本文中建议初始截止阈值T=100,并可根据测试结果进一步调整。
图20 不同截止阈值的检测结果
Fig.20 Detection results of different thresholds
2次拍摄周期相机拍摄角度的变化是另一个影响本文中方法检测效果的重要因素。之前测试中采用的2个输入图像都是相机在相同角度条件下拍摄获取到的。当2张输入图像相机拍摄角度发生较小的变化时,也能通过透视变换的方法对输入图像进行处理,从而定位到松动的螺栓。本测试采用了图11作为输入图像,检测结果如图21所示。
图21 拍摄角度改变后的检测结果
Fig.21 Detection results after changing shooting angle
1) 本文中提出的采用深度学习以及图像配准的螺栓松动检测方法,能实现螺栓松动的全自动化检测。
2) 在YOLOv5s的基础上进行改进,采用ShuffleNetV2作为Backbone,根据对比实验结果,相较于YOLOv5s,该模型在检测准确率上和YOLOv5s相当,并且参数量降低了40.8%,推理速度提升了69.8%。
3) 在输入图像分辨率、螺栓的旋转角度、光照条件等方面进行鲁棒性测试,实验结果表明本文方法的鲁棒性健壮,当螺栓发生5°以上旋转时该方法能准确检测出螺栓松动,在风力发电机螺栓松动的智能化检测方面具有重要意义。
[1] SAHU B K.Wind energy developments and policies in China:A short review[J].Renewable and Sustainable energy reviews,2018,81(1):1393-1405.
[2] 叶杭冶.风力发电机组的控制技术[M].北京:机械工业出版社,2006.
YE Hangye.Wind turbine control technology[M].Beijing:Machinery Industry Press,2006.
[3] JIANG Y Y,ZHANG M L,CHU H.A study of early stage self-loosening of bolted joints[J].Journal of Mechanical Design,2003,125(3):518-526.
[4] MASATAKA S,YASUNORI H,AKIHIRO K,et al.Development of ultrasonic axial bolting force inspection system for turbine bolts in thermal power plants,JSME Int.J.Ser.1,Solid Mechan[J].Strength Mater,1992,35(2):216-219.
[5] 刘客,杨松森,张端,等.基于压电传感的螺栓球节点连接状态监测[J].压电与声光,2021,43(1):104-109.
LIU Ke,YANG Songsen,ZHANG Duan,et al.Connection status monitoring of bolted ball joints based on piezoelectric sensing[J].Piezoelectrics &Acoustooptics,2021,43(1):104-109.
[6] YANG J,CHANG F K.Detection of bolt loosening in C-C composite thermal protection panels:II.Experimental verification[J].Smart Materials &Structures,2006,15(2):591-599.
[7] OKUGAWA M.Bolt loosening detection method by using smart washer adopted 4SID[C]//Dynamics &Design Conference.The Japan Society of Mechanical Engineers,2003.
[8] ZHAO X,GAO H,ZHANG G,et al.Active health monitoring of an aircraft wing with embedded piezoelectric sensor/actuator network:I.Defect detection,localization and growth monitoring[J].Smart Materials &Structures,2007,16(4):1208.
[9] CHA Y J,YOU K,CHOI W.Vision-based detection of loosened bolts using the hough transform and support vector machines[J].Autom.Constr.,2016,71:181-188.
[10] RAMANA L,CHOI W,CHA Y J.Automated vision-based loosened bolt detection using the cascade detector[M].Springer,Cham,Switzerland:2017:23-28.
[11] RAMANA L,CHOI W,CHA Y J.Fully automated vision-based loosened bolt detection using the Viola-Jones algorithm[J].Structural Health Monitoring,2018(1):147592171875745.
[12] KONG X X,LI J.Image registration-based Bolt loosening detection of steel joints[J].Multidisciplinary Digital Publishing Institute,2018,18(4):1000.
[13] ZHANG Y,SUN X W,KENNETH J L,et al.Autonomous bolt loosening detection using deep learning[J].Structural Health Monitoring,2020,19(1):105-122.
[14] CHEN Y,ZHANG C,QIAO T,et al.Ship detection in optical sensing images based on YOLOv5[C]//Twelfth International Conference on Graphics and Image Processing (ICGIP 2020).International Society for Optics and Photonics.[S.l.]:[s.n.],2021,11720:117200E.
[15] ZHANG X,ZHOU X,LIN M,et al.Shufflenet:An extremely efficient convolutional neural network for mobile devices[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.[S.l.]:[s.n.],2018:6848-6856.
[16] KLEIN S,STARING M,MURPHY K,et al.Elastix:Atoolbox forintensity-based medical image registration[J].IEEE Trans.Med.Imaging.2010,29:196-205.
[17] CHEN H M,ARORA MK,VARSHNEY P K.Mutual information-based image registration for remote sensing data[J].Int.J.Remote Sens.2003,24:3701-3706.
[18] ACHANTA R,SHAJI A,SMITH K,et al.SLIC superpixels compared to state-of-the-art superpixel methods[J].IEEE Trans.Pattern Anal.Mach.Intell,2012,34:2274-2282.
[19] 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.
[20] WANG Y,WANG C,ZHANG H,et al.Automatic ship detection based on RetinaNet using multi-resolution Gaofen-3 imagery[J].Remote Sensing,2019,11(5):531.
[21] ZHAO L,LI S.Object detection algorithm based on improved YOLOv3[J].Electronics,2020,9(3):537.