掌桥专利:专业的专利平台
掌桥专利
首页

基于改进型孪生神经网络的螺栓松动检测算法及检测系统

文献发布时间:2023-06-19 19:28:50


基于改进型孪生神经网络的螺栓松动检测算法及检测系统

技术领域

本发明属于目标检测的人工智能技术领域,涉及基于改进型孪生神经网络的螺栓松动检测算法及检测系统。

背景技术

六角螺栓作为常用的结构紧固件之一,在各种场景中应用广泛,如风机塔筒、道路桥梁等。在实际场景中,螺栓会经常由于共振、腐蚀、外力冲击等因素的影响而产生松动甚至脱落,对设施安全造成极大的隐患,对螺栓状态进行定期巡检是运维中的重要工作。

螺栓最主要缺陷是松动,目前针对螺栓的松动主要仍是人工巡检,不仅工作量大,且在检测过程中对人员存在一定的安全风险。国内外提出一些利用声、光、电等传感器进行螺栓松动检测的方案,如压电阻抗法,利用具有正逆压电效应的压电材料制作传感器,可以达到松动检测的目的,但缺点是需要在每个螺栓上安装传感器,不适合大规模螺栓使用的场景,且易脱落造成额外的运维风险;超声波检测法,利用超声波穿透螺栓,预紧力降低时会增加反射时间,但缺点是需要专用的声波测量仪器对传播的时间进行测算,且需要专业仪器才能计算准确,成本高,实际应用难度大。

随着计算机技术和深度学习技术的快速发展,智能化、信息化快速占领生活中的各个角落,智能监测技术也得到了飞跃式发展,利用视觉传感器采集图像并智能监测,不仅效果可以达到运维要求,且人工成本低、操作难度小,受环境因素影响小、自动化程度高等优点。对于螺栓松动监测,可利用传统算法如霍夫变化、小波变换等可以对螺栓边缘进行提取,进而判断是本次观察到的螺栓图像是否相对前期拧紧后采集的螺栓图像发生了转动,即是否产生松动;利用深度学习的算法如YOLO系列目标检测算法可对待检测目标进行精准定位,通过添加标记线,判断标记线的位置变化即可得到螺栓是否松动的结果。该方案已大大降低了人力成本,但是仍存在难以克服的问题,一是需要采集到螺栓的正对面的图像,侧面采集到的螺栓图像极易被遮挡边缘,尤其工业大型钢结构,用螺栓进行固定时,不会使用单一螺栓,而是以螺栓群的方式进行固定,螺栓群中螺栓分布密集,从侧面采集图像时,相互之间也会产生遮挡。从而缺乏边缘信息,检测效果差;二是受光照、雨水、雾气等自然因素影响,螺栓表面信息易模糊,对于标记线的检测精准度也会变差,同时标记线自身还存在淡化的情况,整体的检测精度都会降低。

发明内容

针对现有技术存在的问题本发明提出使用孪生网络来进行螺栓松动检测,可针对不同天气环境、不同采集角度的螺栓进行松动检测,且无须增添额外的标记线,降低了人工成本,并针对螺栓松动检测的任务特点对孪生网络的结构进行了改进,提高了松动检测的精准度。

本发明的第一个目的是提供基于改进型孪生神经网络的螺栓松动检测算法,包括以下步骤:

S1.采集多个点位的螺栓图像,包括同一位点的螺栓在不同时间段、不同外部环境、不同角度进行图像采集得到螺栓图像;

S2.建立基于改进型DeepLabv3+的孪生神经网络模型:

S21.建立改进型DeepLabv3+网络,采用mobilenetv3网络作为Deeplabv3+模型的主干网络,结合ASPP模块,构建Deeplabv3+架构,在mobilenetv3网络的低语义信息输出端和Concat单元之间加入另一个CBAM模块,增加对边缘关注度,并降低对其他特征的关注度;在ASPP模块与转置卷积单元之间加入CBAM模块,使Deeplabv3+网络学习到当前图像中存在螺栓这一类目标,使主干网络通过一个CBAM模块向Concat单元输出低语义信息,和使主干网络通过多层级联ASPP向转置卷积单元输出高语义信息,所述改进型DeepLabv3+网络用于从螺栓图像中提取螺栓特征;

S22. 训练改进型DeepLabv3+网络;

S23. 以改进型DeepLabv3+网络作为孪生神经网络的子网络,建立基于改进型DeepLabv3+的改进型孪生神经网络,两个子网络共享权重,所述改进型孪生神经网络的相似度计算模块将两个子网络输出的特征图进行点乘操作,使两张特征图中相同位置被标注的特征的关注度提高,再通过Concat操作,将点乘之后的特征图和原特征图进行通道数合并处理,并利用最大值池化和平均池化获取通道数合并后多维特征不同位置的重要程度,最后通过一个7×7的卷积和Sigmoid操作,得到表示输入两个子网络的螺栓图像之间相似度的权重特征图;

S24.冻结改进型DeepLabv3+网络的参数,对改进型孪生神经网络的判别器进行训练;

S25.训练基于改进型DeepLabv3+的改进型孪生神经网络;

S3. 将螺栓未发生松动时保存下来的图像和之后实时采集的螺栓图像输入经步骤S2~S25训练好的改进型孪生神经网络,通过输出结果判断螺栓在采集图像的时刻是否发生了松动。

步骤S23中所述孪生神经网络的相似度计算模块构造为由点乘模块、Concat’单元、卷积单元、池化单元、Sigmoid单元组成,点乘模块对两个子网络输出的两个多维特征进行点乘,点乘得到多维特征对应位置的相关性,通过Concat’单元将点乘结果和两个多维特征进行通道数合并处理,卷积单元通过卷积操作对通道数合并后的结果进行相关性的发现,池化单元利用最大池化和平均池化获取多维特征不同位置的重要程度,多维特征不同位置的重要程度在Sigmoid单元中通过Sigmoid函数处理反馈到原特征图,最后得到两个多维特征相似度的权重特征图。

进一步的,步骤S22包括:

S221.从步骤S1得到的螺栓图像数据集中拷贝螺栓图像数据,利用Labelme软件对所有的螺栓图像进行标注,将图像中螺栓真实存在的区域对应的像素点标注为正例i,将图像中背景被识别成螺栓的区域对应的像素点标注为负例j;

S222.将标注好的数据划分为训练集一、验证集一和测试集一,每个螺栓图像作为一组数据;

S223.将已知标注的螺栓图像输入DeepLabv3+网络进行学习,通过损失函数获取输入验证集一后输出对应的损失,基于损失进行反向传播,更新DeepLabv3+网络中每个卷积层的参数;

S224. 获取测试集一输入DeepLabv3+网络后的评价值mIoU,判断测试集一输入DeepLabv3+网络后的评价值mIoU是否大于阈值,若是则输出当前DeepLabv3+网络,得到改进型DeepLabv3+网络;否则返回步骤S223;

其中:

优选的,步骤S22训练中使用Dice Loss作为损失函数判断两个集合相似度,训练过程中,当损失函数不再下降时,即可认为训练达到收敛,并保存DeepLabv3+网络模型和每个卷积层的参数;

Dice Loss的公式如下:

其中,X、Y分别表示正例和负例的集合。

进一步的,步骤S24包括:冻结改进型DeepLabv3+网络的参数,将训练数据中的正负样本输入改进型孪生神经网络的判别器进行学习,同时将验证数据中正负样本输入判别器输出对应的损失FL(p)FL(1-p),基于分类损失值L1进行反向传播,更新判别器的参数;

L1= y

正样本与负样本的比值为x

训练数据和验证数据选自步骤S1的螺栓图像,每两幅螺栓图像组成一组数据,一组数据为同一螺栓在不同时间、不同外部环境、不同角度采集的图像,若两幅螺栓图像中的同一螺栓均处于紧固状态,则该组数据为正样本,若两幅螺栓图像中的同一螺栓分别处于紧固和松动状态,则该组数据为负样本;

Focal Loss公式如下:

其中,p表示预测为正样本的概率值,

进一步的,步骤S25包括:将改进型DeepLabv3+网络的参数解冻,对所述改进型孪生神经网络的全部参数进行训练,训练数据分为训练集二、验证集二和测试集二,比例为4:1:1,首先孪生神经网络模型对训练集一进行学习,每学习一个轮次,输入验证集二进行一次验证,得到输入验证集二后获取的总体损失函数,继续下一轮学习,当输入验证集二后获取的损失不再下降后,训练结束,输入测试集二进行模型测试,用漏检率和误检率评价训练后所述孪生神经网络模型的效果;

训练数据选自步骤S1的螺栓图像,每两幅螺栓图像组成一组数据,一组数据为同一螺栓在不同时间、不同外部环境、不同角度采集的图像,若两幅螺栓图像中的同一螺栓均处于紧固状态,则该组数据为正样本,若两幅螺栓图像中的同一螺栓分别处于紧固和松动状态,则该组数据为负样本。

优选的,训练时使用的优化器是Adam,学习率设置为1e

本发明的第一个目的是提供基于改进型孪生神经网络的螺栓松动检测算法的检测系统,所述检测系统包括:

拍摄模块,将螺栓所在位置设置为预置点,再设置巡检路线、巡检间隔时间以及每个预置点的相机焦距,用于利用监控云台进行螺栓图像采集,得到不同时间段、不同外部环境、不同角度的螺栓图像;

识别模块,将螺栓未发生松动时保存下来的图像和拍摄模块实时采集的螺栓图像输入预先训练的改进型孪生神经网络,通过输出结果判断螺栓在采集图像的时刻是否发生了松动。

所述识别模块中获得预先训练的改进型孪生神经网络改进型孪生神经网络的过程包括:

S1.采集多个点位的螺栓图像,包括同一位点的螺栓在不同时间段、不同外部环境、不同角度进行图像采集得到螺栓图像;

S2.建立基于改进型DeepLabv3+的孪生神经网络模型:

S21.建立改进型DeepLabv3+网络,采用mobilenetv3网络作为Deeplabv3+模型的主干网络,结合ASPP模块,构建Deeplabv3+架构,在mobilenetv3网络的低语义信息输出端和Concat单元之间加入另一个CBAM模块,增加对边缘关注度,并降低对其他特征的关注度;在ASPP模块与转置卷积单元之间加入CBAM模块,使Deeplabv3+网络学习到当前图像中存在螺栓这一类目标,使主干网络通过一个CBAM模块向Concat单元输出低语义信息,和使主干网络通过多层级联ASPP向转置卷积单元输出高语义信息,所述改进型DeepLabv3+网络用于从螺栓图像中提取螺栓特征;

S22. 训练改进型DeepLabv3+网络;

S23. 以改进型DeepLabv3+网络作为孪生神经网络的子网络,建立基于改进型DeeplabV3+的改进型孪生神经网络,两个子网络共享权重,所述改进型孪生神经网络的相似度计算模块将两个子网络输出的特征图进行点乘操作,使两张特征图中相同位置被标注的特征的关注度提高,再通过Concat操作,将点乘之后的特征图和原特征图进行通道数合并处理,并利用最大值池化和平均池化获取通道数合并后多维特征不同位置的重要程度,最后通过一个7×7的卷积和Sigmoid操作,得到表示输入两个子网络的螺栓图像之间相似度的权重特征图;

S24.冻结改进型DeepLabv3+网络的参数,对改进型孪生神经网络的判别器进行训练;

S25.训练基于改进型DeepLabv3+的改进型孪生神经网络。

本发明的主要创新点:

1.提出了用孪生网络的方式判断螺栓松动情况,提出一种端到端的松动检测网络,无需额外的标记线,且能应对多种角度多种环境下的松动情况。

2.传统的孪生网络虽然能识别两个分支输入的相似度,但会关注全部信息的相似度,对于螺栓松动检测任务,螺栓的标识、螺栓所处的背景等相似度对松动判断没有帮助,应尽量小的关注,而更重视螺栓的边缘,本发明针对螺栓松动检测任务的特点,对孪生网络进行改造,利用语义分割结构替代传统孪生网络中VGG为主的卷积特征提取结构,在特征提取阶段重视边缘信息,大大提高了网络的可靠性和准确度。该思路可用于更多和目标边缘有关的缺陷检测。

3.提出网络的分段训练方法,将主干网络和判别器网络进行分离,设置不同的超参数进行训练,最后再统一训练,运用了迁移学习的思想使模型的学习效果达到最佳。

附图说明

图1为本发明的基于孪生神经网络的螺栓松动检测算法的流程示意图;

图2为采集螺栓群及多角度多位置螺栓图像;

图3为原始SiameseDL网络整体架构图;

图4为用于螺栓分割的标注示意图;

图5为语义分割领域的改进DeepLabv3+网络作为主干特征提取结构图;

图6为孪生网络双分支间相似度模块架构图;

图7为孪生网络各模块改进效果示意图;

图8为SiameseDL在不同角度上的误检率和漏检率示意图。

实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

术语解释

孪生网络是一个用于判断两个输入之间相似度的神经网络。传统的SiameseDL网络如附图3所示。孪生网络的结构由特征提取器(Backbone)、相似度计算模块和判别器三个部分组成:特征提取器由两个完全相同分支结构组成,并且两个分支结构间共享权重,每个分支结构由N个层叠卷积结构构成,特征提取器的任务是提取出两个输入图像块的多维特征;将多维特征平铺到一维上,得到两个输入图像块的一维向量;

相似度计算模块是对两个图像经过特征提取后的特征图计算特征图之间语义相似度较高的位置,得到一张和输入特征图宽高维度相同的相似度权重图,将该权重图和特征图进行相乘,让两幅图中语义相同的位置得到更高的关注度,在本实施例中,有益于对螺栓的边缘信息进行提取。

判别器由M个全连接层组成;对一维向量的距离再进行两次全连接,第二次全连接到一个神经元上,对这个神经元的结果取sigmoid,使其值在0-1之间,代表两个输入图片的相似程度,用于输出一个是否松动二分类结果。

传统的孪生网络的特征提取器用的是VGG等深层语义提取网络,忽略了图像边缘等浅层特征,仅仅重视图像中目标的意义。

而对于螺栓松动任务,更重要的反而是它的边缘信息。

实施例

如图1基于孪生神经网络的螺栓松动检测算法包括以下步骤:

S1.图像采集并划分数据集,采集多个点位的螺栓图像,包括同一位点的螺栓在不同时间段、不同外部环境、不同角度进行图像采集得到螺栓图像;

利用监控云台进行螺栓图像采集,一个图像采集器可以对多个点位的螺栓图像进行采集,且无需正对螺栓。通过将螺栓所在位置设置为预置点,再设置合理的巡检路线、巡检间隔时间以及每个预置点的相机焦距,即可得到不同时间段、不同外部环境、不同角度的螺栓图像,依据这些图像制作成螺栓图像数据集,部分数据如附图2所示。

S2.建立基于改进型DeepLabv3+的孪生神经网络模型;

S21.构建基于改进型DeepLabv3+网络的特征提取网络:

原始的Deeplabv3+模型包括依次数据连接的编码模块以及解码模块,编码模块包括:依次串联的Xception单元、编码卷积单元以及输出单元,解码模块包括转置卷积单元、细节提取单元、Concat单元、卷积单元以及上采样单元,转置卷积单元利用倍数为4的转置卷积层Upsample4对输出单元的数据进行上采样处理;Concat单元,用于利用Concat函数将细节提取单元的输出与转置卷积单元的输出进行通道数合并处理,编码模块中使用的骨干网络是改进后的xception网络,但该网络参数量多,计算量大,训练速度慢。本发明采用Mobilenetv3轻量级骨干网络进行网络压缩,不仅降低了过拟合的风险,同时由于Mobilenetv3自身的SE瓶颈结构,对边缘提取的精确度也有所提升。

本发明采用了mobilenetv3网络作为Deeplabv3+模型的主干网络,结合ASPP模块,构建Deeplabv3+架构,加入CBAM模块,使主干网络通过一个CBAM模块向Concat单元输出低语义信息,和使主干网络通过多层级联ASPP向转置卷积单元输出高语义信息,低语义信息主要表达边缘、颜色、形状等信息,在mobilenetv3网络的低语义信息输出端和Concat单元之间加入另一个CBAM模块,达到更关注边缘的效果,并对颜色等特征降低关注度;在ASPP模块与转置卷积单元之间加入CBAM模块,使Deeplabv3+网络学习到当前图像中存在螺栓这一类目标,加入CBAM使高语义信息更关注螺栓存在的区域。

CBAM模块是神经网络领域经典的注意力模块,具有即插即用的效果。对于神经网络的特征图,不同通道不同区域包含的信息不同,CBAM可以帮助网络更多的关注具有有用信息的区域,赋予更高的权重,而对于缺乏信息的区域赋予更低的权重,从而提高网络的识别能力。

S22.训练改进型DeepLabv3+网络:

S221.从步骤S1得到的螺栓图像数据集中拷贝螺栓图像数据,利用Labelme软件对所有的螺栓图像进行标注,将图像中螺栓真实存在的区域对应的像素点标注为正例i,将图像中背景被识别成螺栓的区域对应的像素点标注为负例j,标注效果如图4所示。

S222.将标注好的数据划分为训练集一、验证集一和测试集一,每个螺栓图像作为一组数据,三个数据集的比例依次为:7:2:2。

S223.将已知标注的螺栓图像输入DeepLabv3+网络进行学习,通过损失函数获取输入验证集一后输出对应的损失,基于损失进行反向传播,更新DeepLabv3+网络中每个卷积层的参数;

训练中使用Dice Loss作为该部分损失函数,使用Adam优化器,设置学习率为1 e

Dice Loss的公式如下:

其中,X、Y分别表示目标类和真实类两种识别结果的集合,即正例和负例。

S224.并利用交并比(Mean Intersection over Union,mIoU)作为DeepLabv3+网络模型训练的评价指标。mIoU为真实值和预测值两个集合的交集和并集的比值。该比值可以认为是TP(交集)和TP、FP、FN的和(并集)的比值,即mIoU = TP/(FP+FN+TP),具体公式为:

其中:

获取测试集一输入DeepLabv3+网络后的评价值mIoU,判断测试集一输入DeepLabv3+网络后的评价值mIoU是否大于阈值,若是则输出当前DeepLabv3+网络,得到改进型DeepLabv3+网络;否则返回步骤S223;

S23. 以改进型DeepLabv3+网络作为孪生神经网络的子网络,孪生网络的结构由特征提取器(Backbone)、相似度计算模块和判别器三个部分组成,特征提取器由两个完全相同的改进型DeepLabv3+网络组成,并且两个子网络共享权重,特征提取器的任务是提取出输入螺栓图像的多维特征;

相似度计算模块的目的是对两个螺栓共同所在的边缘区域,给予更高的关注度。相似度计算模块如附图6所示。输入为两个分支经过主干特征提取网络后的输出特征图F

本步骤搭建基于改进型DeepLabv3+的孪生神经网络模型。

双分支子网络间注意力可以提高对相同语义区域的关注度,降低背景环境因素的影响。注意力帮助网络更高的聚焦于螺栓所在区域的相似度,而降低对背景相似性的关注度。

S24.冻结改进型DeepLabv3+网络的参数,将训练数据中的正负样本输入判别器进行学习,同时将验证数据中正负样本输入判别器输出对应的损失FL(p)FL(1-p),基于分类损失值L1进行反向传播,更新判别器的参数;

L1= y

正样本与负样本的比值为x

本步骤给正负样本施加不同的影响改进型DeepLabv3+网络的权重,解决正负样本不均衡的问题,本步骤使用Adam作为学习器,学习率设置为1e

例如当正负样本比例达到3:1时,正负样本的损失计算之后,分别乘以0.25和0.75的权重(样本比例的反比),得到最终的损失函数,从而弥补了负样本较少的问题。

Focal Loss公式如下:

其中,y表示标注的类别,即松动还是未松动,取值为0或1,p表示预测的概率值,

本步骤中的训练数据和验证数据选自步骤S1的螺栓图像,每两幅螺栓图像组成一组数据,一组数据为同一螺栓在不同时间、不同外部环境、不同角度采集的图像,若两幅螺栓图像中的同一螺栓均处于紧固状态,则该组数据为正样本,若两幅螺栓图像中的同一螺栓分别处于紧固和松动状态,则该组数据为负样本,由于松动螺栓属于缺陷,样本数量较少,因此在训练阶段,必须加大负样本(缺陷螺栓数据)对网络的影响力。

S25.训练基于改进型DeepLabv3+的孪生神经网络模型。

将特征提取网络部分的参数解冻,加入神经网络的优化过程。对网络的全部参数进行训练,优化器使用的是Adam,学习率设置为1e

训练数据选自步骤S1的螺栓图像,每两幅螺栓图像组成一组数据,一组数据为同一螺栓在不同时间、不同外部环境、不同角度采集的图像,若两幅螺栓图像中的同一螺栓均处于紧固状态,则该组数据为正样本,若两幅螺栓图像中的同一螺栓分别处于紧固和松动状态,则该组数据为负样本。

S3.实时螺栓数据输入。

基于改进型DeepLabv3+的孪生神经网络模型,需要两个输入,一个是实时输入,另一个是螺栓未发生松动时保存下来的图像。输入直接采用原始三通道图像,保留更多对比度信息,提高判断的准确度。

S4. 使用所设计的改进型孪生神经网络的输出结果判断是否发生了松动。

本发明的SiameseDL可以依据输出得出当前螺栓是否发生了松动,实际网络的输出是一个概率值,表示未发生松送的概率。输出越大,未发生松动的可能性也越大。在实际使用中,依据场景需要,综合估量螺栓松动的漏检率和误检率的检测要求,最后设定一个满足要求的判断松动的阈值。小于该阈值,即认为当前螺栓发生了松动。

本发明实施例提供的基于改进型孪生神经网络的螺栓松动检测算法,首先利用监控云台采集大量不同角度螺栓图像,制作螺栓数据集;设计了一种语义分割和孪生结构相结合的孪生神经网络,并对主干DeepLabv3+针对螺栓检测任务进行改进优化,改进后主干特征提取部分作为分割网络,具有提取螺栓边缘的作用,判别器部分继承孪生网络的思想,可对两个分支的输入进行相似度比较,从而达到判断松动的作用;由于整体网络比较复杂以及螺栓数据集样本量不够丰富,因此采用了分阶段训练的方法对网络进行学习,首先单独制作螺栓分割数据集,对主干特征提取网络进行训练,再冻结该部分参数,对判别器部分参数进行训练,最后解冻,对网络整体进行训练,训练好后保存模型;调用模型,将实时待检测的螺栓与该位置未发生松动时采集的模板螺栓传入孪生神经网络的两个分支,得到当前螺栓发生松动的概率;依据对漏检率和误检率的综合估量得到的判断松动的阈值,即可判断当前螺栓是否发生了松动。

运用本方法,只需在训练过程中加入不同自然环境下采集到的螺栓,即可实现在复杂环境下的螺栓松动检测能力;本发明的改进网络(SiamesDL)及整体螺栓松动检测效果如图7、图8所示,利用改进网络(SiamesDL)可实现分析75-90°角采集的螺栓图像判断是否发生松动时,漏检率和误检率不大于1%,利用改进网络(SiamesDL)可实现分析45-60°角采集的螺栓图像判断是否发生松动时,误检率不大于10%和漏检率不大于5%。相比于其他用于检测螺栓是否松动的神经网络,本方法降低检测成本的同时,简化了检测方法,提高了螺栓松动的检测效率,降低了误检率和漏检率。

相关技术
  • 螺栓松动检测垫片和螺栓松动检测系统
  • 一种基于孪生神经网络的目标检测算法
技术分类

06120115928577