2. VisionPro工具链与误检漏检关联
在VisionPro工程中,误检(把良品判为NG)与漏检(把不良品判为OK)很少由单一工具直接造成,而是工具链中某个环节的输出特性与后续判定阈值、坐标系、ROI设置相互作用的结果。理解每个核心工具“输出什么、输出精度如何、在什么条件下会漂移”,是治理误检漏检的起点。本节按工具逐一拆解其输出特性与典型失效模式,并在最后用一张信号链图把各工具的输出串成一条可追溯的判定路径。
PatMax与PatQuick:定位工具的输出是“位姿”,不是“分数”
PatMax和PatQuick都属于模板匹配类定位工具,核心输出是匹配位姿(X、Y、角度,部分场景含缩放),以及一个匹配分数(Score)和对比度/覆盖度等辅助量。很多工程师习惯只看Score,这是误检漏检的重要来源。Score高只说明“找到的区域与模板相似”,并不保证位姿精度足够。PatMax基于几何特征,对光照变化、部分遮挡、对比度下降更稳健,位姿重复性通常在亚像素级;PatQuick基于归一化相关,速度快,但在低对比度、纹理弱或存在相似干扰图案时,位姿容易在小范围内抖动。
这种抖动会直接传导到下游:如果Caliper的测量ROI是固定坐标,而定位结果偏了0.3像素,边缘点位置就会整体偏移,宽度测量随之偏移。当产品公差本身只有±0.05mm、像素当量约0.02mm/pixel时,0.3像素约等于0.006mm,看似不大,但若多个环节误差累积,就可能把临界良品推过阈值。因此定位工具的关键不是“找到”,而是“稳定地找到”。实践中应关注:模板是否包含足够多的稳定几何特征、是否设置了合理的角度搜索范围和缩放范围、是否用PatMax而非PatQuick处理低对比度场景。若Score阈值设得过高,良品在光照波动时会被判为未找到,造成误检;设得过低,则可能匹配到错误位置,造成漏检。
Blob:输出连通域统计量,阈值与形态学决定边界
Blob工具的输出是连通域的数量、面积、质心、外接矩形、周长等统计量。它的误检漏检几乎全部围绕“分割边界”发生。二值化阈值偏高,暗弱缺陷区域被切掉,面积偏小甚至消失,造成漏检;阈值偏低,背景噪声被并入,面积虚大或产生伪Blob,造成误检。形态学开运算会消除小噪点但也会吃掉细小缺陷,闭运算会填补空洞但也会把相邻缺陷粘连成一个。因此Blob的判定不能只看面积上下限,还要结合灰度均值、圆度、长宽比等形状描述量。
一个常见误区是把Blob面积阈值卡在良品分布与不良品分布的交叠区。正确做法是先统计一批良品的面积分布,取均值±3σ作为参考,再确认不良品分布是否与之分离。若两者交叠,说明当前光照或阈值下该特征不具备区分力,应改换特征或增加预处理,而不是继续调阈值。
Caliper:输出边缘点与拟合结果,极性、对比度阈值和拟合方式最关键
Caliper用于测量边缘位置、宽度、间距等,输出的是边缘点坐标、边缘对比度、以及拟合后的直线/圆/椭圆参数。它的典型失效是“找错边”:当ROI内存在多条边缘时,极性(从暗到亮或从亮到暗)设置错误会让Caliper锁定到错误的边;对比度阈值过低会引入噪声边,过高会漏掉弱边。边缘对宽度测量还依赖边缘对之间的配对逻辑,若两条边对比度差异大,弱边可能被丢弃,导致宽度计算失败或偏大。
拟合方式同样影响输出:最小二乘拟合对离群点敏感,一个错误边缘点就能把直线角度拉偏;稳健拟合(如剔除离群点)能提升稳定性但增加计算量。工程上应优先保证ROI内只有目标边缘、极性正确、对比度阈值略高于噪声边水平,再考虑拟合策略。
ID与OCR:输出字符串与置信度,字符分割和成像质量是根因
ID工具(一维码/二维码)输出解码字符串、码制、以及质量指标;OCR输出识别字符串和每个字符的置信度。这两类工具的漏检多来自成像质量:条码对比度不足、模块宽度接近像素极限、二维码畸变或污损,都会导致解码失败;OCR则受字符断裂、粘连、倾斜、背景纹理干扰影响。误检方面,ID可能把相似码制误判,OCR可能把“0”和“O”、“8”和“B”混淆,尤其在低分辨率下。
治理思路是先保证成像,再谈算法。条码应保证每个模块至少3~4个像素,二维码应保证静区完整;OCR应保证字符高度足够、笔画不断裂,必要时用字符分割预处理或限定字符集来降低混淆。置信度阈值可用于拦截低质量识别,但阈值过高会把可读字符判为失败,造成误检,需要按实际分布标定。
工具链的输出如何串成判定路径
把上述工具放回一条典型检测流程中,可以看到误检漏检是如何逐级传递的:定位位姿决定所有ROI的位置,Blob和Caliper在ROI内提取特征,ID/OCR在定位后的区域内识别,最终由判定逻辑综合各工具输出给出OK/NG。任何一个环节的输出漂移或阈值不当,都会在最终判定处放大。下面的信号链图把各工具的输出量、关键参数和典型失效方向并列呈现,便于在排障时快速定位是哪一级输出出了问题。
从图中可以读出三条治理原则。第一,定位是整条链的基准,定位不稳,后面所有测量和识别都会漂移,因此PatMax/PatQuick的模板质量和搜索参数应优先保证。第二,Blob和Caliper的输出对阈值和ROI高度敏感,调参时必须基于良品分布和不良品分布的实际统计,而不是凭经验拍一个数。第三,ID/OCR的漏检多数不是算法问题而是成像问题,先解决打光、焦距、曝光,再考虑字符集限定和置信度阈值。把每个工具的输出量、关键参数和失效方向记录成一张工具链清单,在出现误检漏检时按链逐级排查,比反复调最终判定阈值更有效。