CN115082410A - 基于图像处理的卡簧缺陷检测方法 - Google Patents
基于图像处理的卡簧缺陷检测方法 Download PDFInfo
- Publication number
- CN115082410A CN115082410A CN202210755826.3A CN202210755826A CN115082410A CN 115082410 A CN115082410 A CN 115082410A CN 202210755826 A CN202210755826 A CN 202210755826A CN 115082410 A CN115082410 A CN 115082410A
- Authority
- CN
- China
- Prior art keywords
- clamp spring
- circle
- defect
- contour
- center
- 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.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 82
- 238000001514 detection method Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012217 deletion Methods 0.000 claims abstract description 9
- 230000037430 deletion Effects 0.000 claims abstract description 9
- 238000001914 filtration Methods 0.000 claims abstract description 9
- 238000000605 extraction Methods 0.000 claims description 11
- 230000002146 bilateral effect Effects 0.000 claims description 8
- 230000002950 deficient Effects 0.000 claims description 7
- 238000005286 illumination Methods 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 claims description 3
- 238000003708 edge detection Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 235000014676 Phragmites communis Nutrition 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000012535 impurity Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 229910000639 Spring steel Inorganic materials 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G06T5/70—
-
- 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/13—Edge detection
-
- 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
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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
- G06T2207/20028—Bilateral filtering
-
- 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/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
Abstract
本发明公开的基于图像处理的卡簧缺陷检测方法:首先获得卡簧的图像;之后对采集的图像进行相应的处理,如灰度化、边缘滤波、二值化等;再通过掩膜、圆的拟合算法等提取卡簧零件,计算圆心距、感兴趣区域面积等,然后根据相应的阈值比对算法进行卡簧缺陷识别,确定卡簧是否良品或具有哪种缺陷,本发明的方法能准确识别出卡簧表面孔堵、凹坑、变形、缺边等缺陷,可对一条生产线上的定量卡簧进行检测,提高了检测的自动化程度和准确性,同时替代人工检测,避免人为漏检、降低人力成本。
Description
技术领域
本发明属于零件疵点检测技术领域,具体涉及一种基于图像处理的卡簧缺陷检测方法。
背景技术
卡簧也叫挡圈或扣环,属于紧固件的一种,主要供装在机器、设备的轴槽或孔槽中,起着阻止轴上或孔上的零件轴向运动的作用。卡簧的主要材料为弹簧钢,在轧制、拉拔、卷制和冲压过程中造成的孔堵、凹坑、变形、缺边等缺陷会降低卡簧疲劳强度,抗腐蚀能力和使用寿命,严重影响卡簧成品质量,因此需要对成品进行严格地表面缺陷检测。
在实际生产中常见的缺陷类型为孔堵、凹坑、变形、缺边,目前许多厂家主要采用人工检测方法。通过目视人工挑选出有缺陷的产品。但人工检验工作时间长,工人劳动力强度大,对检测人员熟练程度要求较高,且检测速度取决于人工经验,对于高精度零件检测误差较大,使得检测效率不高。
发明内容
本发明的目的是提供一种基于图像处理的卡簧缺陷检测方法,解决了现有技术人工检验耗时费力且检测误差较大的问题。
本发明所采用的技术方案是,基于图像处理的卡簧缺陷检测方法,具体按以下步骤实施:
步骤1、采集待检测卡簧图片;
步骤2、提取卡簧各部分轮廓感兴趣区域;
步骤3、凹坑缺陷检测;
步骤4、孔堵检测;
步骤5、中心点定位;
步骤7、变形缺陷检测;
步骤8、缺边检测。
本发明的特征还在于,
步骤1具体操作为:获取待检测卡簧样本图像,其中单张样本图像中仅包含一个完整的卡簧零件。
步骤2,具体操作为:对拍得的卡簧样本图像进行双边滤波去噪,灰度二值化消除光照不均匀,通过轮廓提取算法,提取出卡簧外轮廓,并将卡簧外轮廓内部填充,利用图像的位与运算函数最终获得卡簧外轮廓感兴趣区域;对得到的卡簧外轮廓感兴趣区域进行二次轮廓提取,提取卡簧凹坑轮廓和小孔轮廓,将这些轮廓信息和卡簧外轮廓信息放在一个列表中,用轮廓面积计算函数,分别计算各轮廓的内部面积,并按面积大小进行降序排序,设定经验阈值100,将列表中面积小于100轮廓信息删除,得到总的轮廓信息个数。
二值化采取单阈值算法cv2.threshold()进行二值化输出,双边滤波算法采用cv2.bilateralFilter()去除噪声;
二次轮廓提取采用基于OpenCV的cv2.findContours()函数对卡簧图像进行轮廓提取得到轮廓信息,并将轮廓信息存储在contours列表中,对contours进行面积cv2.contourArea()的计算。
步骤3,具体操作为,按照经验设定轮廓信息个数Th1=3个,若步骤2得到的轮廓信息个数大于3个,则此零件为凹坑缺陷残次品;若轮廓信息个数不大于3个,则此零件没有凹坑缺陷,且面积最大的轮廓为外轮廓,剩余的为小孔轮廓,将卡簧零件小孔轮廓内部填充,利用图像的位与运算函数获得小孔感兴趣区域,然后继续进行下一步检测;
步骤3中,采用基于OpenCV的cv2.bitwise_and()函数得到小孔感兴趣区域。
步骤4,具体操作为,若步骤3中的轮廓信息个数小于3个,则直接判定卡簧存在孔堵缺陷,结束检测流程;若轮廓信息个数等于3个,即卡簧外轮廓和两个小孔轮廓,按照经验设定两个小孔轮廓面积差阈值区间Th2,通过对比步骤2所得到两个小孔的面积,若检测得到的两个小孔的面积之差在给定阈值范围Th2内,则判定卡簧不存在孔堵缺陷,并进入下一步检测;反之,判定卡簧存在孔堵缺陷,结束检测流程。
步骤5具体操作为,将步骤2得到的零件外轮廓感兴趣区域进行边缘提取,用圆的霍夫变换检测算法检测卡簧零件外轮廓的外圆圆心和半径,将步骤3得到的小孔感兴趣区域,用椭圆拟合算法计算出两个小孔感兴趣区域的中心点;
采用基于OpenCV的cv2.Canny()函数,对步骤2和步骤3得到的各感兴趣区域提取边缘,采用基于OpenCV的cv2.HoughCircles()函数提取卡簧外轮廓的拟合圆,圆拟合的具体方法如下:
步骤5.1、基于图像中每个像素点的梯度可以由Sobel算子来获得,分别求得沿水平(x)和垂直(y)方向的梯度Gx和Gy,再利用公式来求得每一个像素点的梯度幅值,Canny算法边缘检测后,得到边界二值图;
步骤5.2、确定圆心,遍历边界二值图中的非0点,沿着梯度方向和反方向画线段,线段的起点和长度由参数允许的半径区间决定;在边界二值图中任意沿着梯度方向和反方向画的线段可以用下述公式表达:
f[(a1,a2,...,an),(x,y)]=0
其中,a1,a2,...,an是线段特征参数,若将其与变量x、y调换,则公式等价于:
g[(x,y),(a1,a2,...,an)]=0
上述公式说明,边界二值图中同一线段上的点通过公式变换,在平面坐标系中映射为一点(x,y),该点由特征参数a1,a2,...,an确定;
步骤5.3、已知圆的方程为(x-a)2+(y-b)2=r2,令(xi,yi)(i=1,2,3...,n)为边界二值图中满足圆周特性的点的集合,那么边界二值图中的点(xi,yi)在空间坐标系中的方程为:(a-xi)2+(b-yi)2=r2该方程在空间内坐标系中表示一个三维锥面;对于边界二值图中满足圆周特性的全部点对应于空间坐标系的一组圆锥簇面;
步骤5.4、求边界二值图中圆的圆心坐标(a,b)以及半径r,可以建立一个三维累加器数组A(a,b,r),根据三维锥面方程,分别计算边界二值图中圆周上每一个非0点的(a,b,r),并对其累加,通过比较累加点An(a,b,r)的累加值,选出最大值Amax(a,b,r),则该数组中的(a,b)就是边界二值图中所求圆周的圆心坐标,r为半径;
采用基于OpenCV的cv2.fitEllipse函数对小孔拟合椭圆,得到两小孔的中心点,椭圆拟合的具体方法如下:
输入一组点集合(xi,yi),利用多项式F(a,x)=a·x=ax2+bxy+cy2+dx+cy+∫=0,并定义向量A=[a,b,c,d,e,f]T,X=[x2,xy,y2,x,y,1]T,得到多项式
在4aac-b2=1这一约束条件下,定义一个矩阵D
椭圆的拟合问题可以重新表述为:Minimize E=||Da||2当符合aTCa=1的条件下,即为
构造拉格朗日函数L(D,Δ)=AaaTDT-Δ(aTCa-1)偏导数令其为0,得到DTDa-ΔCa=0,求其特征值和特征向量,即可得出结果。
步骤7,具体操作为,卡簧零固件变形缺陷分为二维变形和三维变形两种,二维变形利用步骤5中心点定位检测到的三个中心点坐标,分别计算出三个中心之间的欧氏距离,按照经验设定外圆圆心与上侧小孔中心点之间的欧氏距离区间阈值为Th3、外圆圆心与下侧小孔中心点之间的欧氏距离区间阈值为Th4;
若卡簧中外圆圆心与两个小孔中心点之间欧氏距离之差和两个小孔中心点之间的欧氏距离任意一个超过对应的阈值区间,则该卡簧零件发生了二维变形,结束检测流程;
若卡簧中三个中心之间的欧氏距离均在对应的阈值区间内,则判定该卡簧零固件不存在二维变形,并进入下一步检测;三维变形则利用两个小孔之间的位置高度不同,光照在两个小孔中间产生的阴影面积不同,利用步骤3中得到的两个小孔感兴趣区域分别用相同的灰度二值化算法处理,并检测灰度值为255的像素点个数,按照经验设定两个小孔像素个数之差的阈值为Th5,若测得差值不在阈值Th5内,则该卡簧零固件产生了三维变形,若测得差值在阈值Th5内,则该卡簧零固件不存在三维变形,并进入下一步检测流程。
步骤8,具体操作为,根据步骤5检测到的外圆圆心坐标,将外圈圆半径缩小两个像素,得到第一个圆;圆心坐标不变,外圈圆半径再缩小十一个像素,得到第二个圆,利用两个不同半径的同心圆,采用掩膜的处理方法得到圆环感兴趣区域,对圆环用灰度二值化算法处理,检测圆环的灰度值为255的像素点个数,按照经验设定像素个数阈值Th6,若测得像素点个数小于阈值Th6,则该卡簧零固件为缺边残次品;若测得像素点个数不小于阈值Th6,则该卡簧零固件不存在缺边缺陷;
通过cv2.bitwise_and函数将img与mask图像进行按位与运算得到圆环的感兴趣区域ROI,检测圆环区域的面积是否符合规定范围内的缺陷阈值,以此来判定卡簧是否具有缺边缺陷。
本发明的有益效果是,本发明采用图像处理技术,充分结合机器视觉,并基于OpenCV的卡簧紧固件缺陷检测方法,能够对零件图像进行准确定位,有效提取感兴趣区域,提高检测精度,能自动识别出零件表面的孔堵、凹坑、变形、缺边等缺陷,有效解决人工检测的各种弊端,提高了生产率,且卡簧视觉缺陷检测过程无需人工干预,避免了繁琐的操作过程,有效提高了检测精度,大大提高了检测速度。
附图说明
图1是本发明基于图像处理的卡簧缺陷检测方法的流程图;
图2是本发明基于图像处理的卡簧缺陷检测方法中霍夫变换圆检测示意图;
图3是本发明基于图像处理的卡簧缺陷检测方法中卡簧情况详图;其中,a)是卡簧孔堵缺陷例图;b)是卡簧孔堵缺陷例图;c)是卡簧二维变形缺陷例图;d)是卡簧三维变形缺陷例图;e)是卡簧凹坑缺陷例图;f)是卡簧边缘缺陷例图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明的基于图像处理的卡簧缺陷检测方法,卡簧紧固件缺陷批量检测方法的整体流程如图1所示。卡簧紧固件基本分为三类,本发明主要检测C型卡簧,实物如图2所示,检测的缺陷类型为孔堵、凹坑、变形、缺边四类:孔堵零件如图3.b所示、二维变形零件如图3.c所示,三维变形零件如图3.d所示、凹坑零件如图3.e所示、缺边零件如图3.f所示。本发明主要利用OpenCV中的库函数对图像进行预处理和缺陷提取。目前,对于卡簧紧固件表面缺陷的检测,主要还是靠人工肉眼检测,劳动强度大,检测效率、一致性和准确率低,本发明可以自动识别卡簧零件的缺陷,最终实现合格品和残次品的分拣工作。
本发明提供的基于图像处理的卡簧缺陷检测方法,流程图如图1所示,具体按以下步骤实施:
步骤1、采集待检测卡簧图片;
获取待检测卡簧样本图像,传送带依次连续上料卡簧零件,相机每次拍摄一个卡簧零件得到样本图像,其中单张样本图像中仅包含一个完整的卡簧零件;
步骤2、提取卡簧各部分轮廓感兴趣区域;
为防止传送带上存在杂质,影响图像缺陷的检测,对拍得的卡簧零件样品图像进行双边滤波,去除图片噪点,并保留轮廓信息,双边滤波函数为cv2.bilateralFilter(),参数1取9,参数2取500,参数3取500;灰度二值化消除光照不均匀,采取单阈值为127的二值化算法cv2.threshold()进行二值化输出。通过轮廓提取算法,提取出卡簧零件外轮廓,并将卡簧零件外轮廓内部填充,利用图像的位与运算函数最终获得卡簧零件外轮廓这一感兴趣区域;
对得到的轮廓感兴趣区域通过cv2.findContours()轮廓提取算法进行二次轮廓提取,提取两个小孔轮廓,若零件存在凹坑缺陷,会提取出凹坑轮廓。将这些轮廓信息和卡簧外轮廓信息放在一个contours列表中,用轮廓面积计算函数cv2.contourArea(),对contours进行面积的计算,分别计算这些轮廓的内部面积,对列表信息按面积大小进行降序排序,删除列表中面积小于100的轮廓信息(剔除属于噪点和杂质的轮廓),得到总的轮廓信息个数。
步骤2先采用连通域提取的轮廓查找算法查找零件外轮廓,再将外轮廓内部填充,与经过双边滤波后的原图做图像位与运算将图片分成轮廓区和非轮廓区,提取轮廓区为感兴趣区域,避免了非轮廓区的污点影响检测结果。
步骤3、凹坑缺陷检测;
按照经验设定轮廓信息个数为Th1=3(外轮廓加两个小孔)。若得到的轮廓信息个数大于3个,则此零件为凹坑缺陷残次品;若轮廓信息个数不大于3个,则此零件没有凹坑缺陷,且面积最大的轮廓为外轮廓,剩余的为小孔轮廓。将卡簧零件两个小孔轮廓内部填充,与经过双边滤波后的原图做图像的位与运算函数cv2.bitwise_and()获得两个小孔轮廓这两个感兴趣区域,然后继续进行下一步检测;
步骤4、孔堵检测,若步骤3中的轮廓信息个数小于3个,则直接判定卡簧存在孔堵缺陷,结束检测流程;若轮廓信息个数等于3个,即卡簧外轮廓和两个小孔轮廓,按照经验设定两个小孔轮廓面积差阈值区间Th2(0-50),通过对比步骤2所得到两个小孔的面积,若检测得到的两个小孔的面积之差在给定阈值范围Th2内,则判定卡簧不存在孔堵缺陷,并进入下一步检测;反之,判定卡簧存在孔堵缺陷,结束检测流程;
步骤5、中心点定位,将步骤2得到的零件外轮廓感兴趣区域进行边缘提取,用圆的霍夫变换检测算法检测卡簧零件外轮廓的外圆圆心和半径,将步骤3得到的小孔感兴趣区域,用椭圆拟合算法计算出两个小孔感兴趣区域的中心点,可以避免因为镜头畸变造成的检测圆心不准确的问题;
采用基于OpenCV的cv2.Canny()函数,参数1取128,参数2取200,对步骤2和步骤3得到的各感兴趣区域提取边缘,采用基于OpenCV的cv2.HoughCircles()函数提取卡簧外轮廓的拟合圆,参数1取1,参数2取80,参数3取17,参数4取38,参数5取5,参数6取180,圆拟合的具体方法如下:
步骤5.1、基于图像中每个像素点的梯度可以由Sobel算子来获得,分别求得沿水平(x)和垂直(y)方向的梯度Gx和Gy,再利用公式来求得每一个像素点的梯度幅值。Canny算法边缘检测后,得到边界二值图;
步骤5.2、确定圆心,遍历边界二值图中的非0点,沿着梯度方向和反方向画线段。线段的起点和长度由参数允许的半径区间决定;在边界二值图中任意沿着梯度方向和反方向画的线段可以用下述公式表达:
f[(a1,a2,...,an),(x,y)]=0
其中,a1,a2,...,an是线段特征参数,若将其与变量x、y调换,则公式等价于:
g[(x,y),(a1,a2,...,an)]=0
上述公式说明,边界二值图中同一线段上的点通过公式变换,在平面坐标系中映射为一点(x,y),该点由特征参数a1,a2,...,an确定。
步骤5.3、已知圆的方程为(x-a)2+(y-b)2=r2,令(xi,yi)(i=1,2,3...,n)为边界二值图中满足圆周特性的点的集合,那么边界二值图中的点(xi,yi)在空间坐标系中的方程为:(a-xi)2+(b-yi)2=r2.该方程在空间内坐标系中表示一个三维锥面;对于边界二值图中满足圆周特性的全部点对应于空间坐标系的一组圆锥簇面。如图2所示
步骤5.4、求边界二值图中圆的圆心坐标(a,b)以及半径r,可以建立一个三维累加器数组A(a,b,r),根据三维锥面方程,分别计算边界二值图中圆周上每一个非0点的(a,b,r),并对其累加。通过比较累加点An(a,b,r)的累加值,选出最大值Amax(a,b,r),则该数组中的(a,b)就是边界二值图中所求圆周的圆心坐标,r为半径。
采用基于OpenCV的cv2.fitEllipse()函数对小孔拟合椭圆,得到两小孔的中心点。
椭圆拟合的具体方法如下:
输入一组点集合(xi,yi),利用多项式F(a,x)=a·x=ax2+bxy+cy2+dx+cy+∫=0,并定义向量A=[a,b,c,d,e,f]T,X=[x2,xy,y2,x,y,1]T,多项式就可以写成
考虑在4ac-b2=1这一约束条件下,定义一个矩阵D
椭圆的拟合问题可以重新表述为:Minimize E=||Da||2当符合aTCa=1的条件下,即为
然后构造拉格朗日函数L(D,Δ)=AaaTDT-Δ(aTCa-1)偏导数令其为0,得到DTDa-ΔCa=0,求其特征值和特征向量,即可得出结果。
进行目标轮廓边缘提取时,同时采用了圆的霍夫变换和椭圆的拟合算法,提高了目标轮廓边缘提取的准确度。外轮廓利用圆的霍夫变换,方便、容易准确,卡簧孔眼孔小、易变形,采用椭圆拟合才能更准确的找到小圆的中心点及边缘轮廓。
步骤7、变形缺陷,卡簧零固件变形缺陷分为二维变形和三维变形两种,二维变形利用步骤5中心点定位检测到的三个中心点坐标,分别计算出三个中心之间的欧氏距离。按照经验设定外圆圆心与两个小孔中心点之间的欧氏距离区间阈值为Th3(130-140)、两个小孔中心点之间的欧氏距离区间阈值为Th4(150-160)。若卡簧中三个中心之间的欧氏距离任意一个超过对应的阈值区间,则该卡簧零固件发生了二维变形,结束检测流程;若卡簧中三个中心之间的欧氏距离均在对应的阈值区间内,则判定该卡簧零固件不存在二维变形,并进入下一步检测;三维变形则利用两个小孔之间的位置高度不同,导致光照在两个小孔中间产生的阴影面积不同,利用步骤3中得到的两个小孔分别用相同的灰度二值化算法处理,并检测灰度值为255的像素点个数,按照经验设定像素个数之差阈值Th5(0-50),若测得两个小孔像素个数之差不在阈值Th5内,则该卡簧零固件产生了三维变形,若测得两个小孔像素个数之差在阈值Th5内,则该卡簧零固件不存在三维变形,并进入下一步检测流程;
卡簧三维变形会使卡簧的两个小孔不在同一个平面,本发明根据光照在两个小孔中产生阴影的面积不同,通过对得到的小孔区域进行灰度二值化处理,然后计算各自面积,通过面积差值判断零件是否具有三维变形。
步骤8、缺边检测,根据步骤5检测到的外圆圆心坐标,将外圈圆半径缩小两个像素,得到第一个圆;圆心坐标不变,外圈圆半径再缩小十一个像素,得到第二个圆。利用两个不同半径的同心圆,采用掩膜的处理方法得到圆环感兴趣区域。对圆环用灰度二值化算法处理,检测圆环的灰度值为255的像素点个数,按照经验设定像素个数阈值Th6=900。若测得像素点个数大于阈值Th6,则该卡簧零固件为缺边残次品;若测得像素点个数不大于阈值Th6,则该卡簧零固件不存在缺边缺陷。
通过cv2.bitwise_and函数将img与mask图像进行按位与运算得到圆环的感兴趣区域ROI,检测圆环区域的面积是否符合规定范围内的缺陷阈值,以此来判定卡簧是否具有缺边缺陷。
外圈圆半径缩小两个像素可以避免边缘存在灰度值为255的像素点的情况;外圈圆半径再缩小十一个像素可以找到因缺边问题存在的灰度值为255的像素点,且若再缩小范围会导致将两个小孔中灰度值为255的像素点包括在内。
实施例1
表1为各项实验数据记录
表1实验数据记录
凹坑缺陷:由步骤2得到该卡簧中的轮廓信息个数为4个,进而在步骤3中根据判断条件:轮廓信息个数大于阈值Th1=3个,可检测出卡簧具有凹坑缺陷。
二维变形样本1:由步骤5得到该卡簧外圆圆心与两个小孔中心点之间的欧氏距离分别为137和94,两个小孔中心点之间的欧氏距离为122,进而在步骤7中根据判断条件:1、外圆圆心与两小孔中心点之间的欧氏距离不在阈值Th3=130-140范围内;2、两小孔中心点之间的欧氏距离不在阈值Th4=150-160范围内,可检测出卡簧具有二维变形缺陷。
二维变形样本2:由步骤5得到该卡簧外圆圆心与两个小孔中心点之间的欧氏距离分别为163和138,两个小孔中心点之间的欧氏距离为184,进而在步骤7中根据判断条件:1、外圆圆心与两小孔中心点之间的欧氏距离不在阈值Th3=130-140范围内;2、两小孔中心点之间的欧氏距离不在阈值Th4=150-160范围内,可检测出卡簧具有二维变形缺陷。
三维变形:由步骤3得到该卡簧的两个小孔感兴趣区域,经过灰度处理后检测到两小孔黑色像素数之差为867,进而在步骤7中根据判断条件:两个小孔像素个数之差不在阈值Th5=0-50范围内,可检测出卡簧具有三维变形缺陷。
孔堵缺陷:由步骤3得到该卡簧两个小孔面积之差为259,进而在步骤4中根据判断条件:面积差值不在阈值范围Th2=0-50内,可检测出卡簧具有孔堵缺陷。
缺边缺陷:由步骤5得到该卡簧的外圆圆心坐标,经过掩膜处理得到圆环区域,灰度化后检测到圆环中的黑色像素面积为1019,进而在步骤8中根据判断条件:圆环中灰度值为255的像素点个数小于阈值Th6=900,可检测出卡簧具有缺边缺陷。
无缺陷样本1:由步骤2得到该卡簧中的轮廓信息个数为3个(小于等于阈值Th1);由步骤3得到该卡簧两个小孔面之差为18.5(在阈值Th2范围内);由步骤5得到该卡簧外圆圆心与两个小孔中心点之间的欧氏距离分别为140和135(在阈值Th3范围内),两个小孔中心点之间的欧氏距离为155(在阈值Th4范围内);由步骤3得到该卡簧的两个小孔感兴趣区域,经过灰度处理后检测到两小孔黑色像素数之差为6(在阈值Th5范围内);由步骤5得到该卡簧的外圆圆心坐标,经过掩膜处理得到圆环区域,灰度化后检测到圆环中的黑色像素面积为867(小于阈值Th6);可检测出卡簧无缺陷。
无缺陷样本2:由步骤2得到该卡簧中的轮廓信息个数为3个(小于等于阈值Th1);由步骤3得到该卡簧两个小孔面之差为5.5(在阈值Th2范围内);由步骤5得到该卡簧外圆圆心与两个小孔中心点之间的欧氏距离分别为136和138(在阈值Th3范围内),两个小孔中心点之间的欧氏距离为157(在阈值Th4范围内);由步骤3得到该卡簧的两个小孔感兴趣区域,经过灰度处理后检测到两小孔黑色像素数之差为42(在阈值Th5范围内);由步骤5得到该卡簧的外圆圆心坐标,经过掩膜处理得到圆环区域,灰度化后检测到圆环中的黑色像素面积为880(小于阈值Th6);可检测出卡簧无缺陷。
Claims (9)
2.根据权利要求1所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述步骤1具体操作为:获取待检测卡簧样本图像,其中单张样本图像中仅包含一个完整的卡簧零件。
3.根据权利要求2所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述步骤2,具体操作为:对拍得的卡簧样本图像进行双边滤波去噪,灰度二值化消除光照不均匀,通过轮廓提取算法,提取出卡簧外轮廓,并将卡簧外轮廓内部填充,利用图像的位与运算函数最终获得卡簧外轮廓感兴趣区域;对得到的卡簧外轮廓感兴趣区域进行二次轮廓提取,提取卡簧凹坑轮廓和小孔轮廓,将这些轮廓信息和卡簧外轮廓信息放在一个列表中,用轮廓面积计算函数,分别计算各轮廓的内部面积,并按面积大小进行降序排序,设定经验阈值100,将列表中面积小于100轮廓信息删除,得到总的轮廓信息个数。
4.根据权利要求3所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述二值化采取单阈值算法cv2.threshold()进行二值化输出,双边滤波算法采用cv2.bilateralFilter()去除噪声;
二次轮廓提取采用基于OpenCV的cv2.findContours()函数对卡簧图像进行轮廓提取得到轮廓信息,并将轮廓信息存储在contours列表中,对contours进行面积cv2.contourArea()的计算。
5.根据权利要求3所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述步骤3,具体操作为,按照经验设定轮廓信息个数为Th1=3个,若步骤2得到的轮廓信息个数大于3个,则此零件为凹坑缺陷残次品;若轮廓信息个数不大于3个,则此零件没有凹坑缺陷,且面积最大的轮廓为外轮廓,剩余的为小孔轮廓,将卡簧零件小孔轮廓内部填充,利用图像的位与运算函数获得小孔感兴趣区域,然后继续进行下一步检测;
所述步骤3中,采用基于OpenCV的cv2.bitwise_and()函数得到小孔感兴趣区域。
6.根据权利要求3所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述步骤4,具体操作为,若步骤3中的轮廓信息个数小于3个,则直接判定卡簧存在孔堵缺陷,结束检测流程;若轮廓信息个数等于3个,即卡簧外轮廓和两个小孔轮廓,按照经验设定两个小孔轮廓面积差阈值区间Th2,通过对比步骤2所得到两个小孔的面积,若检测得到的两个小孔的面积之差在给定阈值范围Th2内,则判定卡簧不存在孔堵缺陷,并进入下一步检测;反之,判定卡簧存在孔堵缺陷,结束检测流程。
7.根据权利要求6所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述步骤5具体操作为,将步骤2得到的零件外轮廓感兴趣区域进行边缘提取,用圆的霍夫变换检测算法检测卡簧零件外轮廓的外圆圆心和半径,将步骤3得到的小孔感兴趣区域,用椭圆拟合算法计算出两个小孔感兴趣区域的中心点;
采用基于OpenCV的cv2.Canny()函数,对步骤2和步骤3得到的各感兴趣区域提取边缘,采用基于OpenCV的cv2.HoughCircles()函数提取卡簧外轮廓的拟合圆,圆拟合的具体方法如下:
步骤5.1、基于图像中每个像素点的梯度可以由Sobel算子来获得,分别求得沿水平(x)和垂直(y)方向的梯度Gx和Gy,再利用公式来求得每一个像素点的梯度幅值,Canny算法边缘检测后,得到边界二值图;
步骤5.2、确定圆心,遍历边界二值图中的非0点,沿着梯度方向和反方向画线段,线段的起点和长度由参数允许的半径区间决定;在边界二值图中任意沿着梯度方向和反方向画的线段可以用下述公式表达:
f[(a1,a2,…,an),(x,y)]=0
其中,a1,a2,...,an是线段特征参数,若将其与变量x、y调换,则公式等价于:
g[(x,y),(a1,a2,…,an)]=0
上述公式说明,边界二值图中同一线段上的点通过公式变换,在平面坐标系中映射为一点(x,y),该点由特征参数a1,a2,...,an确定;
步骤5.3、已知圆的方程为(x-a)2+(y-b)2=r2,令(xi,yi) (i=1,2,3...,n)为边界二值图中满足圆周特性的点的集合,那么边界二值图中的点(xi,yi)在空间坐标系中的方程为:(a-xi)2+(b-yi)2=r2.该方程在空间内坐标系中表示一个三维锥面;对于边界二值图中满足圆周特性的全部点对应于空间坐标系的一组圆锥簇面;
步骤5.4、求边界二值图中圆的圆心坐标(a,b)以及半径r,可以建立一个三维累加器数组A(a,b,r),根据三维锥面方程,分别计算边界二值图中圆周上每一个非0点的(a,b,r),并对其累加,通过比较累加点An(a,b,r)的累加值,选出最大值Amax(a,b,r),则该数组中的(a,b)就是边界二值图中所求圆周的圆心坐标,r为半径;
采用基于OpenCV的cv2.fitEllipse函数对小孔拟合椭圆,得到两小孔的中心点,椭圆拟合的具体方法如下:
输入一组点集合(xi,yi),利用多项式F(a,x)=a·x=ax2+bxy+cy2+dx+cy+f=0,并定义向量A=[a,b,c,d,e,∫]T,X=[x2,xy,y2,x,y,1]T,得到多项式
在4ac-b2=1这一约束条件下,定义一个矩阵D
椭圆的拟合问题可以重新表述为:Minimize E=||Da||2当符合aTCa=1的条件下,即为
构造拉格朗日函数L(D,Δ)=AaaTDT-Δ(aTCa-1)偏导数令其为0,得到DTDa-ΔCa=0,求其特征值和特征向量,即可得出结果。
8.根据权利要求7所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述步骤7,具体操作为,卡簧零固件变形缺陷分为二维变形和三维变形两种,二维变形利用步骤5中心点定位检测到的三个中心点坐标,分别计算出三个中心之间的欧氏距离,按照经验设定外圆圆心与上侧小孔中心点之间的欧氏距离区间阈值为Th3、外圆圆心与下侧小孔中心点之间的欧氏距离区间阈值为Th4;
若卡簧中外圆圆心与两个小孔中心点之间欧氏距离之差和两个小孔中心点之间的欧氏距离任意一个超过对应的阈值区间,则该卡簧零件发生了二维变形,结束检测流程;
若卡簧中三个中心之间的欧氏距离均在对应的阈值区间内,则判定该卡簧零固件不存在二维变形,并进入下一步检测;三维变形则利用两个小孔之间的位置高度不同,光照在两个小孔中间产生的阴影面积不同,利用步骤3中得到的两个小孔感兴趣区域分别用相同的灰度二值化算法处理,并检测灰度值为255的像素点个数,按照经验设定两个小孔像素个数之差的阈值为Th5,若测得差值不在阈值Th5内,则该卡簧零固件产生了三维变形,若测得差值在阈值Th5内,则该卡簧零固件不存在三维变形,并进入下一步检测流程。
9.根据权利要求8所述的基于图像处理的卡簧缺陷检测方法,其特征在于,所述步骤8,具体操作为,根据步骤5检测到的外圆圆心坐标,将外圈圆半径缩小两个像素,得到第一个圆;圆心坐标不变,外圈圆半径再缩小十一个像素,得到第二个圆,利用两个不同半径的同心圆,采用掩膜的处理方法得到圆环感兴趣区域,对圆环用灰度二值化算法处理,检测圆环的灰度值为255的像素点个数,按照经验设定像素个数阈值Th6,若测得像素点个数小于阈值Th6,则该卡簧零固件为缺边残次品;若测得像素点个数不小于阈值Th6,则该卡簧零固件不存在缺边缺陷;
通过cv2.bitwise_and函数将img与mask图像进行按位与运算得到圆环的感兴趣区域ROI,检测圆环区域的面积是否符合规定范围内的缺陷阈值,以此来判定卡簧是否具有缺边缺陷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210755826.3A CN115082410A (zh) | 2022-06-29 | 2022-06-29 | 基于图像处理的卡簧缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210755826.3A CN115082410A (zh) | 2022-06-29 | 2022-06-29 | 基于图像处理的卡簧缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115082410A true CN115082410A (zh) | 2022-09-20 |
Family
ID=83255940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210755826.3A Pending CN115082410A (zh) | 2022-06-29 | 2022-06-29 | 基于图像处理的卡簧缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115082410A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115908412A (zh) * | 2023-01-06 | 2023-04-04 | 福建帝视智能科技有限公司 | 一种基于线激光图像的竹条缺陷检测方法及终端 |
CN115937140A (zh) * | 2022-12-08 | 2023-04-07 | 浙江三A弹簧有限公司 | 一种避震弹簧热处理缺陷的检测方法 |
CN116152260A (zh) * | 2023-04-23 | 2023-05-23 | 广东工业大学 | 一种基于图像处理的弹簧缺陷检测方法及系统 |
CN116433700A (zh) * | 2023-06-13 | 2023-07-14 | 山东金润源法兰机械有限公司 | 一种法兰零件轮廓视觉定位方法 |
CN116542977A (zh) * | 2023-07-06 | 2023-08-04 | 宁德时代新能源科技股份有限公司 | 图像处理方法、装置、设备、存储介质和程序产品 |
-
2022
- 2022-06-29 CN CN202210755826.3A patent/CN115082410A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115937140A (zh) * | 2022-12-08 | 2023-04-07 | 浙江三A弹簧有限公司 | 一种避震弹簧热处理缺陷的检测方法 |
CN115937140B (zh) * | 2022-12-08 | 2023-08-18 | 诸暨正道科技有限公司 | 一种避震弹簧热处理缺陷的检测方法 |
CN115908412A (zh) * | 2023-01-06 | 2023-04-04 | 福建帝视智能科技有限公司 | 一种基于线激光图像的竹条缺陷检测方法及终端 |
CN115908412B (zh) * | 2023-01-06 | 2023-06-02 | 福建帝视智能科技有限公司 | 一种基于线激光图像的竹条缺陷检测方法及终端 |
CN116152260A (zh) * | 2023-04-23 | 2023-05-23 | 广东工业大学 | 一种基于图像处理的弹簧缺陷检测方法及系统 |
CN116152260B (zh) * | 2023-04-23 | 2023-08-18 | 广东工业大学 | 一种基于图像处理的弹簧缺陷检测方法及系统 |
CN116433700A (zh) * | 2023-06-13 | 2023-07-14 | 山东金润源法兰机械有限公司 | 一种法兰零件轮廓视觉定位方法 |
CN116433700B (zh) * | 2023-06-13 | 2023-08-18 | 山东金润源法兰机械有限公司 | 一种法兰零件轮廓视觉定位方法 |
CN116542977A (zh) * | 2023-07-06 | 2023-08-04 | 宁德时代新能源科技股份有限公司 | 图像处理方法、装置、设备、存储介质和程序产品 |
CN116542977B (zh) * | 2023-07-06 | 2024-02-06 | 宁德时代新能源科技股份有限公司 | 图像处理方法、装置、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115082410A (zh) | 基于图像处理的卡簧缺陷检测方法 | |
CN109141232B (zh) | 一种基于机器视觉的盘类铸件在线检测方法 | |
CN110163853B (zh) | 一种边缘缺陷的检测方法 | |
CN105334219B (zh) | 一种残差分析动态阈值分割的瓶口缺陷检测方法 | |
CN109060836B (zh) | 基于机器视觉的高压油管接头外螺纹检测方法 | |
CN112712512A (zh) | 一种基于人工智能的热轧带钢结疤缺陷检测方法及系统 | |
CN109900711A (zh) | 基于机器视觉的工件缺陷检测方法 | |
CN107014291B (zh) | 一种物料精密转载平台的视觉定位方法 | |
CN109540925B (zh) | 基于差影法与局部方差测量算子的复杂瓷砖表面缺陷检测方法 | |
CN112686920A (zh) | 一种圆形零件几何尺寸参数视觉测量方法及系统 | |
CN109781737B (zh) | 一种软管表面缺陷的检测方法及其检测系统 | |
CN106529551B (zh) | 面向包装行业的类圆对象智能识别计数检测方法 | |
CN215031306U (zh) | 基于机器视觉的缺陷工件检测分拣装置 | |
CN113658092A (zh) | 一种基于图像处理的铝电解电容缺陷检测方法 | |
CN114881965A (zh) | 一种基于人工智能和图像处理的木板节子检测方法 | |
CN116012292A (zh) | 一种基于机器视觉的晶圆外观缺陷检测方法 | |
CN106989672A (zh) | 一种基于机器视觉的工件测量方法 | |
CN111766245A (zh) | 一种基于机器视觉的纽扣电池负极壳缺陷检测方法 | |
CN109544513A (zh) | 一种钢管端面缺陷提取识别的方法 | |
CN112102287B (zh) | 一种基于图像的生球裂纹自动检测与识别方法 | |
CN112345534B (zh) | 一种基于视觉的泡罩板中颗粒的缺陷检测方法及系统 | |
CN115797361B (zh) | 一种铝模板表面缺陷检测方法 | |
CN110334713B (zh) | 一种内衬纸产品类型的智能识别方法 | |
CN104881652B (zh) | 一种基于玉米穗凸性特征的行数自动检测方法 | |
CN116542910A (zh) | 基于亚像素边缘提取的冲压件圆孔定位及形变检测方法 |
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 |