第十届“泰迪杯” 数据挖掘挑战赛优秀作品-农田害虫图像识别--特等奖

实验结果分析

4.1.1 实验配置 本篇论文的实验都是基于 Ubuntu 系统下进行,使用 GPU 和 CPU 作为基础硬件, 具体配置运行环境如表 2-1 所示:

4.1.2 评价指标 目标检测任务可以划分为分类和定位两大任务,其中定位任务采用召回率Recall进 行评估;分类任务采用准确率 Precision 进行评估:

其中,TP 表示检测器输出结果中正确的个数,FP 表示检测器输出的结果中错误的 个数。同时,为了更好地平衡分类和定位任务的重要性,我们引入了以准确率和召回率为变量的 PR 曲线。最终,我们的评估指标转换为单个类别表示为 AP,整体准确率 表示为 mAP:

其中,mAP 的计算是采用设定阈值 0.5:0.95 的 mAP 值取平均值得到的。 在通过第二章的离线数据增强方法以后,我们将原图像中的 1019 个目标拓展为 4401 个目标。由于原图像的样本数目较少,为了提升模型的预测能力,同时避免过拟 合的问题出现,我们将原有的验证集和测试集合并,以提升模型的鲁棒性。最终,我 们以 7:1 的比例划分了训练集和测试集,分别含有 3751 和 650 个目标。

4.1.3 数据集划分 在通过第二章的离线数据增强方法以后,我们将原图像中的 1019 个目标拓展为 4401 个目标。由于原图像的样本数目较少,为了提升模型的预测能力,同时避免过拟 合的问题出现,我们将原有的验证集和测试集合并,以提升模型的鲁棒性。最终,我 们以 7:1 的比例划分了训练集和测试集,分别含有 3751 和 650 个目标。

4.2 实验结果 我们分别对 Cascade Mask RCNN 和 swin transformer 这两类模型,进行了训练和测 试,并且通过 mmdetection 的检测程序得到了丰富和详细的算法指标。下面我们将依次 具体展示模型的各项指标。

4.2.1 Cascade Mask RCNN

在 CascadeRCNN 模型中,我们使用了 Resnet-50 作为模型的主干特征提取网络, 采用了 0.25, 0.5, 1.0, 2.0,和 4.0 总计 5 种不同尺度的锚框,并采用了两种不同尺度的图 像输入方式。我们使用了 AdamW 作为神经网络的 optimizer,初始学习率 0.001,并采 用线性衰减的方式。我们使用交叉熵损失函数和 SmoothL1 损失函数分别作为分类和定 位任务的损失函数。对于模型输出结果的后处理方法,我们则采用 Soft NMS。模型总 计训练 100 个周期,随机数种子为 42,训练每个周期采用 3 倍的训练集输入方法,以 提升训练的稳定性,相当于训练 300 个周期。

下面展示的是模型的 mAP 和召回率的变化值。如图 所示,模型的 mAP 和召回率 在 15 个周期之后达到稳定,20-60 个周期属于模型微调阶段,第 60 个周期以后模型各 项指标趋于稳定。

最后,我们选取了第 65、80 和 95 个周期的权重值,作为随机权重 SWA 的输入。 在表-中,我们将展示了效果最佳的第 80 个周期的各类别害虫准确率的情况

4.2.2 Swin-S Cascade Mask RCNN

在 Swin-S Cascade Mask RCNN 模型中,为了兼顾检测的准确率和速率,我们使用 了基于 Swin-Transformer 的预训练主干的 small 版本。在这一版本中,我们同样采用了 多尺度锚框的设计方式。在损失函数设计,optimizer 和模型后处理方法上,我们均体 现了一致性。模型总计训练 30 个周期,随机数种子为 42,训练每个周期采用 3 倍的训 练集输入方法,以提升训练的稳定性,相当于训练 90 个周期。如图 所示,Swin-S Cascade Mask RCNN 模型收敛速度明显快于 Cascade Mask RCNN,模型的 mAP 和召回 率在 10 个周期之后达到稳定,10-15 个周期属于模型微调阶段,第 15 个周期以后模型 各项指标趋于稳定。

结合 SWA 之后 Swin-S Cascade Mask RCNN 模型的识别结果如下表所示:

4.2.3 消融试验

从上述实验结果能够看到,我们的方法能够以很高的精度进行农田害虫的定位和 识别。为了能够更好的对比论文中使用到的各种创新点的性能表现,我们进一步进行 了消融试验,分别对比了在相同的 backbone——Resnet50 以及相同的多尺度 FPN 策略 下,Faster RCNN、Casecade RCNN 和 Swin-S Cascade Mask RCNN,以及三种模型结合 SWA 和 NMS 的性能表现,消融试验结果如下表所示

从表中我们可以看到,在基本的模型设置下,Faster RCNN、Casecade RCNN 和 Swin-S Cascade Mask RCNN中,Swin-S Cascade Mask RCNN的 mAP最高,能达到 0.831, 并且进一步对比 Casecade RCNN 和 Swin-S Cascade Mask RCNN 结合 SWA 和 NMS 操作 之后,性能都进一步的提高,最终能够在验证集上的 mAP 能达到 0.876 的性能。从消 融试验中,我们可以看到,采用的基本的目标检测框架和所进行的 SWA 和 NMS 多模 型融合,都能对结果的提升产生正面的影响。

4.2.4 识别效果展示

为了直观的看到在测试集上的识别效果,我们在消融试验之外,在测试图片上直接 显示出识别出的目标位置,如图 4-3 所示:

从上面两个识别结果图 4-3、图 4-4 可以看到,无论是简单背景下还是复杂背景 下,我们的模型都能够很好的检测到害虫所在位置,并且针对一些小目标害虫,也能 够达到不错的识别效果。

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

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

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

  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. 基础数据结构【二】————动态数组,单向链表及链表的反转
  2. 51CTO路由技术电子书
  3. Python正则表达式之修改,分割,搜索和替换字符串(6)
  4. ignite学习笔记
  5. [学习笔记]Event与Bindable
  6. 高精度运算模板(大数模板)
  7. php mysql_connect 不支持_php mysql_connect不支持的解决方法
  8. python反余弦函数_Python代码中acos()函数有什么功能呢?
  9. 颜色缩减 -利用指针、迭代器、动态地址实现访问像素
  10. php模拟post提交数据,用处很多,可用来网站的采集,登陆等等
  11. python图像处理教程_Python基于Tensor FLow的图像处理操作详解
  12. “1251 – Client does not support authentication protocol requested by server;consider upgrading MySQL
  13. HashMap中hash(Object key)原理(hashcode >>> 16)
  14. PHP基础知识之文件加载
  15. UVA12279 LA4853 Emoogle Balance【水题】
  16. php7 $GLOBALS['HTTP_RAW_POST_DATA']接收不到值
  17. c语言扔球第一次弹10米,c语言滚动字幕代码
  18. W5500连不上的问题
  19. 谷歌安装FeHelper插件
  20. countif函数比较两列不同_Excel如何对比两列姓名找出两列相同和不同的姓名有哪些方法...

热门文章

  1. 互联网创业人士具备的5大素质
  2. 大数据决定事件营销(Event Marketing)的成败
  3. PL/SQL Developer下载、安装、使用教程
  4. echarts 画饼状U形环状占比图
  5. Linux下内存压力测试工具memtest(使用心得)
  6. oracle客户端没有sqlldr命令,关于oracle的sqlldr或sqlplus命令没响应的问题
  7. 二阶系统阶跃响应实验_实验二 二阶系统阶跃响应 -
  8. 期末试题及答案计算机,《计算机应用基础》期末试题及答案
  9. Pinecone和LangChain:大语言模型应用程序开发利器
  10. windows10利用驱动精灵更新网卡后,笔记本的有线网卡和无线网卡一直安装不成功,错误代码:56的完美解决办法(不需要重装系统,轻松解决)