CN110097536A - 基于深度学习和霍夫变换的六边形螺栓松动检测方法 - Google Patents
基于深度学习和霍夫变换的六边形螺栓松动检测方法 Download PDFInfo
- Publication number
- CN110097536A CN110097536A CN201910285184.3A CN201910285184A CN110097536A CN 110097536 A CN110097536 A CN 110097536A CN 201910285184 A CN201910285184 A CN 201910285184A CN 110097536 A CN110097536 A CN 110097536A
- Authority
- CN
- China
- Prior art keywords
- bolt
- image
- detection
- angle
- deep learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/259—Fusion by voting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于深度学习和霍夫变换的六边形螺栓松动检测方法,属于计算机视觉技术领域。本发明使用深度学习技术,通过基于区域的全卷积神经网络目标检测算法实现螺栓松动的检测。先对输入图片计算深度特征从而得到螺栓位置,再在原有图片中根据计算得到的螺栓位置提取出螺栓图像并经过一系列图像处理算法得到边缘信息,再使用霍夫变换计算螺栓角度。采用我们设计的检测方案可以准确检测出螺栓是否发生松动。
Description
技术领域
本发明涉及计算机视觉技术领域,特别是涉及基于深度学习和霍夫变换的六边形螺栓松动检测方法。
背景技术
生活中往往会使用到大量的六边形螺栓,而六边形螺栓松动问题若不能第一时间发现,可能会导致安全隐患进一步扩大,造成难以估量的损失。螺栓松动检查工作若依靠人工进行,则点多面广,工作量大,难以长期维护。更加科学合理的方法是:基于图像处理技术,在监控摄像头拍摄到的视频中,检测其中的螺栓角度,判断每一个时刻角度与最初的标定值对比后是否超过一个不可接受的阈值。设计这样一套稳定合理的螺栓松动检测系统具有相当大的意义。为完成上述功能需求,检测算法部分一般分为两步进行,第一步为定时截取视频中的一帧并计算深度特征从而得到螺栓位置,第二步为根据上一步计算得到的螺栓位置提取出螺栓图像并计算螺栓角度。
近年来,深度学习技术的出现革新了目标检测的模式,提升了目标检测的精度和鲁棒性。基于深度学习的目标检测模型,由于深度神经网络能够自主学习不同层级的特征,相比于传统手工设计特征,学习的特征更丰富,特征表达能力更强。
目前,基于深度学习的目标检测方法主要分为两类:基于区域候选的模型和基于回归的模型。基于区域候选的深度学习目标检测模型建立在区域候选的思想上,首先对检测区域提取候选区域,为后续特征提取和分类做准备,典型代表为:R-CNN,Fast R-CNN,Faster R-CNN以及R-FCN等。基于回归的深度学习目标检测模型则采用回归的思想,需要预先按照一定方式划定默认框,从而建立起预测框、默认框、ground truth物体框的关系以进行训练,典型代表为:YOLO和SSD。
其中,基于区域的全卷积神经网络(Region-based Fully ConvolutionalNetworks,R-FCN)算法兼顾运算速度和检测精度,网络结构实现较为简单,满足实际软件工程环境性能要求,我们采用该算法进行螺栓位置计算。
发明内容
针对现有技术中存在的问题与不足,本发明提供基于深度学习和霍夫变换的六边形螺栓松动检测方法,使用深度学习技术,通过R-FCN目标检测算法实现螺栓松动的检测。先对输入图片计算深度特征从而得到螺栓位置,再在原有图片中根据计算得到的螺栓位置提取出螺栓图像并计算螺栓角度。采用我们设计的检测方案可以准确检测出螺栓是否发生松动,为达此目的,本发明提供基于深度学习和霍夫变换的六边形螺栓松动检测方法,其计算处理步骤如下,其特征在于:使用深度学习技术,通过基于区域的全卷积神经网络目标检测算法实现螺栓松动的检测,方法包括如下步骤:
(1)先对输入图片计算深度特征从而得到螺栓位置,
(2)再在原图片中根据得到的螺栓位置提取出螺栓图像并计算螺栓角度。
作为本发明进一步改进,所述步骤(1)中使用采用深度学习中基于区域的全卷积神经网络目标检测算法将螺栓位置提取出来,具体步骤为:
步骤2.1:训练基于区域的全卷积神经网络神经网络,主干网络使用101层残差网络,去掉原始残差网络的最后一层全连接层,保留前100层,再接一个1*1*1024的全卷积层,残差网络的输出是W*H*1024;
步骤2.2:根据残差网络输出的特征图利用区域提名神经网络计算出2000个左右的候选框,同时用k*k*(C+1)个1024*1*1的卷积核去卷积残差网络输出特征图得到k*k*(C+1)个大小为W*H的位置敏感得分图,k=3,表示把一个兴趣区域划分成3*3块,对于k*k=9块,每块(W*H*(C+1))表示的是不同位置存在目标的概率值,共有k*k*(C+1)个特征图,每个特征图,z(i,j,c)是第i+k(j-1)个立体块上的第c个图(1<=i,j<=3),(i,j)决定了9种位置的某一种位置,假设为左上角位置(i=j=1),c决定了哪一类,假设为螺栓类,在z(i,j,c)这个特征图上的某一个像素的位置是(x,y),像素值是v,则v表示的是原图对应的(x,y)这个位置上可能是螺栓(c=‘螺栓’)且是螺栓的左上部位(i=j=1)的概率值;
步骤2.3:将候选框中图片兴趣区域池化,思路是不论对多大的兴趣区域,规定在上面画一个n*n个bin的网格,每个网格里的所有像素值做一个池化,这样不论图像多大,池化后的兴趣区域特征维度都是n*n,RoI池化是每个特征图单独做,不是多个通道一起的,若有C个类,兴趣区域的宽度是W',高度是H',则兴趣区域池化操作的输入是k*k*(C+1)*W'*H'的得分图上某兴趣区域对应的那个立体块,且该立体块组成一个新的k*k*(C+1)*W'*H'的立体块:每个立体块(C+1)都只抠出对应位置的一个bin,把这k*k个bin组成新的立体块,大小为(C+1)*W'*H',兴趣区域池化的输出为一个(C+1)*k*k的立体块;
对于第(i,j)个bin,定义位置敏感的兴趣区域池化仅在第(i,j)得分图上进行池化:
池化后进行分类的投票,k*k个bin直接进行求和,得到每一类的得分,
并进行柔性最大得到每类的最终得分,并用于计算损失,对于每一个兴趣区域:
rc(θ)=∑i,jrc(i,j|θ)
类别的柔性最大响应为:
损失函数由分类损失和回归损失组成,分类用交叉熵损失,回归用L1-smooth损失:
L(stx,y,w,h)=Lcls(sc*)+λ[c*>0]Lreg(t,t*)
通过上述方法训练基于区域的全卷积神经网络后,输出图片螺栓分类位置检测的结果。
作为本发明进一步改进,所述步骤(2)中提取螺栓图像并计算螺栓角度,设计方法为:
步骤3.1:对于使用定位以后的图像,提取其中的预测区域,由于即便在800万像素的摄像头下,每一个螺栓所占总像素值依旧不足,所以,需要在保持其横纵比不变的情况下,使用双立方插值法对图像按整数倍放大,放大到总像素数10万左右;
步骤3.2:接着,由于获得图像锯齿严重,需使用高斯滤波,抑制噪声,平滑图像,所用二维高斯函数如下:
其大小为(2k+1)×(2k+1)的高斯滤波器核的生成方程式如下所示:
将图像与所选高斯滤波核卷积后,即可得到更为平滑的图像;
步骤3.3:为方便其后边缘检测运算,需使用一定的二值化算法对图像进行分割处理,使用OTSU算法对图像进行二值化分割,该算法核心思想是找出一个最佳阈值,按这个阈值分割能获得最大类间方差;
步骤3.4:完成阈值分割后,使用坎尼边缘检测算法,可以获得六边形螺栓的六条边的雏形以供后续的直线检测算得直线角度;
步骤3.5:使用霍夫变换,实现从图像空间到参数空间的映射关系,将图像空间内具有一定关系的像元进行聚类,寻找把这些像元用某一解析形式联系起来的参数空间累计对应点,在极坐标系下所有直线都满足于方程;
ρcos(θ-θ0)=ρ0
其中ρ为极径,θ为极角,ρ0为极点到直线的距离,θ0为直线的倾斜角度,设空间中一点A的坐标是(x,y),由于x=ρcos(θ),y=ρsin(θ),将上式展开,我们可以得到
xcos(θ0)+ysin(θ0)=ρ0
所有过点A的直线在极坐标系下的方程都满足于上式,若两点在一条直线上,则两条ρ0和θ0的关系曲线必定会相交于一点,这一点处对应的ρ0′和θ0′便是这两点所在直线的极坐标参数;
由此将图像空间中的问题转换到了参数空间上进行解决,通过量化霍夫参数空间为有限个间隔等分的格子,按这个间隔,从0到2π遍历θ0的取值,对于一个θ0每个像素坐标点(x,y)都可以得到对应的ρ0,这组(ρ0,θ0)所对应的格子中计数值加1,当把所有在步骤3.4中得到的边缘像素值坐标带入后,可以得到一个统计了所有(ρ0,θ0)取值可能的二维数组,数组单元中计数值较高的便是直线在极坐标系下的参数,只需按照一个阈值筛选,即可得到螺栓的六条边的直线方程,根据几何学原理,必定有两组边在以左上角为顶点的极坐标系中角度介于0度到60度之间,记录这样的角度作为螺栓角度,并计算其与初始角度之差。
本发明基于深度学习和霍夫变换的六边形螺栓松动检测方法,有益效果如下;
本发明提供的基于深度学习的螺栓松动检测方案使用深度学习技术,通过R-FCN目标检测算法实现螺栓松动的检测。基于深度学习的螺栓松动检测能极大地降低人工成本和工作量,有利于长期维护。深度学习检测提升了目标检测的精度和鲁棒性,能够自主学习不同层级的特征,相比于传统手工设计特征,学习的特征更丰富,特征表达能力更强。采用我们设计的螺栓松动检测可以有效提高检测速度和效率并降低成本。
附图说明
图1为本发明基于深度学习的螺栓松动检测方案的流程图;
图2为本发明六边形螺栓分类位置检测输出效果图;
图3为本发明放大后的六边形螺栓角度检测效果图;
图4为本发明放大后的六边形螺栓角度检测效果图;
图5为本发明六边形螺栓松动检测效果图;
图6为本发明六边形螺栓松动检测效果图;
图7为本发明六边形螺栓松动检测效果图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
本发明提供基于深度学习和霍夫变换的六边形螺栓松动检测方法,使用深度学习技术,通过R-FCN目标检测算法实现螺栓松动的检测。先对输入图片计算深度特征从而得到螺栓位置,再在原有图片中根据计算得到的螺栓位置提取出螺栓图像并计算螺栓角度。采用我们设计的检测方案可以准确检测出螺栓是否发生松动。
下面以水坝库门六边形螺栓为例,结合附图1对本发明基于深度学习的螺栓松动检测方案的具体实施方式作进一步详细说明。
步骤1:使用TensorFlow1.4.0编写R-FCN算法并训练R-FCN神经网络,主干网络使用ResNet 101,去掉原始ResNet101的最后一层全连接层,保留前100层,再接一个1*1*1024的全卷积层,ResNet101的输出是W*H*1024。
步骤2:根据ResNet101输出的特征图利用RPN神经网络计算出2000个左右的候选框,同时用3*3*(C+1)个1024*1*1的卷积核去卷积ResNet101输出特征图得到3*3*(C+1)个大小为W*H的位置敏感得分图。每块(W*H*(C+1))表示的是不同位置存在目标的概率值。共有3*3*(C+1)个特征图。
步骤3:将候选框中图片RoI池化。RoI池化操作的输入(对于C+1个类)是3*3*(C+1)*W'*H'(W'和H'是RoI的宽度和高度)的得分图上某RoI对应的那个立体块,且该立体块组成一个新的3*3*(C+1)*W'*H'的立体块:每个立体块(C+1)都只抠出对应位置的一个bin,把这3*3个bin组成新的立体块,大小为(C+1)*W'*H'。RoI池化的输出为一个(C+1)*3*3的立体块。
对于第(i,j)个bin,定义位置敏感的RoI池化仅在第(i,j)得分图上进行池化:
池化后进行分类的投票,3*3个bin直接进行求和(每个类单独做)得到每一类的得分,并进行softmax得到每类的最终得分,并用于计算损失。对于每一个RoI:
rc(θ)=∑i,jrc(i,j|θ)
类别的softmax响应为:
损失函数由分类loss和回归loss组成,分类用交叉熵损失,回归用L1-smooth损失:
L(stx,y,w,h)=Lcls(sc*)+λ[c*>0]Lreg(t,t*)
通过上述方法,在配置有2颗Intel Xeon Gold 6132处理器,2块NVIDIA TeslaP100显卡,128G内存的服务器上使用400张做好标注的图片对模型进行5小时的训练。将图像输入训练好的模型中,可以得到如图2所示六边形螺栓分类检测效果。从图中可以清楚地看到库门上的每一个六边形螺栓都被检测了出来,分类与定位都十分准确。
步骤4:对于使用定位以后的图像,提取其中的预测区域,由于即便在800万像素的摄像头下,每一个螺栓所占总像素值依旧不足,所以,需要在保持其横纵比不变的情况下,使用双立方插值法对图像按整数倍放大,放大到总像素数10万左右。
步骤5:接着,由于获得图像锯齿严重,需使用高斯滤波,抑制噪声,平滑图像,所用二维高斯函数如下:
其大小为(2k+1)×(2k+1)的高斯滤波器核的生成方程式如下所示:
将图像与所选高斯滤波核卷积后,即可得到更为平滑的图像。
步骤6:为方便其后边缘检测运算,需使用一定的二值化算法对图像进行分割处理,使用OTSU算法对图像进行二值化分割。该算法核心思想是找出一个最佳阈值,按这个阈值分割能获得最大类间方差。
步骤7:完成阈值分割后,使用边缘检测算法,可以获得六边形螺栓的六条边的雏形以供后续的直线检测算得直线角度。
步骤8:使用霍夫变换,实现从图像空间到参数空间的映射关系,将图像空间内具有一定关系的像元进行聚类,寻找把这些像元用某一解析形式联系起来的参数空间累计对应点。在极坐标系下所有直线都满足于方程
ρcos(θ-θ0)=ρ0
其中ρ为极径,θ为极角,ρ0为极点到直线的距离,θ0为直线的倾斜角度,设空间中一点A的坐标是(x,y),由于x=ρcos(θ),y=ρsin(θ),将上式展开,我们可以得到
x cos(θ0)+y sin(θ0)=ρ0
所有过点A的直线在极坐标系下的方程都满足于上式。若两点在一条直线上,则两条ρ0和θ0的关系曲线必定会相交于一点,这一点处对应的ρ0′和θ0′便是这两点所在直线的极坐标参数。
由此将图像空间中的问题转换到了参数空间上进行解决,通过量化霍夫参数空间为有限个间隔等分的格子,按这个间隔,从0到2π遍历θ0的取值,对于一个θ0每个像素坐标点(x,y)都可以得到对应的ρ0,这组(ρ0,θ0)所对应的格子中计数值加1。当把所有在步骤7中得到的边缘像素值坐标带入后,可以得到一个统计了所有(ρ0,θ0)取值可能的二维数组,数组单元中计数值较高的便是直线在极坐标系下的参数,只需按照一个阈值筛选,即可得到螺栓的六条边的直线方程,根据几何学原理,必定有两组边在以左上角为顶点的极坐标系中角度介于0度到60度之间,记录这样的角度作为螺栓角度,并计算其与初始角度之差。图3和图4即为放大后的六边形螺栓角度检测效果,每一次我们记录螺栓的位置和当前角度,对于相同位置的螺栓,我们比较他们当前角度与初始时刻角度的差值,若大于一个我们无法接受的阈值,则判断为螺栓出现松动,同时发出报警信息。
为了实现结果可视化,使用C++语言,Qt5.6.3框架编写UI界面;使用Python语言,TensorFlow1.4.0框架编写R-FCN检测算法定位螺栓位置;使用OpenCV3.3.1完成视频数据的采集和保存;使用OpenCV3.3.1结合OpenGL完成图像处理,螺栓角度计算及显示。系统稳定运行,对200张图片进行六边形螺栓角度计算,角度检测误差在3度以内。软件运行时检测效果如图5图6图7所示,图5为六边形螺栓稳定未松动时的输出,可以看到系统准确检测出每个螺栓的角度并判断出螺栓未发生松动,所以没有发出报警信息。图6和图7为人为对六边形螺帽进行松动后的输出,可以看到系统准确检测出发生松动的螺栓的位置和角度,并对发生松动的螺栓进行报警。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。
Claims (3)
1.基于深度学习和霍夫变换的六边形螺栓松动检测方法,其计算处理步骤如下,其特征在于:使用深度学习技术,通过基于区域的全卷积神经网络目标检测算法实现螺栓松动的检测,方法包括如下步骤:
(1)先对输入图片计算深度特征从而得到螺栓位置,
(2)再在原图片中根据得到的螺栓位置提取出螺栓图像并计算螺栓角度。
2.根据权利要求1所述的基于深度学习和霍夫变换的六边形螺栓松动检测方法,其特征在于:所述步骤(1)中使用采用深度学习中基于区域的全卷积神经网络目标检测算法将螺栓位置提取出来,具体步骤为:
步骤2.1:训练基于区域的全卷积神经网络神经网络,主干网络使用101层残差网络,去掉原始残差网络的最后一层全连接层,保留前100层,再接一个1*1*1024的全卷积层,残差网络的输出是W*H*1024;
步骤2.2:根据残差网络输出的特征图利用区域提名神经网络计算出2000个左右的候选框,同时用k*k*(C+1)个1024*1*1的卷积核去卷积残差网络输出特征图得到k*k*(C+1)个大小为W*H的位置敏感得分图,k=3,表示把一个兴趣区域划分成3*3块,对于k*k=9块,每块(W*H*(C+1))表示的是不同位置存在目标的概率值,共有k*k*(C+1)个特征图,每个特征图,z(i,j,c)是第i+k(j-1)个立体块上的第c个图(1<=i,j<=3),(i,j)决定了9种位置的某一种位置,假设为左上角位置(i=j=1),c决定了哪一类,假设为螺栓类,在z(i,j,c)这个特征图上的某一个像素的位置是(x,y),像素值是v,则v表示的是原图对应的(x,y)这个位置上可能是螺栓(c=‘螺栓’)且是螺栓的左上部位(i=j=1)的概率值;
步骤2.3:将候选框中图片兴趣区域池化,思路是不论对多大的兴趣区域,规定在上面画一个n*n个bin的网格,每个网格里的所有像素值做一个池化,这样不论图像多大,池化后的兴趣区域特征维度都是n*n,RoI池化是每个特征图单独做,不是多个通道一起的,若有C个类,兴趣区域的宽度是W',高度是H',则兴趣区域池化操作的输入是k*k*(C+1)*W'*H'的得分图上某兴趣区域对应的那个立体块,且该立体块组成一个新的k*k*(C+1)*W'*H'的立体块:每个立体块(C+1)都只抠出对应位置的一个bin,把这k*k个bin组成新的立体块,大小为(C+1)*W'*H',兴趣区域池化的输出为一个(C+1)*k*k的立体块;
对于第(i,j)个bin,定义位置敏感的兴趣区域池化仅在第(i,j)得分图上进行池化:
池化后进行分类的投票,k*k个bin直接进行求和,得到每一类的得分,并进行柔性最大得到每类的最终得分,并用于计算损失,对于每一个兴趣区域:
类别的柔性最大响应为:
损失函数由分类损失和回归损失组成,分类用交叉熵损失,回归用L1-smooth损失:
L(stx,y,w,h)=Lcls(sc*)+λ[c*>0]Lreg(tt*)
通过上述方法训练基于区域的全卷积神经网络后,输出图片螺栓分类位置检测的结果。
3.根据权利要求1所述的基于深度学习和霍夫变换的六边形螺栓松动检测方法,其特征在于:所述步骤(2)中提取螺栓图像并计算螺栓角度,设计方法为:
步骤3.1:对于使用定位以后的图像,提取其中的预测区域,由于即便在800万像素的摄像头下,每一个螺栓所占总像素值依旧不足,所以,需要在保持其横纵比不变的情况下,使用双立方插值法对图像按整数倍放大,放大到总像素数10万左右;
步骤3.2:接着,由于获得图像锯齿严重,需使用高斯滤波,抑制噪声,平滑图像,所用二维高斯函数如下:
其大小为(2k+1)×(2k+1)的高斯滤波器核的生成方程式如下所示:
将图像与所选高斯滤波核卷积后,即可得到更为平滑的图像;
步骤3.3:为方便其后边缘检测运算,需使用一定的二值化算法对图像进行分割处理,使用OTSU算法对图像进行二值化分割,该算法核心思想是找出一个最佳阈值,按这个阈值分割能获得最大类间方差;
步骤3.4:完成阈值分割后,使用坎尼边缘检测算法,可以获得六边形螺栓的六条边的雏形以供后续的直线检测算得直线角度;
步骤3.5:使用霍夫变换,实现从图像空间到参数空间的映射关系,将图像空间内具有一定关系的像元进行聚类,寻找把这些像元用某一解析形式联系起来的参数空间累计对应点,在极坐标系下所有直线都满足于方程;
ρcos(θ-θ0)=ρ0
其中ρ为极径,θ为极角,ρ0为极点到直线的距离,θ0为直线的倾斜角度,设空间中一点A的坐标是(x,y),由于x=ρcos(θ),y=ρsin(θ),将上式展开,我们可以得到
xcos(θ0)+ysin(θ0)=ρ0
所有过点A的直线在极坐标系下的方程都满足于上式,若两点在一条直线上,则两条ρ0和θ0的关系曲线必定会相交于一点,这一点处对应的ρ′0和θ′0便是这两点所在直线的极坐标参数;
由此将图像空间中的问题转换到了参数空间上进行解决,通过量化霍夫参数空间为有限个间隔等分的格子,按这个间隔,从0到2π遍历θ0的取值,对于一个θ0每个像素坐标点(x,y)都可以得到对应的ρ0,这组(ρ0,θ0)所对应的格子中计数值加1,当把所有在步骤3.4中得到的边缘像素值坐标带入后,可以得到一个统计了所有(ρ0,θ0)取值可能的二维数组,数组单元中计数值较高的便是直线在极坐标系下的参数,只需按照一个阈值筛选,即可得到螺栓的六条边的直线方程,根据几何学原理,必定有两组边在以左上角为顶点的极坐标系中角度介于0度到60度之间,记录这样的角度作为螺栓角度,并计算其与初始角度之差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910285184.3A CN110097536B (zh) | 2019-04-10 | 2019-04-10 | 基于深度学习和霍夫变换的六边形螺栓松动检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910285184.3A CN110097536B (zh) | 2019-04-10 | 2019-04-10 | 基于深度学习和霍夫变换的六边形螺栓松动检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110097536A true CN110097536A (zh) | 2019-08-06 |
CN110097536B CN110097536B (zh) | 2023-04-18 |
Family
ID=67444552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910285184.3A Active CN110097536B (zh) | 2019-04-10 | 2019-04-10 | 基于深度学习和霍夫变换的六边形螺栓松动检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097536B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688944A (zh) * | 2019-09-26 | 2020-01-14 | 西南交通大学 | 一种基于图像识别和机器学习的螺栓松弛监测方法 |
CN111145154A (zh) * | 2019-12-25 | 2020-05-12 | 西北工业大学 | 一种基于机器视觉的串联钢丝防松结构检测方法 |
CN111413075A (zh) * | 2020-04-02 | 2020-07-14 | 重庆交通大学 | 多尺度一维卷积神经网络的风机基座螺栓松动诊断方法 |
CN111459135A (zh) * | 2020-04-02 | 2020-07-28 | 张瑞华 | 基于物联网的智能家居故障状态追溯方法及中控中心 |
CN112419297A (zh) * | 2020-12-04 | 2021-02-26 | 中冶建筑研究总院(深圳)有限公司 | 一种螺栓松动检测方法、装置、设备及存储介质 |
KR20210057887A (ko) * | 2019-11-12 | 2021-05-24 | 부경대학교 산학협력단 | 딥러닝 및 이미지 프로세싱 기반 볼트 풀림 검출 방법 |
CN112837284A (zh) * | 2021-01-27 | 2021-05-25 | 南京林业大学 | 基于深度学习的螺栓松动小角度检测方法 |
CN112862889A (zh) * | 2021-01-29 | 2021-05-28 | 珠海迪沃航空工程有限公司 | 一种基于图像识别的识别矫正系统、方法、装置 |
CN113034456A (zh) * | 2021-03-18 | 2021-06-25 | 北京百度网讯科技有限公司 | 螺栓松动的检测方法、装置、设备以及存储介质 |
CN113077426A (zh) * | 2021-03-23 | 2021-07-06 | 成都国铁电气设备有限公司 | 一种实时在线检测夹板螺栓缺陷的方法 |
CN113379712A (zh) * | 2021-06-23 | 2021-09-10 | 西南交通大学 | 一种基于计算机视觉的钢桥螺栓病害检测方法及系统 |
CN113639685A (zh) * | 2021-08-10 | 2021-11-12 | 杭州申昊科技股份有限公司 | 位移检测方法、装置、设备和存储介质 |
CN114299421A (zh) * | 2021-12-20 | 2022-04-08 | 北京理工大学 | 检测螺栓松动的方法、卷积神经网络、训练方法及系统 |
CN114407079A (zh) * | 2022-01-24 | 2022-04-29 | 湖南中南智能装备有限公司 | 一种控制机械臂安装螺栓的方法 |
WO2022088399A1 (zh) * | 2020-10-27 | 2022-05-05 | 华能新能源股份有限公司河北分公司 | 一种转动部件高强度螺栓状态监测方法及系统 |
CN114627059A (zh) * | 2022-02-27 | 2022-06-14 | 扬州孚泰电气有限公司 | 一种基于数据处理的防震锤螺栓检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1904972A2 (en) * | 2005-07-18 | 2008-04-02 | Consiglio Nazionale Delle Ricerche | Automatic method and system for infrastructure visual inspection |
CN106600581A (zh) * | 2016-12-02 | 2017-04-26 | 北京航空航天大学 | 一种基于双目立体视觉的列车运行故障自动检测系统及方法 |
CN107145905A (zh) * | 2017-05-02 | 2017-09-08 | 重庆大学 | 电梯紧固螺帽松动的图像识别检测方法 |
CN107230205A (zh) * | 2017-05-27 | 2017-10-03 | 国网上海市电力公司 | 一种基于卷积神经网络的输电线路螺栓检测方法 |
CN109344753A (zh) * | 2018-09-21 | 2019-02-15 | 福州大学 | 一种基于深度学习的航拍图像输电线路细小金具识别方法 |
-
2019
- 2019-04-10 CN CN201910285184.3A patent/CN110097536B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1904972A2 (en) * | 2005-07-18 | 2008-04-02 | Consiglio Nazionale Delle Ricerche | Automatic method and system for infrastructure visual inspection |
CN106600581A (zh) * | 2016-12-02 | 2017-04-26 | 北京航空航天大学 | 一种基于双目立体视觉的列车运行故障自动检测系统及方法 |
CN107145905A (zh) * | 2017-05-02 | 2017-09-08 | 重庆大学 | 电梯紧固螺帽松动的图像识别检测方法 |
CN107230205A (zh) * | 2017-05-27 | 2017-10-03 | 国网上海市电力公司 | 一种基于卷积神经网络的输电线路螺栓检测方法 |
CN109344753A (zh) * | 2018-09-21 | 2019-02-15 | 福州大学 | 一种基于深度学习的航拍图像输电线路细小金具识别方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688944B (zh) * | 2019-09-26 | 2022-06-21 | 西南交通大学 | 一种基于图像识别和机器学习的螺栓松弛监测方法 |
CN110688944A (zh) * | 2019-09-26 | 2020-01-14 | 西南交通大学 | 一种基于图像识别和机器学习的螺栓松弛监测方法 |
KR20210057887A (ko) * | 2019-11-12 | 2021-05-24 | 부경대학교 산학협력단 | 딥러닝 및 이미지 프로세싱 기반 볼트 풀림 검출 방법 |
KR102292602B1 (ko) * | 2019-11-12 | 2021-08-25 | 부경대학교 산학협력단 | 딥러닝 및 이미지 프로세싱 기반 볼트 풀림 검출 방법 |
CN111145154A (zh) * | 2019-12-25 | 2020-05-12 | 西北工业大学 | 一种基于机器视觉的串联钢丝防松结构检测方法 |
CN111145154B (zh) * | 2019-12-25 | 2022-04-01 | 西北工业大学 | 一种基于机器视觉的串联钢丝防松结构检测方法 |
CN111459135B (zh) * | 2020-04-02 | 2020-12-29 | 超级智慧家(上海)物联网科技有限公司 | 基于物联网的智能家居故障状态追溯方法及中控中心 |
CN111459135A (zh) * | 2020-04-02 | 2020-07-28 | 张瑞华 | 基于物联网的智能家居故障状态追溯方法及中控中心 |
CN111413075A (zh) * | 2020-04-02 | 2020-07-14 | 重庆交通大学 | 多尺度一维卷积神经网络的风机基座螺栓松动诊断方法 |
WO2022088399A1 (zh) * | 2020-10-27 | 2022-05-05 | 华能新能源股份有限公司河北分公司 | 一种转动部件高强度螺栓状态监测方法及系统 |
CN112419297A (zh) * | 2020-12-04 | 2021-02-26 | 中冶建筑研究总院(深圳)有限公司 | 一种螺栓松动检测方法、装置、设备及存储介质 |
CN112419297B (zh) * | 2020-12-04 | 2024-06-04 | 中冶建筑研究总院(深圳)有限公司 | 一种螺栓松动检测方法、装置、设备及存储介质 |
CN112837284A (zh) * | 2021-01-27 | 2021-05-25 | 南京林业大学 | 基于深度学习的螺栓松动小角度检测方法 |
CN112862889A (zh) * | 2021-01-29 | 2021-05-28 | 珠海迪沃航空工程有限公司 | 一种基于图像识别的识别矫正系统、方法、装置 |
CN113034456A (zh) * | 2021-03-18 | 2021-06-25 | 北京百度网讯科技有限公司 | 螺栓松动的检测方法、装置、设备以及存储介质 |
CN113034456B (zh) * | 2021-03-18 | 2023-07-28 | 北京百度网讯科技有限公司 | 螺栓松动的检测方法、装置、设备以及存储介质 |
CN113077426A (zh) * | 2021-03-23 | 2021-07-06 | 成都国铁电气设备有限公司 | 一种实时在线检测夹板螺栓缺陷的方法 |
CN113379712A (zh) * | 2021-06-23 | 2021-09-10 | 西南交通大学 | 一种基于计算机视觉的钢桥螺栓病害检测方法及系统 |
CN113639685B (zh) * | 2021-08-10 | 2023-10-03 | 杭州申昊科技股份有限公司 | 位移检测方法、装置、设备和存储介质 |
CN113639685A (zh) * | 2021-08-10 | 2021-11-12 | 杭州申昊科技股份有限公司 | 位移检测方法、装置、设备和存储介质 |
CN114299421A (zh) * | 2021-12-20 | 2022-04-08 | 北京理工大学 | 检测螺栓松动的方法、卷积神经网络、训练方法及系统 |
CN114407079A (zh) * | 2022-01-24 | 2022-04-29 | 湖南中南智能装备有限公司 | 一种控制机械臂安装螺栓的方法 |
CN114407079B (zh) * | 2022-01-24 | 2024-01-30 | 湖南中南智能装备有限公司 | 一种控制机械臂安装螺栓的方法 |
CN114627059A (zh) * | 2022-02-27 | 2022-06-14 | 扬州孚泰电气有限公司 | 一种基于数据处理的防震锤螺栓检测方法 |
CN114627059B (zh) * | 2022-02-27 | 2022-12-13 | 扬州孚泰电气有限公司 | 一种基于数据处理的防震锤螺栓检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110097536B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110097536A (zh) | 基于深度学习和霍夫变换的六边形螺栓松动检测方法 | |
US20210374466A1 (en) | Water level monitoring method based on cluster partition and scale recognition | |
WO2021238030A1 (zh) | 基于聚类分区进行刻度识别的水位监测方法 | |
CN108615027B (zh) | 一种基于长短期记忆-加权神经网络对视频人群计数的方法 | |
Zhang et al. | When Dijkstra meets vanishing point: a stereo vision approach for road detection | |
CN104978567B (zh) | 基于场景分类的车辆检测方法 | |
Lei et al. | End-to-end change detection using a symmetric fully convolutional network for landslide mapping | |
WO2021093275A1 (zh) | 一种人群计数系统中自适应计算高斯核大小的方法 | |
CN111652869B (zh) | 基于深度学习的板坯空洞识别方法、系统、介质及终端 | |
WO2019071976A1 (zh) | 基于区域增长和眼动模型的全景图像显著性检测方法 | |
CN103577875A (zh) | 一种基于fast的计算机辅助cad人数统计方法 | |
CN113822352B (zh) | 基于多特征融合的红外弱小目标检测方法 | |
CN107301649B (zh) | 一种基于超像素的区域合并sar图像海岸线检测算法 | |
CN107392929A (zh) | 一种基于人眼视觉模型的智能化目标检测及尺寸测量方法 | |
CN111199245A (zh) | 油菜害虫识别方法 | |
CN110827320B (zh) | 基于时序预测的目标跟踪方法和装置 | |
Xiao et al. | Building segmentation and modeling from airborne LiDAR data | |
CN113409332B (zh) | 一种基于三维点云的建筑物平面分割方法 | |
CN112101195A (zh) | 人群密度预估方法、装置、计算机设备和存储介质 | |
CN111242026A (zh) | 一种基于空间层次感知模块和度量学习的遥感图像目标检测方法 | |
CN109919832A (zh) | 一种用于无人驾驶的交通图像拼接方法 | |
Zhou et al. | An underwater target recognition method based on improved YOLOv4 in complex marine environment | |
CN114241194A (zh) | 一种基于轻量级网络的仪表识别及读数方法 | |
CN114742849B (zh) | 一种基于图像增强的水准仪距离测量方法 | |
CN114820931B (zh) | 基于虚拟现实的智慧城市cim可视化实时成像方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |