YOLO+PyQt+MySQL,PCB缺陷检测模型
目录
1. 前言
大家好,这里是宋大水,今天给大家分享的是PCB缺陷检测模型,主要用到的技术包括YOLO目标检测模型、MySQL数据库和PyQt的检测界面。主要的工作量有登录、注册、图片检测、视频检测和摄像头流的检测,五次对比试验(YOLOv5s,YOLOv8s,YOLO11s,YOLO12s和基于transformer的RT-DETR)。
2. 项目展示
2.1 五次对比试验
P | R | mAP | mAP50-95 | 参数量(M) | GFLOPs | FPS(4060TI) | |
YOLOv5s | 0.913 | 0.814 | 0.859 | 0.432 | 17.6 | 23.8 | 116.5 |
YOLOv8s | 0.918 | 0.815 | 0.882 | 0.424 | 21.4 | 28.4 | 98.9 |
YOLO11s | 0.913 | 0.82 | 0.868 | 0.429 | 18.2 | 21.3 | 96.8 |
YOLO12s | 0.927 | 0.815 | 0.876 | 0.44 | 18.1 | 21.2 | 89.4 |
RT-DETR | 0.956 | 0.943 | 0.951 | 0.504 | 63.1 | 103.5 | 53.5 |
选择了目前主流的v5,v8,11,12和RT-DERT这五个模型进行训练,从表中可以看出RT-DERT在mAP这个指标上表现最好,其数值大幅超越YOLO系列模型,但是性能可能是由巨大的数据量堆叠起来,它的FPS的数值不高,所以如果想要一个在精度和推理速度相平衡的模型来说,YOLO系列检测模型无疑还是比较好的选择,在YOLO系列的这四个模型中,YOLOv8s的检测性能相对来说是最好的。
2.2 登录界面
这个界面由PyQt设计,具备两个功能,一个是登录功能,一个是注册功能,使用了MySQL数据库,因此我们在登录前首先要配置好数据库,才可以进行注册和登录,登录进去后进行目标检测功能。
2.3 检测界面
这个检测界面也是由PyQt所设计的,所以可以选择四个检测模型pt文件,分别是v5,v8,11和12,选择需要检测的资源,例如图片,视频,摄像头和rtsp流,设置好置信度和IOU,选择是否要将检测结果保存到文件夹,然后点击下方的停止按钮即可开始推理检测。
2.4 训练结果部分展示
在这里展示一些重要的训练结果图片(F1曲线、P-R曲线、训练结果和训练图片)
2.5 资源获取
大家可以点击顶端的B站视频评论区置顶链接即可获取相关资源。
3. 代码运行
3.1 数据集
本实验数据集是一个PCB缺陷检测数据集,六个类别,部分图像如下图所示。
data.yaml配置文件如下:
3.2 python环境配置
本代码运行需要安装一些深度学习包,例如PyTorch,Torchvision,opencv,ultralytics等。
深度学习环境的三种搭建方式(彻底理解安装逻辑和步骤)
大家可以看上面这个视频学习如何安装深度学习环境。
3.3 mysql数据库
因为登录和注册功能使用到了MySQL数据库,所以我们需要安装配置下这个数据库,只需用该文件中的安装包安装mysql8数据库,然后将下面这个sql语句导入到数据库中,并且配置下LoginWindows.py文件的数据库用户名和密码即可使用。
这就是本次给大家分享的目标检测项目,如需更加详细的信息,可以看置顶的B站视频,谢谢。