本发明涉及工件喷涂,具体为基于视觉的工件外轮廓识别与描述方法。
背景技术:
1、随着机器视觉的不断发展,越来越多的工业领域已将其引入并应用。在机器人自动化作业领域,存在着一些对工件外轮廓的加工场景,如喷涂领域里工件外轮廓的喷涂,焊接领域工件的外轮廓的弧焊等,这些场景通常需要知道工件外轮廓的形状,然后才能执行后续的操作。传统的方需要对工件进行建模与离线编程,针对一些柔性多变,或工件形状不规则形状的场景,传统方法较为繁琐,因此,采用一种方便快捷方法获取其轮廓信息并进行描述成为关键所在.
技术实现思路
1、为了解决上述技术问题,本发明提出了基于视觉的工件外轮廓识别与描述方法。采用视觉的方法获取工件,通过一系列图像处理与数学计算描述,将工件的外轮廓识别出来,并采用直线-圆弧的描述方法对其进行描述,以便后续机器人的自主作业。
2、本发明所要解决的技术问题采用以下技术方案来实现:
3、基于视觉的工件外轮廓识别与描述方法,包括以下步骤:
4、步骤(一)图像预处理:
5、根据采集的工件图片质量进行图像滤波、去噪操作,提升工件图片质量;
6、步骤(二)图像分割:
7、采用otsu的方法对图像进行二值化分割操作,将工件作为前景单独分割出来;
8、步骤(三)图像亚像素边缘检测:
9、采用基于devernay的亚像素边缘检测算法进行处理,得到目标工件密集、有序的离散轮廓点的集合{p};
10、步骤(四)基于曲率的轮廓点分割:
11、依据每个离散点的曲率大小,对轮廓点集进行分割,经过分割后的点集{p}由若干个轮廓点子集{p1}{p2}……{pn}所组成;
12、步骤(五)模型描述与构造:依据分割的点集,采用数学的方式进行描述与构造;
13、步骤(五)描述与构造的具体过程如下:
14、(a)直线模型:
15、若当前段点集的曲率为零,则根据起点与终点构造直线模型;
16、(b)圆弧模型:
17、若当前段点集的曲率不为零,则根据起点,终点以及中间点构造圆弧模型;
18、步骤(六)基于误差约束与合并规则的模型合并:
19、经过点集分割与模型描述构造后,得到的是由很多微小直线或弧线所构成的工件轮廓模型,在此基础上通过误差约束与合并规则对微小段进行合并,经过合并后即可得到最终的轮廓结果。
20、作为本发明的进一步改进,步骤(四)中具体的分割步骤如下:
21、(a)曲率计算
22、依次计算除起点与终点外所有点的曲率,以第i个点pi的曲率计算为例,通过该点pi以及该点前后的点pi-1、pi+1,构造圆,圆心即线段pi-1pi与pi+1pi垂直平分线的交点,半径ri即圆心到点pi的距离,pi点的曲率ci即该点所构造圆的半径的倒数,设定一个曲率阈值cδ,当曲率ci小于cδ时,令ci为0;
23、(b)分割点计算
24、依据各点的曲率进行分割点计算,用于将曲率点集分割为多个子集,计算时遵循两个原则;
25、(c)点集分割
26、依据步骤(b)中的两个原则,计算分割点1与分割点2,从起点开始,依据分割点将点集分割,保证当前段子集的终点,作为下一段子集的起点。
27、作为本发明的进一步改进,步骤(b)中分割点计算遵循以下两个原则:
28、(b1)曲率为零与曲率非零的衔接点,曲率为零与非零点可以看作是微小的直线段与非直线段的衔接点;
29、(b2)曲率的极值点,曲率极值点可以看作是两段微小的非直线段方向发生变化的过渡点。
30、作为本发明的进一步改进,步骤(a)直线模型的参数包括:直线方程系数、直线的起点坐标与终点坐标、直线对应的每个轮廓点的拟合误差{εl}。
31、作为本发明的进一步改进,步骤(b)圆弧模型的参数包括:圆弧的起点、中点、终点、圆心坐标、半径、圆弧对应的每个轮廓点的拟合误差{εl}。
32、作为本发明的进一步改进,步骤(六)包括:
33、(s1)合并步骤:
34、首先设定前一段为合并段,被合并段设为后一段,若满足合并规则,与误差约束合并前一段与后一段,然后继续判断下一段是否与新合并的前一段满足合并规则,若不满足合并规则,则判断这两段后续段是否满足合并规则,以此循环直至判断至最后一段,当完成一轮合并后,递归重新从第一段开始执行新的一轮合并,每一轮合并时内部循环的终止条件为判断至最后一段,递归的终止条件为上一轮合并没有发生合并或模型仅剩余两段;
35、(s2)误差约束:
36、设定一个直线误差阈值εφl,若直线模型中对应各轮廓点的误差的最大值εlmax小于εφl,则认为直线模型满足误差约束;设定一个圆弧误差阈值εφc,若圆弧模型中对应各轮廓点的误差的最大值εcmax小于εcl,则认为圆弧模型满足误差约束;
37、(s3)合并规则:
38、依据合并时前后段的模型类型,设定三种合并规则:
39、合并规则一:当前段为直线模型,下一段也为直线模型;
40、合并规则二:其中一段为直线,另一段为圆弧;
41、合并规则三:当前段为圆弧模型,下一段也为圆弧模型。
42、作为本发明的进一步改进,合并规则一的满足条件如下:
43、条件(1)计算两直线夹角θ1,并判段θ1是否小于所设定的夹角阈值θξ;
44、条件(2)计算两直线长度比值l1,并判段l1是否小于所设定的长度阈值lξ;
45、条件(3)合并规则一的条件(1)和条件(2)所描述的条件中的任意一条,是两段直线模型合并为一个直线模型的充分不必要条件,若满足其中一条,则尝试合并构造新的直线模型,构造方式同步骤(五)中的直线模型;若两条均不满足则不予构造,不予合并;
46、条件(4)若合并规则一的条件(3)满足构造条件并成功构造,则计算新模型的拟合误差,若新模型误差的最大值εmaxl小于εξl,则认为新模型满足误差约束,合并成功并失败;若不满足误差约束则认定合并失败。
47、作为本发明的进一步改进,合并规则二的满足条件如下:
48、条件(1)计算直线长度与圆弧长度的比值l2;
49、条件(2)设定两个阈值lmax、lmin,当l2大于lmax时,认为直线长度远大于圆弧长度;当l2小于lmin时,认为直线长度远小于圆弧长度;当l2介于lmax与lmin之间时,认定两者长度接近;
50、条件(3)依据合并规则二的条件(2)结果,当l2大于lmax时尝试构造新的直线模型,起点选择前一段的起点,终点选择后一段的终点,构造方式同步骤(五)中的直线模型,构造后计算新直线模型的拟合误差,若满足直线误差约束则认定合并成功,否则合并失败;当l2小于lmin时尝试构造新的圆弧模型,起点选择前一段的起点,终点选择后一段的终点,中点选择这两段轮廓点的中间点,构造方式同步骤(五)中的圆弧模型,构造后计算新圆弧模型的拟合误差,若满足直线误差约束则认定合并成功,否则合并失败;当l2介于lmax与lmin之间时,同时构造直线模型与圆弧模型,构造后分别计算新直线模型与新圆弧模型的拟合误差,只要两个模型其中一个满足误差约束,则认定合并成功,若两个均满足则取误差较小的模型,若均不满足则合并失败。
51、作为本发明的进一步改进,合并规则三的满足条件如下:
52、条件(1)计算两段圆弧中心距与半径较小圆弧的比值,d/min{r1,r2},并判段比值是否小于所设定的阈值lξc1;
53、条件(2)计算两段圆弧半径差与半径较小圆弧的比值,(r1-r2)/min{r1,r2},并判段比值是否小于所设定的阈值lξc2;
54、条件(3)若同时满足规则三的条件(1)、条件(2),则构造新的圆弧,起点选择前一段的起点,终点选择后一段的终点,中点选择这两段轮廓点的中间点,构造方式同步骤(五)中的圆弧模型;
55、条件(4)若合并规则三的条件三满足构造条件并成功构造,则计算新圆弧模型的拟合误差,若新模型误差的最大值εmaxc小于εξc,则认为新模型满足误差约束,合并成功并失败;若不满足误差约束则认定合并失败。
56、本发明的有益效果是:
57、本发明优化了工业机器人在工件外轮廓作业场景中,因工件复杂或者不规则,场景多变的情况下,需人工提前准备、参与过多繁琐的问题。通过视觉的方法实现对任意形状工件的外轮廓识别与描述,方便了后续的机器人自主作业。同时由于该方法不针对具体的工件、场景有过多的要求,有较好的柔性。