主要内容如下:
1、数据集介绍
2、下载PCB数据集
3、模型训练及可视化
运行环境 :Python=3.8(要求>=3.8),torch1.12.0+cu113(要求>=1.8)
YOLO格式下载链接【直接拿来训练】 :https://aistudio.baidu.com/datasetdetail/297149
往期内容:
【超详细】跑通YOLOv8之深度学习环境配置1-Anaconda安装
【超详细】跑通YOLOv8之深度学习环境配置2-CUDA安装
【超详细】跑通YOLOv8之深度学习环境配置3-YOLOv8安装
【超详细】基于YOLOv8的PCB缺陷检测
【超详细】基于YOLOv11的PCB缺陷检测
注意:文中仅简单训练测试,不能作为其他对照实验依据,同时数据集划分可能存在差异,结果存在不一致!
1 数据集介绍
1.1 简介
印刷电路板(PCB)瑕疵数据集:是一个公共的合成PCB数据集,由北京大学发布,其中包含1386张图像以及6种缺陷(缺失孔,鼠标咬伤,开路,短路,杂散,伪铜),用于检测,分类和配准任务。本文我们选取了其中适用与检测任务的693张图像,随机选择593张图像作为训练集,100张图像作为验证集。
1.2 示例

2 下载数据集
官方链接 :https://robotics.pkusz.edu.cn/resources/dataset/
注意 :百度网盘下载,速度很慢,不推荐!推荐去百度AI stduio数据集下载,速度快!
百度AI stduio下载链接【直接拿来训练】 :https://aistudio.baidu.com/datasetdetail/297149
3 训练记录
3.1 不同模型大小训练结果
训练参数设置:epoch=100,batchsize=8,cache=False,imagez=640
3.1.1 yolov8n-0.886

3.1.2 yolov8s-0.948

3.1.3 yolov8m-0.961

3.1.4 yolov8l-0.959

3.2 不同分辨率
训练参数设置:epoch=100,batchsize=8,cache=False,imagez=640-1536
3.2 yolov8s-960-0.966

3.2 yolov8s-1280-0.973

3.2 yolov8s-1536-0.980

3.2 yolov8m-960-0.970

3.2 yolov8m-1280-0.980

3.2 yolov8m-1536-0.981

3.3 不同损失
训练参数设置:epoch=100,batchsize=8,cache=False,imagez=960
3.3.1 yolov8m-960-slidloss-0.977

3.3.2 yolov8m-960-focalloss-0.963

3.3.3 yolov8m-960-wiseiou-0.976

3.3.4 yolov8m-960-shapeiou-0.969

3.3.5 yolov8m-960-eiou-0.968

3.3.6 yolov8m-960-ciou-0.970【默认】

3.4 se注意力和cga,及asff模块
训练参数设置 :epoch=100,batchsize=8,cache=False,imagez=960
模块加的位置:neck与head三路径中间。
3.4.1 yolov8m-960-cga-0.975

3.4.2 yolov8m-960-asff-0.972

3.4.3 yolov8m-960-se-0.978

3.4.4 yolov8s-640-cga-0.932

3.4.5 yolov8s-640-asff-0.938

3.4.6 yolov8s-640-se-0.94

结论
1、参数更大的模型如m、l等检测效果要优于n、s小模型,但是会带来更多资源消耗以及降低检测速度;
2、针对小目标检测,提升分辨率带来效果更显著,但较大的分辨率也会降低检测速度,以及带来更多的资源消耗;
3、一般而言,数据集数量太少,专栏的魔改没啥效果。