基于YOLOv8的鸟类检测系统

一、系统介绍

本系统是一套基于深度学习的鸟类目标检测系统,采用 Ultralytics YOLOv8 作为核心检测引擎,PySide6 构建图形用户界面,专门用于野外生态监测、鸟类识别与统计等场景。

只需加载预训练模型并选择图片、视频或摄像头,即可自动识别并标注出图像中的鸟类目标,同时输出类别名称、置信度、坐标等完整信息。

核心能力:

  • 自动识别 34 种常见鸟类(如白鹭、苍鹭、绿头鸭、喜鹊等)

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

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

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

2.4 实时画面显示

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

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

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

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

2.5 统计与分析

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

  • 检测明细表:每条检测结果的完整信息(时间、来源、帧号、类别、置信度、坐标、宽高、中心点)

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

2.6 结果保存

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

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

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

2.7 用户认证

本地 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 版本)

  • 类别数量:34 种鸟类

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


四、系统优势

4.1 零代码操作

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

4.2 路径动态解析

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

4.3 完整的中文生态

  • 类别名支持中文显示(34 种鸟类均有中文翻译)

  • 界面全中文

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

  • 图表中文正常渲染

  • 中文路径完整支持

4.4 灵活的参数控制

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

五、系统部分功能展示

5.1登录界面

5.2系统主界面

5.3参数调节

5.4图片检测

5.5结果统计

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


六、其他说明

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

第三方组件声明

组件 用途 许可
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)
DroidSansFallback.ttf 中文字体 Apache 2.0

声明

本系统仅供学习与研究使用。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐