PCBA-YOLOv8 集成电路缺陷检测数据集精度 96.7%map50大小: 包含4000张照片缺陷类别: 共标注8种原始缺陷包括松动的风扇螺丝、缺失的风扇螺丝、松动的主板螺丝、缺失的主板螺丝、松动的风扇线缆、缺失的风扇线缆、风扇划痕、主板划痕。售货可提供已经处理好的数据集8:2划分训练好的权重文件与 PR 曲线等参考文献训练结果100epochs的yolov8 map50为0.9671PCBA-YOLOv8 集成电路缺陷检测数据集说明一、数据集与模型信息表项目详情数据集名称PCBA 集成电路缺陷检测数据集任务类型目标检测YOLO格式图像数量4000张已标注图像数据划分8:2训练集:验证集缺陷类别8类1.Loose fan screws松动的风扇螺丝2.Missing fan screws缺失的风扇螺丝3.Loose motherboard screws松动的主板螺丝4.Missing motherboard screws缺失的主板螺丝5.Loose fan wiring松动的风扇线缆6.Missing fan wiring缺失的风扇线缆7.Fan scratches风扇划痕8.Motherboard scratches主板划痕模型YOLOv8训练轮次100 epochs核心指标mAP0.5 0.96796.7%交付内容划分好的数据集、训练好的权重文件、训练日志/PR曲线/混淆矩阵等二、YOLOv8 训练代码可直接运行1. 数据集配置文件pcba.yaml# 数据集根目录按实际路径修改path:./pcba_datasettrain:images/trainval:images/val# 类别数量与名称nc:8names:0:Loose fan screws1:Missing fan screws2:Loose motherboard screws3:Missing motherboard screws4:Loose fan wiring5:Missing fan wiring6:Fan scratches7:Motherboard scratches2. 训练脚本train_pcba.pyfromultralyticsimportYOLO# 加载YOLOv8模型可根据显存选择n/s/m/l/x版本modelYOLO(yolov8n.pt)# yolov8s.pt / yolov8m.pt / yolov8l.pt# 训练配置resultsmodel.train(datapcba.yaml,# 上面写的数据集配置文件epochs100,# 训练轮次batch16,# 批次大小显存不足可改为8imgsz640,# 输入图像尺寸device0,# 使用GPU训练无GPU改为 devicecpuworkers8,# 数据加载线程数projectpcba_runs,# 训练结果保存目录namepcba_yolov8_train,# 训练名称pretrainedTrue,# 使用预训练权重optimizerAdamW,# 优化器lr00.01,# 初始学习率lrf0.01,# 最终学习率warmup_epochs3,# 预热轮次augmentTrue,# 开启数据增强mosaic0.7,# Mosaic增强比例hsv_h0.015,# 颜色增强参数hsv_s0.7,hsv_v0.4,fliplr0.5,# 左右翻转概率cacheTrue,# 缓存数据加速训练patience15,# 早停15轮无提升则停止verboseTrue# 显示训练日志)# 训练完成后评估模型metricsmodel.val()print(f训练完成mAP0.5:{metrics.box.map50:.3f})print(f最优模型路径:{results.best})3. 模型推理与测试代码fromultralyticsimportYOLOimportcv2# 加载训练好的最优模型modelYOLO(pcba_runs/pcba_yolov8_train/weights/best.pt)defdetect_pcba_defect(image_path,save_pathresult.jpg):# 读取图像imgcv2.imread(image_path)# 执行检测resultsmodel(img,conf0.25,iou0.45)# 绘制检测结果annotated_imgresults[0].plot()# 保存并显示结果cv2.imwrite(save_path,annotated_img)print(f检测完成结果已保存至{save_path})# 打印检测到的缺陷信息print(检测到的缺陷)forboxinresults[0].boxes:cls_idint(box.cls)cls_nameresults[0].names[cls_id]conffloat(box.conf)print(f缺陷:{cls_name}, 置信度:{conf:.2f})# 使用示例if__name____main__:detect_pcba_defect(test_pcba.jpg)三、训练结果说明模型在100轮训练后mAP0.5达到0.967对8类PCBA缺陷的识别精度较高训练过程中损失box_loss、cls_loss、dfl_loss稳定下降验证集损失无明显上升模型未出现过拟合各类别识别精度均在0.94以上其中“Missing fan wiring”等类别精度最高可达0.978四、使用说明将数据集解压后按images/train、images/val、labels/train、labels/val结构存放修改pcba.yaml中的path为数据集实际路径运行train_pcba.py开始训练训练结果将保存在pcba_runs/目录下训练完成后使用detect_pcba_defect()函数对新的PCBA图像进行缺陷检测