一、系统介绍

本系统是一套基于深度学习的淡水鱼检测桌面应用,采用 Ultralytics YOLOv8 作为核心检测引擎,PySide6 构建图形用户界面,专门用于水产养殖品种识别、市场鱼类辨识、渔业资源监测、教学科研等场景。用户只需加载预训练模型并选择图片、视频或摄像头,即可自动识别并标注出图像中的淡水鱼种类,同时输出类别名称、置信度、坐标等完整信息。

系统面向水产养殖人员、市场监管人员、渔业研究者、生物教学等非专业编程用户设计,提供直观的中文图形界面,无需编写任何代码即可完成从模型加载到结果导出的全流程操作。

核心能力:

  • 自动识别 4 种常见淡水鱼(黄辣丁、鳊鱼、鲫鱼、黑鱼)

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

  • 一键导出检测结果 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 类别筛选

支持从 4 种淡水鱼中勾选需要检测的类别,未勾选的类别将不被识别。支持全选/全不选快捷操作。

2.4 实时画面显示

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

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

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

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

2.5 统计与分析

  • 统计图表(柱状图):各鱼类检出数量可视化,不同类别使用不同颜色

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

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

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 核心技术栈

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

3.3 线程模型

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

3.4 模型信息

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

  • 类别数量:4 种常见淡水鱼

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


四、系统优势

4.1 零代码操作

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

4.2 路径动态解析

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

4.3 完整的中文生态

  • 类别名支持中文显示(4 种淡水鱼均有中文翻译)

  • 界面全中文

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

  • 图表中文正常渲染

  • 中文路径完整支持

4.4 灵活的参数控制

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

五、系统部分功能展示

5.1登录界面

5.2系统主界面

5.3参数调节

5.4图片检测

5.5结果统计

5.6检测历史

5.7、数据集部分训练结果展示


六、其他说明

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

第三方组件声明

组件 用途 许可
PySide6 Qt 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)

免责声明

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

Logo

一站式 AI 云服务平台

更多推荐