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

 


推荐阅读
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 我是如何快速拿下datacastle图像识别竞赛“猫狗大战”冠军的 | 含全代码和详细说明...
    接触数据挖掘快有一年了,早期在学生团队做过一些D3数据可视化方面的工作,今年上半年开始数据挖掘实践。想把这个爱好发展成事业。有在kaggle混迹 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • Matplotlib在数据科学中的可视化应用与技术解析
    Matplotlib和数据可视化 数据的处理、分析和可视化已经成为Python近年来最为重要的应用领域之一,其中数据的可视化指的是将数据呈现为漂亮的统计图表ÿ ... [详细]
  • 吴裕雄数据挖掘实战案例(13):GBDT模型的深入应用与解析
    #导入第三方包importpandasaspdimportmatplotlib.pyplotasplt#读入数据defaultpd.read_excel(r&# ... [详细]
  • 第三届人工智能、网络与信息技术国际学术会议(AINIT 2022)
    20223rdInternationalSeminaronArtificialIntelligence,NetworkingandInformationTechnology第三届 ... [详细]
  • 我在滴滴数据分析岗实习8个月的收获(文末附内推机会)
    我在滴滴数据分析岗实习8个月的收获(文末附内推机会)作者:海潮来源:数据管道大家好,我是宝器!今天分享一下交流群里海潮兄弟的「数据分析岗」求职与工作经验,以下是海潮兄弟的自诉,全文 ... [详细]
  • 每日一书丨AI圣经《深度学习》作者斩获2018年图灵奖
    2019年3月27日——ACM宣布,深度学习之父YoshuaBengio,YannLeCun,以及GeoffreyHinton获得了2018年的图灵奖, ... [详细]
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 联邦学习: 联邦场景下的时空数据挖掘
    不论你望得多远,仍然有无限的空间在外边,不论你数多久,仍然有无限的时间数不清。——惠特曼《自己之歌》1.导引时空数据挖掘做为智慧城市的重要组成部分,和我们的日常生活息息相关。如我 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 读手语图像识别论文笔记2
    文章目录一、前言二、笔记1.名词解释2.流程分析上一篇快速门:读手语图像识别论文笔记1(手语识别背景和方法)一、前言一句:“做完了&#x ... [详细]
  • 基于深度学习的遥感应用
    文章目录深度学习的发展过程深度学习在遥感中的应用基于深度学习的遥感样例库建设基于深度学习的遥感影像目标及场景检索基于深度学习的建筑物提取基于深度学习的密集建筑物自动检测基于深度学习 ... [详细]
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社区 版权所有