热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

1.1赛题背景昆虫的种类浩如烟海,农田常见的昆虫是人工生态系统的重要组成部分。分辨益虫和害虫,保留益虫,消灭害虫,对于减轻害

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

 


推荐阅读
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • Python库在GIS与三维可视化中的应用
    Python库极大地扩展了GIS的能力,使其能够执行复杂的数据科学任务。本文探讨了几个关键的Python库,这些库不仅增强了GIS的核心功能,还推动了地理信息系统向更高层次的应用发展。 ... [详细]
  • 使用R语言进行Foodmart数据的关联规则分析与可视化
    本文探讨了如何利用R语言中的arules和arulesViz包对Foodmart数据集进行关联规则的挖掘与可视化。文章首先介绍了数据集的基本情况,然后逐步展示了如何进行数据预处理、规则挖掘及结果的图形化呈现。 ... [详细]
  • 本文源自Coursera平台吴恩达教授的深度学习课程,重点探讨了卷积神经网络(ConvNets)从二维图像处理向一维信号及三维数据处理的拓展应用。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 解决FCKeditor应用主题后上传问题及优化配置
    本文介绍了在Freetextbox收费后选择FCKeditor作为替代方案时遇到的上传问题及其解决方案。通过调整配置文件和调试工具,最终解决了上传失败的问题,并对相关配置进行了优化。 ... [详细]
  • 由二叉树到贪心算法
    二叉树很重要树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。单就面试而言,在 ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
author-avatar
張張186coolgirl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有