YOLO算法智慧农业农作物害虫识别 102类植物病虫害识别 二化螟识别|田间蝼蛄识别|玉米螟识别|麦圆蜘蛛检测|柑橘凤蝶检测(web可视化界面+数据集+模型)

YOLO算法智慧农业农作物害虫识别 102类植物病虫害识别 二化螟识别|田间蝼蛄识别|玉米螟识别|麦圆蜘蛛检测|柑橘凤蝶检测(web可视化界面+数据集+模型)

文章目录

🎯 YOLOv8 害虫检测系统

基于YOLOv8的农业害虫目标检测系统,能够识别和定位102种不同类型的害虫。本项目使用YOLOv8深度学习模型,对102害虫数据集进行训练,实现高效的害虫检测和识别。系统提供Web界面,支持单张图片预测、批量图片预测等功能。

在这里插入图片描述
在这里插入图片描述

🗂️ 项目结构

Project/ ├── YOLOv8/ # YOLO格式数据集 │ ├── train/ │ │ ├── images/ # 训练图片 │ │ └── labels/ # YOLO格式标签 │ ├── val/ │ │ ├── images/ # 验证图片 │ │ └── labels/ # YOLO格式标签 │ ├── runs/ │ │ └── detection/ │ │ └── weights/ │ │ └── best.pt # 训练好的模型权重 │ ├── classes.txt # 害虫类别列表 │ └── data.yaml # 数据集配置文件 ├── main.py # 主程序 - Web界面 ├── voc2yolo.py # 数据格式转换脚本 ├── train.py # 模型训练脚本 ├── predict_image.py # 单张图片预测脚本 └── README.md # 项目说明文档 └── 基于yolo的病虫害目标检测.ipynb # 项目训练脚本 

🚀 快速开始

环境要求

  • Python 3.8+
  • CUDA 11.0+ (GPU训练推荐)
  • 至少8GB RAM

安装依赖

pip install ultralytics gradio opencv-python pillow gdown 

数据集准备

  1. 下载数据集
python download.PY 
  1. 转换数据格式
python voc2yolo.py 

数据集介绍

类别和分布

在这里插入图片描述
以下是这些农业害虫名称的**专业中文译名**,结合植保领域常用表述整理,确保准确性和通用性: 1. rice leaf roller —— 稻纵卷叶螟 2. rice leaf caterpillar —— 稻叶夜蛾 3. paddy stem maggot —— 稻秆潜蝇 4. asiatic rice borer —— 二化螟 5. yellow rice borer —— 三化螟 6. rice gall midge —— 稻瘿蚊 7. Rice Stemfly —— 稻秆蝇 8. brown plant hopper —— 褐飞虱 9. white backed plant hopper —— 白背飞虱 10. small brown plant hopper —— 灰飞虱 11. rice water weevil —— 稻水象甲 12. rice leafhopper —— 稻叶蝉 13. grain spreader thrips —— 谷物蓟马 14. rice shell pest —— 稻壳虫 15. grub —— 蛴螬(金龟子幼虫) 16. mole cricket —— 蝼蛄 17. wireworm —— 金针虫(叩甲幼虫) 18. white margined moth —— 白缘蛾 19. black cutworm —— 小地老虎 20. large cutworm —— 大地老虎 21. yellow cutworm —— 黄地老虎 22. red spider —— 红蜘蛛(叶螨的俗称) 23. corn borer —— 玉米螟 24. army worm —— 粘虫 25. aphids —— 蚜虫(统称) 26. *Potosiabre vitarsis* —— 注:学名拼写可能有误,常见近缘种为 *Potamiaena livida*(铅色水蝇),需核对原拼写 27. peach borer —— 桃蛀螟 28. english grain aphid —— 麦长管蚜 29. green bug —— 麦二叉蚜 30. bird cherry-oat aphid —— 禾谷缢管蚜 31. wheat blossom midge —— 小麦吸浆虫 32. *Penthaleus major* —— 麦圆蜘蛛 33. longlegged spider mite —— 长腿叶螨 34. wheat phloeothrips —— 小麦皮蓟马 35. wheat sawfly —— 小麦叶蜂 36. *Cerodonta denticornis* —— 麦秆蝇 37. beet fly —— 甜菜潜叶蝇 38. flea beetle —— 跳甲(叶甲科跳甲属统称) 39. cabbage army worm —— 甘蓝夜蛾 40. beet army worm —— 甜菜夜蛾 41. Beet spot flies —— 甜菜斑潜蝇 42. meadow moth —— 草地螟 43. beet weevil —— 甜菜象甲 44. *Serica orientalis Motschulsky* —— 东方绢金龟 45. alfalfa weevil —— 苜蓿叶象甲 46. flax budworm —— 亚麻蕾螟 47. alfalfa plant bug —— 苜蓿盲蝽 48. tarnished plant bug —— 牧草盲蝽 49. *Locustoidea* —— 蝗总科 50. *Lytta polita* —— 绿芫菁 51. legume blister beetle —— 豆芫菁 52. blister beetle —— 芫菁(统称) 53. *Therioaphis maculata* Buckton —— 苜蓿斑蚜 54. *Odontothrips loti* —— 苜蓿蓟马 55. Thrips —— 蓟马属 56. alfalfa seed chalcid —— 苜蓿种子小蜂 57. *Pieris canidia* —— 菜粉蝶 58. *Apolygus lucorum* —— 绿盲蝽 59. *Limacodidae* —— 刺蛾科 60. *Viteus vitifoliae* —— 葡萄根瘤蚜 61. *Colomerus vitis* —— 葡萄锈壁虱 62. *Brevipalpus lewisi* McGregor —— 二斑叶螨 63. *Oides decempunctata* —— 十星瓢萤叶甲 64. *Polyphagotarsonemus latus* —— 侧多食跗线螨(茶黄螨) 65. *Pseudococcus comstocki* Kuwana —— 康氏粉蚧 66. *Parathrene regalis* —— 咖啡豹蠹蛾 67. *Ampelophaga* —— 葡萄天蛾属 68. *Lycorma delicatula* —— 斑衣蜡蝉 69. *Xylotrechus* —— 脊虎天牛属 70. *Cicadella viridis* —— 大青叶蝉 71. *Miridae* —— 盲蝽科 72. *Trialeurodes vaporariorum* —— 温室白粉虱 73. *Erythroneura apicalis* —— 葡萄斑叶蝉 74. *Papilio xuthus* —— 柑橘凤蝶 75. *Panonychus citri* McGregor —— 柑橘全爪螨 76. *Phyllocoptes oleiverus* Ashmead —— 橄榄瘤瘿螨 77. *Icerya purchasi* Maskell —— 吹绵蚧 78. *Unaspis yanonensis* —— 矢尖蚧 79. *Ceroplastes rubens* —— 红蜡蚧 80. *Chrysomphalus aonidum* —— 褐圆蚧 81. *Parlatoria zizyphus* Lucus —— 褐点盾蚧 82. *Nipaecoccus vastator* —— 椰粉蚧 83. *Aleurocanthus spiniferus* —— 黑刺粉虱 84. *Tetradacus c Bactrocera minax* —— 注:学名格式有误,*Bactrocera minax* 为 柑橘大实蝇 85. *Dacus dorsalis* (Hendel) —— 桔小实蝇(异名,现学名 *Bactrocera dorsalis*) 86. *Bactrocera tsuneonis* —— 蜜柑大实蝇 87. *Prodenia litura* —— 斜纹夜蛾 88. *Adristyrannus* —— 注:学名拼写存疑,暂无法准确翻译 89. *Phyllocnistis citrella* Stainton —— 柑橘潜叶蛾 90. *Toxoptera citricidus* —— 橘蚜 91. *Toxoptera aurantii* —— 棉蚜(也危害柑橘) 92. *Aphis citricola* Vander Goot —— 绣线菊蚜 93. *Scirtothrips dorsalis* Hood —— 桔蓟马 94. *Dasineura* sp. —— 瘿蚊属(某一种) 95. *Lawana imitata* Melichar —— 仿腊蝉 96. *Salurnis marginella* Guerr —— 缘脊叶蝉 97. *Deporaus marginatus* Pascoe —— 芒果切叶象甲 98. *Chlumetia transversa* —— 荔枝蛀蒂虫 99. Mango flat beak leafhopper —— 芒果扁喙叶蝉 100. *Rhytidodera bowrinii* White —— 芒果脊虎天牛 101. *Sternochetus frigidus* —— 芒果象甲 102. *Cicadellidae* —— 叶蝉科 - 
在这里插入图片描述

模型训练

python train.py 

训练配置:

  • 模型: YOLOv8n (可替换为yolov8s.pt/yolov8m.pt)
  • 轮数: 30 epochs
  • 批次大小: 16
  • 图片尺寸: 640x640

启动Web界面

python main.py 

访问 http://localhost:7860 使用害虫检测系统。

🎮 功能特性

🔍 单张图片预测

  • 上传单张图片进行害虫检测
  • 实时显示检测框和置信度
  • 详细的检测结果统计
在这里插入图片描述

📁 批量图片预测

  • 支持多张图片批量处理
  • 生成检测结果图库
  • 处理进度和结果汇总

⚙️ 系统信息

  • 模型详细信息展示
  • 害虫类别列表
  • 使用说明文档

📊 数据集信息

害虫数据集

  • 类别数量: 102种害虫
  • 图片数量: 训练集 + 验证集
  • 标注格式: Pascal VOC → YOLO格式
在这里插入图片描述

主要害虫类别

包括但不限于:

  • 稻纵卷叶螟 (rice leaf roller)
  • 褐飞虱 (brown plant hopper)
  • 玉米螟 (corn borer)
  • 蚜虫 (aphids)
  • 斜纹夜蛾 (Prodenia litura)

🛠️ 核心脚本说明

download.PY

  • 自动下载IP102数据集
  • 解压和验证数据完整性
  • 创建标准目录结构

voc2yolo.py

  • 将Pascal VOC格式转换为YOLO格式
  • 生成训练/验证集划分
  • 创建data.yaml配置文件

train.py

  • YOLOv8模型训练脚本
  • 支持多种YOLOv8模型变体
  • 自动保存最佳权重

main.py

  • Gradio Web界面
  • 实时害虫检测
  • 用户友好的交互设计

📈 模型性能

  • 输入尺寸: 640x640
  • 置信度阈值: 可调节 (默认0.25)
  • 检测类别: 102种害虫
  • 推理速度: 实时检测

🎯 使用示例

单张图片检测

from ultralytics import YOLO model = YOLO("./IP102_YOLOv8/runs/IP102_detection/weights/best.pt") results = model.predict("image.jpg", conf=0.25)

批量检测

results = model.predict(["img1.jpg","img2.jpg"], save=True)

🔧 自定义配置

调整置信度阈值

在Web界面中滑动调节或在代码中设置:

results = model.predict(source=image, conf=0.5)# 更高阈值

使用不同模型

train.py中修改:

model = YOLO("yolov8s.pt")# 更大型号

📝 注意事项

  1. 首次运行需要下载数据集和训练模型
  2. GPU加速推荐用于训练和快速推理
  3. 内存要求批量处理时注意系统内存
  4. 文件路径确保数据集路径正确配置

Read more

AI 编程:自动化代码生成、低代码 / 无代码开发、算法优化实践

AI 编程:自动化代码生成、低代码 / 无代码开发、算法优化实践

前言 AI 编程是人工智能技术与软件工程深度融合的产物,是未来软件开发的核心趋势之一。它并非简单的「代码补全」,而是通过大语言模型、深度学习、自动化引擎等技术,实现从需求到代码的自动化生成、低门槛可视化的低代码 / 无代码开发、已有代码 / 算法的智能优化与性能提升三大核心能力。AI 编程的本质是「解放开发者生产力」—— 让开发者从重复的 CURD、固定范式的编码、繁琐的调优工作中抽离,将精力聚焦于业务逻辑设计、架构规划、核心算法创新等高价值工作。 本文将系统性讲解 AI 编程三大核心方向,全程搭配可运行完整代码、Mermaid 标准流程图、高可用 Prompt 工程示例、数据图表、技术架构图,兼顾理论深度与落地实践,所有内容均可直接复用。 一、AI 自动化代码生成:从自然语言到可执行代码的全链路生成 1.1 核心定义与技术原理 AI 自动化代码生成,是指基于大语言模型(LLM)的代码生成能力,开发者通过「

By Ne0inhk

ROS 2从入门到精通系列(十六):自主导航机器人 - 系统架构与SLAM

ROS 2从入门到精通系列(十六):自主导航机器人 - 系统架构与SLAM 构建完整的自主导航系统,从建图到导航的端到端实现。 引言 自主导航是机器人最经典的应用之一。它涉及: * 感知:LIDAR扫描、里程计 * 建图:SLAM建立环境地图 * 规划:生成无碰撞路径 * 控制:执行运动命令 本篇将从0到1构建一个完整的导航系统。 一、自主导航系统架构 1.1 完整的系统架构 硬件层 控制模块 运动控制 PID Control 安全监督 Emergency Stop 规划模块 全局规划 Dijkstra/A* 局部规划 DWA/TEB 可行性检查 Feasibility Check 感知模块 扫描匹配 Scan Matching 里程计 Odometry

By Ne0inhk
*ARINC 825,一种航电通信总线标准

*ARINC 825,一种航电通信总线标准

1. 它是什么 ARINC 825 是一个航空电子领域的技术标准,主要规范了在航空器内部如何使用一种名为“控制器局域网”(CAN)的数据总线进行通信。可以把它理解为航空界为CAN总线制定的一套精细的“交通规则”和“车辆制造标准”。 在生活中,CAN总线类似于小区或办公楼里的内部电话网络,各个房间(设备)可以通过这个网络互相通话。而ARINC 825 则详细规定了在这个高端、高安全要求的“航空大厦”里,这个内部电话应该用什么线路、怎么拨号、说什么语言、通话的优先级如何安排,以确保沟通绝对可靠、有序。 2. 它能做什么 它的核心作用是实现航空器上不同电子设备之间稳定、高效、可预测的数据交换。这些设备包括飞行控制系统、发动机指示系统、舱内压力控制系统等。 例如,想象一架飞机的机翼上有多个传感器,监测结冰情况。这些传感器需要将“探测到冰”这个消息快速、可靠地告知除冰系统和飞行员显示面板。ARINC 825 确保了这条关键消息能在复杂的电子环境中,像消防通道一样,拥有最高优先级,

By Ne0inhk
在ESP32-S3部署mimiclaw,基于deepseek并用飞书机器人开展对话-feishu

在ESP32-S3部署mimiclaw,基于deepseek并用飞书机器人开展对话-feishu

最近mimiclaw火爆,其开发团队也在密集更新,我看3天前已经可以用“飞书机器人”对话交互了。 目前网络上能查到的部署资料相对滞后,现在将飞书机器人的部署整理如下: 1. 前提 已经安装好ESP-IDF,并支持vscode编译esp32固件。 2. api-key准备 * 注册deepseek, * 创建APIkey, * 并充值,新注册的用户余额为零,无法使用 3. 飞书机器人 我是在飞书个人版中,创建的机器人。 1. 访问飞书开放平台,单击创建企业自建应用,填写应用名称和描述,选择应用图标,单击创建。 2. 左侧导航栏单击凭证与基础信息 页面,复制App ID(格式如 cli_xxx)和App Secret。 3. 配置事件订阅。 1. 在飞书开放平台左侧导航栏单击事件与回调,在事件配置页签中单击订阅方式,选择使用 长连接 接收事件,单击保存。 2. 在事件配置页面,单击添加事件,

By Ne0inhk