基于深度学习的昆虫识别系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)

news/2026/1/17 20:25:19/文章来源:https://www.cnblogs.com/codingtea/p/19497066

视频演示

基于深度学习的昆虫识别系统

1. 前言​

大家好,欢迎来到 Coding 茶水间!

在人工智能与计算机视觉技术飞速发展的今天,图像识别已渗透到农业监测、生态保护、生物研究等诸多领域。其中,昆虫识别作为生物多样性调查与害虫防治的重要环节,正逐步从传统人工鉴定向自动化、智能化迈进。然而,现状是——多数现有方案要么依赖人工经验、效率低下,要么识别种类有限、难以满足复杂场景需求;尤其在野外或实验室环境中,快速、准确地从图片、视频甚至实时摄像头流中识别出多种昆虫,仍面临模型泛化能力、交互便捷性、结果可视化等挑战。

正是基于这样的背景,今天我们带来的题目是 《基于 YOLO 算法的昆虫识别系统》。这套系统聚焦实际需求,可精准识别 33 种昆虫(如星天牛属、毛虫、橙粉蝶、剑尾蛾等),并通过模块化界面设计,支持图片、视频、文件夹批量及摄像头实时检测,兼顾模型灵活切换、参数动态调节、结果语音播报与多形式导出等功能,力求让昆虫识别更智能、更高效、更易用。接下来,就让我们一起走进这套系统的功能细节与使用演示。

业务介绍图

2. 项目演示

2.1 用户登录界面

登录界面布局简洁清晰,左侧展示系统主题,用户需输入用户名、密码及验证码完成身份验证后登录系统。

1

2.2 新用户注册

注册时可自定义用户名与密码,支持上传个人头像;如未上传,系统将自动使用默认头像完成账号创建。

ScreenShot_2025-12-25_092311_255

2.3 主界面布局

主界面采用三栏结构,左侧为功能操作区,中间用于展示检测画面,右侧呈现目标详细信息,布局合理,交互流畅。

2

2.4 个人信息管理

用户可在此模块中修改密码或更换头像,个人信息支持随时更新与保存。

ScreenShot_2025-12-25_092529_509

2.5 多模态检测展示

系统支持图片、视频及摄像头实时画面的目标检测。识别结果将在画面中标注显示,并且带有语音播报提醒,并在下方列表中逐项列出。点击具体目标可查看其类别、置信度及位置坐标等详细信息。

3

2.6 检测结果保存

可以将检测后的图片、视频进行保存,生成新的图片和视频,新生成的图片和视频中会带有检测结果的标注信息,并且还可以将所有检测结果的数据信息保存到excel中进行,方便查看检测结果。

005

WX20260117-193827@2x

2.7 多模型切换

系统内置多种已训练模型,用户可根据实际需求灵活切换,以适应不同检测场景或对比识别效果。

ScreenShot_2025-12-25_093121_533

3.模型训练核心代码

本脚本是YOLO模型批量训练工具,可自动修正数据集路径为绝对路径,从pretrained文件夹加载预训练模型,按设定参数(100轮/640尺寸/批次8)一键批量训练YOLOv5nu/v8n/v11n/v12n模型。

# -*- coding: utf-8 -*-
"""
该脚本用于执行YOLO模型的训练。它会自动处理以下任务:
1. 动态修改数据集配置文件 (data.yaml),将相对路径更新为绝对路径,以确保训练时能正确找到数据。
2. 从 'pretrained' 文件夹加载指定的预训练模型。
3. 使用预设的参数(如epochs, imgsz, batch)启动训练过程。要开始训练,只需直接运行此脚本。
"""
import os
import yaml
from pathlib import Path
from ultralytics import YOLOdef main():"""主训练函数。该函数负责执行YOLO模型的训练流程,包括:1. 配置预训练模型。2. 动态修改数据集的YAML配置文件,确保路径为绝对路径。3. 加载预训练模型。4. 使用指定参数开始训练。"""# --- 1. 配置模型和路径 ---# 要训练的模型列表models_to_train = [{'name': 'yolov5nu.pt', 'train_name': 'train_yolov5nu'},{'name': 'yolov8n.pt', 'train_name': 'train_yolov8n'},{'name': 'yolo11n.pt', 'train_name': 'train_yolo11n'},{'name': 'yolo12n.pt', 'train_name': 'train_yolo12n'}]# 获取当前工作目录的绝对路径,以避免相对路径带来的问题current_dir = os.path.abspath(os.getcwd())# --- 2. 动态配置数据集YAML文件 ---# 构建数据集yaml文件的绝对路径data_yaml_path = os.path.join(current_dir, 'train_data', 'data.yaml')# 读取原始yaml文件内容with open(data_yaml_path, 'r', encoding='utf-8') as f:data_config = yaml.safe_load(f)# 将yaml文件中的 'path' 字段修改为数据集目录的绝对路径# 这是为了确保ultralytics库能正确定位到训练、验证和测试集data_config['path'] = os.path.join(current_dir, 'train_data')# 将修改后的配置写回yaml文件with open(data_yaml_path, 'w', encoding='utf-8') as f:yaml.dump(data_config, f, default_flow_style=False, allow_unicode=True)# --- 3. 循环训练每个模型 ---for model_info in models_to_train:model_name = model_info['name']train_name = model_info['train_name']print(f"\n{'='*60}")print(f"开始训练模型: {model_name}")print(f"训练名称: {train_name}")print(f"{'='*60}")# 构建预训练模型的完整路径pretrained_model_path = os.path.join(current_dir, 'pretrained', model_name)if not os.path.exists(pretrained_model_path):print(f"警告: 预训练模型文件不存在: {pretrained_model_path}")print(f"跳过模型 {model_name} 的训练")continuetry:# 加载指定的预训练模型model = YOLO(pretrained_model_path)# --- 4. 开始训练 ---print(f"开始训练 {model_name}...")# 调用train方法开始训练model.train(data=data_yaml_path,  # 数据集配置文件epochs=100,           # 训练轮次imgsz=640,            # 输入图像尺寸batch=8,             # 每批次的图像数量name=train_name,      # 模型名称)print(f"{model_name} 训练完成!")except Exception as e:print(f"训练 {model_name} 时出现错误: {str(e)}")print(f"跳过模型 {model_name},继续训练下一个模型")continueprint(f"\n{'='*60}")print("所有模型训练完成!")print(f"{'='*60}")if __name__ == "__main__":# 当该脚本被直接执行时,调用main函数main()

4. 技术栈

  • 语言:Python 3.10

  • 前端界面:PyQt5

  • 数据库:SQLite(存储用户信息)

  • 模型:YOLOv5、YOLOv8、YOLOv11、YOLOv12

5. YOLO模型对比与识别效果解析

5.1 YOLOv5/YOLOv8/YOLOv11/YOLOv12模型对比

基于Ultralytics官方COCO数据集训练结果:

模型

尺寸(像素)

mAPval 50-95

速度(CPU ONNX/毫秒)

参数(M)

FLOPs(B)

YOLO12n

640

40.6

-

2.6

6.5

YOLO11n

640

39.5

56.1 ± 0.8

2.6

6.5

YOLOv8n

640

37.3

80.4

3.2

8.7

YOLOv5nu

640

34.3

73.6

2.6

7.7

关键结论

  1. 精度最高:YOLO12n(mAP 40.6%),显著领先其他模型(较YOLOv5nu高约6.3个百分点);

  2. 速度最优:YOLO11n(CPU推理56.1ms),比YOLOv8n快42%,适合实时轻量部署;

  3. 效率均衡:YOLO12n/YOLO11n/YOLOv8n/YOLOv5nu参数量均为2.6M,FLOPs较低(YOLO12n/11n仅6.5B);YOLOv8n参数量(3.2M)与计算量(8.7B)最高,但精度优势不明显。

综合推荐

  • 追求高精度:优先选YOLO12n(精度与效率兼顾);

  • 需高速低耗:选YOLO11n(速度最快且精度接近YOLO12n);

  • YOLOv5nu/YOLOv8n因性能劣势,无特殊需求时不建议首选。

5.2 数据集分析

labels

数据集中训练集和验证集一共6000张图片,数据集目标类别33种数据集配置代码如下:

train: ../train/images
val: ../valid/images
test: ../test/images
path: ../data/imagesnc: 33
names: ['Acalolepta', 'Aromia', 'Batocera rubus', 'Batocera rufomaculata', 
'Blaberus discoidalis', 'Brown marmorated stink bug', 'Caterpillar', 'Cepora nerissa', 
'Cerura Vinula', 'Clostera', 'Crowned slug moth', 'Empoasca', 'Eurydema ornata',
'Fall webworm moth', 'Forest Bug', 'Graphosoma lineatum', 'Neocurtilla hexadactyla', 
'Oebalus pugnax', 'Papilio memnon', 'Parasa consocia', 'Parasa indetermina', 'Passionvine hopper',
'Plagiodera versicolora', 'Protaetia', 'Puss moth', 'Red Costate Tiger Moth', 'Spilomelinae', 
'Spirama', 'Spotted lanternfly', 'Tibicina haematodes', 'Torpedo bug', 'White-spotted longicorn beetle', 
'Yellow spotted stink bug']

train_batch0上面的图片就是部分样本集训练中经过数据增强后的效果标注。

5.3 训练结果

confusion_matrix_normalized

混淆矩阵显示中识别精准度显示是一条对角线,方块颜色越深代表对应的类别识别的精准度越高

BoxF1_curve

F1指数(F1 Score)是统计学和机器学习中用于评估分类模型性能的核心指标,综合了模型的精确率(Precision)和召回率(Recall),通过调和平均数平衡两者的表现。 

当置信度为0.601时,所有类别的综合F1值达到了0.89(蓝色曲线)。

BoxPR_curve

mAP@0.5:是目标检测任务中常用的评估指标,表示在交并比(IoU)阈值为0.5时计算的平均精度均值(mAP)。其核心含义是:只有当预测框与真实框的重叠面积(IoU)≥50%时,才认为检测结果正确。

图中可以看到综合mAP@0.5达到了0.920(92.0%),准确率非常高。

6. 源码获取方式

源码获取方式:https://www.bilibili.com/video/BV1U9BhBcEpc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1174663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm469基于JAVAWEB的辅导员考评管理系统ssm

目录系统概述技术架构功能模块创新点应用价值开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统概述 SSM469基于JAVAWEB的辅导员考评管理系统采用SpringSpringMVCMyBatis(SSM)框架开发,旨在…

C++:Find Coins

Eva 喜欢收集来自宇宙各地的硬币,包括火星等其他星球的硬币。一天她来到一家可以接受各种硬币支付的商场。但这里对付款有特殊要求:每笔账单必须恰好使用两枚硬币来支付精确金额。由于她带了多达 105105 枚硬币,她需要你的帮助。对于任意给定…

ssm470高校校友信息管理系统设计与实现ssm

目录摘要开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着高等教育规模的扩大和校友资源的日益重要,高校校友信息管理系统的建设成为提升校友服务质量、加强校友联系的关键工具。传统校友管理方式依赖人工操…

TypeScript 常见面试障碍

TypeScript 常见面试障碍2026-01-17 20:22 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…

ssm471奥博羽毛球俱乐部管理系统ssm

目录奥博羽毛球俱乐部管理系统(SSM框架)摘要开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!奥博羽毛球俱乐部管理系统(SSM框架)摘要 奥博羽毛球俱乐部管理系统基于SSM&#xff0…

2026年适合送礼的高端瓶装水有什么产品推荐:五款优选产品深度评测 - 速递信息

——文章最新发布时间:2026年1月 阅读摘要 文档类型:产品评测与推荐 评测维度:产品功能、包装设计、适用场景、安全认证、用户口碑 Top Pick:酷兰天然低氘水极奢版 (COOLAND)|官网 其它上榜:酷兰运动版、依云330ml、百…

1.17假期记录

今天是回家度过寒假的第一天,时间太紧不得不立刻开始准备二战教资科目二,同时按步骤开始做假期生活指导的内容,一个半月的寒假里要做的事情太多,希望我能应付的过来

ssm472高校学术交流平台

目录SSM472高校学术交流平台摘要开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!SSM472高校学术交流平台摘要 SSM472高校学术交流平台是基于SSM(SpringSpringMVCMyBatis)框架开发的数字化学术资源共享与…

阿里云国际站代理商DTS跨境传输的实时同步能力的应用流程是怎样的?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

有趣的区间【牛客tracker 每日一题】

有趣的区间 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有…

ssm473的阳光养老院管理系统

目录阳光养老院管理系统摘要开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!阳光养老院管理系统摘要 阳光养老院管理系统基于SSM(SpringSpringMVCMyBatis)框架开发,旨在为养老机构提供高效、…

ssm474的高校运动会管理网站

目录高校运动会管理网站(SSM474)摘要开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!高校运动会管理网站(SSM474)摘要 高校运动会管理网站基于SSM框架(SpringSpringMV…

基于SpringBoot+Vue的大理扎染非遗商城系统设计与实现

一、选题研究和意义 (一)选题依据 在数字化浪潮席卷全球的当下,非物质文化遗产作为人类文明的重要瑰宝,正面临着传承与发展的双重考验。一方面,非遗文化承载着民族历史记忆与独特艺术魅力,是文化自信建设的…

ssm464高校物资采购管理系统--论文

目录摘要开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 高校物资采购管理是高校后勤保障体系的重要组成部分,其效率与规范性直接影响教学科研活动的开展和资金使用效益。传统采购管理模式存在流程繁琐、信息不…

导师推荐!10款AI论文写作软件测评:本科生毕业论文必备工具

导师推荐!10款AI论文写作软件测评:本科生毕业论文必备工具 2026年AI论文写作工具测评:为何需要这份榜单? 随着人工智能技术的快速发展,越来越多的本科生开始借助AI工具提升论文写作效率。然而,面对市场上琳…

学霸同款2026 AI论文工具TOP9:研究生开题必备测评

学霸同款2026 AI论文工具TOP9:研究生开题必备测评 2026年学术写作工具测评:为何需要这份榜单? 在当前学术研究日益数字化的背景下,AI论文工具已成为研究生群体提升效率、优化写作流程的重要助手。然而,面对市场上种类繁…

时间序列大数据分析:预测模型与异常检测

时间序列大数据分析:预测模型与异常检测 一、引言 (Introduction) 钩子 (The Hook) 想象一下,你负责管理一家大型电商公司的库存。每天,你都会面对海量的销售数据,这些数据以时间序列的形式呈现,记录着从过去到现在每一…

ssm465网络作者与美工交流论坛带版主平台--论文

目录SSM465网络作者与美工交流论坛的设计与实现技术架构与功能模块版主管理机制与社区运营创新点与实际应用价值开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!SSM465网络作者与美工交流论坛的设计与实现 该论文探讨了基于SSM…

LLM让疫苗副作用预测更准

📝 博客主页:Jax的CSDN主页 LLM赋能疫苗副作用预测:从数据孤岛到精准预警的范式跃迁目录LLM赋能疫苗副作用预测:从数据孤岛到精准预警的范式跃迁 引言:疫苗安全的数字革命 维度一:技术应用场景——从被动响…

01. 通信前置知识

1.Ip地址和端口类 2.域名解析 3.序列化和反序列化1.Ip地址和端口类 1).IPAddress类: 用于处理IP地址a.IPAddress.Parse(string ip)解析字符串形式的IP地址(如 "127.0.0.1"), 无效IP会抛异常b.IPAddress.TryParse(string ip, out IPAddress result)安全解析IP地址(返回…