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

小零器件表面缺陷边缘快速检测方法与流程

2022-03-16 14:40:54 来源:中国专利 TAG:


1.本发明属于计算机视觉领域,是一种利用计算机技术、图像处理技术等对小零器件表面缺陷边缘进行快速检测的发明。


背景技术:

2.对于精密小零器件生产而言,产品的表面质量非常重要,是市场的重要竞争指标之一。但在实际的生产过程中,由于工艺流程、生产设备和现场环境等因素的影响,会造成产品表面出现各种缺陷,如划痕、斑坑、磨损等。因此,对精密小零器件进行表面缺陷检测是非常必要的。而传统的人工检测效率低、成本高,不适用于大规模工业生产的要求。采用视觉传感器采集小零器件图片并快速检测器件上缺陷的方式是代替人工检测的一种有效方式。
3.目前,针对不同产品的缺陷检测相关研究已经有很多,包括基于图像处理、机器学习、深度学习等方法的缺陷检测。然而,已有的研究多是针对织物、金属表面(钢材)、pcb板、印刷品等表面平整或器件的表面平整部分进行的图像分析与数据处理。与此不同,在实际的工业生产环境下,小零器件的缺陷检测过程中,需要解决2个问题:
4.(1)小零器件轮廓的快速检测;
5.小零器件尺寸非常小,在1cm-7cm之间,形状多样。在实际生产环境下,小零器件通过传送带等移动平台送至视觉传感器视野范围后,需要迅速获取复杂形状小零器件的轮廓,以便后续在轮廓范围内检测缺陷部位(划痕、斑坑)。已有的缺陷检测研究常忽略这一步,直接利用已经截取好的图片进行内部缺陷检测。而基于深度卷积神经网络方法(如yolo、ssd、faster rcnn等)虽能检测出物体的位置与类别,但是物体包围框与图片的u,v坐标方向一致,并不是最小包络框,对于倾斜放置的小零器件,常有部分背景被检测出包围在器件图片内。另外,钢、铝材质小零器件表面颜色单一、内部纹理少,也不利于深度网络模型的训练。
6.(2)复杂形状零器件内部缺陷边缘快速检测;
7.小零器件表面形状复杂,包含有凸台、圆孔、椭圆凹槽甚至螺纹等,增大了缺陷检测的难度(现有方法多是在平整表面上进行的缺陷检测);缺陷器件样本少,使用深度神经网络训练模型时,数据量有限;而且现有的方法检测结果多是用包围框框出缺陷,对于精密器件,识别表面缺陷的边缘轮廓,便于对缺陷类型的分析。最后,模型复杂会降低算法执行效率,而且不利于模型的更新。因此,迫切需要找到一种能满足表面形状复杂、样本量少、检测速度快、模型维护简单的缺陷检测方法。


技术实现要素:

8.本发明提出了一种小零器件表面缺陷边缘的快速检测方法。该方法首先提取待检测图像的边缘信息,得到边缘图像;然后将边缘图像与边缘模板图像进行匹配,从而得到缺陷的边缘轮廓位置信息。由于仅对待检测图像的边缘部分进行了识别,大大降低了缺陷检
测的计算量。
9.具体包括2个步骤:零器件边缘最小包络框的获取与复杂形状零器件缺陷边缘的快速检测方法;所述零器件边缘最小包络框的获取用canny边缘检测算子迅速锁定整个图片中零器件的边缘位置信息并获取零器件的最小包络框,确定缺陷的检测区域;复杂形状零器件缺陷边缘的快速检测方法将最小包络框旋转至与边缘模板图像一致的方向,并通过匹配边缘点位置特征,快速找到器件上的缺陷边缘。本方法只需首先拍摄一幅无缺陷器件图片作为匹配模板,匹配模型更新维护简便,整个算法计算量小,实时性好,不需要大量样本;而且待检测器件可以在图片内随意方向放置,用于匹配的位置特征简便且具有一定的尺度不变性,适合于在实际工业生产环境中应用。
10.零器件边缘最小包络框的获取。本发明基于basler工业相机(分辨率2592 像素*1944像素)采集零器件(尺寸:1-7cm以内)的图片,并获取待检测零器件的最小包络框,具体步骤包括如下:
11.(1)用canny算子检测零器件边缘。将彩色图像灰度化,并用canny算子检测零器件边缘(算子阈值设置为0.2)。canny算子使用高斯滤波器平滑图像,滤除噪声;并计算图像中每个像素点的梯度强度和方向;应用非极大值抑制,消除边缘检测带来的杂散响应;采用双阈值检测方法来确定潜在的边缘。经与roberts 算子、sobel算子、prewitt算子、log算子等对比,canny算子在检测小零器件边缘时效果最佳。
12.(2)消除图片背景中孤立噪声点。经canny算子检测后,可以得到2值化的边缘图片。图片背景中(非器件区域)偶尔会存在孤立的噪声点,采用栅格法将图片分成n*n块,根据像素值等于1的点落入栅格的位置与数量,判断哪些是离群点,哪些是器件上边缘点,消除孤立点的影响。
13.(3)零器件边缘最小包络框获取。当获取到边缘图片后,由边缘点位置坐标构成凸多边形,搜寻凸多边形不同旋转角度的包络框,并将面积最小的包络框定为边缘图像的最小包络框。
14.复杂形状零器件缺陷边缘的快速检测方法。由于在实际场景中,小器件可能以任意旋转角度进入相机视野,获取到零器件边缘的最小包络框后,首先需要根据包络框的旋转角度信息将器件边缘图像旋转至与整个图片的u,v方向一致(边缘模板图像也做同样旋转);然后利用边缘点位置特征与模板边缘进行匹配,没有匹配上的点视为缺陷边缘。以下是具体实现步骤:
15.(1)截取不同旋转角度的最小包络框内像素点信息,用于器件内缺陷检测。由最小包络框的四个顶点计算器件边缘中心点坐标、最小包络框的长与宽以及旋转角度。利用这些信息可以截取器件边缘图片且将其旋转至与整个图片的u,v方向一致。
16.(2)去除缺陷可能性小的器件外侧边缘。由于器件边缘信息的外侧边缘一般为器件的边界,而边界是缺陷的可能性较小,所以为提高缺陷边缘检测成功率,将边界去除,并在剩余的边缘信息中搜寻缺陷边缘。
17.(3)边缘位置特征提取。设边缘点位置坐标为(i,j),最小包络框在u,v方向上像素数量为(m,n),则器件边缘点位置特征b
x
,by为
18.b
x
=i/(m-i),by=j/(n-j)
19.(4)待检测器件边缘与边缘模板的快速匹配。无缺陷的模板器件图像执行前述所
有步骤并存储器件内侧边缘信息(位置与位置特征信息)。将待检测器件边缘信息(is,js,b
sx
,b
sy
)(s=1

s)与模板边缘信息(ir,jr,b
rx
,b
ry
)(r=1

r)相拼接,并依据边缘位置特征,对拼接后的所有边缘信息(包括待检测与模板的边缘信息)进行排序,同时保留排序前的位置索引(s,r)。排序的目的是使待检测边缘点能迅速找到模板中相似边缘特征,减少在整个模板边缘中搜寻相似特征的计算量。这样,所有待检测边缘点都可以在模板中找到其边缘邻域ws。s表示待检测边缘点的索引号,ws表示第s个待检测边缘点在模板中的邻域边缘信息集合。由此,每个待检测边缘信息在其对应的模板边缘局部邻域内搜寻特征最小距离值(d
sx
,d
sy
)并计算两方向上的综合最小距离值ts。
[0020][0021][0022][0023]
如果ts《t(阈值),则该点不是缺陷点(模板中找到了匹配边缘点);相反,如果ts》t(阈值),则没有在模板中找到匹配点,该点是缺陷边缘点。
[0024]
至此,小零器件的缺陷边缘被快速检测出来。
[0025]
与现有技术相比较,本方法用于实际工况下,快速检测零器件的边缘,并获取到任意旋转角度的零器件最小包络框,从而实现在器件内进行缺陷检测。canny边缘检测与孤立点去除步骤,提高了图片内器件边缘检测的鲁棒性与抗噪性能。
[0026]
同时,用于形状多样的小零器件上缺陷边缘快速检测,建立从边缘最小包络框获取到小零器件上缺陷边缘快速识别的整个流程方法,该方法在保证识别正确率与鲁棒性的同时,简便、计算量小,便于在小零器件缺陷检测与分析的实际工程中实时应用,算法维护与更新容易。
附图说明
[0027]
图1是本发明流程图。
[0028]
图2是本发明硬件平台视觉数据采集平台。
[0029]
图3是零器件边缘最小包络框获取。
[0030]
图4是缺陷边缘检测流程。
[0031]
图5是缺陷边缘快速匹配图。
具体实施方式
[0032]
本发明中,用basler工业相机采集小零器件图片,经由器件边缘最小包络框获取与器件内缺陷边缘快速实时检测两步,完成在实际工况下的缺陷检测任务。其工作方式如下:
[0033]
首先将无缺陷的模板器件放于相机视野内拍摄图像,将模板图片送入边缘检测程序中,程序完成计算与存储模板边缘信息(ir,jr,b
rx
,b
ry
),r=1

r。然后,将待检测器件放于相机视野内拍摄图像,并将图片送入缺陷边缘检测程序中,完成任意旋转角度的器件最小包络框获取、边缘信息计算(is,js,b
sx
,b
sy
),s=1

s 以及待检测器件边缘信息与模板器件边缘信息快速匹配,最终判断出器件上有无缺陷,如果有缺陷,获取缺陷的具体边缘位
置,便于缺陷类型分析。
[0034]
本发明的具体实施过程如下:
[0035]
(1)模板器件边缘信息计算与存储
[0036]
用basler工业相机(aca2500-14gc,分辨率2592像素*1944像素,帧率14hz, rgb图像)采集无缺陷器件图片并保存为bmp格式。matlab2018程序中载入该图片,将彩色图像灰度化,并完成模板器件边缘最小包络框获取与边缘特征信息计算,最后将该信息存储为.mat文件格式。
[0037]
(1.1)基于canny算子检测零器件边缘。
[0038]
用matlab中命令edge(im,

canny’,0.2)获取图像边缘。这里im是模板图像, canny是算子名称,0.2是算子阈值。canny算子使用高斯滤波器平滑图像,采用双阈值检测方法来确定潜在的边缘,适合于小零器件边缘检测。
[0039]
(1.2)消除图片背景中孤立噪声点。
[0040]
经canny算子检测后,可以得到2值化的边缘图片。由于光照不均、阈值设置等因素,在2值化的边缘图片中偶尔会有孤立噪声点。将图片分为n*n块栅格,计算像素值等于1的点落入每个栅格的位置与数量。根据落入点最多的栅格区域及其近邻区域确定器件边缘位置,而如果栅格内落入点数量少于20,且距离该器件所在栅格较远、无连通,则将该栅格内落入点视为孤立点,不考虑在边缘信息内。
[0041]
(1.3)零器件边缘最小包络框获取。
[0042]
当获取到模板边缘图片后,由边缘位置坐标构成凸多边形,搜寻凸多边形不同旋转角度的包络框,并将面积最小的包络框定为边缘图像的最小包络框(用到 matlab函数convhull)。
[0043]
(1.4)将不同旋转角度的最小包络框旋转为一致角度,并提取包络框内像素点信息,用于器件内缺陷检测。设rectx、recty内分别存有最小包络框四个顶点的x坐标与y坐标,则其中心坐标为:
[0044]
pos
x
=rectx(1) (rectx(3)-rectx(1))/2
[0045]
posy=recty(1) (recty(3)-recty(1))/2
[0046]
要截取图像块的长与宽为:
[0047][0048][0049]
最小包络框的旋转角度(顺时针旋转弧度数):
[0050]
θ=atan((rectx(3)-rectx(2))/(recty(3)-recty(2)))
[0051]
由旋转关系可以得到:
[0052]
i=pos
x
cos(θ)i
init-sin(θ)j
init
[0053]
j=posy sin(θ)i
init
cos(θ)j
init
[0054]
(i,j)坐标就是最小包络框内的坐标点,(i
init
,j
init
)是未旋转时坐标点。
[0055]
(1.5)去除缺陷可能性小的器件外侧边缘。
[0056]
按步骤(1.4)旋转器件边缘位置并截取出器件图片后,器件边缘与图片的 u,v坐标方向基本一致。由于器件边缘信息中,外侧边缘一般为器件的边界,而边界是缺陷的可能
性较小,因此,需要将边缘中的边界去除,在剩余的边缘信息中搜寻缺陷边缘。利用最小包络框下的器件边界紧邻新坐标系四周的特点,将 (i,j)边缘坐标点中,i《20,j《20或者i》m-20,j》n-20的边缘位置点视为边界点,不考虑在缺陷检测范围内。
[0057]
(1.6)边缘位置特征提取。计算剩余边缘点的位置特征作为匹配的模板特征。设边缘点位置坐标为(ir,jr)(r=1

r),新坐标系下图片在u,v方向上像素数量为(m,n),则器件边缘点位置特征(b
rx
,b
ry
)为
[0058]brx
=i/(m-i),b
ry
=j/(n-j)。
[0059]
(1.7)模板特征信息的存储。将模板边缘特征信息(ir,jr,b
rx
,b
ry
)(r=1

r)保存为.mat文件格式。
[0060]
(2)待检测器件缺陷边缘的快速检测。用basler工业相机采集待检测器件的图片,保存为bmp格式。matlab2018程序中载入该图片,将彩色图像灰度化。
[0061]
(2.1)按照步骤(1.1)-(1.7)获取待检测器件边缘的最小包络框与边缘特征信息(is,js,b
sx
,b
sy
),s=1

s。
[0062]
(2.2)待检测器件边缘特征与模板的快速匹配。
[0063]
用matlab命令importdata载入.mat格式的模板边缘信息。设待检测器件边缘信息与模板边缘信息分别存于数组p和p中,其中ps=(is,js,b
sx
,b
sy
)(s=1

s), ps=(ir,jr,b
rx
,b
ry
)(r=1

r)。将两数组相拼接成为一个整体数组o=[p,p]。依据边缘位置特征,对拼接后的整体数组o按升序排序;排序后的数组用o’来表示,同时记录排序前的位置索引s或r,即对于排序后的数组o’,其内的每一行边缘信息都可以索引到其排序前的位置s或r。这里排序的目的是使待检测边缘点能迅速在模板中找到与其边缘位置特征相似的边缘点,减少每个待检测边缘点在整个模板边缘中搜寻相似特征的计算量。
[0064]
排序后,通过索引s或r,所有待检测边缘点都可以在模板中找到邻域边缘点集合ws。这里s表示待检测边缘点的索引号,ws表示第s个待检测边缘点在模板中的邻域边缘信息集合(程序中模板邻域边缘点数量是10)。为了判断待检测边缘点中是否存在缺陷边缘点,需要计算待检测边缘位置特征与其对应模板中邻域内边缘特征的距离。利用下式,计算模板邻域中边缘特征的距离(d
sx
,d
sy
) 并搜寻两方向上的综合最小距离值ts。
[0065][0066][0067][0068]
如果ts《t(t=5),则该点不是缺陷点(模板中找到了匹配边缘点);相反,如果ts》t(t=5),则该点没有在模板中找到匹配点,该点是缺陷边缘点。
[0069]
(2.3)缺陷边缘点的分析。由步骤(2.2)获取到缺陷边缘点,根据待检测边缘信息中的位置索引(is,js),可以找到彩色图像中的缺陷边缘点。一方面,可以确认缺陷边缘检测的正确率;另一方面,可以根据存储的缺陷边缘信息分析缺陷的类型(如划痕、凹坑等)。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献