1
工业机器视觉:基于灵闪平台的开发及应用
1.14.1.4 12.1.4 检测方式
12.1.4 检测方式

本应用主要检测载带各部位尺寸,涉及的算法主要是圆定位、斑点定位、直线定位、线到线的距离、点到点的距离、点到点的投影距离等。(注:下文算法参数配置中算法工具的ID是根据添加顺序生成的,没有实际参考意义)

第一步,利用圆定位算法对索引孔进行定位,这里圆定位主要有两个作用,一个是索引口相关参数的距离测量,另一个是用于载带的整体定位。载带在运动中会有抖动,所有索引口、承载孔的位置都会轻微移动,这时需要所有的算法依赖于索引孔的位置来确认相对的检测位置。

图12-3 索引孔圆定位及算法参数配置

第二步,利用斑点定位算法,对承载孔进行斑点编辑,提取承载孔区域,选择过滤器,调节长短轴参数过滤掉算法ROI中非承载孔的区域。

第三步,利用最小包围图形算法将承载孔的长宽尺寸检测出来。这里用户也可以选择直线定位,找到承载孔的四个顶点,然后通过点与点的距离去计算承载孔的长和宽。但是由于承载孔往往有一定的深度,打孔工艺的不稳定也会导致承载孔的四条边有一定弧度,因此选择使用更稳定的最小包围图形算法。

图12-4 斑点定位算法参数配置

在检测区域检测到斑点以后,基于斑点区域画出一个最小的包围矩形,参数配置如图12-5所示。

图12-5 最小包围图形算法参数配置

完成上述三个步骤后,可以得到图12-6所示的检测结果。

图12-6 承载孔长宽尺寸

第四步,测量载带的宽度,利用直线定位算法定位载带的两条边。

图12-7 直线定位算法参数配置

直线定位算法会在载带边缘找出最优的边,然后通过计算两条边的间距可以得出载带的宽度,如图12-8所示。

图12-8 线间距计算及算法参数配置

第五步,利用点到点的投影距离算法检测索引孔中心点与承载孔中心点在水平方向和竖直方向的距离。

图12-9 索引孔中心点与承载孔中心点在水平及竖直方向的距离

点到点的投影距离算法通过两个待检测的点加上一条垂直参考线完成计算,若需要检测水平距离,则选择两个点和一条水平参考线即可,其他方向同理。其中垂直参考线可以通过索引孔中心点作下边沿的垂线,水平参考线直接选取下边沿定位到的直线即可,如图12-10所示。

图12-10 垂直参考线与水平参考线示意图

两条参考线找到以后,就可以完成点到点的投影距离算法的配置,具体的参数配置如图12-11所示。

图12-11 点到点的投影距离算法参数配置

第六步,根据上述做法,同理可以用点到点的距离,以及点到线的距离计算索引孔中心距以及索引孔中心到下边线的纵向距离。

图12-12 索引孔中心距及索引孔中心到下边线的纵向距离

图12-13 索引孔中心距

第七步,在索引孔以及承载孔内添加亮度判定的工具,可以判定孔是否打穿,如图12-14所示,绿色的框代表打穿,为了直观地展示未打穿的情况,在右侧添加了一个同样大小的亮度判定工具,未打穿则显示红色的框。

图12-14 亮度判定工具以及算法参数配置

用上述定位测量的工具添加到单张图片的4个索引口和4个承载孔,效果如图12-15所示。

图12-15 完整检测效果图

在上文中有提到,添加完所有的算法以后,有一个参数配置非常重要,就是定位器的选择。当载带运动速度发生变化时,要保证所有检测的工具都能捕捉到检测的对象,就要选择一个稳定的检测工具作为定位器,在这个案例中每一个承载孔都选择了其左边的第一个索引孔作为定位器,如图12-16所示,稳定地实现了载带的全检。

图12-16 承载孔检测定位器示意图

定位器的选择如图12-17所示,图中圆心坐标系为索引孔的圆定位工具,只需要将斑点检测的定位器改成圆心坐标系即可以实现算法工具的依赖。

图12-17 定位器

至此,载带检测的算法配置部分已经完成,可以实现载带的在线全检。