一、YOLOv8优势
- 精度高:AP达53%+
- 速度快:支持实时检测
- 部署简单:支持多平台
- 开源免费:Ultralytics维护
二、项目需求
检测PCB板上的缺陷:划痕、缺件、虚焊、偏移
三、数据准备
# 目录结构dataset/├── images/│ ├── train/│ └── val/└── labels/ ├── train/ └── val/# label格式:class x_center y_center width height
四、训练配置
# ultralytics_yolov8/steup.yamlpath: dataset/images train: train val: val# 模型配置nc: 4 # 缺陷类别数names: ['scratch', 'missing', 'solder', 'offset']
五、训练命令
from ultralytics import YOLO# 加载模型model = YOLO('yolov8n.pt') # n/s/m/l/x# 训练model.train(data='steup.yaml', epochs=100, imgsz=640)
六、模型评估
# 验证mAPresults = model.val(data='steup.yaml')print(f"mAP50: {results.box.map50}")print(f"mAP50-95: {results.box.map}")
七、工业部署
# Python推理from ultralytics import YOLOimport cv2model = YOLO('best.pt')cap = cv2.VideoCapture(0)while cap.isOpened(): ret, frame = cap.read() results = model(frame) cv2.imshow('result', results[0].plot()) if cv2.waitKey(1) == 'q': break
八、性能优化
- 模型量化:FP32→FP16→INT8
- 批量推理:提高吞吐量
- 异步处理:多线程IO
关注【一路福利】,获取完整YOLOv8工业检测项目!