一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种螺栓松动检测方法及系统与流程

2022-12-20 02:21:09 来源:中国专利 TAG:


1.本发明涉及一种检测方法及系统,尤其涉及一种紧固件安装状态的检测方法及系统。


背景技术:

2.螺栓作为一种连接件在制造业中有着广泛的应用。螺栓的拧紧状态会直接影响设备的工作性能,如果出现问题可能会造成灾难性的后果。
3.传统螺栓检查的方法主要是:在螺栓第一次拧紧后,在螺栓及周边用线标记拧紧的状态,人工检查时,只需查看是螺栓及周边的标记线是否对齐,如果没对齐则代表螺栓松动。这种方法工作量大、效率低下,工人在检查大量螺栓后可能产生视觉疲劳,导致错检、漏检。
4.基于此,期望获得一种新型的螺栓松动检测方法,其较之于传统的人工检测方法,可以提高检测速度和检测精度。


技术实现要素:

5.本发明的目的之一在于提供一种螺栓松动检测方法,该方法可以摆脱对人工检测的依赖,而依据视觉图像的处理和分析,快速准确地识别螺栓状态,以满足工业自动化要求。
6.为了实现上述目的,本发明提出了一种螺栓松动检测方法,其包括步骤:
7.100:设定检测区域,并在检测区域的各螺栓及与其连接的连接件上划出标定线,其中标定线的第一部分位于螺栓上,标定线的第二部分位于连接件上;
8.200:采集检测区域范围内的各螺栓及与其连接的连接件的图像;
9.300:采用深度学习yolo模型对图像进行识别和分割,以得到若干分割图像,所述分割图像中显示单个螺栓、与其对应的连接件,以及相应的标定线;
10.400:从各分割图像中提取出标定线的第一部分轮廓以及标定线的第二部分轮廓;
11.500:基于标定线的第一部分轮廓与标定线的第二部分轮廓的角度偏差是否超过设定的阈值,判断该螺栓是否松动。
12.由此可见,本发明的构思是:首先通过图像采集装置获取检测图像或视频;然后通过深度学习yolo算法训练螺栓识别模型,再根据该模型进行螺栓分割;接着对分割后的螺栓的标定线进行识别和轮廓提取,以分别提取到位于螺栓上的第一部分和位于连接件上的第二部分;再通过第一部分和第二部分的夹角来判断螺栓是否松动。
13.在本发明的一些实施方式中,检测区域范围内的各螺栓及与其连接的连接件的图像可以通过可运动的摄像头获取,可运动的摄像头可以通过将摄像头安装在可运动支架上实现。例如通过控制支架匀速行进,可以采集一定区域范围内的所有螺栓及其周边连接件的图像。
14.如上文所述的,本发明采集的检测区域范围内的图像覆盖了多个螺栓,为提升螺
栓松动检测精度,因此需要将图像中的多个螺栓分割为单个。
15.为了获得更好的分割效果,本案采用了深度学习的方法。深度学习yolo算法是一种一阶段式算法,其仅仅需要送入网络一次就可以预测出所有的边界框,这种算法检测速度快。
16.在本发明的一些实施方式中,基于yolov5算法(或称为yolov5模型、yolov5目标检测网络)来进行螺栓分割。
17.yolov5目标检测网络分为输入端、backbone、neck和prediction四个部分。其中输入端对输入的图像进行预处理操作,例如自适应图像缩放后送入yolov5目标检测网络。backbone使用了csp(cross stage partial)、focus及spp(spatial pyramid pooling)网络结构,将图像梯度变化集成到特征图中,可减少模型的参数量和运算量,从而实现了在缩小模型尺度的情况下仍能保证检测的精度和速度。neck使用了pan和fpn结合的网络结构,将图像特征传递到prediction层,能够准确地保留图像的空间信息。prediction采用giou_loss作为boundingbox的损失函数,通过nms对检测框进行非极大值抑制处理以获得最优目标框。csp中的csp1_x、csp2_x结构分别应用于backbone和neck。spp分别采用5、9、13的最大池化,能够解决图像缩放、剪裁等操作导致的失真等问题,也能解决网络结构对图像特征重复提取的问题。
18.更进一步地,在本案的一些实施方式中,本发明选用识别速度最快、准确率较高的yolov5s作为yolo模型。
19.在识别过程中,本发明通过采集的大量螺栓图像,将其划分为训练集、验证集及测试集。用于模型训练的训练集可以采用pascal voc格式,该数据集可以通过labelimg工具对图片进行标注生成,只含“bolt”1种类别,表示螺栓。在训练过程中,通过设置螺栓识别模型训练超参数,逼近模型识别的上限。由此,按照上述网络结构、超参数以及数据集,可对模型进行训练。在一些具体的实施例中,为了提升检测速度,本发明采用显卡gpu进行模型训练。通过模型训练,最终可得到经过训练的yolo模型以作为螺栓识别模型。
20.得到螺栓识别模型后,可对该模型进行部署。模型部署后可对图像进行实时螺栓识别。同时,还能得到对应方框左上角的坐标点(x
left-top
,y
left-top
),右下角的坐标点(x
right-bottom
,y
right-bottom
),识别类型classid以及概率score。该结果可用于螺栓的图像分割。
21.本发明获得的分割图像除了包含单个螺栓及其周边连接件,还包含其对应的标定线,因此图像分割的区域比yolov5识别得到的区域要大。本发明在进行图像分割时,对yolov5模型框出来的范围进行了扩充,分割出来的图像包含了螺栓的标定线,便于后期螺栓松动检测。
22.进一步地,在本发明所述的螺栓松动检测方法的步骤200和步骤300之间还包括步骤:对所述图像进行抖动校正。
23.更进一步地,可以采用维纳滤波算法对所述图像进行抖动校正。
24.其中,维纳滤波进行图像去抖去模糊的基本原理如公式(1)所示:
[0025][0026]
式中,h(u,v)为退化函数,s
η
(u,v)=|n(u,v)|2表示噪声的功率谱,sf(u,v)=|f
(u,v)|2表示未退化图像的功率谱,g(u,v)表示退化后图像的傅里叶变换,表示去抖去模糊后的图像。
[0027]
进一步地,为了便于标定线的识别,在本发明中的步骤100中,标定线为红色。
[0028]
更进一步地,在本发明所述的螺栓松动检测方法的步骤400中:将分割图像从rgb图像转换为hsv图像,以提取出红色区域;将红色区域转换为二值图像,以提取标定线的第一部分轮廓以及标定线的第二部分轮廓。
[0029]
在这种实施方式下,本发明对于红色区域的提取是在hsv空间下进行的。照此方式,首先将rgb图像转换为hsv图像,红色在h、s以及v这三个通道具有一定的范围,因此可以很容易地被识别。然后,本发明将识别的红色区域转换为二值图像,用于后续的轮廓检测。
[0030]
进一步地,在本发明所述的螺栓松动检测方法的步骤500中:
[0031]
确定标定线的第一部分轮廓和标定线的第二部分轮廓各自的最小外接矩形;
[0032]
通过各最小外接矩形的顶点坐标,计算各最小外接矩形的中心点坐标,以确定两个最小外接矩形的中心点;
[0033]
计算得到两个中心点的连线与x轴的夹角θ1;
[0034]
计算得到第一轮廓部分的最小外接矩形的长边与x轴的夹角θ2;
[0035]
将θ2与θ1的差与设定的阈值进行比较,若超过了阈值则认为螺栓松动。
[0036]
在本技术方案中,轮廓的检测可以基于二值图像进行。轮廓检测的原理是只找最外面的边界。
[0037]
在一些实施方式中,本发明采用编码的方法,对不同的边界赋值不同的整数值,从而可以确定它是空边界还是外边界以及它们的层次关系。例如,用f(i,j)表示输入的二值图像的像素值,每次进行行扫描,当遇到以下两种情况,则终止:
[0038]
(1)f(i,j)≥1,f(i,j 1)=0;则将f(i,j)作为孔边界的起始点;
[0039]
(2)f(i,j-1)=0,f(i,j)=1;则将f(i,j)作为外边界的起始点;
[0040]
接着从起始点开始标记边界上的像素,并分配一个唯一的整数值给新的边界,叫做nbd。初始状态下,nbd=1,当发现一个新边界,则nbd加1。在这个过程中,当f(i,j)=1,f(i,j 1)=0时,则将f(i,j)赋值为-nbd。二值图像经过上述轮廓检测算法后,可得到标定线的轮廓。
[0041]
照此方式,本发明可以通过对轮廓的点数或者面积进行筛选,例如选择点数最多的两个轮廓,其中最长的标定线为画在螺栓上的标定线的第一部分轮廓contour1,另外一个轮廓为连接件上的标定线的第二部分轮廓contour2。
[0042]
其中,对于contour1,设其最小外接矩形的4个顶点分别为(x
left-top-1
,y
left-top-1
)(x
right-top-1
,y
right-top-1
)(x
left-bottom-1
,y
left-bottom-1
)
[0043]
、、、
[0044]
(x
right-bottom-1
,y
right-bottom-1
);对于contour2,设其最小外接矩形的4个顶点分别为(x
left-top-2
,y
left-top-2
)、(x
right-top-2
,y
right-top-2
)、
[0045]
(x
left-bottom-2
,y
left-bottom-2
)、(x
right-bottom-2
,y
right-bottom-2
)。则根据最小外接矩形的4个顶点坐标,可以求其中心点,如公式(2)所示:
[0046][0047]
需要说明的是,公式(2)为第一部分轮廓contour1第二部分轮廓contour2的两个最小外接矩形的中心点的通用公式,因此式中未作下角标“1”和“2”的区分。
[0048]
在得到两个最小外接矩形的中心点后,就可以获得两个中心点之间的连线与x轴的夹角θ1,如式(3)所示:
[0049][0050]
然后,求轮廓contour1最小外接矩形的长边与x轴的夹角:
[0051]
首先找到最小外接矩形的长边,可通过比较两条边的长度的平方得到,两条边的长度的平方具体如式(4)所示。然后可求得最小外接矩形长边与x轴的夹角θ2,具体如式(5)所示。
[0052][0053][0054]
得到θ1和θ2两个角度后,就可以求得标定线的第一部分和第二部分的角度偏差delt_θ,具体如式(6)所示:
[0055]
delt_θ=|θ
2-θ1|(6)
[0056]
得到角度偏差后,可以通过设定阈值来判断螺栓是否松动。例如设置阈值为10
°
,即若角度偏差delt_θ大于10
°
,则判定螺栓松动。
[0057]
本发明的另一目的在于提供一种螺栓松动检测系统,该系统可以摆脱对人工检测的依赖,从而依据视觉图像的处理和分析,快速准确地识别螺栓状态,以满足工业自动化要求。
[0058]
为了实现上述目的,本发明提出了一种螺栓松动检测系统,其包括:
[0059]
图像采集装置,其采集设定检测区域内的各螺栓及与其连接的连接件的图像,所述各螺栓及与其连接的连接件上具有标定线,其中标定线的第一部分位于螺栓上,标定线的第二部分位于连接件上;
[0060]
深度学习yolo模块,其对输入的所述图像进行识别和分割,以得到若干分割图像,所述分割图像中显示单个螺栓、与其对应的连接件,以及标定线;
[0061]
标定线提取模块,其从各分割图像中提取出标定线的第一部分轮廓以及标定线的第二部分轮廓;
[0062]
判断模块,其基于标定线的第一部分轮廓与标定线的第二部分轮廓的角度偏差是否超过设定的阈值,以判断该螺栓是否松动。
[0063]
进一步地,本发明所述的螺栓松动检测系统还包括抖动校正模块,其采用维纳滤波算法对所述图像进行抖动校正后,再将其输入深度学习yolo模块。
[0064]
进一步地,在本发明所述的螺栓松动检测系统中,所述标定线为红色,所述标定线提取模块将分割图像从rgb图像转换为hsv图像,以提取出红色区域;然后将红色区域转换为二值图像,以提取标定线的第一部分轮廓以及标定线的第二部分轮廓。
[0065]
进一步地,在本发明所述的螺栓松动检测系统中,所述判断模块执行下述步骤:
[0066]
确定标定线的第一部分轮廓和标定线的第二部分轮廓各自的最小外接矩形;
[0067]
通过各最小外接矩形的顶点坐标,计算各最小外接矩形的中心点坐标,以确定两个最小外接矩形的中心点;
[0068]
计算得到两个中心点的连线与x轴的夹角θ1;
[0069]
计算得到第一轮廓部分的最小外接矩形的长边与x轴的夹角θ2;
[0070]
将θ2与θ1的差与设定的阈值进行比较,若超过了阈值则认为螺栓松动。
[0071]
由此可见,本发明所述的螺栓松动检测方法及系统通过基于视觉图像的识别,能够解决传统螺栓松动费时费力、检测精度低的问题,从而大幅提高检测精度和检测速度,使得其能够满足工业自动化检测需要满足的检测精度大于95%,检测速度大于1/24s的要求。
附图说明
[0072]
图1显示了本发明所述的螺栓松动检测方法在一种实施方式下的步骤流程图。
[0073]
图2显示了本发明所述的螺栓松动检测方法在一种实施方式下对螺栓进行识别和分割的步骤流程图。
[0074]
图3显示了本发明所述的螺栓松动检测方法在一种实施方式下采用的yolov5模型的结构图。
[0075]
图4显示了本发明所述的螺栓松动检测方法在一种实施方式下标定线的轮廓提取的流程。
[0076]
图5显示了本发明所述的螺栓松动检测方法在一种实施方式下判断螺栓是否松动的流程。
[0077]
图6显示了本发明所述的螺栓松动检测方法在一种实施方式下螺栓未发生松动的示例。
[0078]
图7显示了本发明所述的螺栓松动检测方法在一种实施方式下螺栓发生了松动的示例。
具体实施方式
[0079]
下面将结合说明书附图和具体的实施例对本发明所述的螺栓松动检测方法及系统做进一步的解释和说明,然而该解释和说明并不对本发明的技术方案构成不当限定。
[0080]
图1显示了本发明所述的螺栓松动检测方法在一种实施方式下的步骤流程图。
[0081]
如图1所示的,在实施方式中,螺栓松动检测方法包括步骤:
[0082]
100:设定检测区域,并在检测区域的各螺栓及与其连接的连接件上划出标定线,其中标定线的第一部分位于螺栓上,标定线的第二部分位于连接件上;采集检测区域范围内的各螺栓及与其连接的连接件的图像;
[0083]
200:对图像进行抖动校正
[0084]
300:采用深度学习yolo模型对图像进行识别和分割,以得到若干分割图像,其中分割图像中显示单个螺栓、与其对应的连接件,以及相应的标定线;
[0085]
400:从各分割图像中提取出标定线的第一部分轮廓以及标定线的第二部分轮廓;
[0086]
500:基于标定线的第一部分轮廓与标定线的第二部分轮廓的角度偏差是否超过设定的阈值,判断该螺栓是否松动。
[0087]
相应地,在一些实施方式中,上述螺栓检测方法基于螺栓检测系统而实施,该螺栓松动检测系统包括:
[0088]
图像采集装置,其采集设定检测区域内的各螺栓及与其连接的连接件的图像,所述各螺栓及与其连接的连接件上具有标定线,其中标定线的第一部分位于螺栓上,标定线的第二部分位于连接件上;
[0089]
抖动校正模块,其采用维纳滤波算法对所述图像进行抖动校正后,再将其输入深度学习yolo模块;
[0090]
深度学习yolo模块,其对输入的所述图像进行识别和分割,以得到若干分割图像,所述分割图像中显示单个螺栓、与其对应的连接件,以及标定线;
[0091]
标定线提取模块,其从各分割图像中提取出标定线的第一部分轮廓以及标定线的第二部分轮廓;
[0092]
判断模块,其基于标定线的第一部分轮廓与标定线的第二部分轮廓的角度偏差是否超过设定的阈值,以判断该螺栓是否松动。
[0093]
在本发明的一些具体实施例中,检测区域范围内的各螺栓及与其连接的连接件的图像可以通过可运动的摄像头获取,可运动的摄像头可以通过将摄像头安装在可运动支架上实现。例如通过控制支架匀速行进,可以采集一定区域范围内的所有螺栓及其周边连接件的图像。
[0094]
在本发明的一些具体实施例中,在步骤200中,可以采用维纳滤波算法对所述图像进行抖动校正。其中,维纳滤波进行图像去抖去模糊的基本原理如公式(1)所示:
[0095][0096]
式中,h(u,v)为退化函数,s
η
(u,v)=|n(u,v)|2表示噪声的功率谱,sf(u,v)=|f(u,v)|2表示未退化图像的功率谱,g(u,v)表示退化后图像的傅里叶变换,表示去抖去模糊后的图像。
[0097]
如上文所述的,由于本发明采集的检测区域范围内的图像覆盖了多个螺栓,因此需要将图像中的多个螺栓分割为单个。
[0098]
图2显示了本发明所述的螺栓松动检测方法在一种实施方式下对螺栓进行识别和分割的步骤流程图。
[0099]
如图2所示的,在该实施方式中,首先选择yolov5模型来进行螺栓的识别和分割。
[0100]
图3显示了本发明所述的螺栓松动检测方法在一种实施方式下采用的yolov5模型的结构图。
[0101]
如图3所示的,yolov5模型分为输入端、backbone、neck和prediction四个部分。其中输入端对输入的图像进行预处理操作,例如自适应图像缩放后送入yolov5目标检测网络。backbone使用了csp(cross stage partial)、focus及spp(spatial pyramid pooling)网络结构,将图像梯度变化集成到特征图中,可减少模型的参数量和运算量,从而实现了在缩小模型尺度的情况下仍能保证检测的精度和速度。neck使用了pan和fpn结合的网络结构,将图像特征传递到prediction,能够准确地保留图像的空间信息。prediction采用giou_loss作为boundingbox的损失函数,通过nms对检测框进行非极大值抑制处理以获得最优目标框。csp中的csp1_x、csp2_x结构分别应用于backbone和neck。spp分别采用5、9、13的最大池化,能够解决图像缩放、剪裁等操作导致的失真等问题,也能解决网络结构对图像特征重复提取的问题。
[0102]
继续参阅图2,在选取了yolov5模型后,该实施方式基于采集的1650张现场螺栓的图像,按照7:2:1的比例划分训练集、验证集及测试集。用于模型训练的训练集采用pascal voc格式,该数据集可通过labelimg工具对图片进行标注生成,只含“bolt”1种类别,表示螺栓。
[0103]
在训练过程中,通过设置螺栓识别模型训练超参数,逼近模型识别的上限。在该实施方式中,模型训练参数如表1所示。
[0104]
表1.
[0105]
参数参数值epochs(其表示训练过程中全部样本数据将被“轮”多少次训练次数)300batch-size(其表示一次喂进网络的样本数)32mosaic(其表示数据增强算法)1.0mixup(其表示将两张图按比例进行插值来混合样本)0.0lr(其表示学习率)0.01momentum(其表示动量)0.8gpu(其表示显卡)true
[0106]
按照上述网络结构、参数以及数据集,采用显卡gpu进行模型训练,得到经过训练的yolo模型以作为螺栓识别模型。
[0107]
得到螺栓识别模型后,可对该模型进行部署。模型部署后可对图像进行实时螺栓识别。同时,还能得到对应方框左上角的坐标点(x
left-top
,y
left-top
),右下角的坐标点(x
right-bottom
,y
right-bottom
),识别类型classid以及概率score。该结果可用于螺栓的图像分割。
[0108]
获得的分割图像除了包含单个螺栓及其周边连接件,还包含其对应的标定线,因此图像分割的区域比yolov5识别得到的区域要大。本发明在进行图像分割时,对yolov5模型框出来的范围进行了1.8倍扩充,分割出来的图像包含了螺栓的标定线,便于后期螺栓松动检测。
[0109]
图4显示了本发明所述的螺栓松动检测方法在一种实施方式下标定线的轮廓提取
的流程。
[0110]
在一些实施方式中,为了便于标定线的识别,在本发明中的步骤100中,将标定线划为红色。基于此,如图4所示的,在进行标定线的轮廓提取时:先将分割图像从rgb图像转换为hsv图像,以提取出红色区域。然后将红色区域转换为二值图像,以进行轮廓的检测,轮廓检测的原理是只找最外面的边界。
[0111]
在一些更具体的实施例中,采用编码的方法对不同的边界赋值不同的整数值,从而可以确定它是空边界还是外边界以及它们的层次关系。例如,用f(i,j)表示输入的二值图像的像素值,每次进行行扫描,当遇到以下两种情况,则终止:
[0112]
(1)f(i,j)≥1,f(i,j 1)=0;则将f(i,j)作为孔边界的起始点;
[0113]
(2)f(i,j-1)=0,f(i,j)=1;则将f(i,j)作为外边界的起始点;
[0114]
接着从起始点开始标记边界上的像素,并分配一个唯一的整数值给新的边界,叫做nbd。初始状态下,nbd=1,当发现一个新边界,则nbd加1。在这个过程中,当f(i,j)=1,f(i,j 1)=0时,则将f(i,j)赋值为-nbd。二值图像经过上述轮廓检测算法后,可得到标定线的轮廓。
[0115]
然后,通过对轮廓的点数进行筛选,选取点数最多的两个轮廓。其中最长的为划在螺栓上的标定线的第一部分轮廓contour1,第二长的为划在连接件上的标定线的第二部分轮廓contour2。
[0116]
图5显示了本发明所述的螺栓松动检测方法在一种实施方式下判断螺栓是否松动的流程。
[0117]
如图5所示的,在一些实施方式中,判断螺栓是否发生松动,可以采用下述步骤:
[0118]
确定标定线的第一部分轮廓contour1和标定线的第二部分轮廓contour2各自的最小外接矩形;
[0119]
通过第一部分轮廓contour1的最小外接矩形的顶点坐标(x
left-top-1
,y
left-top-1
)(x
right-top-1
,y
right-top-1
)(x
left-bottom-1
,y
left-bottom-1
)
[0120]
、、、(x
right-bottom-1
,y
right-bottom-1
),以及第二部分轮廓contour2的最小外接矩形的顶点坐标(x
left-top-2
,y
left-top-2
)、(x
right-top-2
,y
right-top-2
)、(x
left-bottom-2
,y
left-bottom-2
)、(x
right-bottom-2
,y
right-bottom-2
),计算各最小外接矩形的中心点坐标,以确定两个最小外接矩形的中心点:
[0121][0122]
需要说明的是,公式(2)为第一部分轮廓contour1第二部分轮廓contour2的两个最小外接矩形的中心点的通用公式,因此式中未作下角标“1”和“2”的区别;
[0123]
在得到两个最小外接矩形的中心点后,就可以获得两个中心点之间的连线与x轴的夹角θ1,如式(3)所示:
[0124][0125]
然后求轮廓contour1最小外接矩形的长边与x轴的夹角:
[0126]
首先找到最小外接矩形的长边,可通过比较两条边的长度的平方得到,两条边的长度的平方具体如式(4)所示:
[0127][0128]
然后,可求得最小外接矩形长边与x轴的夹角θ2,具体如式(5)所示。
[0129][0130]
得到θ1和θ2两个角度后,就可以求得标定线的第一部分轮廓和第二部分轮廓的角度偏差delt_θ,具体如式(6)所示:
[0131]
delt_θ=|θ
2-θ1|(6)
[0132]
得到角度偏差后,可以通过设定阈值来判断螺栓是否松动。
[0133]
在一些具体的实施例中,可以设置阈值为10
°
。若角度偏差delt_θ<10
°
,则判断螺栓未发生松动。图6显示了本发明所述的螺栓松动检测方法在一种实施方式下螺栓未发生松动的示例。若角度偏差delt_θ≥10
°
,则判定螺栓发生了松动,图7就显示了本发明所述的螺栓松动检测方法在一种实施方式下螺栓发生了松动的示例。
[0134]
此外,本案中各技术特征的组合方式并不限本案权利要求中所记载的组合方式或是具体实施例所记载的组合方式,本案记载的所有技术特征可以以任何方式进行自由组合或结合,除非相互之间产生矛盾。
[0135]
还需要注意的是,以上所列举的实施例仅为本发明具体实施例。显然本发明不局限于以上实施例,随之做出的类似变化或变形是本领域技术人员能从本发明公开的内容直接得出或者很容易便联想到的,均应属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献