毕业设计:自主开发的害虫识别系统--文档附源码

[基于yolov5多目标检测算法的农业害虫识别查询系统]

设计文档

  • 目标问题与意义价值

【研究意义】本项目能够及时准确地识别农业害虫的种类,是害虫准确测报和合理防治的前提。传统的害虫识别方法主要依赖个人的专业经验进行辨别,或参考书本、网络上的文字和图像进行比对,或寻求专家鉴定等。由于害虫种类繁多,有些不同种类的害虫外观相似,而同一种类的害虫可能存在较大的变异,这种人工识别农业害虫的方法主观性强,实时性差, 容易造成误判。另外,我国农民科技文化素质普遍较低,拥有农业害虫诊断和防治知识的专家受地域和人数的制约,在时间和精力上难以满足为广大农户进行一线指导。这种情况下,需一种便捷、快速、准确识别农业害虫和提供害虫防治策略的智能工具。

【解决的问题】本项目利用深度学习方法和微信小程序,开发了一个面向移动终端的农业害虫智能识别系统,解决了农民或基层植保人员在田间遇到不认识害虫时无法实时获得有用信息的问题,可利用该小程序拍摄害虫图像,上传图片就可以实现害虫的自动检测和识别,并为用户提供一对一的农业害虫防治信息。

【实现的目标】用于解决在农业防治害虫过程中“害虫识别困难,防治方法不当,防治效率低”的问题,减小因农业害虫带来的损失,提高作物产量。

  • 设计思路与方案

主要设计思路:

首先将该项目划分为前端、后端、通信框架三个部分,实现同步开发,前端用作显示和交互,存储用户信息;后端实现智能识别;通信框架实现前后端数据传输、以一定的协议通信。

技术路线:该系统的技术路线以YOLOV5为核心,主要分为四个阶段,分别是准备阶段、启动阶段、再重复阶段和取得成果阶段;在准备阶段本项目首先自行收录了5000张害虫照片,经过图片增强,得到近18000张害虫照片,使用ImageNet对害虫数据集进行标注,标注完成后使用云GPU资源反复调参训练长达一个星期零一天,得到较为满意的害虫检测模型。本项目各个阶段的工作如图1所示。

毕业设计:自主开发的害虫识别系统--文档附源码_第1张图片

图 1技术路线图

详细设计方案:

前端:前端的设计思路一切以用户体验为主,为了客户更良好的体验,除了拍照识别害虫以外,本项目增加了很多其他的功能,比如在主界面设计了护林事项、线上咨询、每日一题,制作优美的数据库手册,提供了强大的数据库搜索功能,同时增加浏览记录查看功能等等。

通信框架:前后端通信需要借助云服务器,后端做好和前端通信的接口,自定义用于通信的数据结构和协议,接收前端传来的数据,通过算法处理数据后发回前端,前端解析后端发过来的数据流,然后反馈给用户。 

后端:本项目团队制作较为全面的昆虫数据集并对其数据增强,使用yolov5x深度学习神经网络训练出自己的害虫检测模型,再在yolov5检测算法基础上进行优化,并且自主增加通信接口来实现和前端的通信。图2是该系统前端、通信框架、后端的数据流程图。

毕业设计:自主开发的害虫识别系统--文档附源码_第2张图片

图 2数据处理流程

  • 方案实现

硬件:

Linux服务器1,配有GEFORCE RTX 3090显卡(用于训练模型);

Linux云服务器2(小程序服务器)。

软件:

①前端:使用微信开发者工具,制作相应界面,实现与服务器的通信、数据库接口实现,以实现多目标智能识别、害虫手册查看、数据收集、每日一题、线上咨询等功能。

②后端:采用yolov5x网络在服务器1上不断整定参数训练出更为精确的模型,在yolov5目标检测算法的基础上优化改进,增加对应的接口,采用flask框架来处理来自前端的请求,使用nginx反向代理服务器。其中通信部分涉及数据编码及解码技术。

  • 功能介绍

主要功能:

1、拍照识别功能:通过用户在微信小程序拍照或上传的害虫照片进行识别,识别成功后会将检测到的各种害虫标注出来,并显示各类数量,名称,点击可以查看害虫的基本信息和防治方法。

2、手册查询功能:建立害虫分类手册,供用户查看。

3、每日一题功能:设计每日一题等有趣的功能,添加小程序科普性和趣味性。

4、浏览记录功能:客户可以选择登陆查看搜索过的记录和识别次数。

5、线上咨询功能:提供了用户与后台人员的通信功能。

6、信息收集功能:当用户遇到该系统未收录的害虫时,可以通过选择地点,害虫分类或者图片上传,便于本项目进行数据更新。

主要性能:

1、识别性能:害虫识别时间在1s之内,能把一张图片中的多种害虫标注出来,并且显示数量和名称,识别率最高达到百分之九十,平均识别率达到百分之七十五。

2、界面性能:害虫手册较齐全,用户搜索相应害虫会立即输出该害虫详细信息。

  • 运行结果/应用效果

本软件对农业害虫识别系统进行数据展示和部分数据处理,运行在微信小程序上。软件采用html和js语言编写,分为五个界面:首页、手册、害虫识别、数据收集、我的。

如图3所示,首页包含了线上咨询、护林技巧、每日一题三个子界面,点击相应的子界面就会弹出相关内容;并且,主界面还提供了一个看图猜害虫的功能,吸引用户的使用。

毕业设计:自主开发的害虫识别系统--文档附源码_第3张图片

图 3首页

如图4所示为子页面线上咨询功能。

毕业设计:自主开发的害虫识别系统--文档附源码_第4张图片

图 4线上咨询

如图5所示为子页面每日一题功能。

毕业设计:自主开发的害虫识别系统--文档附源码_第5张图片

图 5每日一题

如图6所示为每日一题功能,无论是答对或者答错都会有相应害虫的解析和图片供用户参考。

毕业设计:自主开发的害虫识别系统--文档附源码_第6张图片

图 6每日一题(2)

如图7所示,手册界面包含了害虫、天敌、病害、虫害、植物病症和其他内容这几个子页面,主要是为用户提供一个较完善的害虫数据库,方便查询害虫的信息和防治方法。

毕业设计:自主开发的害虫识别系统--文档附源码_第7张图片

图 7手册害虫界面

如图8所示为蚜虫的详细信息。

毕业设计:自主开发的害虫识别系统--文档附源码_第8张图片

图 8害虫蚜

如图9所示为病害界面。

毕业设计:自主开发的害虫识别系统--文档附源码_第9张图片

图 9病害界面

如图10所示是该小程序的核心,也就是以YOLOV5技术为基础,实现在微信小程序上识别一种害虫、多种害虫的功能。用户通过点击上传害虫照片,就可通过在相册上传或者现场拍照上传,点击开始识别,就会输出相应昆虫的名称和数量,还有所标注的照片;当再点击适配的害虫时,就会弹出该害虫的详细信息。

毕业设计:自主开发的害虫识别系统--文档附源码_第10张图片

图 10识别蓟马

如图11所示为识别出蓟马的详细信息。

毕业设计:自主开发的害虫识别系统--文档附源码_第11张图片

图 11蓟马详细信息

如图12所示为识别一张照片里的多个害虫。

毕业设计:自主开发的害虫识别系统--文档附源码_第12张图片

图 12识别蚧

如图13所示为蚧的详细信息。

毕业设计:自主开发的害虫识别系统--文档附源码_第13张图片

图 13蚧详细信息

如图14所示为识别一张图片里的多种害虫。

毕业设计:自主开发的害虫识别系统--文档附源码_第14张图片

图 14识别多种害虫

如图15所示为数据收集功能,用户如果发现自己的林业有什么新的病症或者害虫是本项目该系统没有收录的,用户可以通过这个小程序把信息上传给本项目,本项目后面就会对害虫数据库进行更新。

毕业设计:自主开发的害虫识别系统--文档附源码_第15张图片

图 15地点选择

如图16为选择农业害虫的种类。

毕业设计:自主开发的害虫识别系统--文档附源码_第16张图片

图 16选择害虫类别

如图17所示为选择植物病症。

毕业设计:自主开发的害虫识别系统--文档附源码_第17张图片

图 17选择植物病症

如图18所示为上传信息,用户确定好所选信息,便可上传。

毕业设计:自主开发的害虫识别系统--文档附源码_第18张图片

图 18上传信息

  • 创新与特色
  1. 创意方面:

本作品关注农业生产中农业害虫种类多、识别难度高、农业病症难以入手的状况,解决用户在农业防治害虫过程中“害虫识别困难,防治方法不当,防治效率低”的问题,比起传统的害虫识别软件,本项目的使用微信小程序进行开发,减少用户因安装和注册花费时间,可以打开微信就能使用,用户可以选择拍照识别或上传图片识别,可以在一秒内识别图中的多种不同害虫并且还能反馈每种有多少个,小程序中提供了齐全的害虫数据手册方便用户查看,还增加了很多能够普及害虫知识的功能,如 每日一题、护林事宜等,还提供浏览记录功能,提高用户体验。

  1. 技术方面:
  1. 本项目在后端服务器中使用目标检测算法,将yolo系列最新推出的yolov5算法应用于农业的生产环境中,快速准确的识别害虫的数量及种类,以达到科技服务农业、技术服务生活的目的。
  2. 本算法技术创新点在于Auto Learning Bounding Box Anchors(自适应锚定框),这是基于训练数据自动学习的;还有Backbone-跨阶段局部网络(CSP),既保证了推理速度和准确率,又减小了模型尺寸;Neck-路径聚合网络(PANET),这使得模型能够识别不同大小和尺度的同一个物体;Head-YOLO 通用检测层,它在特征图上应用锚定框,并生成带有类概率、对象得分和包围框的最终输出向量。
  1. 应用方面:
    1. 实用价值:无需注册,只需要微信直接授权登录;改善农业防治害虫过程中“害虫识别困难,防治方法不当,防治效率低”的问题,借助该产品,用户遇到难以辨别的害虫可通过上传害虫图片快速了解该害虫的生活习性和防治方法,对未来农业的发展有很大帮助。
    2. 市场潜力:随着环境的变化,有很多的害虫不断的进化,很多人都辨别不出该害虫属于哪一类,叫什么名字,更加不懂它的生活习性,自然而然谈不上防治,最后导致的结果是农药污染和浪费。此系统不仅为用户提供了拍照识别功能还提供了一个较完善的害虫数据库,让用户方便查询和了解害虫,节省了很多的人力物力。

4、设计方面:将后台数据显示在微信小程序,用户在微信小程序上将可上传害虫图片进行识别;微信小程序提供了较为全面的害虫数据库,供用户查阅,设计了每日一题、浏览记录等实用有趣的功能,用户在使用小程序的过程中增强农业基础知识,也增强了小程序的趣味性。

源码链接--若部署请联系博主

你可能感兴趣的:(毕业设计,目标检测,微信小程序,python)