4. 工业数据集采集与标注:从相机选型到数据划分
数据,说白了就是工业质检项目的“燃料”。模型再牛,没有高质量的数据也是白搭。我见过太多团队花大把时间调参,结果发现是数据本身有问题——要么光照不对,要么标注漏了关键缺陷。这一章,咱们就把数据采集和标注这摊事彻底捋清楚。
4.1 工业相机选型与拍摄规范
选相机不是越贵越好,得看你的检测对象是什么。我当年刚入行时,给一个手机玻璃盖板项目选相机,差点买了台高速相机——后来发现根本用不上,白白浪费预算。
4.1.1 相机选型核心参数
| 参数 | 说明 | 我的建议 |
|---|---|---|
| 分辨率 | 决定能看清多小的缺陷 | 一般缺陷至少占 3×3 像素,按检测精度反推 |
| 帧率 | 决定检测节拍 | 流水线场景至少 30fps,静态拍摄无所谓 |
| 传感器类型 | CCD vs CMOS | 工业场景 CCD 更稳,但 CMOS 性价比高 |
| 接口 | USB3.0 / GigE / Camera Link | GigE 最常用,布线方便,距离远 |
| 镜头接口 | C / CS / F 等 | C 口最常见,适配镜头多 |
4.1.2 拍摄规范:光照与角度
工业质检里,光照比相机本身还重要。你想想看,同样的缺陷,打光角度不对,拍出来就是“隐身”的。
- 环形光:适合检测划痕、凹坑,能凸显表面纹理变化。
- 背光:适合检测轮廓、尺寸,比如螺丝是否缺失。
- 同轴光:适合高反光表面,比如金属、玻璃。
- 条形光:适合大面积均匀照明,比如 PCB 板检测。
拍摄角度方面,尽量让相机光轴垂直于被测面。如果必须倾斜,要保证畸变在可接受范围内——不然模型学到的特征全是歪的。
4.2 LabelImg / LabelStudio 标注工具使用
标注工具选哪个?我的经验是:小项目用 LabelImg,大项目用 LabelStudio。前者轻量,后者功能全,支持多人协作。
4.2.1 LabelImg:快速上手
LabelImg 是纯 Python 写的,安装简单。我最喜欢它的快捷键——标注效率能翻倍。
# 安装
pip install labelImg
# 启动
labelImg
# 常用快捷键
W: 创建矩形框
A: 上一张图
D: 下一张图
Ctrl+S: 保存
Del: 删除选中框
标注时注意:框要贴紧缺陷边缘,别留太多背景。我见过有人框得松松垮垮,结果模型学了一堆背景特征,检测精度直接掉 10 个点。
4.2.2 LabelStudio:企业级标注
LabelStudio 支持图像、文本、音频等多种类型,而且可以配置标注模板。对于工业质检,我一般用它的“矩形框标注”模板,配合“分类”标签。
- 项目配置:定义标签列表,比如“划痕”、“脏污”、“破损”。
- 多人协作:分配任务给不同标注员,支持审核流程。
- 导出格式:支持 COCO、VOC、YOLO 格式,直接喂给模型。
4.3 数据集划分:训练 / 验证 / 测试
数据划分看似简单,但坑不少。我见过有人把同一产品的不同照片分到训练集和测试集——结果模型“记住”了产品特征,而不是缺陷特征。
4.3.1 划分原则
| 数据集 | 比例 | 用途 | 注意事项 |
|---|---|---|---|
| 训练集 | 70% - 80% | 模型学习参数 | 包含所有缺陷类型,分布尽量均匀 |
| 验证集 | 10% - 15% | 调参、选模型 | 不能参与训练,不能泄露信息 |
| 测试集 | 10% - 15% | 最终评估 | 完全独立,只在最后用一次 |
4.3.2 划分方法
工业场景下,我推荐用 分层抽样——保证每个缺陷类型在三个集合中的比例一致。比如划痕占 30%,那训练、验证、测试集里划痕也各占 30%。
# 用 sklearn 做分层划分
from sklearn.model_selection import train_test_split
# 假设 images 是图片路径列表,labels 是对应的缺陷类型
train_imgs, temp_imgs, train_labels, temp_labels = train_test_split(
images, labels, test_size=0.3, stratify=labels, random_state=42
)
val_imgs, test_imgs, val_labels, test_labels = train_test_split(
temp_imgs, temp_labels, test_size=0.5, stratify=temp_labels, random_state=42
)
另外,同一产品的不同照片要分到同一集合。比如一个零件拍了 10 张不同角度的照片,这 10 张要么全在训练集,要么全在测试集——不然模型会“作弊”。
4.4 本章知识体系
下面这张图把数据采集到划分的流程串起来了,你可以对照着梳理自己的项目。