分享篇:第十届“泰迪杯”数据挖掘挑战赛-农田害虫图像识别(特等奖)一

news2025/1/17 9:07:09

1.1 赛题背景 昆虫的种类浩如烟海,农田常见的昆虫是人工生态系统的重要组成部分。分辨益 虫和害虫,保留益虫,消灭害虫,对于减轻害虫对农田的生产危害有重要意义。常见 农田害虫共有 138 种,天敌昆虫则为 40 种。病虫害是农业生产中的“灰犀牛”,如果 不能及时地控制病虫害问题,会导致农作物减产歉收。

如何去控制病虫害,从而提高农作物的收成是一项很重要的任务,其中最重要的 一环是准确检测病虫害。在传统方式已经无法满足规模日益增大的农业需求之后,虫 情检测灯的出现让无人监管的病虫害检测成为了可能。虫情检测灯能实现自动诱集、 杀虫、虫体分散、拍照以及上传数据等作业过程,可以帮助植保人员更快、更准确地 分析虫情,从而减少农产品农药残留,改善农田环境。 虫情检测灯的效果依赖于目标检测算法,采用高效的目标检测算法可以提高效率 和精度且降低成本,为此,国内外专家做了大量的研究,其中深度学习成为了目标检 测算法的热点。

复杂的网络结构和庞大的数据样本是深度学习的最大特点,自从深度 学习横空出世,图像识别获得了跨越性的进展。

1.2 问题重述

 问题一要求我们结合附件 1 中由虫情探测灯采集的图像文件以及附件 2 中部分已 识别图像的信息,建立一个识别率高、速度快、分类准确的模型和算法,确认害虫的 位置及种类。问题二要求我们将模型应用于现实,对附件 3 进行图像识别作业并将识 别结果放在“result2.csv”中。问题三要求我们将识别结果进一步分类统计,得出附件 3 中各类害虫的数量并将统计结果放在“result3.csv”中。

1.3 文献综述 You Only Look Once (YOLO) 是一种能够实时处理对象的检测算法。它是一种 Onestage 的目标检测算法,因为它建议使用端到端的神经网络,可以同时预测边界框和类 别概率。因此,YOLO 比之前的两阶段模型(R-CNN、Fast R-CNN、Faster R-CNN)具有 更好的推理速度。YOLO 的结构很简单,它可以通过神经网络直接输出限定框的位置 与类别。另外,YOLO 的速度更快,因为 YOLO 只需要将图像放到网络即可得到最终 的检测结果,因此 YOLO 也可以实现对一段视频进行检测。YOLO 直接使用整张图片 进行检测,可以对全局信息进行编码,因而可以减少因背景造成的误差。YOLO 可以 将高度广义的特征转化到其他领域,同时它可以将目标检测问题转化为回归问题,但 是回归的精度有待提高。

 随着 YOLOv5 的引入,YOLO 系列模型达到了一个前所未有的高度,其推理速 度做到了当世最强,而且 Yolov5 的模型大小只有轻量级,它的 Backbone 阶段采用了 Focus 和 CSPDarknet53 结构,Focus 结构其中比较关键的部分是切片操作,CSP 结构 先将基础层的特征映射后划分为 2 个部分,然后通过跨阶段层次结构将它们合并,解 决了梯度信息重复问题,得到更多的正样本锚,在减少了计算量的同时也可以保证准 确率。并且使用了路径聚合网络和空间金字塔池化作为 Neck 结构,PANet 基于 Mask R-CNN 和 FPN 框架,同时增强了信息的流动,该网络的特征提取器采取了一种自下 向上路径的改进的 FPN 网络结构,改善了低层特征的传播。Neck 结构主要是生成特 征金字塔,该结构可以产生不同固定尺寸的池化特征向量,同时强化了特征的表达能 力,对于同一物体在不同尺寸的检测有很好的作用。最后经过 YOLO 通用预测层,该 层主要用 Head 模型预测最终结果,在格网中根据特征标记锚定框,通过损失计算得 出目标类的概率和边框最终位置。YOLOv5 在输出端使用 GIOU Loss 作为边界框的损 失函数,因此边框有很快很好的收敛效果。

YOLOv5 共有 s、m、l、x4 种模型,4 种模型具有相同的网络结构,调整 2 个参数来 改变模型的深度和宽度。相比 YOLOv5s 模型的深度最浅,YOLOv5x 模型的 Neck 数量 最多,是 s 模型的 4 倍。YOLOv5s 模型的宽度最窄,因此卷积核的数量减半,YOLOv5x 模型的卷积核的数量最多,通道层的数量是 s 模型的 2.5 倍。YOLOv5l 模型的宽度和 深度都是初始值。在相同数据集的情况下,YOLOv5s 模型的训练和推理性能最佳,体 量最小,但是 YOLOv5x 模型的平均精度均值最佳。

二、数据探索

2.1 类别不平衡的问题 在提供的正式数据中,共计 3015 张图片,其中 2213 张图片已经给出了标注样例, 剩余 802 张图片作为测试集,训练集中共出现 28 种昆虫,使用 SPSSSPRO 平台对所 有给出标注结果的图片统计分析,发现严重存在类别不平衡问题,如图 3所示,出现 最多的昆虫是共出现 247 次的八点灰灯蛾,而出现最少的昆虫类别,例如豆野螟只出 现一次,干纹冬夜蛾只出现一次,水螟蛾只出现三次。经过统计,共有 17 种昆虫给出 的标注次数少于 20 次。与此同时,其中 1637 张图片被官方判定为无需标注,即正式 数据标注了这些图片,却没有标注任何昆虫。在 2213 张给出标注的图片中有 1637 张 为负样本,这对模型的训练不利,大大减少了能从正式数据中能够获得的信息。

 

2.2 数据标注质量问题

通过 python 调用 opencv 库,我们对所给出的标注图片中昆虫的具体图像做了分 离,可以发现给出的标注图像中,很多图片标注中出现了标注不准确的问题,如图 4中 中一只翅膀分别被标记为了稻螟蛉和紫条尺蛾,而图 5中对于草地螟所有通过标记给 出的五张图片中,只有一张能够完整的表示出草地螟的完整生物学特征。

 

样本是模型训练的基石,倘若没有良好的、大量的数据集做支撑,再好的模型也 难以训练出表现优良的模型。

2.3 样本标注不清晰 通过对给出的图片的标注区域可视化,可以发现所提供训练数据集本身对于某些 昆虫标注存在标准不明确、不完全的问题,比如大黑鳃金龟在一些图片中,训练集中 标出了大黑鳃金龟,而在别的图片中反而没有标注。在一些图片中有多只大黑鳃金龟, 但是却没有标注完全,只标注了某一只。原数据集给出的大黑鳃金龟样例图如图 6

 

未标出的大黑鳃金龟和甘蓝夜蛾图(均见于左上角),如图 7。 对于这样模棱两可的训练集,难以分辨清楚哪些昆虫需要标注,哪些昆虫不需要 标注。急需人工的加以干预,对数据集处以再处理。

 

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

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

相关文章

D-UNet:一种用于慢性脑卒中病变分割的维数融合U型网络

摘要 二维卷积神经网络忽略了医学图像的三维信息,而三维卷积神经网络对计算资源的需求过大。而本文提出一种新的结构,称为维度融合网络(D-UNet)这个网络在编码阶段创新的结合了二维和三维卷积。所提出的网络结构实现了比2D网络更…

C语言快速过渡C++

下面只讲干货,方便C语言初学者快速上手cpp来刷算法题,如果是希望系统学习cpp的不建议继续阅读,仅限于快速使用 文章目录using namespace stdcin cout 头文件变量声明bool变量const定义常量string类字符串的定义与拼接字符串的输入字符串的处理…

Qt扫盲-QStackedWidget理论总结

QStackedWidget理论总结1. 简述2. 布局用法3. 页面切换4. 常用功能1. 简述 QStackedWidget和QTabWidget的功能类似,都是为解决大量的控件在一个页面上可能显示不出来,同时呢,这些控件也可以按一定方式分类,我们就可以把这些控件分…

JAVA文件基本操作与概念

文件的概念 狭义的文件: 存储在硬盘上的数据,以文件为单位,进行组织;文件夹也叫做"目录",也是一种特殊的文件(文件里存储的也是文件) 这章笔记的内容都是指狭义的文件 广义的文件: 操作系统…

Docker安装emqx详解(配置SSL证书、开启WSS、鉴权)

EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。 1 端口介绍 1883:MQTT 协议端口8084:MQTT/SSL 端口8083:MQTT/WebSocket 端口8080:HTTP API 端口18083:Dashboard 管理控制台端口 2 拉取镜像 …

视频文件转M3U8

前言 前段时间遇到一个播放视频的项目,为了防止登录的用户下载项目的视频,所以需要对视频加密,即使用户下载也不能播放;因为前端采用videojs,最后确认方案是将mp4转m3u8文件格式,来实现视频文件加密播放。下…

公共用房管理系统有哪些管理功能?

数图互通房产管理 数图互通公共用房管理系统的管理功能范围包括: 1、对全部公房进行图形化、电子化、规范、动态化管理。 2、房屋数据定义:可对校区、片区、建筑物、楼层、房间数据进行增删改查,对房间属性数据进行批量修改。 3、档案及多类型附件管理:可对房产的…

对antd-vue输入框的二次封装,显示长度限制,兼容v-decorator和v-model

背景&#xff1a;antd组件中输入框长度限制没有显示&#xff0c;不能像elementUI一样&#xff0c;所以自己来封装实现 目的&#xff1a;对antd-vue输入框的二次封装&#xff0c;显示长度限制&#xff0c;兼容v-decorator和v-model 效果图&#xff1a; 代码&#xff1a; <…

JAVA方向程序设计PTA期末考试小测试

目录 1.方法重载 2.实例成员与类成员 3.static类成员 4.对象的组合 5. 对象的先上转型 6.引用类型&#xff08;数组&#xff09;参数传递 7.三角形类 8.机动车类补全代码 9.数组的引用与元素 10.求最大值 11.接口回调 12*.接口实现-Comparable 13.集体评分 14. 动…

@Windows server 2022安装使用(Workstation)

文章目录1.windows [iso下载](https://www.microsoft.com/zh-cn/evalcenter/evaluate-windows-server-2022)2.准备[workstation](https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html)&#xff08;个人测试&#xff09;3.安装windows server4.wi…

QT 使用第三方库QtXlsx操作Excel表

一直以来&#xff0c;都想学习一下C/C如何操作excel表&#xff0c;在网上调研了一下&#xff0c;觉得使用C/C去操作很麻烦&#xff0c;遂转向QT这边&#xff1b;QT有一个自带的类QAxObject&#xff0c;可以使用他去操作&#xff0c;但随着了解的深入&#xff0c;觉得他并不是很…

打造企业数智化管理新引擎,中国首份指标中台市场研究报告重磅发布!

12月15日&#xff0c;中国首份指标中台市场研究报告正式对外发布。该报告由专注数字化市场的研究咨询机构爱分析联合指标中台代表厂商 Kyligence 共同打造&#xff0c;内容聚焦指标管理和数据分析痛点&#xff0c;全面地梳理了指标中台概念、价值和应用落地方法论&#xff0c;并…

如何快乐地自学Python?阿里讲师用“四点”,说透快乐学习的方法

前言 由于我是自学Python&#xff0c;非科班出身&#xff0c;所以只能分享一些关于我的学习心得&#xff0c;如果有不对地方欢迎指正。 不过非科班出身虽然是一个痛点&#xff0c;但是在工作上&#xff0c;我其实不输给我其他同事&#xff0c;这点我倒是很有自信&#xff0c;…

活用 F12 开发者工具,测试效率原来可以提高这么多

推荐阅读&#xff1a; [内部资源] 想拿年薪30W的软件测试人员&#xff0c;这份资料必须领取~ Python自动化测试全栈性能测试全栈&#xff0c;挑战年薪40W 从功能测试进阶自动化测试&#xff0c;熬夜7天整理出这一份超全学习指南【附网盘资源】 什么是F12? F12开发者工具是…

HTTP详细介绍

HTTP 内容协商 什么是内容协商 在 HTTP 中&#xff0c;内容协商是一种用于在同一 URL 上提供资源的不同表示形式的机制。内容协商机制是指客户端和服务器端就响应的资源内容进行交涉&#xff0c;然后提供给客户端最为适合的资源。内容协商会以响应资源的语言、字符集、编码方…

FS32R294JCK0MJDT功能、FS32R294KCK0MJDT特点、FS32R294KAK0MJDT雷达微控制器

S32R294的特点与优势&#xff1a;内置雷达信号加速单元&#xff0c;简称SPT2.8&#xff0c;是专门服务于FMCW雷达的信号处理加速单元。同时&#xff0c;它是16纳米Power架构的处理器&#xff0c;与上一代处理器有非常好的软件兼容性&#xff0c;软件复用率高达80%&#xff1b;S…

【愚公系列】2022年12月 使用NSSM工具部署ELK三件套为Windows服务

文章目录前言一、使用NSSM工具部署ELK三件套为Windows服务1.安装ElasticSearch服务2.安装Kibana服务3.安装Logstash服务4.验证ELK服务前言 nssm是一个服务封装程序&#xff0c;它可以将普通exe程序封装成服务&#xff0c;实现开机自启动&#xff0c;同类型的工具还有微软自己的…

计算机硬件基础

目录 一、计算机组成原理 1.计算机的组成 输入设备&#xff1a; 输出设备&#xff1a; 存储器&#xff1a; 运算器&#xff1a; 控制器&#xff1a; 2.总线 总线 DMA总线 二、多级存储 1.三级存储结构 Cache 主存储器 辅助存储器 2.地址空间 三、CPU工作原理概述…

Java培训Mycat全局序列

全局序列 1、本地文件方式 不推荐&#xff0c;如在Mycat主机中用本地文件方式创建全局序列&#xff0c;当这台机器宕机时会出现&#xff0c;序列文件丢失&#xff0c;造成序列冲突问题 Java培训Mycat全局序列 2、数据库方式 2.1、原理 利用数据库一个表 来进行计数累加。…

干货 | 数字经济创新创业——软件研究

下文整理自清华大学大数据能力提升项目能力提升模块课程“Innovation & Entrepreneurship for Digital Economy”&#xff08;数字经济创新创业课程)的精彩内容。主讲嘉宾&#xff1a;Kris Singh: CEO at SRII, Palo Alto, CaliforniaVisiting Professor of Tsinghua Unive…