一、工业缺陷检测到底是什么

说白了,就是用机器视觉代替人眼,在生产线上找出产品表面的瑕疵。我入行那会儿,很多工厂还靠老师傅拿放大镜看,一天下来眼睛都快瞎了。现在不一样了,摄像头加算法,一条产线能顶几十个人。

工业缺陷检测的核心就三件事:拍得到、看得清、判得准。拍得到靠光源和相机,看得清靠光学设计和成像,判得准靠模型算法。这三环缺一不可,我在项目里吃过不少亏,后面慢慢讲。

1.1 典型应用场景

我挑三个最常见的行业说说,每个都踩过坑。

PCB 缺陷检测

PCB 板子上的缺陷五花八门:短路、断路、焊锡不足、划痕、孔偏。我做过一个 PCB AOI 项目,客户要求检出率 99.5% 以上,过杀率低于 3%。你想想看,一块板子上几千个焊点,漏一个就是废品。

  • 常见缺陷:缺件、偏移、立碑、锡珠、空洞
  • 检测难点:反光干扰、元件密集、缺陷尺寸小
  • 常用模型:YOLOv5s(速度优先)、ResNet-50(精度优先)

钢材表面检测

钢材表面缺陷更头疼——光照不均匀、纹理复杂、缺陷形态多变。我记得有个热轧钢板项目,现场温度高、粉尘大,相机镜头一天要擦三遍。缺陷类型包括:

  • 裂纹、夹杂、麻点、划伤、氧化皮
  • 有些缺陷只有几个像素宽,模型稍微一压缩就丢了

纺织物检测

纺织行业我接触得少一些,但有个项目印象很深——检测布匹上的断经、跳花、油污。布匹是连续运动的,速度很快,模型推理必须跟上产线节拍。我曾经试过用大模型,结果帧率只有 5fps,产线要求 30fps,直接废了。

关键数据:工业缺陷检测的典型指标
检出率 ≥ 99% | 过杀率 ≤ 5% | 单图推理 ≤ 50ms | 误报率 ≤ 1%

1.2 模型选型原则:速度 vs 精度

这是每个做工业视觉的人都要面对的灵魂拷问。我刚开始做的时候,总想着模型越准越好,结果部署到边缘设备上跑不动,帧率只有个位数。后来学乖了,选模型得看三个维度:

场景 速度要求 精度要求 推荐模型 我踩过的坑
PCB 高速产线 ≥ 30fps ≥ 99% YOLOv5s / NanoDet 用 YOLOv5x 跑不动,换 s 后帧率达标
钢材离线抽检 ≥ 5fps ≥ 99.5% ResNet-50 / EfficientNet-B3 大模型精度高但推理慢,需要 TensorRT 加速
纺织在线检测 ≥ 25fps ≥ 98% MobileNet-SSD / ShuffleNetv2 轻量模型容易漏检小缺陷,需要数据增强

选型的时候,我一般按这个顺序来:

  1. 先定硬件:用 Jetson Orin 还是 x86 工控机?算力上限是多少?
  2. 再定帧率:产线节拍是多少?单张图留给模型的时间有多少?
  3. 最后定模型:在满足帧率的前提下,选精度最高的那个
我的习惯:先拿 YOLOv5s 跑一遍基线,看精度和速度。如果精度不够,再换大模型;如果速度不够,先做 TensorRT 量化,实在不行再换轻量模型。别一上来就上大模型,容易翻车。

1.3 工业缺陷检测知识体系

下面这张图是我自己总结的,把整个知识体系串起来了。你看着它,就知道每个环节该学什么。

工业缺陷检测知识体系 工业缺陷检测知识体系 PCB 缺陷检测 钢材表面检测 纺织物检测 小目标缺陷 实时性要求 环境干扰 轻量模型 精度模型 平衡策略 TensorRT 量化 模型剪枝 边缘部署 精度调优 性能调优 现场适配
避坑指南:我曾经在一个 PCB 项目里,模型在实验室跑得好好的,一到现场就崩。原因是现场光照和实验室不一样,模型没见过那种光照下的缺陷。后来我养成了一个习惯——先采集现场数据,再训练模型,别偷懒用公开数据集。

1.4 本章小结

工业缺陷检测不是单纯搞算法,它是个系统工程。从场景理解、模型选型、部署优化到现场调试,每一步都可能翻车。我见过太多人把精力全花在模型精度上,结果部署时发现跑不动,或者现场环境一变就废。

记住三个关键词:场景、速度、精度。先搞清楚你要解决什么问题,再选合适的模型,最后用工程手段把它部署好。后面的章节,我会一步步带你走完整个流程。