2021年美赛C题思路

preface

记录一下美赛C题的完成情况orz,当时找了计算机大佬一起组队,大佬python写程序贼六,问题解决里面图像识别的程序让我叹为观止(最主要是能在这么短的时间内完成数据组织,模型配置和训练都太不容易了,要是我来这几天可能只够运行一个模块ww),我当时负责论文,写大佬的思路和模型框架的时候学到了很多,时隔几个月,做一下方法总结。

intro

美赛C题主体是对外来入侵大黄蜂的检测,已知的信息是发现的时间、经纬度、图片、视频和语言描述,部分样本已经完成检测,我们需要做的就是完成其他未检测样本的检测。

  • 被发现是大黄蜂的样本(正样本)数量极少(不到20个),样本极其不平衡。这一点需要得到解决。
  • 另外我们的任务主要是对大黄蜂进行识别从而达到防止生物入侵的作用,所以第一类错误(正样本没有识别出来)是需要避免的。
  • 此外针对后面的问题需要实时renew Mode,在模型建立中需要做到在线更新功能。

Model

针对数据特点我们对不同类型数据(文本、图片、时间等)分开处理,得到特征,再对一个样本的所有特征做回归进行分类。从而起到模型各部分解耦(decoupling),方便拆开更新调整的作用。

模型的主体部分如下:

视频处理

从视频中进行关键帧提取,将关键帧作为样本和图像一起处理。
提取关键帧的操作可以通过下面两个工具实行:

  • scikit-video 官方网站,里面API很全
  • ffmpeg 命令格式

图像处理

因为很多图像里面背景复杂,并且黄蜂在里面占比太小了,为了训练模型需要对图片里的类似黄蜂的昆虫进行识别,选取对应的样本框。

样本框选取

用的是YOLO v5目标检测的模型

YOLO v5简单介绍

YOLOv5:backbone是CBL和Resnet构成的

CBL:conv&BN&leaky Relu 关于后面两部分有介绍

关于BN算法:对数据强制归一化会破坏数据的分布,需要对公式的robust进行优化,在归一化中加入参数完成这一工作

ps:进行过BN之后不需要dropout啦

\quad

YOLOv5的具体用法网上有很多,下面是一个参考

在实现上主要是模型的下载和配置,后面用LabelImg用自己标准的数据集做训练

正样本加强

用torchvision.transforms 做filp rataion affine color crop(位置大小选取),从而通过正样本变形获得更多正样本

增大正样本和模型泛化能力具体实现参考

图像特征提取

使用Inception V4网络,更具体的网络结构用softmax输出的概率作为图像层的特征

inception v4里面层数多,主体上是卷积和残差部分构成的,训练起来速度较慢(当时数据跑完差不多花了一天,还是用的学校的服务器orz)

训练细节:Focal Loss 和 k-fold

此外为了解决样本不平衡问题,选择Focal Loss=−α(1−p)2log(p),α=-\alpha(1-p)^2log(p),\alpha=−α(1−p)2log(p),α尝试选用了0.25和0.75两种

训练的时候用k-fold验证

文本处理

这一块当时是我写的,用了特别简单的模型(因为样本数据量也不多),然后输出结果很好就没换模型了。

思路是:n-grams做编码,然后对编码后的结果做岭回归(因为编码后结果维度太大,而岭回归加入二阶正则项可以在减小不必要参数从而减小过拟合的同时解决多重共线性问题),得到分类概率作为文本特征。

n-grams具体的程序讲解我之前的blog里写过。

Final Concat

最后把文本,图像视频,时间,经纬度特征(时间和经纬度过ReLU函数编码)合并成新向量

SMOTE

用SMOTE(Synthetic Minority Oversampling Technique)再进行样本增强,这样用的是ADASNY,这样上采样是基于距离通过在正样本连接直线上随机加点,增强正样本稠密性,从而增加正样本数量完成的。

Final classify

最后对增强后的样本进行logistic regression 完成分类

Online training

为了完成这一步,首先上面的模型都是解耦的,分开更改很方便;数据处理上也没有使用标准化 而是用函数进行数据变化,方便加入新样本数据。且训练时优化器用 FTRL方便实时训练。

Model Test

用分类器的metrics体现模型性能。
对其中部分操作基于最后模型结果分布用T test进行消融实验。

2021美赛C思路总结相关推荐

  1. 2021美赛D题思路

    2021美赛D题翻译和思路 团队为建模国一获得者,有丰富建模经验,因为需保证建模思路的完整性,更新较慢,怕被D.新号. D题翻译 D题思路 问题一:使用Impact_data数据集或其中的一部分来创建 ...

  2. 2021美赛(4)美赛E题数据、思路、方法

    EF题总体来看,本人认为两题较相似,比较考验偏文科的能力.问题的关键在于确定指标,然后是数据驱动.最后对其进行数据处理即可. E题题目的味道更像是多条件的规划问题 F更像是获得数据进行数据分析(回归/ ...

  3. 2021美国大学生数学建模竞赛(美赛)思路代码

    2021美国大学生数学建模竞赛(美赛)思路&代码 比赛说明 一.A题(真菌对木制分解效率的影响)--赛题解读&解题思路 二.B 题(discrete) 三.C题(大黄蜂传播规律和目击准 ...

  4. 2021美赛C题(大黄蜂传播规律和目击准确性研究)——赛题解读解题思路

    2021美赛C题(大黄蜂传播规律和目击准确性研究)--赛题解读&解题思路 赛题目的 一.胡蜂预测模型 二.目击准确性的深度学习模型 2.1数据分析/预处理 2.2问题解答 三.模型评估 四.模 ...

  5. 2021美赛F题解题思路

    新队伍,大家都差不多是小白,借鉴的博客:(19条消息) 2021年美赛F题总结_wzu_cza123的博客-CSDN博客_美赛2021f题 一.数据的查找和处理 二.TOPSIS 1.TOPSIS熵权 ...

  6. 2021美赛各题翻译

    备注:纯机器翻译,肯定会有不足,英文原题见评论 A题:真菌 碳循环描述了地球整个地球化学循环中碳交换的过程,是地球上生命的重要组成部分.碳循 环的一部分包括化合物的分解,这使碳得以更新并以其他形式使用 ...

  7. 2023美国大学生数学建模竞赛(美赛)思路代码

    2023美国大学生数学建模竞赛(美赛)思路&代码 报名 时间节点 比赛说明 问题A(数据分析题):收干旱影响的植物群落(MCM) 第一问 第二问 问题B(仿真建模题):重塑马赛马拉(MCM) ...

  8. 2021美赛Latex排版美化 完整代码2

    今天是2月2号,还有三天就打美赛了,我在2021美赛Latex排版美化 完整代码1的基础上又做了一些补充,希望可以帮助到大家. 文章目录 一.2021美赛新要求 二.带颜色的表格 三.公式 四.目录超 ...

  9. 2021美赛Latex排版美化 完整代码1

    2021美赛Latex排版 还有两周就打美赛啦!!!这次小组准备用Latex排版,毕竟比word用得舒坦~ 下面是官网下载的MCM-ICM_2021_Summary: %%%%%%%%%%%%%%%% ...

最新文章

  1. Unreal Engine4 可视化虚拟现实全流程学习教程
  2. ECMAScript 继承机制实现
  3. FreeBSD基本命令[转]
  4. Exchange 2007 安裝(-)
  5. C#操作快捷方式(获取快捷方式属性、创建快捷方式)
  6. Redhat Linux 7.3 虚拟机通过USB挂载NTFS格式的移动硬盘
  7. Spring : SpringBootConfiguration 注解
  8. 没想到,MyBatis 背后居然用了这么多设计模式
  9. mongodb java驱动_Java的MongoDB驱动及读写策略
  10. 语音识别方案设计书.doc
  11. [转载] python字符串表示方法_python字符串使用方法归纳
  12. 利用递归分割(Split)字符串
  13. css3实现浮动元素垂直水平居中
  14. mac配置java环境
  15. 实验2 线性表的链式存储结构的实现及其应用
  16. Java实现地固坐标与经纬度转换
  17. pyecharts绘制K线
  18. CMS并发清理阶段为什么是安全的
  19. codecademy python study
  20. 分布式系统设计模式 - 预写日志(Write Ahead Log)

热门文章

  1. 新年第一篇,androidHAL层知多少?
  2. python-获取当前目录/上级目录/上上级目录...
  3. 小陈学js Arguments
  4. Redis下载安装配置(linux版本)
  5. PHP获取每个周五或周一的日期
  6. 2023 年度 A 类学科竞赛项目清单
  7. nginx日志格式及自定义日志配置
  8. 初等数学建模问题-贷款问题(1)
  9. 什么是recovery time和removal time?
  10. spring的DI,IOP,AOC,Spring的简单介绍