缺点 霍夫圆_一种多角度视觉缺陷检测平台及检测方法与流程

本发明涉及一种多角度视觉缺陷检测平台及检测方法,适用于工业机器视觉检测领域。该平台通过步进电机驱动夹具旋转,实现工件的多角度检测,减少了成本并提高了检测效率。柔光罩内的光源和摄像头组协同工作,确保图像质量,减少反光影响。同时,采用基于面积的模板匹配方法进行缺陷检测,能有效识别注塑制件的飞边和缩水问题。该技术降低了对人工检测的依赖,提升了制造业的自动化水平。
摘要由CSDN通过智能技术生成

本发明涉及工业机器视觉检测领域,具体涉及一种多角度视觉缺陷检测平台及检测方法。

背景技术:

制造业的飞速发展,对工件的检测任务提出了更高的要求,传统的人工手段已经无法满足大批量工件的高精度、快速甚至实时动态的检测要求。机器视觉技术以数字图像作为获取信息的手段,与计算机图形学、自动化技术等相关领域紧密结合,很适合对工件表面进行缺陷检测。

机器视觉系统最基本的特点就是提高生产的灵活性和自动化程度。在一些不适于人工作业的危险工作环境或者人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉。同时,在大批量重复性工业生产过程中,用机器视觉缺陷检测的方法可以大大提高生产的效率和自动化程度。

目前的视觉检测设备大多数只能从某一个特定角度对待测工件进行图像采集,这样的检测是不全面的;或者通过多摄像头采集图像,又或者通过机械臂来移动待测工件实现多角度采集图像,但这样的方案成本比较高。

技术实现要素:

为了克服现有技术中的不足之处,本发明提供一种多角度视觉缺陷检测平台及检测方法,成本低且能够多角度检测。

本发明采用如下技术方案:

一种多角度视觉缺陷检测平台,包括计算机、柔光罩、光源、摄像头组、夹具及步进电机;

所述柔光罩内设置光源、摄像头组及夹具,所述摄像头组设置在柔光罩的一侧内壁上,所述光源设置在与摄像头组同一侧的内壁上,且沿着摄像头组拍摄方向打光;

夹具位于摄像头组的视场范围内,所述步进电机驱动夹具进行上下运动及旋转运动;

摄像头组拍摄夹具每次旋转角度后的图像输入计算机,计算机根据图像对待检测工件进行缺陷检测;

所述计算机分别与光源及步进电机连接。

所述光源为LED光源,与摄像头组同轴安装或者安装在摄像头组的上、下两侧。

所述柔光罩为内表面粗糙且不易反光的刚性盒子。

还包括分拣系统,所述计算机将缺陷检测结果输出至分拣系统。

所述柔光罩为方形或半球形。

一种多角度视觉缺陷检测平台的检测方法,包括如下步骤:

S1待检测工件放入柔光罩内,夹具夹紧待检测工件上升至与摄像头组相同高度;

S2计算机发出旋转命令,步进电机按照预设定角度驱动夹具旋转;

S3光源打开,摄像头采集夹具及待检测工件图像,输入计算机;

S4计算机对采集图像进行缺陷检测,反馈分拣信息到分拣系统,同时反馈缺陷信息到制造端。

所述采用基于面积的模板匹配方法检测待检测工件的注塑制件飞边及缩水缺陷,具体步骤如下:

S4.1对采集的图像进行滤波及灰度化处理;

S4.2利用霍夫圆变换得到待测工件的特征点位置;

S4.3将检测到的特征点与模板图像的特征点进行匹配,匹配之后分别计算待测图像中工件所占像素数与模板图像中模板所占像素数,若待测工件面积大于模板面积,且超过设定的阈值,则缺陷为飞边;若待测工件面积小于模板面积且超过设定的阈值,则缺陷为缩水。

本发明的工作过程:

首先待测工件进入柔光罩内,并位于两个夹具之间;夹具夹紧工件之后上升到与摄像头组同一高度,计算机根据事先设定控制夹具旋转至指定角度;之后计算机控制光源打开、摄像头组采集图像并将其传输到计算机中,根据工件的不同检测要求,多次调整夹具角度,获得多角度的待检测图像,利用缺陷检测算法对图像进行处理,得出工件优劣的分拣信息以及缺陷信息。

本发明的有益效果:

(1)通过使用夹具夹取待测工件,使得工件能够在柔光罩内根据要求旋转指定角度,从而实现物体的多角度检测。

(2)同时柔光罩可以使光源发出的光在其内表面产生漫反射,使得工件表面能够被光线均匀照射,进而减轻工件表面的强反光现象。

(3)平台通过旋转夹具夹取的工件而非旋转摄像头来实现多角度检测,从而不需要在每次旋转摄像头后对其进行标定,节省了检测时间。

附图说明

图1是本发明的工作流程图;

图2是本发明的结构示意图;

图3是本发明的缺陷检测算法的流程图;

图4是本发明夹具的旋转方式示意图。

具体实施方式

下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例

如图1-图4所示,一种多角度视觉缺陷检测平台,包括柔光罩1、光源2、摄像头组3、夹具4及步进电机5,所述柔光罩内设置光源、摄像头组及夹具,摄像头组设置在柔光罩的一侧内壁上,摄像头组可以为单个或多个摄像头,当为立体检测的时候也可以使用双目摄像头,本实施例中摄像头组色织在方形柔光罩左侧内壁的中间位置。

所述光源设置在与摄像头组同一侧的内壁上,且沿着摄像头组拍摄方向打光,光源为LED光源,光源颜色可以根据需要选用不同颜色。

夹具用来夹紧待测工件,工件可通过人工放置或者通过流水线上的传送带直接送入柔光罩内。夹具设置在摄像头组的对侧,夹具的具体形状可根据工件形状进行选用,当夹具夹紧工件后,上升至与摄像头组相同高度,并且夹具在摄像头组的视野范围内,所述夹具应该与待测工件的颜色有较大区别,且不能拥有高反光的表面,以便于后续图像处理过程。

步进电机驱动夹具进行上下升降运动及旋转角度运动,夹具通过步进电机及电动推杆固定在柔光罩内,步进电机根据所给的脉冲数动作,具有较高的精度。

计算机内设定夹具旋转角度,驱动步进电机使夹具进行旋转,具体旋转角度根据待测工件的形状,及主要检测缺陷进行预先设定。

所述夹具为夹具立方体,其接触待测工件的面足够粗糙,能够使得待测工件在夹紧后不会掉落。夹具可以在步进电机的驱动下同步旋转,步进电机通过计算机串口输出的脉冲来动作。

摄像头组拍摄夹具每次旋转角度后的图像输入计算机,计算机根据图像对待测工件进行缺陷检测,将工件优劣及缺陷种类大小信息,反馈给分拣系统及制造端。

柔光罩为内表面粗糙且不易反光的刚性盒子,光源发出的光在柔光罩内表面不会产生镜面反射,而是产生漫反射,所述柔光罩可根据实际需要选择方形、半球形或其他形状。

本发明的工作过程为:

将待检测工件放入柔光罩内,夹具夹紧工件,本实施例中,夹具夹紧待检测工件后上升至摄像头组的视场范围内;

计算机驱动步进电机旋转夹具,到预设角度。

计算机设定好需要旋转的角度,然后给步进电机发送响应的脉冲数,步进电机驱动夹具会根据脉冲数来旋转一定的角度,每旋转一个角度就拍摄一幅图像,直到获得待测工件的所有特征图像。

打开光源,摄像头组采集图像,计算机通过串口与光源、摄像头组通信,实现打开光源、摄像头组,并使用摄像头组采集图像的功能。

计算机对图像进行融合后,进行缺陷检测并实现分类

在本实施例中主要针对注塑制件的飞边以及缩水缺陷进行检测。由于这两种缺陷都是形态上的缺陷,会造成待测工件的形状和大小发生变化,因此在本实施例中采取了基于面积的模板匹配方法来检测这两种缺陷。具体的算法步骤如图3所示:

(1)首先对采集的图像进行滤波,以去除一定程度的噪声。

(2)对图像进行灰度化处理。这一步主要是为了下一步的处理方便。

(3)利用霍夫圆变换求取待测工件特征点的位置。由于本实施例中的检测工件在中心有一个较为标准的圆形,因此考虑用霍夫圆变换来检测其圆心,也即特征点的位置。若要对其他物体进行检测,还可以视情况使用其他特征检测算法来提取特征点进行匹配,例如SURF(Speeded Up Robust Feature)、ORB(Oriented Brief)、FAST(Features from Accelerated Segment Test)、Harris角点等。

(4)根据检测到的特征点与模板图像的特征点进行匹配,使其能够对准。

(5)根据待测工件相对与模板的面积大小可以得到缺陷的种类。在本实施例中,若待测工件面积大于模板面积且超过一定阈值,则缺陷为飞边;若待测工件面积小于模板面积且超过一定阈值,则缺陷为缩水。

由此完成了待测工件的缺陷检测和分类功能。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import cv2 as cv import numpy as np def hough_circle(image): #因为霍夫检测对噪声很明显,所以需要先滤波一下。 dst =cv.pyrMeanShiftFiltering(image,10,100) cimage=cv.cvtColor(dst,cv.COLOR_BGR2GRAY) circles = cv.HoughCircles(cimage,cv.HOUGH_GRADIENT,1,40,param1=40,param2=29,minRadius=30,maxRadius=0) #把circles包含的圆心和半径的值变为整数 circles = np.uint16(np.around(circles)) for i in circles[0]: cv.circle(image,(i[0],i[1]),i[2],(0,255,0),3) cv.imshow("circle",image) src = cv.imread("E:/opencv/picture/coins.jpg") cv.imshow("inital_window",src) hough_circle(src) cv.waitKey(0) cv.destroyAllWindows() 霍夫圆变换的基本思路是认为图像上每一个非零像素点都有可能是一个潜在的圆上的一点, 跟霍夫线变换一样,也是通过投票,生成累积坐标平面,设置一个累积权重来定位圆。 在笛卡尔坐标系中圆的方程为: 其中(a,b)是圆心,r是半径,也可以表述为: 即 在笛卡尔的xy坐标系中经过某一点的所有圆映射到abr坐标系中就是一条三维的曲线: 经过xy坐标系中所有的非零像素点的所有圆就构成了abr坐标系中很多条三维的曲线。 在xy坐标系中同一个圆上的所有点的圆方程是一样的,它们映射到abr坐标系中的是同一个点,所以在abr坐标系中该点就应该有圆的总像素N0个曲线相交。 通过判断abr中每一点的相交(累积)数量,大于一定阈值的点就认为是圆。 以上是标准霍夫圆变换实现算法。 问题是它的累加到一个三维的空间,意味着比霍夫线变换需要更多的计算消耗。 Opencv霍夫圆变换对标准霍夫圆变换做了运算上的优化。 它采用的是“霍夫梯度法”。它的检测思路是去遍历累加所有非零点对应的圆心,对圆心进行考量。 如何定位圆心呢?圆心一定是在圆上的每个点的模向量上,即在垂直于该点并且经过该点的切线的垂直线上,这些圆上的模向量的交点就是圆心。 霍夫梯度法就是要去查找这些圆心,根据该“圆心”上模向量相交数量的多少,根据阈值进行最终的判断。 bilibili: 注意: 1.OpenCV的霍夫圆变换函数原型为:HoughCircles(image, method, dp, minDist[, circles[, param1[, param2[, minRadius[, maxRadius]]]]]) -> circles image参数表示8位单通道灰度输入图像矩阵。 method参数表示圆检测方法,目前唯一实现的方法是HOUGH_GRADIENT。 dp参数表示累加器与原始图像相比的分辨率的反比参数。例如,如果dp = 1,则累加器具有与输入图像相同的分辨率。如果dp=2,累加器分辨率是元素图像的一半,宽度和高度也缩减为原来的一半。 minDist参数表示检测到的两个圆心之间的最小距离。如果参数太小,除了真实的一个圆圈之外,可能错误地检测到多个相邻的圆圈。如果太大,可能会遗漏一些圆圈。 circles参数表示检测到的圆的输出向量,向量内第一个元素是圆的横坐标,第二个是纵坐标,第三个是半径大小。 param1参数表示Canny边缘检测的高阈值,低阈值会被自动置为高阈值的一半。 param2参数表示圆心检测的累加阈值,参数值越小,可以检测越多的假圆圈,但返回的是与较大累加器值对应的圆圈。 minRadius参数表示检测到的圆的最小半径。 maxRadius参数表示检测到的圆的最大半径。 2.OpenCV画圆的circle函数原型:circle(img, center, radius, color[, thickness[, lineType[, shift]]]) -> img img参数表示源图像。 center参数表示圆心坐标。 radius参数表示圆的半径。 color参数表示设定圆的颜色。 thickness参数:如果是正数,表示圆轮廓的粗细程度。如果是负数,表示要绘制实心圆。 lineType参数表示圆线条的类型。 shift参数表示圆心坐标和半径值中的小数位数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值