4. ROI与模板匹配定位

在MERLIC的检测流程中,定位是所有后续测量与判定的前提。如果工件在视野中的位置、角度甚至大小每次都不一样,那么直接对整幅图像做测量,得到的坐标和尺寸就毫无意义。ROI(Region of Interest,感兴趣区域)与模板匹配正是解决这一问题的核心手段:先用ROI把处理范围收缩到工件可能出现的小区域,再用模板匹配在该区域内找到工件,输出其位置与姿态,最后把测量ROI跟随这个姿态一起变换,从而保证每次测量的都是工件上的同一物理位置。

一、ROI的创建与作用

ROI是图像上的一块限定区域,MERLIC中常见的ROI形状包括矩形、圆形、环形、多边形以及由多个区域组合而成的复合ROI。创建ROI通常有两种方式:一是直接在图像上交互绘制,适合固定工位、工件位置基本不变的场景;二是由上游匹配结果动态生成,即ROI的位置和角度由模板匹配的输出驱动,这是柔性定位的关键。

ROI的第一个作用是缩小搜索范围。模板匹配如果在整幅图像上做全图搜索,计算量随像素数线性增长,速度慢且容易误匹配。把搜索ROI限制在工件可能出现的区域,可以显著降低耗时。第二个作用是屏蔽干扰。当视野中存在夹具、传送带纹理、反光或其它零件时,把这些区域排除在ROI之外,能有效减少误检。第三个作用是建立测量基准。测量ROI必须相对于匹配得到的工件坐标系来定义,而不是相对于图像坐标系,这样工件移动或旋转后,测量点仍然落在工件的同一位置。

ROI的坐标定义需要与匹配输出的坐标系保持一致。MERLIC中匹配结果通常给出工件坐标系的原点(参考点)和旋转角度,测量ROI以该坐标系为参照定义,才能实现“跟随”。

二、基于形状的匹配

基于形状的匹配(Shape-Based Matching)是MERLIC中最常用的定位方法。它从模板图像中提取工件的边缘轮廓,形成一组带有方向信息的边缘点,然后在搜索图像中寻找与这些边缘点几何关系最一致的候选位置。其核心优势是对光照变化、部分遮挡和对比度下降不敏感,因为匹配依据的是边缘的几何结构,而不是灰度值本身。

创建形状模板的典型流程是:先在参考图像上绘制一个包含工件特征轮廓的ROI,然后设置模板参数。关键参数包括:

  • 对比度阈值:决定哪些边缘被纳入模板。阈值过低会引入噪声边缘,过高会丢失弱边缘,通常需要观察模板边缘点覆盖情况来调整。
  • 最小轮廓长度:过滤掉过短的边缘片段,避免把纹理噪声当作特征。
  • 角度范围与步长:指定工件可能出现的旋转范围,例如-180°到+180°,步长决定搜索精度与速度的平衡。
  • 缩放范围:当工件因批次或镜头距离变化导致尺寸波动时,需要设置合理的缩放搜索范围。
  • 匹配分数阈值:只有得分高于该阈值的候选才被接受,用于控制误匹配率。

匹配结果通常输出工件的参考点坐标(Row、Column)、旋转角度和匹配分数。参考点应选择工件上稳定、易识别的特征位置,例如一个圆孔中心或两条边的交点,而不是随意选取的角落。

三、基于灰度的匹配

基于灰度的匹配(Gray-Value-Based Matching)直接比较模板与搜索图像中对应区域的灰度分布,常用归一化互相关(NCC)作为相似度度量。它对纹理丰富、边缘不明显的工件(如印刷图案、织物、表面标记)效果较好,但对整体光照变化和对比度变化较敏感。当现场光照稳定、工件表面纹理一致时,灰度匹配可以获得很高的定位精度;反之,如果光照波动大或存在反光,形状匹配通常更稳健。

选择匹配方法时,可以按以下思路判断:工件有清晰、稳定的几何轮廓,优先用形状匹配;工件主要靠表面纹理或图案区分,且光照可控,可考虑灰度匹配;两者都可用时,以现场重复性和节拍要求为准做对比测试。

四、处理旋转与缩放变化

实际产线中,工件很少每次都完全一致地摆放。旋转和缩放是两类最常见的姿态变化。处理旋转时,需要在模板参数中设置角度搜索范围和角度步长。角度步长越小,定位越精确,但搜索时间越长。一个实用的做法是先用较大步长做粗定位,再在粗定位结果附近用小步长做精定位,即“粗-精”两级搜索。

处理缩放时,需要设置缩放比例范围,例如0.9到1.1,以及缩放步长。缩放搜索会显著增加计算量,因此范围不宜设得过宽。如果工件尺寸变化主要来自镜头工作距离波动,应优先从机械或光学上稳定距离,而不是单纯依赖软件缩放搜索。此外,旋转与缩放同时搜索时,参数空间是二维的,耗时进一步增加,建议先确认哪一维变化是主要的,再决定是否开启另一维。

ROI与模板匹配定位流程 搜索图像(图像坐标系) Row Col 搜索ROI 限定匹配范围 工件轮廓 匹配 匹配方法 基于形状 边缘几何 · 抗光照 · 抗遮挡 基于灰度 纹理图案 · 光照需稳定 输出 匹配结果(工件坐标系) 参考点 Row / Col 旋转角度 θ 缩放比例 s 匹配分数 Score Score ≥ 阈值 → 定位有效 姿态变换与测量ROI跟随 模板坐标系(参考) Y X 参考点 测量ROI 平移+旋转+缩放 工件坐标系(实际) Y' X' 参考点 测量ROI 定位有效判据 • 匹配分数 ≥ 设定阈值 • 角度/缩放落在设定范围 • 测量ROI随姿态正确跟随 • 重复定位偏差在公差内

五、定位结果的判断与验证

匹配完成后,不能只看“找到了”就继续测量,必须对定位结果做有效性判断。主要看三个量:匹配分数、角度和缩放值。匹配分数低于阈值,说明当前图像与模板差异过大,可能是工件缺失、严重遮挡或光照异常,此时应输出定位失败,而不是用错误的位置继续测量。角度或缩放值超出设定范围,说明工件姿态异常,同样需要报警或剔除。

验证定位稳定性的实用方法是做重复性测试:让同一工件在视野内多次出现(或多次上料),记录每次的参考点坐标和角度,计算其标准差。例如,某工件在50次测试中参考点Row方向标准差为0.3像素、Col方向为0.4像素、角度标准差为0.05°,若测量公差要求对应位置偏差不超过0.1 mm,而像素当量为0.05 mm/pixel,则0.4像素约合0.02 mm,定位重复性满足要求。若标准差明显偏大,应检查模板特征是否稳定、ROI是否包含了干扰边缘、光照是否波动。

六、实操要点与常见问题

在实际工程中,以下几点直接影响定位效果:

  • 模板特征选择:优先选择工件上唯一、稳定、对比度好的轮廓,避免选择易受加工毛刺或反光影响的边缘。
  • 搜索ROI与模板ROI分离:搜索ROI用于限定匹配范围,模板ROI用于定义模板特征,两者不要混用。
  • 角度步长与节拍平衡:角度范围越大、步长越小,耗时越长。可先用大步长粗定位,再在小范围内精定位。
  • 缩放搜索慎用:缩放搜索计算量大,且容易与角度搜索耦合产生误匹配,非必要不开启。
  • 光照一致性:灰度匹配对光照敏感,形状匹配虽较稳健,但极端过曝或欠曝仍会导致边缘丢失。
常见误区:把测量ROI直接画在图像固定位置,而不是跟随匹配结果。这样工件一旦移动或旋转,测量点就会偏离工件上的目标位置,导致测量值错误。正确做法是让测量ROI以匹配输出的工件坐标系为基准定义。

总结来说,ROI与模板匹配定位的工程逻辑是:用ROI限定搜索范围、降低干扰和计算量;用形状或灰度匹配找到工件并输出参考点、角度和缩放;用这些姿态参数驱动测量ROI跟随;最后用匹配分数和姿态范围判断定位是否有效。把这四步做扎实,后续的尺寸测量、缺陷检测才有可靠的坐标基准。