利用改进的YOLOv5模型对玉米和杂草进行精准检测和精准喷洒

2023-11-09 01:30

本文主要是介绍利用改进的YOLOv5模型对玉米和杂草进行精准检测和精准喷洒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Accurate Detection and Precision Spraying of Corn and Weeds Using the Improved YOLOv5 Model

  • 摘要
  • 1、引言

摘要

本文提出了一种基于改进yolov5s的轻量化模型,并构建了一种精密喷涂机器人。
首先,采用基于品类平衡和农艺特征的数据增广方法解决了数据不平衡问题;然后,与yolov5s、yolov5l、yolov5m、yolov5x相比,我们发现yolov5s具有实时性和准确性,并且更容易将模型部署到边缘设备上。
通过特征地图可视化实验,我们发现特征提取网络不能密切关注目标的重要特征,抑制噪声特征。因此,我们添加了注意机制。
为了提高模型的实时性,我们设计了c3ghost -瓶颈模块。
最后,我们制作了一个精密喷涂机器人。
与原模型相比,map@0.5值增加了3.2%,模型文件减少了3.6 MB,玉米AP值从93.2%提高到96.3%,杂草AP值从85.6%提高到88.9%。最后,进行了杂草精确喷洒试验。
关键词:数据平衡,目标检测,精密喷涂机器人,SENet, yolov5s。

1、引言

喷药除草作业大多采用连续喷药的方法。虽然具有良好的除草效果,但大量喷洒农药不仅污染环境,还影响农作物的生长发育,而且容易产生农药残留[3]。精准施药是提高农药利用率的有效途径,而目标的准确识别和定位是实现精准施药技术的前提。
在早期,国内外许多学者利用植物叶片的形状特征、纹理特征、颜色特征和位置空间特征来识别农作物和杂草。Strand等人[19]利用植物形态特征,利用贝叶斯分类器对杂草进行分类,成功率为76.5%。
Strand等人[19]利用植物形态特征,利用贝叶斯分类器对杂草进行分类,成功率为76.5%。Li et al.[20]利用植物和土地的颜色特征对其进行分割,然后利用农作物和杂草的面积特征通过构造像素直方图对其进行分类。实验结果表明,玉米的识别率高于95%。Lanlan等[21]利用玉米和杂草的4个形状参数实现了支持向量机对玉米和杂草的识别,识别准确率达到了96.5%。Wu等人[22]利用纹理特征准确识别玉米和杂草,SVM分类器识别准确率在92.31% -100%之间。由于玉米和杂草的颜色相似,玉米叶片容易遮盖杂草的叶片,以及背景的复杂性,使用单一属性来区分作物和杂草是一项挑战。因此,许多研究者提出了一种用于目标识别的多特征融合策略。Mao等人的[23]利用颜色、位置、纹理和形态特征实现了对农作物和杂草的识别。Lin et al.[24]利用光谱成象器方法对叶片的纹理和形态数据进行合并,模型的识别精度达到95%。Chen et al.[25]利用Otsu阈值法将植物与背景区分开。根据玉米和杂草的叶片形状,采用概率神经网络方法对玉米和杂草进行区分。对玉米和杂草的识别率分别为92.5%和95%。
虽然传统的机器学习方法也可以有很好的识别效果,但由于野外环境复杂,杂草种类繁多,光照强度随时变化,传统方法缺乏较强的特征提取和泛化能力,导致传统方法对环境和杂草种类变化的适应性差。
与传统机器学习相比,深度学习利用卷积神经网络提取杂草的多尺度、多维空间语义特征信息,独立获取目标的有用特征,解决了传统方法提取杂草和作物特征的不足,有效提高了作物和杂草的识别和检测精度。
近年来,深度学习方法被广泛应用于农作物和杂草[26]的识别和定位。
Jiang et al.[27]利用图卷积神经网络对玉米和杂草进行识别,识别准确率达到97.8%。Andrea等人[28]利用cNET实时区分玉米和杂草,利用分割阶段生成的数据集训练卷积神经网络实现对玉米和杂草的识别。
Pei等[29]基于yolov4网络模型构建了智能除草机器人系统。
Cheng等[30]提出了一种改进的YOLOv4模型,用MobileNetv3替代CSPDarknet53网络,然后使用迁移学习来加速模型训练。
Quan等人利用VGG19作为基于Faster-R-CNN网络模型的预训练网络,对玉米幼苗的识别准确率达到97.71%。
出了一种改进的yolov5s目标检测模型。在特征提取阶段引入SENet注意机制,引导模型注意目标信息,提高了模型的目标识别性能。通过利用Ghost模块的轻量级优势,减少了模型的参数和计算量,我们创建了c3 -Ghost-瓶颈模块,以解决大量模型参数和计算量的问题。

这篇关于利用改进的YOLOv5模型对玉米和杂草进行精准检测和精准喷洒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373440

相关文章

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

python进行while遍历的常见错误解析

《python进行while遍历的常见错误解析》在Python中选择合适的遍历方式需要综合考虑可读性、性能和具体需求,本文就来和大家讲解一下python中while遍历常见错误以及所有遍历方法的优缺点... 目录一、超出数组范围问题分析错误复现解决方法关键区别二、continue使用问题分析正确写法关键点三