面向无人机和智能手机的YOLOv8模型改进实战—棉叶病虫害多尺度目标检测

面向无人机和智能手机的YOLOv8模型改进实战—棉叶病虫害多尺度目标检测

一、引言

       YOLO(You Only Look Once)作为一种非常流行的目标检测算法,以其高效和准确性而闻名。YOLOv8作为这一系列算法较新颖的版本,相较于其前身在准确性、速度和模型大小方面都有所改进。博主将分享1篇发表在《Industrial Crops and Products》(中科院1区TOP)的“CPD-YOLO: A cross-platform detection method for cotton pests and diseases using UAV and smartphone imaging”,说明YOLOv8模型在跨平台(无人机+手机)场景下的棉花病虫害多尺度目标检测中的应用。主要改进点如下:

(1)特征融合改善:构建Bi-FPN +RepTransformer网络,实现多尺度特征的高效融合与推理加速。

(2)检测头增加:设计4头动态检测网络,赋予模型多维动态感知能力。

(3)损失函数优化:提出Inner-Shape IoU 边界框回归损失函数,提升定位精度,同时加速模型收敛。

论文原文:Redirecting

部分代码:https://github.com/xfl-521/GW_Y_YOLO

欢迎大家交流、引用和分享,博文如需转载请注明来源。

二、研究背景

      棉花是一种重要的经济作物,也是世界范围内纺织品的主要原料。棉花种植期间主要面临病虫害的侵袭,威胁棉花生长发育,引发产量骤减,严重削弱棉花的商品属性和市场竞争力。病虫害的侵袭会导致棉花叶片细胞结构中的色素、水分、营养元素等性质发生变化,这种变化会反映在棉叶图像信息中,如颜色和形态。近年来,随着深度学习的发展,以YOLO系列模型为代表的目标检测算法,因其检测精度高、泛化能力和鲁棒性强等优势在作物病虫害诊断中应用广泛。因此,研发基于YOLO的棉叶病虫害检测方法有望为棉农提供移动互联新兴形势下的田间棉叶病虫害精确检测服务,助力棉花产业高质量发展。

三、数据集

(一)数据获取与标注

      采用大疆Mavic3无人机和荣耀9手机采集了蚜虫、双斑萤叶甲和褐斑病侵袭下的棉叶图像数据,其中无人机图像分辨率为4000×3000像素,手机图像为3968×2976像素。随后对图像进行人工标注,生成包含病虫害位置及类别信息。

部分数据集:https://huggingface.co/datasets/Fukang2000/CPD_YOLOGWY/tree/main

参考链接:

X-AnyLabeling: https://blog.ZEEKLOG.net/weixin_45686120/article/details/144177943

AnyLabeling GitHub仓库: https://github.com/vietanhdev/anylabeling

AnyLabeling官方文档: https://anylabeling.nrl.ai

                                             (a)无人机图像

                                         (b)智能手机图像

图1 棉花病虫害图数据标注示例

四、模型改进

(1)RepViT-BiFPN:在RepViT block中采用了结构重参数化技术,以提高模型在训练期间的学习效率,并在推理期间减少计算和内存成本。采用跨块方式放置挤压-激励(SE)层,以最大化准确性收益,同时最小化延迟增加。

参考链接:https://blog.ZEEKLOG.net/qq_38668236/article/details/147259859

(2)DyHead:

参考链接:

https://blog.ZEEKLOG.net/zmyzcm/article/details/135185606?ops_request_misc=%257B%2522request%255Fid%2522%253A%25225c40eb4f2345606aaaa9f60c7a4176ef%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=5c40eb4f2345606aaaa9f60c7a4176ef&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-135185606-null-null.142^v102^pc_search_result_base5&utm_term=DyHead&spm=1018.2226.3001.4187

(3)Inner-IoU:对于高IoU的样本,使用较小的辅助边界框来计算损失可以加快收敛,而低IoU的样本则更适合使用较大尺寸的辅助边界框。基于此Inner-IoU应运而生,它通过辅助边界框来计算IoU损失。

参考链接:

https://blog.ZEEKLOG.net/athrunsunny/article/details/134458647?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522e90d1474bc3019db6c0d9db420e319ca%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=e90d1474bc3019db6c0d9db420e319ca&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-134458647-null-null.142^v102^pc_search_result_base5&utm_term=inner%20iou&spm=1018.2226.3001.4187

(4)Shape-IoU:Shape-IoU通过引入形状和尺度感知因子,改进了传统IoU的计算方式,使其能够更准确反映边界框之间的真实相似度,提高小目标的检测精度,增强模型对不规则形状目标的适应性。

参考链接:

https://blog.ZEEKLOG.net/feng1790291543/article/details/147256042?ops_request_misc=&request_id=&biz_id=102&utm_term=Shape-Iou&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-147256042.142^v102^pc_search_result_base5&spm=1018.2226.3001.4187

                     

图2 改进的YOLOv8模型结构图

五、模型结果

      无人机图像中的棉叶病虫害目标较智能手机图像更小且数量更多,尽管典型YOLO系列模型计算复杂度较低,但其特征融合和多尺度目标检测能力较弱。CPD-YOLO在智能手机图像中表现优异,尤其在小尺度、目标数量较少且特征明显的场景下。CPD-YOLO通过增强特征融合和构建多尺度动态检测头网络,有效减少了无人机图像中的漏检和误检。

(一)消融实验结果

表1消融实验结果

表2 模型对比实验结果

图3 棉叶病虫害检测结果示例

六、结论

        研究提出了基于CPD-YOLO的棉花病虫害多尺度目标检测方法,适用于无人机和智能手机场景。消融实验与对比实验结果验证了改进策略的有效性,结果表明CPD-YOLO的漏检率最低,相较原始YOLOv8模型,其F1与mAP分别提升了7.44%和7.08%。

      考虑到DeepSeek、豆包、文心一言等国内人工智能大语言模型的崛起,未来研究可在进一步扩充实验数据的基础上接入大语言模型,辅助棉叶病虫害诊断和防治决策,并由植保专家对决策结果进行评估和校正,建立决策结果与专家修正的闭环优化机制,提升棉花病虫害诊断和防控的AI+精准指导。

论文原文:Redirecting

部分代码:https://github.com/xfl-521/GW_Y_YOLO

撰写博客不易,请大家关注、点赞,博文如需转载请注明来源,感谢你们的支持!

Read more

OpenClaw Webhook 详解:完整指南

Webhook 是将 OpenClaw 从“聊天助手”快速转变为“响应式系统”的最佳方式。无需等待您主动发送消息,GitHub 可以在 PR 提交时通知 OpenClaw,Stripe 可以在支付失败时通知 OpenClaw,n8n 也可以按计划通知 OpenClaw。OpenClaw 会接收这些传入事件,并将其转换为代理运行或轻量级唤醒操作,然后将结果路由回您实际使用的任何渠道。 本文重点介绍 OpenClaw 网关上的 HTTP Webhook。OpenClaw 中还有另一种东西,在一些文档和配置中也被称为“钩子”。这些是网关内部的事件钩子,当本地生命周期事件触发时运行。它们也很有用,但 Stripe 或 GitHub 与服务器通信的方式并非通过它们。 如果您的 OpenClaw 实例是刚刚部署在 VPS 上,并且您仍然使用 SSH 进行基本操作,那么首先要确保网关稳定,

前后端分离架构(Vue 前端 + Java/SpringBoot 后端)项目部署 || 全服务器部署(宝塔面板)全流程 || 前端Netlify + 后端服务器 部署对比

前后端分离架构(Vue 前端 + Java/SpringBoot 后端)项目部署 || 全服务器部署(宝塔面板)全流程 || 前端Netlify + 后端服务器 部署对比

一、 部署需要分「前端」「后端」「数据库」三个部分 优先选低成本 + 易操作的组合: * 前端:免费静态托管平台(Netlify/Vercel,无需服务器) * 后端:云服务器(学生机,每月 9 元起) * 数据库:云服务器内置 MySQL(或用免费云数据库) 下文的部署采用的是全服务器部署方式,即前后端都部署到云服务器上 二、第一步:部署前端(Vue 项目,免费 + 5 分钟完成) 1. 本地打包前端代码 在 Vue 项目根目录执行命令,生成静态文件目录dist: npm run build 2. 部署到 Netlify(免费、自动构建、带 HTTPS) (如果是全服务器部署,

前端仔狂喜!我用这个开源神器,3分钟给项目配上API后台!

前端仔狂喜!我用这个开源神器,3分钟给项目配上API后台!

作为一名前端开发,我最怕听到的话就是:“这个页面内容需要后台可配”。这意味着无尽的沟通、漫长的等待,甚至还得自己去学写后端接口。最近,我终于找到了一个能将我从这种痛苦中解放出来的神器——Strapi。 什么是Strapi? Strapi 是一个开源的无头(Headless)CMS,GitHub上狂揽 60.5k Star。简单说,它能让你通过点击鼠标的可视化界面,快速创建出结构化的内容模型,并自动生成配套的 RESTful API 或 GraphQL。你不需要写一行后端代码,就能拥有一个功能强大的、可随时调用的数据后台。 传统部署的“噩梦” 想法很美好,但我尝试手动部署 Strapi 时,才发现这根本不是给前端玩的: * 环境依赖复杂:首先你得有个 Node.js 环境,还得配个正经的数据库,比如 PostgreSQL 或 MySQL,光是数据库的安装和配置就够我喝一壶的。 * 配置繁琐:你需要手动创建数据库、配置环境变量,

open-webui 高速下载&Docker本地部署集成远程Ollama

open-webui 高速下载&Docker本地部署集成远程Ollama

open-webui 镜像快速高速下载 docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.6.9 https://docker.aityp.com/r/ghcr.io/open-webui/open-webuihttps://docker.aityp.com/r/ghcr.io/open-webui/open-webui 部署教程官网即可 https://docs.openwebui.com/https://docs.openwebui.com/ 启动Ollama在另一台机器上,默认启动,对外开放端口11434 打开ip访问限制,以便于其他机器访问 在open-webui的机器上面测试一下链接 curl http: