1. 工业缺陷检测概述
1.1 什么是工业缺陷检测
工业缺陷检测,说白了就是给产品做「体检」。
一条产线上,零件哗哗地过。有的表面有划痕,有的尺寸偏了0.1毫米,有的内部有气泡。你得把这些「不合格」的挑出来,不然到了客户手里就是投诉、退货、甚至赔偿。
我最早接触这个领域是在一家3C代工厂。当时他们做手机中框检测,人工一天看几千个零件,眼睛都快瞎了。漏检率居高不下,客户天天催。那时候我就意识到——这事必须交给机器。
工业缺陷检测的核心任务就三个:
- 定位——缺陷在哪儿?
- 分类——是什么缺陷?划痕、脏污、还是变形?
- 判定——这个缺陷能不能接受?是良品还是不良品?
常见的缺陷类型,我列个表,大家有个直观印象:
| 缺陷类型 | 典型场景 | 检测难度 |
|---|---|---|
| 表面划痕 | 金属件、玻璃面板 | 中等(反光干扰大) |
| 脏污/油渍 | PCB板、光学镜头 | 低(对比度明显) |
| 裂纹 | 陶瓷、铸件 | 高(细且不规则) |
| 尺寸偏差 | 精密零件装配 | 中等(需标定) |
| 内部气泡 | 注塑件、密封胶 | 高(需透射光) |
| 焊点缺陷 | SMT贴片、电池极耳 | 高(微小且密集) |
关键认知:工业缺陷检测不是「能不能看到」的问题,而是「能不能稳定、快速、低成本地看到」的问题。精度99%不够,要99.99%才行。
1.2 传统视觉检测的痛点
传统方法靠什么?靠「规则」。
你写一段代码:如果这个区域的灰度平均值小于阈值,就判为缺陷。或者用边缘检测找轮廓,再用几何匹配算尺寸。
听起来挺合理。但实际跑起来,问题一堆。
痛点一:环境变化就崩
光照稍微变一下,同一个零件拍出来灰度值差20个点。你的阈值设死了,今天能检,明天就漏。我遇到过一条产线,上午和下午的光线角度不一样,检测结果直接翻车。最后没办法,加了个遮光罩才算稳住。
痛点二:缺陷形态千变万化
划痕有深有浅,有长有短,有直的也有弯的。你写规则能覆盖多少种?写100条规则,第101种缺陷来了,照样抓瞎。说白了,规则是「死」的,缺陷是「活」的。
痛点三:开发周期太长
换一个产品型号,所有规则要重新调。参数、阈值、ROI区域,全得改。一个项目搞下来,少说两三个月。产线等不起。
痛点四:复杂场景无能为力
纹理背景、反光表面、微小缺陷……传统算法在这些场景下,信噪比低到没法看。你调了半天,误检率还是高得离谱。
我总结了一个对比表,大家感受一下差距:
| 维度 | 传统视觉 | 深度学习(YOLO) |
|---|---|---|
| 适应性 | 差,换产品需重调 | 强,重新训练即可 |
| 抗干扰 | 弱,光照/角度敏感 | 强,数据增强可覆盖 |
| 开发周期 | 2-3个月 | 1-2周(标注+训练) |
| 复杂缺陷 | 难以处理 | 可学习任意形态 |
| 维护成本 | 高,规则需持续维护 | 低,迭代数据即可 |
注意:传统视觉不是一无是处。在光照稳定、缺陷简单的场景下,它成本低、速度快。但如果你面对的是「多品种、小批量、缺陷复杂」的产线,传统方法真的扛不住。
1.3 为什么选择YOLO
YOLO,全称You Only Look Once。名字就很直白——只看一眼。
它把检测问题变成了一个回归问题。一张图进去,直接输出所有目标的位置和类别。不需要像Faster R-CNN那样先提候选框再分类,一步到位。
为什么工业场景特别适合YOLO?我讲几个点:
- 速度快:YOLOv8在GPU上能跑到几百帧。产线节拍通常每秒几个到几十个零件,完全够用。
- 精度够:mAP 50能做到95%以上。配合数据增强和迁移学习,小样本也能训出好模型。
- 部署方便:ONNX、TensorRT、OpenVINO全支持。边缘设备、工控机都能跑。
- 生态成熟:社区活跃,预训练模型多。你不用从零开始训练,微调就行。
我记得有一次帮一家汽车零部件厂做检测。他们之前用传统视觉,误检率15%,产线工人天天骂。我们换了YOLOv5,只标了500张图,训练两天,误检率降到2%以下。客户当场拍板——全部换。
我的建议:如果你刚接触工业检测,别一上来就搞什么Transformer、ViT。YOLO是经过验证的、最稳的起点。先把YOLO玩透,再考虑其他。
1.4 课程整体架构与学习路径
这门课一共30章。我按「基础→实战→进阶」三条线来组织。
下面这张图,是整个课程的知识体系:
具体来说,学习路径是这样的:
- 基础篇(第1-10章):先搞懂YOLO的原理,学会搭建环境、标注数据、训练模型、评估效果。这部分是地基,别跳。
- 实战篇(第11-22章):拿真实工业场景练手。金属、PCB、注塑、纺织、食品……每个项目我都会给完整的数据集和代码。你跟着做一遍,基本就上手了。
- 进阶篇(第23-30章):处理更难的场景。小目标、模型压缩、无监督异常检测、3D点云。这些是让你从「会用」到「精通」的关键。
我的建议:别急着跳实战。先把基础篇前5章吃透,尤其是数据标注和训练流程。我见过太多人一上来就调模型,结果数据标得乱七八糟,训出来全是废的。数据质量决定模型上限,这话我说了十年,没变过。