2024 IEEE GRSS Data Fusion Contest Track 2 竞赛总结

一、成绩

二、尝试方案过程

    1. 模型上:
    2. Swin-small
    3. Swin-base: Val 阶段效果较好
    4. Swin-large
    5. Knet-ResNeSt101-FCN: crop-size_512x512 TTA-x5.0-7.0 iter-10k Test 阶段效果较好
    6. Segformer-b4
    7. Segformer-b5: crop-size_640x640 TTA-x5.0-7.0
  • 2、输入与预处理:

    1. 对 0-7 波段进行归一化时是对数据做了最大值截断后再做最大最小值归一化,但是后来师兄建议直接做最大最小归一化比较好。

      name channel normalization iter_16000 Segformer-b0 分数排名
      Coastal aerosol 0x0x0 1000 0.834 (512x512)0.793 (128x128) 78.05 7
      Blue 1x1x1 1000 0.87 (iter_32000) 78.99 6
      Green 2x2x2 1600 0.897 79.44 5
      Red 3x3x3 2200 0.806 79.81 4
      NIR 4x4x4 5000 0.908 84.66 1
      SWIR1 5x5x5 5000 0.891 83.66 2
      SWIR2 6x6x6 5000 0.887 82.16 3
      QA 7x7x7 73.94
      MDEM 8x8x8 74.54
      CDEM 9x9x9 76.25
      ESA 10x10x10
      WOP 11x11x11 78.02
      swin_small_rwi 2x3x4x6 zz_995_99_99 0.829
      swin_small_r_rwi_b b3xb11 zz_995_99_99 0.884
      swin_small_r_mndwi_b b3xb12 zz_995_99_99 0.843
      segformer_b4 1x2x3 zz_995_99_99 0.904
      swin_small 1x2x3 1000_1600_3000 0.898
    2. Red Green Blue 三通道输入

    3. Green Red Swir1 三通道输入

    4. Green Red Swir1 Cdem 四通道输入

    5. 水体提取方法 RWI NDWI MNDWI 三通道输入

    6. Green Red Swir1 Cdem Wop Swir2 六通道输入

    7. 离线几何数据增强:本赛题中数据增强提升效果不明显

      python 复制代码
      # 创建数据增强的变换组合
      transform = A.Compose([
          A.HorizontalFlip(p=0.5),
          A.VerticalFlip(p=0.5),
          # A.Transpose(p=0.5),
          # A.RandomRotate90(p=0.5),
          A.RandomSizedCrop(min_max_height=(60, 128), height=128, width=128, p=0.5),
          A.CLAHE(p=0.5),
          A.RandomBrightnessContrast(p=0.5),
          A.RandomGamma(p=0.5),
      ])
    8. 离线波段数据增强:数据波段组合增强: 在经过请教师兄并查阅资料,发现 landsat8 波段的不同波段融合可以起到不同的效果。在实验验证后,我选择了 植被分析(Vegetation Analysis)、陆地/水体(Land/Water )、健康植被(Healthy Vegetation)、红外彩色(Color Infrared (vegetation)) 这四种波段组合效果较好,所以使用这四种组合进行数据增强,推理阶段分别对 VA LOW HV CI 进行推理后在进行阈值为 1 的硬头票融合。参考链接

  • 3、后验上:

    1. 模型loss计算 将 'QA Band', 'Water ocourrence probability'两波段的概率信息以权重形式融合到模型loss计算中【没有尝试】。

    2. 将 ESA 波段值为 80 的区域加到结果中,提升很大,简称"add_water"。

    3. 将 WOP 波段值大于 100 的区域加到结果中,分数无变化,个人分析可能是因为先进行了 add_water 操作已经提升了分数的缘故。

    4. 将多个模型结果进行硬投票融合(有提升,但不大)。

      投票法-硬投票: 根据少数服从多数来定最终结果。

      硬投票通过假设投票最多的类别是获胜者,结合了许多预测。在具有两个类别和三个基础学习器的简单情况下,如果目标类别至少具有两票,则它将成为集成法的最后输出。

      模型 1:A - 99%、B - 1%

      表示模型 1 认为该样本是 A 类型的概率为 99%,为 B 类型的概率为 1%

    5. 将多个模型结果进行软投票融合【没有尝试】。

      投票法-软投票: 将所有模型预测样本为某一类别的概率的平均值作为标准,概率最高的对应的类型为最终的预测结果。

      软投票考虑了预测类别的可能性。为了结合预测结果,软投票计算每个类别的平均概率,并假设获胜者是具有最高平均概率的类别。

三、感悟

💡 为期一个月,本次竞赛感觉是方法(方向)没有把握正确,当然有可能是因为比赛后期陷入了思维焦虑中导致状态欠佳,精力分散。但是通过本次竞赛,我自认为将模型训练浅浅入了门,了解了关于 backbone、decode_head 的知识以及在 Training 过程中 lr、batch、iter、epoch 的相关先验知识。希望通过本次竞赛的经验教训,下次竞赛可以取得更好成绩!心态真的很重要~~~

本文章主要用于本人学习记录,欢迎大家交流,给出指导意见。

相关推荐
荣码8 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵19 小时前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li21 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
Lihua奏1 天前
从单核到多核:CPU为什么不能再只靠提频变快
深度学习
拾年2751 天前
大模型的"聪明"从哪来?聊聊 AI 数据集的那些事儿
人工智能·深度学习·机器学习
小九九的爸爸1 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学1 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田2 天前
Pydantic校验配置文件
python
hboot2 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi2 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化