0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于YOLOv8的PCB板缺陷检测

OpenCV学堂 来源:OpenCV学堂 2023-08-18 10:56 次阅读

介绍

基于DeepPCB这个公开数据集,总计有1500份的模板-缺陷图像数据对,总计图像3000张,对应text格式的1500个标注文本描述文件。包含PCB主要的六个类别错误,分别是:

pen
short
mousebite
spur
pin hole
spurious copper
数据集来自线扫相机拍摄,分辨率标准是48个像素大致等于1毫米。原图大小是16kx16k的大小,然后预处理裁剪为标准的640x640大小,然后全部处理成二值图像从而消除光照不平衡影响。处理以后的图像对(缺陷图-模板图)显示如下:

70b31e18-3ce7-11ee-ac96-dac502259ad0.png

数据标注的的格式为:x1 y1 x2 y2 type 标注数据分为两个部分1000张作为训练样本,500张作为做测试样本,训练与测试样本的缺陷数据统计分布如下:

70be40c2-3ce7-11ee-ac96-dac502259ad0.png

YOLOv8模型训练

首先基于数据集,制作YOLO格式数据集,要把标注文件从VOC格式转换YOLO格式,然后按照指定的格式制作完成数据集。不知道怎么制作的看这里: YOLOv8自定义数据集训练到模型部署推理 制作好数据集,配置好数据集描述文件,

70dbb152-3ce7-11ee-ac96-dac502259ad0.png

然后直接使用下面的命令行开始训练:

yolo train model=yolov8s.pt data=pcb_dataset.yaml epochs=15 imgsz=640 batch=1

训练完成之后如下:

70f25bbe-3ce7-11ee-ac96-dac502259ad0.png

测试评估的结果如下:

7125fcee-3ce7-11ee-ac96-dac502259ad0.png

713ba116-3ce7-11ee-ac96-dac502259ad0.png

7145c61e-3ce7-11ee-ac96-dac502259ad0.png

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • pcb
    pcb
    +关注

    关注

    4220

    文章

    22472

    浏览量

    385774
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47685
  • 缺陷检测
    +关注

    关注

    2

    文章

    131

    浏览量

    12058
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24351

原文标题:实战 | 基于YOLOv8的PCB板缺陷检测

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【爱芯派 Pro 开发试用体验】yolov8模型转换

    通过开发上预制的ax_run_model 工具,测试模型速度和精度。 示例都是yolov5的,没有yolov8,模型怎么运行还需进一步研究。
    发表于 11-20 12:19

    使用YOLOv8做目标检测和实例分割的演示

    YOLOv8是来自Ultralytics的最新的基于YOLO的对象检测模型系列,提供最先进的性能。
    的头像 发表于 02-06 10:11 5973次阅读

    YOLOv8自定义数据集训练到模型部署推理简析

    如果你只是想使用而不是开发,强烈推荐通过pip安装方式获取YOLOv8包!YOLOv8安装命令行
    的头像 发表于 03-24 09:27 3729次阅读

    TensorRT 8.6 C++开发环境配置与YOLOv8实例分割推理演示

    YOLOv8实例分割TensorRT 推理代码已经完成C++类封装,三行代码即可实现YOLOv8对象检测与实例分割模型推理,不需要改任何代码即可支持自定义数据训练部署推理
    的头像 发表于 04-25 10:49 3697次阅读
    TensorRT 8.6 C++开发环境配置与<b class='flag-5'>YOLOv8</b>实例分割推理演示

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8分类模型

    本系列文章将在 AI 爱克斯开发板上使用 OpenVINO 开发套件依次部署并测评 YOLOv8 的分类模型、目标检测模型、实例分割模型和人体姿态估计模型。
    的头像 发表于 05-05 11:47 598次阅读
    在AI爱克斯开发板上用OpenVINO™加速<b class='flag-5'>YOLOv8</b>分类模型

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8目标检测模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8 分类模型》介绍了在 AI 爱克斯开发板上使用 OpenVINO 开发套件部署并测评 YOLOv8 的分类模型,本文将介绍在 AI 爱克斯开发板上使用 OpenVINO 加速
    的头像 发表于 05-12 09:08 844次阅读
    在AI爱克斯开发板上用OpenVINO™加速<b class='flag-5'>YOLOv8</b>目标<b class='flag-5'>检测</b>模型

    YOLOv8版本升级支持小目标检测与高分辨率图像输入

    YOLOv8版本最近版本又更新了,除了支持姿态评估以外,通过模型结构的修改还支持了小目标检测与高分辨率图像检测。原始的YOLOv8模型结构如下。
    的头像 发表于 05-16 11:14 8983次阅读
    <b class='flag-5'>YOLOv8</b>版本升级支持小目标<b class='flag-5'>检测</b>与高分辨率图像输入

    AI爱克斯开发板上使用OpenVINO加速YOLOv8目标检测模型

    《在AI爱克斯开发板上用OpenVINO加速YOLOv8分类模型》介绍了在AI爱克斯开发板上使用OpenVINO 开发套件部署并测评YOLOv8的分类模型,本文将介绍在AI爱克斯开发板上使用OpenVINO加速YOLOv8目标
    的头像 发表于 05-26 11:03 717次阅读
    AI爱克斯开发板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b>目标<b class='flag-5'>检测</b>模型

    教你如何用两行代码搞定YOLOv8各种模型推理

    大家好,YOLOv8 框架本身提供的API函数是可以两行代码实现 YOLOv8 模型推理,这次我把这段代码封装成了一个类,只有40行代码左右,可以同时支持YOLOv8对象检测、实例分割
    的头像 发表于 06-18 11:50 2069次阅读
    教你如何用两行代码搞定<b class='flag-5'>YOLOv8</b>各种模型推理

    目标检测算法再升级!YOLOv8保姆级教程一键体验

    YOLO作为一种基于图像全局信息进行预测的目标检测系统,始终保持着极高的迭代更新率,从YOLOv5到YOLOv8,本次升级主要包括结构算法、命令行界面、PythonAPI等。具体到YOLOv8
    的头像 发表于 02-28 11:16 1478次阅读
    目标<b class='flag-5'>检测</b>算法再升级!<b class='flag-5'>YOLOv8</b>保姆级教程一键体验

    三种主流模型部署框架YOLOv8推理演示

    部署。这里以YOLOv8为例,演示了YOLOv8对象检测模型在OpenVINO、ONNXRUNTIME、TensorRT三个主流框架上C++推理演示效果。
    的头像 发表于 08-06 11:39 1839次阅读

    解锁YOLOv8修改+注意力模块训练与部署流程

    很多人也想跟修改YOLOv5源码一样的方式去修改YOLOv8的源码,但是在github上面却发现找到的YOLOv8项目下面TAG分支是空的
    的头像 发表于 08-11 14:14 2670次阅读
    解锁<b class='flag-5'>YOLOv8</b>修改+注意力模块训练与部署流程

    如何修改YOLOv8的源码

    很多人也想跟修改YOLOv5源码一样的方式去修改YOLOv8的源码,但是在github上面却发现找到的YOLOv8项目下面TAG分支是空的,然后就直接从master/main下面把源码克隆出来一通
    的头像 发表于 09-04 10:02 1214次阅读
    如何修改<b class='flag-5'>YOLOv8</b>的源码

    基于YOLOv8的自定义医学图像分割

    YOLOv8是一种令人惊叹的分割模型;它易于训练、测试和部署。在本教程中,我们将学习如何在自定义数据集上使用YOLOv8。但在此之前,我想告诉你为什么在存在其他优秀的分割模型时应该使用YOLOv8呢?
    的头像 发表于 12-20 10:51 408次阅读
    基于<b class='flag-5'>YOLOv8</b>的自定义医学图像分割

    YOLOv8实现旋转对象检测

    YOLOv8框架在在支持分类、对象检测、实例分割、姿态评估的基础上更近一步,现已经支持旋转对象检测(OBB),基于DOTA数据集,支持航拍图像的15个类别对象检测,包括车辆、船只、典型
    的头像 发表于 01-11 10:43 555次阅读
    <b class='flag-5'>YOLOv8</b>实现旋转对象<b class='flag-5'>检测</b>