一、工业缺陷检测到底是什么
说白了,就是用机器视觉代替人眼,在生产线上找出产品表面的瑕疵。我入行那会儿,很多工厂还靠老师傅拿放大镜看,一天下来眼睛都快瞎了。现在不一样了,摄像头加算法,一条产线能顶几十个人。
工业缺陷检测的核心就三件事:拍得到、看得清、判得准。拍得到靠光源和相机,看得清靠光学设计和成像,判得准靠模型算法。这三环缺一不可,我在项目里吃过不少亏,后面慢慢讲。
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 | 轻量模型容易漏检小缺陷,需要数据增强 |
选型的时候,我一般按这个顺序来:
- 先定硬件:用 Jetson Orin 还是 x86 工控机?算力上限是多少?
- 再定帧率:产线节拍是多少?单张图留给模型的时间有多少?
- 最后定模型:在满足帧率的前提下,选精度最高的那个
1.3 工业缺陷检测知识体系
下面这张图是我自己总结的,把整个知识体系串起来了。你看着它,就知道每个环节该学什么。
1.4 本章小结
工业缺陷检测不是单纯搞算法,它是个系统工程。从场景理解、模型选型、部署优化到现场调试,每一步都可能翻车。我见过太多人把精力全花在模型精度上,结果部署时发现跑不动,或者现场环境一变就废。
记住三个关键词:场景、速度、精度。先搞清楚你要解决什么问题,再选合适的模型,最后用工程手段把它部署好。后面的章节,我会一步步带你走完整个流程。