CN110097536B - 基于深度学习和霍夫变换的六边形螺栓松动检测方法 - Google Patents

基于深度学习和霍夫变换的六边形螺栓松动检测方法 Download PDF

Info

Publication number
CN110097536B
CN110097536B CN201910285184.3A CN201910285184A CN110097536B CN 110097536 B CN110097536 B CN 110097536B CN 201910285184 A CN201910285184 A CN 201910285184A CN 110097536 B CN110097536 B CN 110097536B
Authority
CN
China
Prior art keywords
bolt
image
region
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.)
Active
Application number
CN201910285184.3A
Other languages
English (en)
Other versions
CN110097536A (zh
Inventor
杨绿溪
廖如天
王驭扬
张旭帆
邓亭强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201910285184.3A priority Critical patent/CN110097536B/zh
Publication of CN110097536A publication Critical patent/CN110097536A/zh
Application granted granted Critical
Publication of CN110097536B publication Critical patent/CN110097536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/259Fusion by voting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial 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)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Quality & Reliability (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)得分图上进行池化:
Figure BDA0002023036420000031
池化后进行分类的投票,k*k个bin直接进行求和,得到每一类的得分,
并进行柔性最大得到每类的最终得分,并用于计算损失,对于每一个兴趣区域:
rc(θ)=∑i,jrc(i,j|θ)
类别的柔性最大响应为:
Figure BDA0002023036420000032
损失函数由分类损失和回归损失组成,分类用交叉熵损失,回归用L1-smooth损失:
L(stx,y,w,h)=Lcls(sc*)+λ[c*>0]Lreg(t,t*)
通过上述方法训练基于区域的全卷积神经网络后,输出图片螺栓分类位置检测的结果。
作为本发明进一步改进,所述步骤(2)中提取螺栓图像并计算螺栓角度,设计方法为:
步骤3.1:对于使用定位以后的图像,提取其中的预测区域,由于即便在800万像素的摄像头下,每一个螺栓所占总像素值依旧不足,所以,需要在保持其横纵比不变的情况下,使用双立方插值法对图像按整数倍放大,放大到总像素数10万左右;
步骤3.2:接着,由于获得图像锯齿严重,需使用高斯滤波,抑制噪声,平滑图像,所用二维高斯函数如下:
Figure BDA0002023036420000041
其大小为(2k+1)×(2k+1)的高斯滤波器核的生成方程式如下所示:
Figure BDA0002023036420000042
将图像与所选高斯滤波核卷积后,即可得到更为平滑的图像;
步骤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)得分图上进行池化:
Figure BDA0002023036420000061
池化后进行分类的投票,3*3个bin直接进行求和(每个类单独做)得到每一类的得分,并进行softmax得到每类的最终得分,并用于计算损失。对于每一个RoI:
rc(θ)=∑i,jrc(i,j|θ)
类别的softmax响应为:
Figure BDA0002023036420000062
损失函数由分类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:接着,由于获得图像锯齿严重,需使用高斯滤波,抑制噪声,平滑图像,所用二维高斯函数如下:
Figure BDA0002023036420000071
其大小为(2k+1)×(2k+1)的高斯滤波器核的生成方程式如下所示:
Figure BDA0002023036420000072
将图像与所选高斯滤波核卷积后,即可得到更为平滑的图像。
步骤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 (1)

1.基于深度学习和霍夫变换的六边形螺栓松动检测方法,其计算处理步骤如下,其特征在于:使用深度学习技术,通过基于区域的全卷积神经网络目标检测算法实现螺栓松动的检测,方法包括如下步骤:
(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)得分图上进行池化:
Figure FDA0004022543310000021
池化后进行分类的投票,k*k个bin直接进行求和,得到每一类的得分,并进行柔性最大得到每类的最终得分,并用于计算损失,对于每一个兴趣区域:
rc(Θ)=∑i,jrc(i,j|Θ)
类别的柔性最大响应为:
Figure FDA0004022543310000022
损失函数由分类损失和回归损失组成,分类用交叉熵损失,回归用L1-smooth损失:
L(s,tx,y,w,h)=Lcls(sc*)+λ[c*>0]Lreg(t,t*)
通过上述方法训练基于区域的全卷积神经网络后,输出图片螺栓分类位置检测的结果;
(2)再在原图片中根据得到的螺栓位置提取出螺栓图像并计算螺栓角度;
所述步骤(2)中提取螺栓图像并计算螺栓角度,设计方法为:
步骤3.1:对于使用定位以后的图像,提取其中的预测区域,由于即便在800万像素的摄像头下,每一个螺栓所占总像素值依旧不足,所以,需要在保持其横纵比不变的情况下,使用双立方插值法对图像按整数倍放大,放大到总像素数10万左右;
步骤3.2:接着,由于获得图像锯齿严重,需使用高斯滤波,抑制噪声,平滑图像,所用二维高斯函数如下:
Figure FDA0004022543310000023
其大小为(2k+1)×(2k+1)的高斯滤波器核的生成方程式如下所示:
Figure FDA0004022543310000024
将图像与所选高斯滤波核卷积后,即可得到更为平滑的图像;
步骤3.3:为方便其后边缘检测运算,需使用一定的二值化算法对图像进行分割处理,使用OTSU算法对图像进行二值化分割,找出一个最佳阈值,按这个阈值分割能获得最大类间方差;
步骤3.4:完成阈值分割后,使用坎尼边缘检测算法,可以获得六边形螺栓的六条边的雏形以供后续的直线检测算得直线角度;
步骤3.5:使用霍夫变换,实现从图像空间到参数空间的映射关系,将图像空间内具有一定关系的像元进行聚类,寻找把这些像元用某一解析形式联系起来的参数空间累计对应点,在极坐标系下所有直线都满足于方程;
ρ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,当把所有在步骤3.4中得到的边缘像素值坐标带入后,可以得到一个统计了所有(ρ0,θ0)取值可能的二维数组,数组单元中计数值较高的便是直线在极坐标系下的参数,只需按照一个阈值筛选,即可得到螺栓的六条边的直线方程,根据几何学原理,必定有两组边在以左上角为顶点的极坐标系中角度介于0度到60度之间,记录这样的角度作为螺栓角度,并计算其与初始角度之差。
CN201910285184.3A 2019-04-10 2019-04-10 基于深度学习和霍夫变换的六边形螺栓松动检测方法 Active CN110097536B (zh)

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 CN110097536A (zh) 2019-08-06
CN110097536B true 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)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688944B (zh) * 2019-09-26 2022-06-21 西南交通大学 一种基于图像识别和机器学习的螺栓松弛监测方法
KR102292602B1 (ko) * 2019-11-12 2021-08-25 부경대학교 산학협력단 딥러닝 및 이미지 프로세싱 기반 볼트 풀림 검출 방법
CN111145154B (zh) * 2019-12-25 2022-04-01 西北工业大学 一种基于机器视觉的串联钢丝防松结构检测方法
CN111413075A (zh) * 2020-04-02 2020-07-14 重庆交通大学 多尺度一维卷积神经网络的风机基座螺栓松动诊断方法
CN112379661A (zh) * 2020-04-02 2021-02-19 张瑞华 应用于物联网的智能家居故障状态追溯方法及中控中心
CN112330615B (zh) * 2020-10-27 2022-11-29 华能新能源股份有限公司河北分公司 一种转动部件高强度螺栓状态监测方法及系统
CN112419297A (zh) * 2020-12-04 2021-02-26 中冶建筑研究总院(深圳)有限公司 一种螺栓松动检测方法、装置、设备及存储介质
CN112862889A (zh) * 2021-01-29 2021-05-28 珠海迪沃航空工程有限公司 一种基于图像识别的识别矫正系统、方法、装置
CN113034456B (zh) * 2021-03-18 2023-07-28 北京百度网讯科技有限公司 螺栓松动的检测方法、装置、设备以及存储介质
CN113077426B (zh) * 2021-03-23 2022-08-23 成都国铁电气设备有限公司 一种实时在线检测夹板螺栓缺陷的方法
CN113379712B (zh) * 2021-06-23 2022-07-29 西南交通大学 一种基于计算机视觉的钢桥螺栓病害检测方法及系统
CN113639685B (zh) * 2021-08-10 2023-10-03 杭州申昊科技股份有限公司 位移检测方法、装置、设备和存储介质
CN114407079B (zh) * 2022-01-24 2024-01-30 湖南中南智能装备有限公司 一种控制机械臂安装螺栓的方法
CN114627059B (zh) * 2022-02-27 2022-12-13 扬州孚泰电气有限公司 一种基于数据处理的防震锤螺栓检测方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITRM20050381A1 (it) * 2005-07-18 2007-01-19 Consiglio Nazionale Ricerche Metodo e sistema automatico di ispezione visuale di una infrastruttura.
CN106600581B (zh) * 2016-12-02 2019-09-24 北京航空航天大学 一种基于双目立体视觉的列车运行故障自动检测系统及方法
CN107145905B (zh) * 2017-05-02 2020-04-21 重庆大学 电梯紧固螺帽松动的图像识别检测方法
CN107230205A (zh) * 2017-05-27 2017-10-03 国网上海市电力公司 一种基于卷积神经网络的输电线路螺栓检测方法
CN109344753A (zh) * 2018-09-21 2019-02-15 福州大学 一种基于深度学习的航拍图像输电线路细小金具识别方法

Also Published As

Publication number Publication date
CN110097536A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN110097536B (zh) 基于深度学习和霍夫变换的六边形螺栓松动检测方法
CN107045629B (zh) 一种多车道线检测方法
Che et al. Multi-scan segmentation of terrestrial laser scanning data based on normal variation analysis
CN110097596B (zh) 一种基于opencv的目标检测系统
Dai et al. Building segmentation and outline extraction from UAV image-derived point clouds by a line growing algorithm
US11965967B2 (en) Apparatus and method for detecting intersection edges
CN111753682B (zh) 一种基于目标检测算法的吊装区域动态监控方法
CN109685045A (zh) 一种运动目标视频跟踪方法及系统
Fan et al. Registration of multiresolution remote sensing images based on L2-siamese model
CA3136674C (en) Methods and systems for crack detection using a fully convolutional network
CN101114337A (zh) 一种地面建筑物识别定位方法
US20220004740A1 (en) Apparatus and Method For Three-Dimensional Object Recognition
CN104063711A (zh) 一种基于K-means方法的走廊消失点快速检测算法
US11861855B2 (en) System and method for aerial to ground registration
CN113538503A (zh) 一种基于红外图像的太阳能板缺陷检测方法
CN111199245A (zh) 油菜害虫识别方法
Kukolj et al. Road edge detection based on combined deep learning and spatial statistics of LiDAR data
Zhang et al. Automatic extraction of building geometries based on centroid clustering and contour analysis on oblique images taken by unmanned aerial vehicles
CN116843946A (zh) 一种基于图像识别的隧道岩体主要结构面判识方法及装置
Yu et al. Bidirectionally greedy framework for unsupervised 3D building extraction from airborne-based 3D meshes
Fernandes et al. Extraction of building roof contours from the integration of high-resolution aerial imagery and laser data using Markov random fields
Zhang et al. Data-driven street scene layout estimation for distant object detection
Zhao et al. A traffic sign detection method based on saliency detection
Yamaguchi et al. Road crack detection interpreting background images by convolutional neural networks and a self‐organizing map
Majidi et al. Aerial tracking of elongated objects in rural environments

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