1. 数据集背景与应用场景
这个包含2238张瓷砖图像的缺陷检测数据集,是工业质检领域的重要资源。在陶瓷制品生产线中,表面裂纹、划痕、色差等缺陷直接影响产品等级和售价。传统人工质检每小时最多检测200-300片瓷砖,且人眼疲劳后漏检率可达15%以上。我们团队在广东佛山某陶瓷厂实地采集时,产线主管指着堆积的次品箱说:"这批货光人工复检成本就吃掉我们3个点利润。"
数据集覆盖6类常见缺陷:
- 裂纹(Crack):占比32%,多为烧制过程应力不均导致
- 边缘破损(Edge_chip):占比21%,运输碰撞典型损伤
- 釉面气泡(Glaze_bubble):占比18%,烧制温度异常产物
- 色斑(Stain):占比15%,原料混合不均造成
- 划痕(Scratch):占比9%,抛光工序残留
- 缺角(Corner_missing):占比5%,切割工序失误
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据采集与标注规范
2.1 图像采集参数
使用Basler ace acA2000-50gc工业相机搭配Schneider Kreuznach Xenoplan 35mm镜头,在2.5米高度垂直拍摄。照明采用4组100W LED条形光源,以30度角环形布置,确保800-1000lux照度均匀性>90%。每张图像分辨率2048×1536,保存为无损PNG格式。
关键细节:拍摄时在瓷砖四角放置4mm直径钢珠作为尺度参照物,后期标注时以此校准实际缺陷尺寸。
2.2 VOC标注要点
标注团队由3位有2年以上经验的质检员组成,采用LabelImg工具进行标注。特殊处理规范:
- 裂纹类:标注实际可见部分,不预测延伸区域
- 气泡群:直径>2mm的单独标注,密集小气泡按区域标注
- 色斑:与背景色差值ΔE>5才纳入标注
- 边缘缺陷:包含相邻5mm正常区域供模型学习过渡特征
3. YOLO格式优化策略
3.1 数据增强配置
在YOLOv8训练中,我们采用以下增强组合(albumentations实现):
python复制transform = A.Compose([
A.RandomBrightnessContrast(p=0.5),
A.GaussNoise(var_limit=(10,50),p=0.3),
A.Rotate(limit=15,p=0.8),
A.RandomResizedCrop(640,640,scale=(0.8,1.0),ratio=(0.9,1.1)),
A.CoarseDropout(max_holes=8,max_height=32,max_width=32,p=0.2)
], bbox_params=A.BboxParams(format='yolo'))
3.2 锚框聚类
使用k-means++对标注框聚类,得到适合瓷砖缺陷的锚点尺寸:
code复制[yolo]
anchors = 12,16, 22,29, 33,23, 38,51, 46,37, 55,76, 72,61, 92,123, 139,108
4. 实际部署效果
在RK3588开发板部署YOLOv8s模型时,通过以下优化实现实时检测:
- 采用TensorRT量化到INT8,模型体积从22MB压缩到3.7MB
- 使用NMS后处理优化,将推理时间从58ms降至32ms
- 对1920x1080输入图像,缺陷检出率如下表:
| 缺陷类型 | 召回率 | 误检率 |
|---|---|---|
| 裂纹 | 94.2% | 1.3% |
| 边缘破损 | 89.7% | 2.1% |
| 釉面气泡 | 91.5% | 3.4% |
5. 常见问题解决方案
5.1 小目标漏检处理
当缺陷小于15像素时,建议:
- 修改model.yaml中detect层stride从32调整为16
- 添加SPPF层增强小目标特征提取
- 训练时使用--fl_gamma=1.5聚焦困难样本
5.2 样本不均衡对策
对占比不足10%的缺角类缺陷:
python复制# 在data.yaml中添加类别权重
class_weights: [1.0, 1.0, 1.0, 1.0, 1.5, 2.0]
6. 数据扩展建议
现有数据集在以下场景需补充:
- 仿古砖:表面纹理复杂,当前数据集仅含抛光砖
- 超大尺寸砖:1200x2400mm规格需调整拍摄方案
- 深色系瓷砖:当前80%样本为浅色系
我们正在开发动态数据增强方案,通过Blender合成更多材质缺陷。实测显示,添加30%合成数据可使模型在深色砖上的F1-score提升17%。
