当前位置: 首页 > news >正文

【目标检测系统】基于YOLOv8的水面垃圾检测系统

一、系统介绍

本系统是一套基于深度学习的水面垃圾检测系统,采用 Ultralytics YOLOv8 作为核心检测引擎,PySide6 构建图形用户界面,专门用于河道巡检、湖泊清洁、海滩环保、水库监测、智慧水务等场景。用户只需加载预训练模型并选择图片、视频或摄像头,即可自动识别并标注出画面中水面上的 11 类常见漂浮垃圾(塑料瓶、易拉罐、玻璃瓶、塑料袋、塑料盒、牛奶盒、树枝、树叶、杂草、腐烂水果、球),同时输出类别名称、置信度、坐标等完整信息。

系统面向水务巡检员、河长制工作人员、环卫保洁队、湖泊保护管理处、智慧水务系统集成商、环境科研人员等非专业编程用户设计,提供直观的中文图形界面,无需编写任何代码即可完成从模型加载到结果导出的全流程操作。

核心能力:

  • 自动识别 11 类水面漂浮垃圾

  • 支持中文/英文类别名称切换

  • 一键导出检测结果 Excel 报表与标注图片/视频

  • 结果统计可视化

二、功能介绍

2.1 多模式检测

输入模式说明
单张图片选择一张图片进行检测,结果显示在右侧面板
批量图片选择文件夹,自动检测其中所有图片文件
视频文件逐帧检测视频,支持跳帧加速
实时摄像头连接 USB/内置摄像头,实时显示检测结果

2.2 参数调节

  • 置信度阈值(0.01-1.0):低于此值的目标被过滤,值越高检测越严格

  • IoU 阈值(0.01-1.0):控制重叠检测框的去重程度

  • 跳帧设置:视频/摄像头模式下每隔 N 帧检测一次,降低系统负载

  • 推理尺寸(320-1280):图像缩放尺寸,影响检测精度和速度

  • 标注样式:检测框粗细(1-10)、标签字号(0.3-2.0)、中英文类别名切换

2.3 实时画面显示

  • 左侧画面:原始输入图像

  • 右侧画面:标注后的检测结果(含检测框、类别名、置信度、中心点)

  • 拖拽中间分隔条可调整双画面比例

  • 底部实时显示当前帧检出目标数和类别数

2.4 统计与分析

  • 检测明细表:每条检测结果的完整信息

  • 系统日志:完整运行日志,支持着色显示和导出为文本文件

2.6 检测历史记录

  • 每次完成检测任务后自动写入数据库

  • 弹窗中可:刷新、打开当时的结果目录、删除单条、清空全部

2.7 结果保存

  • 检测后的标注图片(JPEG 格式)

  • 检测后的标注视频(MP4 格式)

  • 完整检测明细 Excel 报表(.xlsx 格式,可用 WPS/Excel 打开)

2.8 用户认证

本地 SQLite 数据库存储账号信息,SHA-256 + 随机盐值加密密码,支持注册和登录。

三、技术介绍

3.1 整体架构

main.py # 程序入口:初始化数据库 → 登录认证 → 启动主界面 auth.py # 认证模块:SQLite 用户数据库 + 登录/注册界面 ui_main.py # 主界面:UI 构建 + 信号连接 + 业务逻辑 + 弹窗组件 detection_thread.py # 检测线程:QThread 子类,后台 YOLO 推理 config.py # 全局配置:动态路径、默认参数、中英文类别字典

3.2 核心技术栈

技术用途版本说明
PySide6Qt for Python GUI 框架6.x
Ultralytics YOLOv8目标检测模型v8
OpenCV图像读取/写入/绘制cv2
PyTorch深度学习后端2.0.1+
matplotlib统计图表绘制3.x
pandas数据导出 (Excel)2.x
SQLite3用户数据库Python 内置

3.3 线程模型

检测在独立子线程中运行,避免阻塞 GUI 主线程:

3.4 模型信息

  • 模型架构:YOLOv8(可替换为任意 Ultralytics YOLO 版本)

  • 类别数量:11 类

  • 模型格式:支持.pt(PyTorch)、.onnx(ONNX)、.engine(TensorRT)


四、系统优势

4.1 零代码操作

全中文图形界面,无需编程基础。从注册登录到模型加载、检测分析、结果导出,全部通过按钮和弹窗完成。

4.2 路径动态解析

所有路径(模型、保存、字体)基于项目根目录动态计算,项目文件夹改名或移动到其他位置均无需修改配置。

4.3 完整的中文生态

  • 类别名支持中文显示

  • 界面全中文

  • 日志、统计、表格列名均为中文

  • 图表中文正常渲染

  • 中文路径完整支持

4.4 灵活的参数控制

置信度、IoU、跳帧、推理尺寸、检测框粗细、字号、中英文切换均可通过弹窗实时调节,无需重启或修改代码。

五、系统部分功能展示

5.1登录界面

5.2系统主界面

5.3图片检测

5.4结果统计

5.5数据集部分训练结果展示


六、其他说明

本系统为本人开发的原创作品

第三方组件声明

组件用途许可
PySide6Qt for Python GUI 框架LGPL v3
Ultralytics YOLO目标检测算法实现AGPL v3
OpenCV (opencv-python)图像处理Apache 2.0
PyTorch深度学习框架BSD
matplotlib统计图表PSF-based
pandas数据导出BSD 3-Clause
Pillow中文文字渲染Historical Permission Notice and Disclaimer (HPND)

免责声明

本系统仅供学习与研究使用。训练数据和预训练模型版权归原始数据采集者所有。商业使用请确保获得相关授权。

http://www.jsqmd.com/news/832666/

相关文章:

  • DAE架构与Ember编译器优化嵌入操作性能
  • 基于CircuitPython与电子墨水屏的低功耗温湿度监控系统设计
  • Windows Terminal 预览版:从安装到深度配置,打造现代化命令行工作流
  • Google Dorking自动化工具:原理、部署与实战应用指南
  • 软件工程中两个关键概念:**验证(Verification)** 和 **确认(Validation)**
  • 【2026最新】鸿蒙NEXT状态管理实战:培训班管理系统数据流转全攻略
  • Ante语言:现代C++开发者的内存安全与零成本抽象新选择
  • 详解C++作用域与生命周期
  • Kubernetes持久化存储实战
  • 智能体操作系统agentOS:构建可编排、可观测的AI智能体生产平台
  • FRAME技术:实时自中心运动捕捉在VR/AR中的突破
  • Adafruit ItsyBitsy M0 Express开发板:双模编程与硬件全解析
  • 【2026最新】鸿蒙NEXT性能优化实战:培训班管理系统启动、内存、渲染全方位优化
  • Elastic 开源社区行为准则
  • 5分钟精通GPX编辑:零基础打造专业轨迹地图的终极指南
  • Arduino红外遥控数字温度计:从传感器到LCD显示的嵌入式实践
  • 别再只懂JPEG了!深入聊聊SVD图像压缩的优缺点与适用场景(Python实战分析)
  • 本地优先与双链笔记:构建个人知识管理系统的核心原理与实践
  • 婚礼项目管理与沟通技巧:从预算控制到供应商谈判全攻略
  • 基于Go与Web技术的开源堡垒机OpenClaw Bastion部署与安全实践
  • 在Windows电脑上运行Android应用的终极指南:WSABuilds全面解析
  • 在VSCode插件里用上了!手把手教你将Tree-sitter集成到Python项目做实时语法检查
  • JIT智慧工地物料配送路径优化【附代码】
  • 用PyTorch复现PraNet息肉分割模型:从Res2Net骨干到反向注意力模块的保姆级代码解读
  • 基于面部视频的非接触式心率检测:affect-pulse-ai项目原理与实战
  • 嵌入式动画优化:DMA驱动位图渲染在SAMD21上的实现
  • LoRa无线通信实战:从RFM9X模块初始化到远距离通信优化
  • 关键词优化怎么理解最清楚
  • 一键部署实战指南:从Docker Compose到Kubernetes的自动化部署方案
  • 基于MLX90640与Python的嵌入式热成像开发实战