1. 项目背景与核心价值
磁瓦作为电机核心部件,其表面缺陷直接影响设备寿命和安全性。传统人工检测存在效率低(每小时仅能检测200-300片)、漏检率高(约15%)的问题。我们团队基于YOLOv8构建的自动检测系统,在产线测试中实现了98.7%的检测准确率,速度达到1200片/分钟。
这个项目的独特价值在于:
- 首次将YOLOv8的Anchor-Free特性应用于不规则磁瓦缺陷检测
- 构建了包含12类常见缺陷的完整数据集(后文将公开获取方式)
- 开发了针对高反光表面的数据增强方案
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据集构建关键步骤
2.1 数据采集规范
我们使用500万像素工业相机,在三种光照条件下采集样本:
- 正面环形光(检测裂纹、缺角)
- 低角度条形光(凸显划痕)
- 暗场照明(捕捉气泡、杂质)
重要提示:磁瓦表面存在釉质反光,建议采用偏振片消除干扰,这是保证后续标注质量的关键。
2.2 标注标准制定
针对磁瓦特性定义了四类标注规范:
| 缺陷类型 | 标注要求 | 典型尺寸 |
|---|---|---|
| 裂纹 | 沿裂纹走向画最小外接矩形 | 2-15mm |
| 气泡 | 圆形缺陷标直径 | 0.5-3mm |
| 缺角 | 标注缺失区域多边形 | 1-10mm² |
| 釉滴 | 标注凸起根部轮廓 | 0.3-2mm |
2.3 数据增强策略
针对样本不足问题,开发了专属增强方案:
python复制class MagneticTileAugment:
def __add_specular_noise(img):
# 模拟釉面反光干扰
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
hsv[:,:,1] = hsv[:,:,1] * random.uniform(0.7, 1.3)
return cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
def __call__(self, img, boxes):
if random.random() > 0.5:
img = self.__add_specular_noise(img)
# 其余标准增强...
3. YOLOv8模型优化要点
3.1 骨干网络改进
原始YOLOv8在磁瓦检测中存在小目标漏检问题,我们进行了三项调整:
- 在Neck部分增加P2特征层(160x160分辨率)
- 将SPPF改为SPPFCSPC结构
- 引入CBAM注意力模块
yaml复制# yolov8-custom.yaml
backbone:
# [from, repeats, module, args]
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
- [-1, 1, CBAM, [64]] # 新增注意力
head:
- [-1, 1, nn.Upsample, [None, 2, 'nearest']]
- [[-1, 4], 1, Concat, [1]] # 新增P2分支
3.2 损失函数调优
针对缺陷尺寸差异大的特点,改进DFL损失:
- 将distribution focal loss的bin数量从16增加到32
- 对1-5mm的小缺陷分配3倍权重
- 引入EIoU替代CIoU
4. 部署落地实践
4.1 模型量化方案
在RK3588平台上的部署优化:
- 使用TensorRT进行FP16量化
- 对检测头进行通道剪枝(减少30%参数量)
- 采用多batch流水线处理
实测性能对比:
| 方案 | 推理耗时 | 内存占用 | mAP@0.5 |
|---|---|---|---|
| 原始模型 | 58ms | 1.2GB | 0.983 |
| 量化版 | 22ms | 460MB | 0.976 |
4.2 产线集成要点
开发了双相机协同检测系统:
- 上视相机:检测表面缺陷
- 侧视相机:捕捉边缘缺陷
- 采用Modbus TCP协议与PLC通信
- 开发了基于PyQt的实时监控界面
5. 常见问题解决方案
5.1 反光干扰处理
典型报错:"误检反光点为缺陷"
解决方法:
- 在数据标注时明确区分真实缺陷与反光
- 增加偏振片采集的负样本
- 在推理时加入光斑过滤算法
5.2 小目标检测优化
当缺陷小于1mm时检测率下降:
- 改用4K分辨率相机
- 在Loss中增加小目标权重
- 采用滑动窗口局部检测
6. 项目成果与扩展
我们构建的数据集包含:
- 25,368张标注图像
- 12类缺陷标签
- 覆盖6种常见磁瓦型号
在3家工厂的实际测试表明:
- 漏检率从人工的15%降至1.2%
- 检测速度提升6倍
- 每年可节省质检成本约80万元
后续可扩展方向:
- 结合X-ray检测内部缺陷
- 开发基于3D点云的厚度检测
- 构建行业标准缺陷数据库
