1. 课程导入与缺陷检测系统全景

机器视觉缺陷检测,是指用工业相机与光学系统获取被测物表面或内部的图像,再由算法判断图像中是否存在划伤、脏污、缺料、错装、尺寸超差、字符错印等异常,并把判定结果与位置信息输出给产线执行机构(剔除、报警、分选、贴标或回流返修)的一类自动化检测技术。它与人工目检的根本差别不在“看得见”,而在于把“合格/不合格”的判据固化成可重复的成像条件与可量化的算法规则,从而获得稳定的节拍、一致的判定口径和可追溯的数据记录。

典型产线场景可以按被测对象与缺陷形态来区分。3C 结构件常检测外壳划痕、阳极氧化色差、螺孔内异物;连接器与线束行业关注端子歪针、缺针、胶芯毛边;锂电极片检测涂布划痕、暗斑、极耳翻折;食品与药品包装检测封口夹料、喷码缺失、瓶盖歪斜;五金冲压件检测毛刺、压伤、孔位偏移。这些场景的共同点是:缺陷尺寸往往在几十微米到几毫米之间,产线节拍常在 0.3~2 秒/件,且要求漏检率极低、过杀率可控。理解这一点,就能理解为什么缺陷检测系统的设计必须“先定光学、再定算法”,而不是先选一个模型再说。

一套完整的缺陷检测系统由五大部分构成,它们之间存在明确的约束传递关系:光学决定图像里缺陷有没有对比度,机械决定被测物在成像瞬间的位置与姿态是否稳定,电气决定触发、同步与信号交互是否可靠,算法决定从图像到判定结论的映射是否准确,软件决定参数管理、结果呈现、数据追溯与产线对接是否顺畅。任何一环薄弱,都会以“漏检”或“过杀”的形式暴露在最终指标上。例如光源角度选错,划痕在图像中几乎与背景同灰度,再强的算法也难以稳定分割;又如机械定位重复性只有 ±0.5 mm,而检测精度要求 ±0.05 mm,标定与算法补偿就会非常吃力。

缺陷检测系统五大部分与信号/数据流 光学 相机 / 镜头 / 光源 滤光片 / 偏振 决定缺陷对比度 机械 支架 / 定位 / 传送 重复定位精度 决定成像稳定性 电气 传感器 / PLC / IO 触发 / 同步 / 剔除 决定节拍与联动 算法 预处理 / 特征 / 模型 分类 / 分割 / 定位 决定判定准确性 软件 参数 / 界面 / 追溯 MES / 数据库 / 日志 决定可运维性 被测物 表面 / 尺寸 / 装配 缺陷类型与分布 决定检测方案 图像 定位 驱动 结果 剔除/报警指令 光信号 开发部署全流程 ① 需求与指标定义 ② 光学与机械方案设计 ③ 电气与触发联调 ④ 算法开发与样本训练 ⑤ 软件集成与产线对接 ⑥ 现场验证与指标验收 ⑦ 运维迭代与数据回流 核心指标: 漏检率(Recall) 过杀率(Overkill) 节拍(Cycle Time) 重复性(GR&R) 可追溯性

从工程落地的角度看,开发部署通常沿七个阶段推进:需求与指标定义、光学与机械方案设计、电气与触发联调、算法开发与样本训练、软件集成与产线对接、现场验证与指标验收、运维迭代与数据回流。这里最容易被低估的是第一阶段——如果一开始没有把“缺陷定义、判定边界、样本来源、节拍上限、误判容忍度”写清楚,后面所有环节都会反复返工。例如某连接器端子检测项目,初期只写“检测歪针”,未定义歪斜角度阈值与允许的测量重复性,导致算法团队按 0.5° 开发,而产线实际要求 0.1°,最终不得不重新选镜头与标定方案。

指标定义阶段建议至少明确五项内容:缺陷类别清单(含正负样本示例图)、最小可检缺陷尺寸、漏检率与过杀率上限、单件检测节拍、以及结果输出形式(OK/NG、缺陷坐标、缺陷类别、图像存档策略)。这些指标不是拍脑袋定的,而要与产线质量目标和成本约束对齐。例如漏检率从 1% 收紧到 0.1%,往往意味着更高的光学分辨率、更复杂的算法或更多的人工复判,成本会显著上升。

光学方案设计阶段的核心是“让缺陷在图像中有足够的对比度”。以金属表面划痕检测为例,若采用同轴光,镜面反射会使划痕与背景对比度很低;改用低角度暗场照明,划痕边缘产生散射,在暗背景上呈现亮线,对比度可提升数倍。再配合适当焦距的远心镜头,可减少透视畸变,保证不同位置的测量一致性。机械方案则要保证被测物在触发瞬间的位置重复性,常见做法是使用定位销、V 型块或伺服定位,重复定位精度应优于检测精度要求的 1/3~1/5。

电气与触发联调阶段,需要把传感器信号、相机触发、光源频闪、PLC 剔除指令在时序上对齐。典型配置是:光电传感器检测到工件到位 → PLC 发出触发信号 → 相机曝光并输出图像 → 算法处理 → 结果通过 IO 或以太网发送给 PLC → PLC 控制气缸剔除。若相机曝光时间设为 200 μs,光源频闪需与曝光同步,否则图像亮度会波动。触发延迟、处理耗时与传送带速度必须匹配,否则会出现“检测完了但工件已经走过头”的情况。

算法开发阶段,样本质量往往比模型结构更关键。建议按缺陷类别分别采集至少 50~100 张正样本和 100~200 张负样本,覆盖不同批次、不同光照、不同姿态。对于划痕、脏污这类形态多变的缺陷,传统方法常用“频域滤波 + 阈值分割 + 形态学 + 连通域分析”,优点是速度快、可解释;对于纹理复杂、缺陷形态多样的场景,可引入 CNN 分类或分割模型,但需注意推理时间与产线节拍的匹配。无论哪种方法,都要在独立测试集上统计漏检率与过杀率,而不是只看训练集准确率。

软件集成阶段要解决“好用、可查、可对接”三个问题。参数管理应支持配方切换,便于多型号共线生产;结果界面应显示原图、缺陷标注、判定结论与耗时;数据追溯应记录时间戳、工件 ID、图像路径、算法版本与判定结果,便于后续复盘。与 MES 或 PLC 的接口要明确通信协议、数据格式与异常处理策略,例如网络中断时是缓存还是报警。

现场验证与指标验收阶段,建议用产线真实工件连续运行至少 2~4 小时,统计漏检率、过杀率、节拍与稳定性。若指标不达标,应按“光学→机械→电气→算法→软件”的顺序排查,因为越靠前的环节对最终结果影响越大,且修改成本越低。运维迭代阶段则要建立数据回流机制,把现场误判样本定期加入训练集,持续优化模型与规则。

本课程后续章节将围绕这七个阶段逐一展开:从光学选型与照明设计,到机械定位与标定,再到电气时序、算法实现、软件架构、现场调试与产线运维。学习时建议始终带着“当前环节如何影响最终漏检率与过杀率”这个问题,把每个知识点放回系统链路中理解,而不是孤立地记忆参数或代码。

最后给出一个贯穿全课程的学习地图:第 1 章建立系统全景与指标意识;第 2~5 章深入光学、机械、电气与标定;第 6~12 章覆盖图像预处理、特征提取、传统算法与深度学习模型;第 13~18 章讲解软件架构、界面、数据管理与产线通信;第 19~24 章进入现场调试、异常排查与指标优化;第 25~30 章讨论多型号共线、数据回流、模型迭代与项目复盘。每一章都会给出可执行的参数示例、判断依据与常见坑点,帮助你把“知道”变成“做到”。