一、成绩
二、尝试方案过程
-
- 模型上:
- Swin-small
- Swin-base: Val 阶段效果较好
- Swin-large
- Knet-ResNeSt101-FCN: crop-size_512x512 TTA-x5.0-7.0 iter-10k Test 阶段效果较好
- Segformer-b4
- Segformer-b5: crop-size_640x640 TTA-x5.0-7.0
-
2、输入与预处理:
-
对 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 -
Red Green Blue 三通道输入
-
Green Red Swir1 三通道输入
-
Green Red Swir1 Cdem 四通道输入
-
水体提取方法 RWI NDWI MNDWI 三通道输入
-
Green Red Swir1 Cdem Wop Swir2 六通道输入
-
离线几何数据增强:本赛题中数据增强提升效果不明显
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), ])
-
离线波段数据增强:数据波段组合增强: 在经过请教师兄并查阅资料,发现 landsat8 波段的不同波段融合可以起到不同的效果。在实验验证后,我选择了 植被分析(Vegetation Analysis)、陆地/水体(Land/Water )、健康植被(Healthy Vegetation)、红外彩色(Color Infrared (vegetation)) 这四种波段组合效果较好,所以使用这四种组合进行数据增强,推理阶段分别对 VA LOW HV CI 进行推理后在进行阈值为 1 的硬头票融合。参考链接
-
-
3、后验上:
-
模型loss计算 将 'QA Band', 'Water ocourrence probability'两波段的概率信息以权重形式融合到模型loss计算中【没有尝试】。
-
将 ESA 波段值为 80 的区域加到结果中,提升很大,简称"add_water"。
-
将 WOP 波段值大于 100 的区域加到结果中,分数无变化,个人分析可能是因为先进行了 add_water 操作已经提升了分数的缘故。
-
将多个模型结果进行硬投票融合(有提升,但不大)。
投票法-硬投票: 根据少数服从多数来定最终结果。
硬投票通过假设投票最多的类别是获胜者,结合了许多预测。在具有两个类别和三个基础学习器的简单情况下,如果目标类别至少具有两票,则它将成为集成法的最后输出。
模型 1:A - 99%、B - 1%
表示模型 1 认为该样本是 A 类型的概率为 99%,为 B 类型的概率为 1%
-
将多个模型结果进行软投票融合【没有尝试】。
投票法-软投票: 将所有模型预测样本为某一类别的概率的平均值作为标准,概率最高的对应的类型为最终的预测结果。
软投票考虑了预测类别的可能性。为了结合预测结果,软投票计算每个类别的平均概率,并假设获胜者是具有最高平均概率的类别。
-
三、感悟
💡 为期一个月,本次竞赛感觉是方法(方向)没有把握正确,当然有可能是因为比赛后期陷入了思维焦虑中导致状态欠佳,精力分散。但是通过本次竞赛,我自认为将模型训练浅浅入了门,了解了关于 backbone、decode_head 的知识以及在 Training 过程中 lr、batch、iter、epoch 的相关先验知识。希望通过本次竞赛的经验教训,下次竞赛可以取得更好成绩!心态真的很重要~~~
本文章主要用于本人学习记录,欢迎大家交流,给出指导意见。