2021美赛C思路总结

2021年美赛C题思路

preface

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

intro

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

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

Model

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

模型的主体部分如下:
在这里插入图片描述

视频处理

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

图像处理

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

样本框选取

用的是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 ) 2 l o g ( p ) , α =-\alpha(1-p)^2log(p),\alpha =α(1p)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进行消融实验。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值