一种带厚度干扰的圆形物体的精确定位方法与流程

文档序号:11143289阅读:1093来源:国知局
一种带厚度干扰的圆形物体的精确定位方法与制造工艺

本发明属于机器视觉图像处理技术领域,具体涉及在工业场景下,对圆形物体的精确检测和定位的方法。



背景技术:

图像处理技术通常是一个视觉系统的核心部分,本发明所涉及的边缘点提取以及椭圆检测均为图像处理领域最为重要的研究方法之一。

当人们观察一个物体时,所感知到边缘通常是颜色有明显变化的地方,而在图像中对这种变化进行数学表示的就是边缘检测算子。其中比较常用的算子有Roberts算子、Sobel算子、Prewitt算子、Laplacian算子以及Canny算子等。这些传统的基于边缘检测算子的算法虽然能够提取出边缘的像素,但同时会将很多噪声点误认为是边缘。尤其当物体的厚度不可忽略时,厚度因素会导致物体在边缘的提取过程中加入很多的噪点,使检测出的物体形状在倾斜的厚度一侧向外扭曲。

Hough变换是由Paul Hough于1962年提出的,实现了一种从图像空间到参数空间的映射关系。其核心思想在于点与线的对偶性,图像空间中共线的点可以与参数空间中交于同一点的线一一对应。Hough变换被广泛用于线段、圆、椭圆等目标的检测中,各种新的改进算法也陆续提出。针对于椭圆检测,较为经典的有5点Hough变换检测,随机Hough变换检测等方法。

为缩小参数空间的维度,提出了一种基于椭圆三点(长轴2端点和椭圆上其它任意1点)确定法的1维度Hough变换检测法。

在工业应用中,单目2D相机由于成本低廉和处理快速等优势而被广泛应用。工业环境下为进行物体抓取,可将单目2D相机固定在机械臂上,相机随机械臂一起移动,在物体正上方拍摄图像。工业环境中圆形零件使用非常普遍,但是由于小孔成像原理以及圆形物体的对称性,在圆形物体上方对物体拍摄后,绕X、Y轴的旋转角为(α,β)和(-α,-β)在图像中形成的椭圆轮廓是一样的,这就造成了物体定位的旋转镜像问题。同时由于单目2D相机不能获取深度信息,在对圆形物体的旋转角大小计算时,利用圆形物体在图像中检测出的椭圆信息,计算先绕X轴旋转角绝对值再绕Y轴旋转角绝对值(其中a为长半轴,c为椭圆中心沿Y轴方向到椭圆点的距离,d为椭圆中心沿X轴方向到椭圆点的距离)。但由于y=cos-1(x)函数曲线在x=1附近比较陡峭,当或接近1时,即使检测到的c、d误差较小,计算出的旋转角的误差也会很大。



技术实现要素:

为了实现对带厚度干扰和镜像问题的圆形物体的精确定位,本发明提供了一种基于边缘点密度去除厚度噪点的方法,以消除厚度噪点对圆形物体的干扰,同时利用噪点中心位置关系解决旋转镜像问题,准确计算出物体旋转的方向;针对于物体中间带有突出的圆柱的情况,利用中心偏移算法计算物体旋转角的大小。

本发明提出的带厚度干扰的圆形物体的精确定位方法,具体步骤为:

(1)基于边缘点密度提取去除厚度产生的噪点后的边缘轮廓;

(2)基于厚度噪点中心的旋转镜像处理;

(3)基于中心点偏移的目标精确定位。

其中,步骤(1)所述的基于边缘点密度提取去除厚度产生的噪点后的边缘轮廓,使用Canny算子提取轮廓,在低阈值情况下提取出的轮廓明显可以看到由于厚度产生的双边或多边,所以由零件厚度产生的噪声点,其周围的边缘点密度较大。利用这一特性,遍历整个轮廓曲线上的点,即可判断是否是噪声点。具体流程如下:

(a)使用高阈值Canny算子(即使用otsu自适应阈值算法,计算出Canny的2个阈值threshold_1、threshold_2)提取边缘像素点,对边缘像素点进行连接,提取出连续的轮廓曲线;

(b)使用低阈值Canny算子(即在使用otsu自适应阈值算法计算的阈值参数基础上,乘以一个[0.2,0.5]之间的比例因子)再作边缘点检测;

(c)遍历(a)中提取到的每个轮廓曲线的点p1,p2,…,pn,统计pi(i=1,…n)的周围k×k范围的边缘点的个数di,作为pi的边缘点密度的计量值(其中,k为预设的参数);

(d)根据每个轮廓点pi(i=1,…n)的边缘点密度di的大小,对该轮廓上的所有像素点进行升序排序;

(e)找到边缘点密度d>=DensityThresh的第一个轮廓点的序号j,取rate=MIN(j/

size,RateThresh),将排序后的尾部rate比例的轮廓点作为噪声点删去(其中,DensityThresh为预设的密度阈值参数,size为轮廓的像素点数,RateThresh为预设的噪声点比例阈值);

(f)计算出(d)中删去的噪声点的中心(noiseCenter),用于步骤(2)解决圆形物体在图像中的镜像问题。

步骤(2)所述的基于厚度噪点中心的旋转镜像处理,首先采用基于Hough变换的方法,利用椭圆的三点确定法(长轴2端点和椭圆上其它任意1点),对步骤(1)提取出的去噪声点后的轮廓点进行椭圆检测,得到椭圆的精确检测结果,根据椭圆长轴与步骤(1)中noiseCenter的位置关系判断物体旋转角方向。具体流程如下:

(a)对步骤(1)提取的去噪声点后的轮廓,采用基于Hough变换的椭圆长短轴-三点检测

法,得到椭圆参数{O(Ox,Oy),a,b,θ},实现圆形物体的精确检测,中心位置坐标O(Ox,Oy);

(b)先算出noiseCenter在(a)检测到的椭圆长轴L的方位direction,计算旋转角rotX,

rotY的正负号signX和signY,从而解决了圆形物体在图像中的镜像问题:

如果θ>=0,direction为左上方:signX=1,signY=-1;

如果θ>=0,direction为右下方:signX=-1,signY=1;

如果θ<0,direction为右上方:signX=1,signY=1;

如果θ<0,direction为左下方:signX=-1,signY=-1。

步骤(3)所述的基于中心点偏移的目标精确定位,是针对圆形物体中间有一个突出的圆柱轴的情况,对圆柱上方的小圆在图像中的小椭圆进行检测,得到小椭圆相对大椭圆的中心偏移量,基于中心偏移进行精确定位。具体流程如下:

(a)截取大椭圆中心r×r的范围的图像,r为大椭圆长半轴的1/2;

(b)使用步骤(1)和(2)的方法在(a)截取的图像检测小椭圆,得到小椭圆参数{O2(O2x,O2y),a2,b22};

(c)旋转后的中心偏移OO2=(Δx,Δy),radius为圆形物体的实际半径长,h为中间圆柱高,计算绕X、Y轴的旋转角rotX和rotY:

本发明提出的带厚度干扰的圆形物体的精确检测和定位方法,能够有效的去除厚度因素造成的物体检测的误差(可应用于任意形状的带厚度物体),同时解决了圆形物体在单目2D图像中的旋转镜像问题,并且针对圆形物体中间带有突出的圆柱轴的情况,达到旋转角度的精确计算,从而实现精确检测和精确定位。实验验证,本发明对于目标物体定位的平均误差较小,位置坐标误差一般为1个像素,旋转角度误差一般为1°,能够达到较高的定位精度;同时能够满足工业场景实时检测的需求,并且对于外界干扰具备一定的抗噪能力。

附图说明

图1为本发明算法框架图。

图2为物体绕X轴正方向旋转与负方向旋转的示意图(旋转镜像问题)。

图3为物体厚度对边缘轮廓提取的干扰的示意图。

图4为带厚度噪点的边缘点(左图),去噪后的轮廓点(右图)。

图5为物体旋转示意图。其中,OP:物体未旋转时的法向量,OP1:物体绕X轴旋转α后的法向量,OP2:物体再绕Y周旋转β后的法向量。

图6为消除了左上方厚度误差后的目标检测结果效果图。

图7为用于物体旋转角辅助计算中间小圆检测效果图。

图8为利用精确定位结果,机械臂抓取物体的效果图。

具体实施方式

下面结合附图,进一步描述本发明,但不以任何方式限制本发明的范围。

一、操作流程

如图1所示,本发明的框架可以分为去噪声点的轮廓提取及旋转镜像的处理、精确定位三部分,去噪声点的轮廓提取阶段通过对边缘点的密度计算去除厚度噪点,旋转镜像的处理部分基于噪声点中心和Hough变换检测检测出的椭圆长轴的位置关系判断,目标精确定位部分使用已检测出的椭圆信息,通过精确定位算法进行目标精确定位。

二、具体实现流程

本发明所提供的一种带厚度干扰的圆形物体的精确检测和定位方法,其实现流程可以总结为如下部分:

1)基于边缘点密度提取去除厚度产生的噪点后的边缘轮廓

如图3所示,使用Canny算子提取轮廓,在低阈值情况下提取出的轮廓明显可以看到由于厚度产生的双边或多边,所以由零件厚度产生的噪声点,其周围的边缘点密度较大。利用这一特性,遍历整个轮廓曲线上的点,即可判断是否是噪声点。具体方法如下:

(a)使用高阈值Canny算子提取边缘像素点,对边缘像素点进行连接,提取出连续的轮廓曲线

(b)使用低阈值Canny算子再作边缘点检测;

(c)遍历(a)中提取到的每个轮廓曲线的点p1,p2,…,pn,统计pi(i=1,…n)的周围k×k范围的边缘点的个数di,作为pi的边缘点密度的计量值(其中,k为预设的参数);

(d)根据每个轮廓点pi(i=1,…n)的边缘点密度di的大小,对该轮廓上的所有像素点进行升序排序;

(e)找到边缘点密度d>=DensityThresh的第一个轮廓点的序号j,取rate=MIN(j/size,RateThresh),将排序后的尾部rate比例的轮廓点作为噪声点删去(其中,DensityThresh为预设的密度阈值参数,size为轮廓的像素点数,RateThresh为预设的噪声点比例阈值);

(f)计算出(d)中删去的噪声点的中心noiseCenter,用于步骤(2)解决圆形物体在图像中的镜像问题。

2)如图6所示,基于厚度噪点中心的旋转镜像处理,采用基于Hough变换的方法,利用椭圆的长短轴-三点确定法(长轴2端点和椭圆上其它任意1点),对步骤(1)提取出的去燥声点后的轮廓点进行椭圆检测,得到椭圆的精确检测结果,根据椭圆长轴与步骤(1)中noiseCenter的位置关系判断物体旋转角方向。具体方法如下:

(a)对步骤(1)提取的去噪声点后的轮廓,采用基于Hough变换的椭圆长短轴-三点检测

法,得到椭圆参数{O(Ox,Oy),a,b,θ},实现圆形物体的精确检测,中心位置坐标O(Ox,Oy);

(b)先算出noiseCenter在(a)检测到的椭圆长轴L的方位direction,计算旋转角rotX,

rotY的正负号signX和signY,从而解决了圆形物体在图像中的镜像问题:

如果θ>=0,direction为左上方:signX=1,signY=-1;

如果θ>=0,direction为右下方:signX=-1,signY=1;

如果θ<0,direction为右上方:signX=1,signY=1;

如果θ<0,direction为左下方:signX=-1,signY=-1。

3)基于中心点偏移的目标精确定位

如图7所示,针对圆形零件中间有一个突出的圆柱轴的特点,对圆柱上方的小圆在图像中的小椭圆进行检测,得到小椭圆相对大椭圆的中心偏移量,基于中心偏移进行精确定位。具体方法如下:

(a)截取大椭圆中心r×r的范围的图像,r为大椭圆长半轴的1/2;

(b)使用步骤(1)和(2)的方法在(a)截取的图像中检测小椭圆,得到小椭圆参数{O2(O2x,O2y),a2,b22}

(c)旋转后的中心偏移OO2=(Δx,Δy),radius为圆形物体的实际半径长,h为中间圆柱高,计算绕X、Y轴的旋转角rotX和rotY:

从而实现了对圆形物体的精确定位。

三、实验结果

如图6所示,本发明所提供的带厚度干扰的圆形物体的精确定位方法能够得到目标的精确位置以及旋转角。同时经实验验证,本发明对于目标物体定位的平均误差较小,位置坐标误差一般为1个像素,旋转角度误差一般为1°,能够达到较高的定位精度;同时能够满足工业场景实时检测的需求,并且对于外界干扰具备一定的抗噪能力。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1