2. 表面缺陷类型与检测目标定义

在 VisionPro 表面缺陷检测项目中,真正决定系统成败的往往不是算法本身,而是“检测目标定义”这一步。如果缺陷类型没有拆清楚、判定标准没有量化,后续无论用 Cognex ViDi、PatMax 还是 Blob 工具,都会陷入反复调参却无法验收的困境。本节围绕五类常见表面缺陷的视觉特征展开,并给出可落地的检测标准与量化指标定义方式。

一、五类常见缺陷的视觉特征

表面缺陷在图像上的表现,本质是灰度、纹理、几何形状或边缘连续性相对“正常表面”的偏离。不同缺陷的成像机理不同,因此需要分别定义观察维度。

  • 划痕:表现为细长、方向性强的亮线或暗线,宽度通常在 1~10 像素量级,长度远大于宽度,边缘对比度沿长度方向可能不均匀。金属拉丝面、玻璃、镀膜表面最常见。关键特征是“长宽比大 + 方向一致”。
  • 凹坑:局部凹陷,成像上常表现为边缘暗、中心亮的环形或月牙形灰度分布,直径一般 0.1~2 mm,深度越深对比度越明显。与划痕的区别是长宽比接近 1,且具有封闭轮廓。
  • 脏污:附着在表面的异物,如油渍、粉尘、指纹。特征是边界模糊、灰度分布随机、形状不规则,可能随光照角度变化而“时隐时现”。脏污的难点在于与正常纹理的区分,需要靠面积和对比度双阈值约束。
  • 气泡:多见于贴合膜、涂层、灌封胶内部,表现为圆形或椭圆形亮环/暗环,中心灰度与背景接近,边缘有较强梯度。气泡的典型特征是“环形边缘 + 内部均匀”。
  • 裂纹:比划痕更细、更不规则,常呈树枝状或折线状分叉,宽度可能小于 1 像素,对比度低。裂纹是五类中检出难度最高的,往往需要亚像素边缘或频域增强。

下表给出五类缺陷在典型工业场景下的特征对照,便于在定义检测目标时快速定位应关注的图像属性。

缺陷类型典型尺寸形状特征灰度/对比度特征主要干扰因素
划痕长 1~50 mm,宽 1~10 px细长、方向性强亮线或暗线,对比度中等表面纹理、光照方向
凹坑直径 0.1~2 mm封闭、近圆形边缘暗中心亮反光、曲面
脏污面积 0.05~5 mm²不规则、边界模糊随机灰度,对比度低正常纹理、灰尘
气泡直径 0.2~3 mm圆形/椭圆环环形边缘,内部均匀透明层折射
裂纹宽 <1 px,长 0.5~20 mm树枝状、分叉低对比度细线噪声、划痕混淆

二、检测标准与量化指标

检测目标定义的核心是把“看得见”转化为“判得准”。工业现场通常用三个指标衡量:漏检率、过杀率和精度。它们不是孤立的,而是相互制约。

漏检率(False Negative Rate, FNR):实际有缺陷但被判为合格的比例。公式为 FNR = 漏检数 / 实际缺陷总数。漏检率直接关系客户投诉和产品可靠性,通常要求最严,例如汽车零部件常要求 FNR ≤ 0.1%。

过杀率(False Positive Rate, FPR):实际无缺陷但被判为缺陷的比例。公式为 FPR = 过杀数 / 实际合格总数。过杀率过高会导致大量良品被误判,增加复检成本和产线停机,一般控制在 0.5%~2% 之间,具体取决于缺陷的严重程度和客户容忍度。

精度(Accuracy):正确判定数占总数的比例,Accuracy = (TP + TN) / (TP + TN + FP + FN)。精度看似直观,但在缺陷占比极低(如 0.1%)的场景下,精度会被大量合格样本“稀释”,因此必须与漏检率、过杀率联合使用,不能只看精度。

在缺陷检测中,漏检率和过杀率是一对矛盾体。降低阈值可以减少漏检,但会抬高过杀;提高阈值则相反。实际项目中需要根据缺陷的严重等级分别设定阈值,而不是用单一阈值一刀切。

三、从视觉特征到检测目标的映射

定义检测目标时,建议按“缺陷类型 → 可量化特征 → 判定阈值 → 验收指标”四步走。以划痕为例:可量化特征包括长度、宽度、长宽比、对比度;判定阈值可设为“长度 ≥ 2 mm 且对比度 ≥ 15 灰度级”;验收指标则对应漏检率 ≤ 0.2%、过杀率 ≤ 1%。

下面这张图展示了五类缺陷的视觉特征与检测目标之间的映射关系,以及漏检率、过杀率、精度三者的相互制约。图中左侧是缺陷类型及其关键特征,中间是判定维度,右侧是量化指标与验收方向。

缺陷视觉特征 → 判定维度 → 量化指标映射 缺陷类型与特征 划痕 细长 · 方向性强 · 长宽比大 凹坑 封闭轮廓 · 边缘暗中心亮 脏污 边界模糊 · 灰度随机 气泡 环形边缘 · 内部均匀 裂纹 树枝状 · 低对比度细线 可量化判定维度 长度 / 宽度 / 长宽比 面积 / 周长 / 圆度 对比度(灰度差) 边缘梯度强度 方向一致性 纹理偏离度 位置(ROI 内坐标) 数量 / 密度 亚像素边缘位置 频域能量分布 颜色通道差异 量化指标与验收方向 漏检率 FNR FNR = 漏检数 / 实际缺陷总数 目标:≤ 0.1%~0.5%(越严越好) 过杀率 FPR FPR = 过杀数 / 实际合格总数 目标:≤ 0.5%~2%(平衡成本) 精度 Accuracy Acc = (TP+TN) / 总数 注意:缺陷占比低时精度会虚高 三者制约关系 阈值↓ → 漏检↓ 但过杀↑ | 阈值↑ → 过杀↓ 但漏检↑ | 精度需与 FNR、FPR 联合判读

四、检测目标定义的实际操作建议

在 VisionPro 中落地时,建议先建立缺陷样本库,每类缺陷至少收集 30~50 张真实图像,并标注缺陷位置、尺寸和严重等级。然后按以下顺序定义目标:

  1. 确定 ROI 和光照方案,保证缺陷在图像中稳定可见。例如划痕检测常用低角度暗场照明,凹坑检测常用同轴光。
  2. 为每类缺陷选择 2~3 个可量化特征,避免特征过多导致阈值难以调平。例如裂纹可只取“长度 + 对比度 + 分叉数”。
  3. 用样本库统计特征分布,取合格样本与缺陷样本的分界点作为初始阈值。例如划痕长度阈值可设为 2 mm,对比度阈值设为 15 灰度级。
  4. 在验证集上计算 FNR、FPR 和 Accuracy,若漏检率不达标,优先降低阈值或增加特征维度;若过杀率超标,则收紧阈值或引入二次确认。
不要用同一套阈值覆盖所有缺陷类型。划痕和脏污的对比度差异可能超过 3 倍,混用阈值必然导致某一类缺陷漏检或过杀失控。建议在 VisionPro 中为每类缺陷建立独立的检测工具和判定规则。

最后需要强调:检测标准不是一次设定就固定不变的。随着产线换型、材料批次变化或光照老化,特征分布会漂移。建议每周用抽检样本复核一次 FNR 和 FPR,当任一指标超出验收线 20% 时触发阈值复调。只有把“缺陷类型—视觉特征—量化指标—验收标准”这条链路打通,后续的 VisionPro 工具配置和部署才有稳定的基准。