焊接缺陷检测系统-YOLOv8+PyQt5

52 阅读4分钟

焊接缺陷检测系统-YOLOv8+PyQt5

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考

一、项目描述

基于YOLOv8的焊接缺陷检测系统

本项目设计并实现了一套基于YOLOv8深度学习模型的焊接缺陷自动检测系统,旨在提升焊接质量检测的效率与准确性。系统集成了图像与视频的检测功能,支持单张与批量处理,并通过图形化界面提供良好的用户体验。

二、项目功能

1.图像检测

单张图片检测:支持用户上传单张图片进行缺陷识别。

批量图片检测:支持一次性处理多张图片,提高检测效率。

结果展示与保存:检测结果可视化展示,支持保存检测后的图像及标注信息。

2. 视频检测

视频文件检测:支持上传本地视频文件进行逐帧检测。

实时摄像头检测:连接摄像头进行实时缺陷检测。

检测视频保存:可将检测结果以视频形式保存,便于后续查看与分析。

3.用户界面功能

检测参数调整:用户可自定义置信度阈值、IOU阈值等关键参数。

进度显示:实时显示检测进度,提升用户体验。

结果表格展示:以表格形式展示检测到的缺陷类型、位置、置信度等信息,便于分析。

技术特点

  1. 使用YOLOv8作为检测模型,具有较高的检测精度和速度
  2. 采用PyQt5构建图形界面,提供友好的用户交互
  3. 支持多种检测模式(图片、视频、摄像头)
  4. 提供批量处理功能
  5. 支持检测结果的可视化展示和保存

系统依赖

– Python 3.x – PyQt5 – OpenCV – YOLOv8 – Pillow – NumPy – PyTorch

使用说明

  1. 安装依赖包:运行installPackages.py或使用pip install -r requirements.txt
  2. 运行主程序:执行MainProgram.py
  3. 选择检测模式(图片/视频/摄像头)
  4. 选择模型和调整参数
  5. 开始检测并查看结果

三、运行环境

运行环境开发工具:PyCharm 2022.1.4

(此配置为本人调试所用,仅供参考)

四、项目技术

软件开发环境:python3.9

系统界面开发:pyqt5

———项目文件说明: 见目录中的【目录文件说明.png】图片。

环境配置步骤【共两步】: 【注意:软件存放路径最好不要有中文。】

———【第一步:安装python3.9】——— 方法一【推荐】: 先安装ananconda软件,官网地址:www.anaconda.com/download 安装完成后,在conda命令窗口,使用命令”conda create -n py39 python=3.9″创建3.9的虚拟环境 然后激活虚拟环境“conda activate py39”,然后再进行第二步依赖库的安装。 方法二: 直接在python官网下载pyhon3.9的exe文件,安装即可。

———【第二步:安装软件所需的依赖库】——— (注意:输入命令前,命令行需先进入项目目录的路径下,不然会提示找不到文件) 方法一:【推荐】 直接运行installPackages.py一键安装第三方库的脚本。命令为:python installPackages.py 方法二: 运行下方命令 pip install -r requirements.txt -i pypi.tuna.tsinghua.edu.cn/simple

———【运行程序】——— 按照以上两步环境配置完成后,直接运行MainProgram.py文件即可打开程序。 命令为:python MainProgram.py

———【模型训练】——— 将文件【datasets/CarPersonData/data.yaml】中train,val数据集的绝对路径改为自己项目数据集的绝对路径 train: E:\MyCVProgram\CarPersonDetection\datasets\CarPersonData\images\train val: E:\MyCVProgram\CarPersonDetection\datasets\CarPersonData\images\val

然后运行train.py文件即可开始进行模型训练,训练结果会默认保存在runs/detect目录中。 其中runs/train是我已经训练好的结果文件,含模型与所有过程内容。 训练好的模型在runs/train/weights目录下,last.pt表示最后一轮结果的训练模型,best.pt表示训练中最好结果的训练模型。一般我们使用best.pt就行。

以上系统源码经过技术整理与调试,确保能正常运行

五、项目截图

1762148233-2980c7c3de83cbb.png

1762148235-fb579757c8ffb7d.png

1762148237-6f8165ce13a9081.png

1762148238-ae72af89dd4055a.png

1762148240-efa040bdfa8af06.png