1、课程导论与行业背景
大家好,欢迎来到《从零构建工业缺陷检测标注数据集》的第一章。
我先做个自我介绍。我在机器视觉这行摸爬滚打了十多年,从最早的Halcon脚本到后来的深度学习框架,踩过的坑比走过的路还多。今天这第一课,咱们不急着敲代码,先聊聊这个行业到底在做什么,以及——数据标注这件事,凭什么能决定一个项目的生死。
1.1 工业缺陷检测的定义
说白了,工业缺陷检测就是用机器代替人眼,去判断产品表面或内部有没有瑕疵。
你想想看,一条产线每分钟跑几百个零件,靠人盯着看?不现实。人眼会疲劳,会漏检,而且标准还不统一。机器不会。机器只要教会了,它就能24小时不眨眼地干活。
常见的缺陷类型包括:划痕、脏污、崩边、缺料、气泡、异物、颜色不均、尺寸超差等等。每个行业、每种产品,缺陷的样子都不一样。这也是为什么数据标注这么头疼——你没法用一个模板套所有场景。
1.2 应用场景:四个典型行业
我这些年接触过的项目,基本覆盖了下面这几个领域。每个行业都有它的脾气。
| 行业 | 典型产品 | 常见缺陷 | 检测难点 |
|---|---|---|---|
| 3C电子 | 手机中框、PCB板、屏幕玻璃 | 划痕、脏污、焊点不良、线路断路 | 反光强、缺陷微小、背景纹理复杂 |
| 汽车零部件 | 发动机缸体、轴承、密封圈 | 气孔、裂纹、毛刺、尺寸偏差 | 金属表面反光、缺陷形态不规则 |
| 纺织 | 布料、无纺布、纱线 | 断经、污渍、色差、破洞 | 纹理周期性强、缺陷对比度低 |
| 食品 | 饼干、饮料瓶、包装袋 | 异物、破损、封口不严、标签歪斜 | 产品形态多变、产线速度极快 |
举个例子。我在做3C电子项目时,遇到过手机玻璃盖板的划痕检测。玻璃本身是透明的,打光角度稍微偏一点,划痕就看不见了。更麻烦的是,玻璃表面有防指纹涂层,那个涂层本身就有纹理,容易和划痕混淆。嗯,这种场景下,数据标注的精细度直接决定了模型能不能区分「真缺陷」和「假纹理」。
1.3 传统视觉检测 vs 深度学习检测
很多人问我:现在是不是都用深度学习了?传统方法是不是过时了?
我的回答是:看场景。两种方法各有各的用武之地。
下面这张表,是我自己总结的对比,你可以参考一下。
| 对比维度 | 传统视觉检测 | 深度学习检测 |
|---|---|---|
| 原理 | 手工设计特征 + 规则判断 | 数据驱动 + 自动特征提取 |
| 开发周期 | 短(几天到几周) | 长(几周到几个月) |
| 对数据的需求 | 低(几十张样本即可) | 高(需要大量标注数据) |
| 泛化能力 | 差(换产品就得重新调参) | 强(同一模型可适应多种缺陷) |
| 硬件要求 | 低(普通工控机即可) | 高(需要GPU加速) |
| 典型场景 | 尺寸测量、有无检测、二维码读取 | 复杂表面缺陷、语义分割、异常检测 |
我曾经在一个纺织项目里,一开始用传统方法做布匹的断经检测。效果还行,但一到换花色,就得重新调阈值和滤波器参数。后来换成深度学习,虽然前期标注累得够呛,但模型训练好之后,换花色只需要补充几十张标注图,微调一下就行。说白了,深度学习是用前期的标注工作量,换后期的维护省心。
1.4 数据标注在项目中的核心地位
这一点,我必须重点强调。很多团队把精力全放在模型选型和调参上,结果项目死在了数据上。
数据标注在工业缺陷检测项目中的核心地位,体现在三个方面:
- 决定了模型的上限 —— 再好的模型,喂进去的是垃圾数据,吐出来的就是垃圾结果。标注质量直接决定了模型能学到什么。
- 占据了项目的大部分时间 —— 一个典型的工业检测项目,数据采集和标注通常占60%-70%的时间。模型训练和部署反而只占一小部分。
- 是项目可复制的关键 —— 标注规范做得好,换产品、换产线时,数据可以快速复用。标注规范一团糟,换个产品就得从头再来。
你想想看,一个缺陷检测模型,训练集里只有100张正样本、10张负样本,而且负样本的标注框还画得歪歪扭扭。这样的模型,你敢让它上产线吗?
所以,这门课的核心目标,就是帮你把数据标注这件事做扎实。从标注规范、工具选择、质量控制,到数据增强、格式转换、版本管理,咱们一步一步来。
1.5 本章知识体系
下面这张图,是我画的本章知识结构。你可以把它当作一个地图,后面每章都会在这个地图上展开。
这张图把本章的核心内容串起来了。从缺陷检测的定义出发,延伸到四个典型行业,再对比传统方法和深度学习的差异,最后落到数据标注的核心地位上。后面的课程,都会围绕这个框架展开。