YOLO-v5案例分享:用预训练模型快速实现PCB板焊点缺陷检测

1. 项目背景与挑战

在电子制造业中,PCB板焊点质量直接影响产品性能和可靠性。传统人工检测方式存在效率低、漏检率高、成本高等问题。以某中型电子厂为例,每天需检测约5000块PCB板,每块板平均有200个焊点,人工检测需要10名质检员三班倒工作,仍存在约3%的漏检率。

主要技术挑战包括:

  • 小目标检测:焊点平均尺寸仅20×20像素
  • 缺陷多样性:虚焊、连锡、偏移等10+种缺陷类型
  • 实时性要求:产线速度要求每秒至少检测5帧
  • 数据稀缺:初期仅能收集800张标注图像

2. 解决方案设计

2.1 技术选型

经过对比测试,我们选择YOLOv5s模型,主要基于以下考量:

模型 参数量 推理速度(FPS) mAP@0.5 适用性
Faster R-CNN 41M 8 82% 计算资源要求高
SSD300 24M 35 74% 小目标检测差
YOLOv5s 7M 62 76% 平衡速度精度
YOLOv5m 21M 45 82% 精度更高

2.2 数据准备

采用半自动标注流程:

  1. 使用LabelImg标注200张样本
  2. 训练初始模型进行预标注
  3. 人工修正预标注结果
  4. 迭代扩充至800张高质量标注

数据集分布示例:

  • 正常焊点:15,200个
  • 虚焊:1,850个
  • 连锡:1,120个
  • 偏移:980个

3. 模型实现步骤

3.1 环境准备

使用CSDN星图镜像快速部署:

# 拉取镜像
docker pull csdn/yolov5:latest

# 启动容器
docker run -it --gpus all -p 8888:8888 csdn/yolov5

3.2 数据配置

创建数据集配置文件pcb.yaml:

# PCB缺陷检测数据集配置
train: ../datasets/pcb/images/train
val: ../datasets/pcb/images/val

# 类别定义
names:
  0: normal
  1: empty_solder
  2: bridge
  3: misalignment

3.3 模型训练

使用迁移学习微调预训练模型:

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 100 \
  --data pcb.yaml \
  --weights yolov5s.pt \
  --cache \
  --device 0

关键训练参数:

  • 初始学习率:0.01
  • 优化器:SGD
  • 数据增强:Mosaic+MixUp
  • 训练时间:2小时(RTX 3090)

4. 效果展示与分析

4.1 检测效果

测试集指标:

缺陷类型 精确率 召回率 F1-score
虚焊 92.3% 89.7% 91.0%
连锡 95.1% 93.2% 94.1%
偏移 88.6% 85.4% 87.0%
平均 91.2% 89.4% 90.3%

4.2 实际产线表现

部署到NVIDIA Jetson Xavier NX后的性能:

  • 推理速度:28 FPS (640×640输入)
  • 内存占用:1.2GB
  • 端到端延迟:45ms

5. 工程优化技巧

5.1 小目标检测优化

  1. 调整anchor尺寸
# 使用AutoAnchor重新计算
python utils/autoanchor.py --cfg models/yolov5s.yaml --data pcb.yaml
  1. 增加检测头分辨率
# 修改model.yaml
head:
  [[...], [...], 
   [-1, 1, Conv, [512, 3, 2]],  # P4
   [-1, 1, Conv, [256, 3, 2]]]  # 新增P5

5.2 部署优化

使用TensorRT加速:

python export.py \
  --weights runs/train/exp/weights/best.pt \
  --include engine \
  --device 0 \
  --half

优化前后对比:

指标 PyTorch TensorRT 提升
FPS 22 38 +72%
延迟 45ms 26ms -42%
显存 1.5GB 0.9GB -40%

6. 总结与展望

本项目验证了YOLOv5在工业质检场景的实用价值,仅用800张标注图像和2小时训练就实现了90%+的检测准确率。关键成功因素包括:

  1. 预训练模型迁移:利用COCO预训练权重快速收敛
  2. 数据增强策略:Mosaic提升小目标检测能力
  3. 工程化优化:TensorRT加速满足实时要求

下一步改进方向:

  • 引入主动学习减少标注成本
  • 开发异常检测模块处理未知缺陷
  • 优化模型量化方案适配边缘设备

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐