本发明属于数字图像处理和模式识别技术领域,更具体地,涉及一种基于不变矩的mark点视觉识别与定位方法。
背景技术:
近年来,在3c行业的印刷电路板(pcb)自动化制造中,机器人视觉系统一般在mark点的辅助下实现对目标的定位,mark点的视觉定位结果直接影响机器人的执行精度。当前,已有一些mark点识别算法被应用于工业生产,如改进型模板匹配、霍夫曼元变换、surf算子等识别算法。这些算法基本可满足当前的生产要求,但模板匹配需针对缩放、旋转等情况另作处理;霍夫曼变换需和其他算法结合才可保证准确率,因此会增加算法复杂性;而surf算子实时性不佳,不利于高速识别。对于当前机器人智能制造正向着高精度、高响应速度方向发展的趋势,我们需要更加高效准确和快速的识别定位算法。
由此可见,现有技术存在缩放不变性、旋转不变性、实时性不佳的技术问题。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于不变矩的mark点视觉识别与定位方法,由此解决现有技术存在缩放不变性、旋转不变性、实时性不佳的技术问题。
为实现上述目的,本发明提供了一种基于不变矩的mark点视觉识别与定位方法,包括:
(1)根据mark点的几何特征,在pcb图中进行粗筛选,得到疑似mark点,构成结果集;
(2)使用标准mark点作为参考模板,利用hu不变矩依次对结果集中的疑似mark点和参考模板进行匹配,得到hu不变矩匹配值;
(3)对hu不变矩匹配值进行排序,最小的hu不变矩匹配值为最佳匹配值,此时最佳匹配值对应的结果集中疑似mark点就是正确mark点目标。
进一步的,几何特征为实心圆和双正多边形。
进一步的,pcb图为对原始pcb图依次进行灰度化、滤波、锐化、二值化和闭运算后得到的pcb图。
进一步的,步骤(1)包括:
(1-1)将pcb图中左上角第一个像素点作为起点,以白色实心圆半径作为步长,从左到右、从上到下依次遍历pcb图的像素,当像素为白色时,进一步判断该像素所在白色像素块是否为实心圆,若是实心圆则进入步骤(1-2),否则继续执行步骤(1-1);
(1-2)将实心圆的圆心作为参考点,每间隔
进一步的,hu不变矩由2阶归一化中心矩和3阶归一化中心矩构造得到。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明利用hu不变矩依次对结果集中的疑似mark点和参考模板进行匹配,hu不变矩对于mark点在实际中出现的平移、缩放和旋转等状态具有良好的不变性,使得匹配结果更可靠,解决了mark点识别中的缩放不变性和旋转不变性问题,同时mark点识别与定位算法的实时性也得到了较大的提高。
(2)无论pcb图的缩放或旋转程度如何变化,结果集中正确目标的匹配值与错误目标的匹配值之间基本都是数量级的差距,所以本发明可以很好地筛选出结果集中的正确mark点目标,保证本发明的准确性和可靠性。
(3)本发明对原始pcb图依次进行灰度化、滤波、锐化、二值化和闭运算后得到的pcb图,可以排除干扰噪声以及提高轮廓的对比度。
附图说明
图1是本发明实施例提供的一种基于不变矩的mark点视觉识别与定位方法的流程图;
图2是本发明实施例提供的pcb图;
图3是本发明实施例提供的疑似mark点;
图4是本发明实施例提供的标准mark点。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,一种基于不变矩的mark点视觉识别与定位方法,包括:
(1)将pcb图中左上角第一个像素点作为起点,以白色实心圆半径作为步长,从左到右、从上到下依次遍历pcb图的像素,当像素为白色时,进一步判断该像素所在白色像素块是否为实心圆,若是实心圆则将实心圆的圆心作为参考点,每间隔
(2)使用标准mark点作为参考模板,利用hu不变矩依次对结果集中的疑似mark点和参考模板进行匹配,得到hu不变矩匹配值;hu不变矩由2阶归一化中心矩和3阶归一化中心矩构造得到。
(3)对hu不变矩匹配值进行排序,最小的hu不变矩匹配值为最佳匹配值,此时最佳匹配值对应的结果集中疑似mark点就是正确mark点目标。
实施例1
步骤1、对于图2所示的pcb图,其中的mark点包括正中心白色实心圆、两个正八边形,以及最外围的大圆轮廓特征,如图3所示。由于外围大圆轮廓主要用于分割mark点与外部干扰信息,所以本发明只将实心圆和两个正八边形作为需要提取的几何特征,如图4所示。根据几何关系,获取如图2所示的待测图片中与真实mark点几何特征相似的目标区域。
具体方法为:对于本发明中的圆和正八边形,为了简化算法,统一搜索间隔为
步骤2、计算步骤1得到的结果集中每个疑似mark点的hu不变矩以及如图4所示的标准mark点模板的hu不变矩。hu不变矩的相关公式如下:
在连续情况下,若图像函数为f(x,y),那么图像的p+q(p,q=0,1,2...)阶几何矩(标准矩)定义为:
mpq=∫∫xpyqf(x,y)dxdy
(p+q)阶中心矩定义为:
μpq=∫∫(x-x0)p(x-x0)qf(x,y)dxdy
其中,矩心坐标为(x0,y0):
对于数字图像,将上述积分用求和代替即可:
其中,n和m表示图像的高度和宽度。
上述得到的中心矩只具有平移不变性,若对中心矩进行归一化,可以得到具有缩放不变性的归一化中心矩:
由上述2、3阶归一化中心矩可以得到7个不变矩m1-m7:
m1=y20+y02
m2=(y20-y02)2+4y112
m3=(y30-3y12)2+(3y21-y03)2
m4=(y30+y12)2+(y21+y03)2
m5=(y30-3y12)(y30+y12)((y30+y12)2-3(y21+y03)2)+(3y21
-y03)(y21+y03)(3(y30+y12)2-(y21+y03)2)
m6=(y20-y02)((y30+y12)2-(y21+y03)2)+4y11(y30+y12)(y21
+y03)
m7=(3y21-y03)(y30+y12)((y30+y12)2-3(y21+y03)2)-(y30
-3y12)(y21+y03)(3(y30+y12)2-(y21+y03)2)
hu不变矩的7个不变矩公式都是由2、3阶归一化中心矩构成,即由低阶归一化中心矩构造而成,所以对形状、轮廓具有较好的描述,同时计算速度较快。
将获得的结果集元素hu不变矩和mark点模板矩进行相似性匹配,并保存匹配结果。接着,重复步骤2,直至所有结果集元素都进行了hu不变矩匹配为止。
步骤3、对步骤2中获得的匹配结果进行排序,获取匹配值最小的结果集元素,并提取其对应的中心坐标、尺寸等信息,就得到了正确的mark点目标。具体的:对hu不变矩匹配值进行排序,最小的hu不变矩匹配值为最佳匹配值,此时最佳匹配值对应的结果集中疑似mark点就是正确mark点目标。
在i77700kcpu和32g内存的硬件条件下,对实际情况下的522*391分辨率的测试图片,进行不同缩放、旋转状态下的匹配实验数据如表1所不。
表1不同缩放、旋转状态下的匹配实验数据
算法中得到的hu矩匹配值越小,代表匹配效果越好。由表1可知,无论测试图片的缩放或旋转程度如何变化,最佳匹配值与次佳匹配值之间都有数量级的差距,所以本算法可以很好地筛选出结果集中的正确mark点目标,保证算法的准确性和可靠性。同时,算法运行耗时都在50ms以内,所以完全可以满足应用中的实时性要求。
mark点作为常用的视觉辅助定位对象,在采用图像算法对其进行识别时,关键的一点就是要保证识别算法具有平移不变性、缩放不变性和旋转不变性。同时,算法要具有良好的实时性。对此,本发明提出了一种基于不变矩的mark点视觉识别与定位方法,针对目标图像的缩放或旋转状态,采用几何特征分割感兴趣区域与不变矩识别相结合的图像分类识别方式,不仅可以保持良好的平移、缩放和旋转不变性,还有效提高了算法的实时性,本发明具有较好的工程应用价值。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。