遥感图像自然场景识别-黑羽
图像分类
最后更新 2022-06-30 15:36 阅读 7305
最后更新 2022-06-30 15:36
阅读 7305
图像分类
很高兴与大家分享下比赛的过程,很久没有参加FlyAI平台的比赛了,上次还是去年的瑜伽分类比赛,刚好五一和端午放假有点时间就参加比赛玩玩。这一年平台改了很多规则,比赛过程中才慢慢发现。下面说下这个比赛吧,这个比赛本身比较简单,图像10分类,参加比赛的人应该都做的很好了,大家基本上都95分以上,应该都使用了合适的算法了。我也没啥比较好的算法,就在baseline基础上,多提交几次,然后后面就靠一些运气和技巧上分了吧,下面是比赛的一些分析、过程和总结,大家简单看看就好。
赛题简介:
本赛题主要进行典型场景智能识别,场景类型包括海滩、圆形农田、云、荒漠、林地、山脉、矩形农田、建筑区、河流和雪山共10类,在国土资源、海洋及海岸带、内陆水体、生态环境、农业、林业等各个领域具有重要的应用潜力。要求参赛选手利用机器学习等智能算法自动识别出所规定的测试集图像对应的场景类型
算法设计:
1、模型选择,尝试了下面几种模型,得分跟预期的刚好相反,模型要与数据集相符合
[1]swim-transformer 0.9897
[2]se_resnet152 0.9861
[3]se_resnext101 0.9886
[4]se_resnet50 0.9944
[5]resnet50 0.9950
2、损失函数,影响不大,选择最简单有效的
[1]LabelSmoothingCrossEntropy
[2]CrossEntropyLoss
3、模型融合,融合应该放在模型实验差不多的时候再加入,考虑到目前平台的积分规则,慎重使用
[1] swim-transformer 3折融合, 0.9897 提升到 0.9939
[2] resnet50 5折融合, 0.9950 提升到 0.9961
[3]挑选单模最高的3个模型融合,(0.9972,0.9975, 0.9978) 提升到 0.9986
4、后处理 训练集数据类型的分布情况,考虑到给定的样例代码的得分是9.19分,测试集总共3600条数据,也就是对了331个,刚好和训练集的数量可以凑整,猜测测试集的分布与训练集不太一样。
考虑了两种方案:
(1)对训练集数据增强,使其分布与测试集一致,但是之前训练的模型就不能使用,需要重新处理
(2)对结果进行加权处理
train set test set
residential 1471
beach 1469 beach: 9.19 对应331个 1469+331=1800
river 1449
mountain 1448
circularfarmland 1440
rectangularfarmland 1434
cloud 1434
snowberg 1425
desert 1424
forest 1406
加权融合:
(0.9972,0.9975, 0.9978) 融合从0.9986 提升到 0.9994
(0.9972, 0.9975, 0.9975_2, 0.9978, 0.9981) 融合提升到 1.0
赛题总结:
1、选择合适的模型,复杂的模型不一定得分高,各种trick不一定有效
2、提高单模的得分,记录随机数种子便于融合,减少随机因素
3、多做有效实验,提高FAI积分的使用率
4、加权融合和扰动,最后部分
5、多思考,多观察,有时候看下前排的提交记录中时间消耗情况大致能猜出来使用的模型规模
6、建议平台积分规则稍微改改吧,积分严重不够用,大模型都没法跑了