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。 对于这样模棱两可的训练集,难以分辨清楚哪些昆虫需要标注,哪些昆虫不需要 标注。急需人工的加以干预,对数据集处以再处理。

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

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

    第十届"泰迪杯" 数据挖掘挑战赛优秀作品-农田害虫图像识别--特等奖 实验结果分析 4.1.1 实验配置 本篇论文的实验都是基于 Ubuntu 系统下进行,使用 GPU 和 CPU ...

  2. 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 31页省一等奖论文及代码

    相关链接 (1)[第十届"泰迪杯"数据挖掘挑战赛]B题:电力系统负荷预测分析 问题一Baseline方案 (2)[第十届"泰迪杯"数据挖掘挑战赛]B题:电力系统 ...

  3. 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 问题二 时间突变分析 Python实现

    目录 相关链接 完整代码下载链接 1 定义绘图函数 2 通过对原始测量应用阈值来查找异常值 3 手动设置阈值 4 使用分位数设置阈值 5 3Sigma原则(IQR) 6 设定分位数 6.1 导入数据 ...

  4. 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析第一问LSTM模型的建立

    1️⃣问题分析 地区负荷的中短期预测分析 根据附件中提供的某地区电网间隔15分钟的负荷数据,建立中短期负荷预测模型:

  5. 泰迪杯-数据挖掘挑战赛

    http://www.tipdm.org/bdrace/tzjingsai/20181226/1544.html?cName=ral_101 第七届泰迪杯数据挖掘挑战赛组委会及专家组名单 2018-0 ...

  6. 第十一届“泰迪杯”数据挖掘挑战赛赛前指导安排

    第十一届"泰迪杯"挑战赛报名一周了,许多的参赛队伍及带队老师都在咨询我们赛前指导安排及内容,今年的赛前指导安排还是分为了赛前指导录播课程及赛前指导直播两个模块.小编这就为大家介绍一 ...

  7. 【第十一届泰迪杯数据挖掘挑战赛】A 题:新冠疫情防控数据的分析 思路+代码(持续更新)

    [第十一届泰迪杯数据挖掘挑战赛]A 题:新冠疫情防控数据的分析 思路+代码(持续更新) 问题背景 解决问题 代码下载 数据分析 Task1 Task2 Task 3 问题背景 自 2019 年底至今, ...

  8. 第十一届“泰迪杯” 数据挖掘挑战赛 火热报名中!

         距离第十一届"泰迪杯"数据挖掘挑战赛报名结束仅剩下两周时间,为能让各位参赛小伙伴对"泰迪杯"竞赛进一步了解,今天小编为大家整理了详细的竞赛介绍,想要了 ...

  9. 2023年泰迪杯数据挖掘挑战赛B题--产品订单数据分析与需求预测(1.数据处理)

    1. 前言 本题相对来说比较适合新手,包括针对数据的预处理,数据分析,特征提取以及模型训练等多个步骤,完整的做下来是可以学到很多东西的. 2.问题一思路分析 本题要求利用附件中的训练数据进行深入的分析 ...

最新文章

  1. Windows 7 搭建 Mobile 6 真机调试开发环境
  2. RobotFramework教程使用笔记——requests和requestslibrary库
  3. 二叉树的建立和遍历的各种问题
  4. css--calc()函数
  5. java多个类共享的数据_Java---多线程基础总结
  6. java lang保_java中lang包下的类都涉及哪几方面的
  7. 谈谈运维人员谨慎操作系统环境和管理
  8. JS des加密解密
  9. 绿联串口线linux驱动下载,绿联USB转DB9串口线驱动 V1.6.1 Mac版
  10. JAVA透视相机安卓_透视相机下载安卓版
  11. 人脸识别“火”了!网友:胖了、整容了怎么办?
  12. java哨兵模式_哨兵模式详解
  13. Halcon算子学习:distance_object_model_3d
  14. 网络教育本科统考计算机和英语作文,远程教育本科统考英语真题及答案
  15. Elasticsearch短语或近似匹配及召回率案例深入剖析-搜索系统线上实战
  16. 跨平台应用开发进阶(十一) :uni-app 实现IOS原生APP-云打包集成极光推送(JG-JPUSH)详细教程
  17. excel怎么调用c语言程序设计,知识:Excel使用C语言进行读写,代码简单易懂
  18. web项目开发---部署
  19. 【每日刷题】P1010 幂次方题解
  20. 移动学习 AndroidStudio内存优化分析—hprof文件分析

热门文章

  1. matlab语音合成技术,matlab语音合成详细版
  2. Python3绘图库之rrdtool模块
  3. Python 画玫瑰花
  4. 2018——幸福都是奋斗出来的
  5. 亚马逊违反受限商品申诉模板,亚马逊二手产品申诉
  6. 读书分享-《心智突围》上
  7. 用unity开发贪吃蛇,勾起我童年乐趣的小游戏
  8. Unity Shader - URP ShadowCast ShadowRecieve - 投影 和 接受阴影
  9. vijos P1263 单挑女飞贼
  10. 第 13 章 一 垃圾回收概述