您好,欢迎来到游6网!

当前位置:首页 > AI > 【方案分享】第十一届 “中国软件杯”大学生软件设计大赛遥感解译赛道 比赛方案分享

【方案分享】第十一届 “中国软件杯”大学生软件设计大赛遥感解译赛道 比赛方案分享

发布时间:2025-07-22    编辑:游乐网

本文围绕遥感变化检测项目展开,参考多个相关项目,指出存在随机bug及解决办法。其在相同训练轮数下精度提升明显,还分享了调参思路,涉及数据集、模型、训练超参、后处理等方面。此外,详述了数据预处理、网络训练、测试、推理等流程,并附相关报错及统计数据。

【方案分享】第十一届 “中国软件杯”大学生软件设计大赛遥感解译赛道 比赛方案分享 - 游乐网

前言 
       

本项目实现参考了以下项目,

【最新】第十一届 “中国软件杯”百度遥感赛项:变化检测功能;昇腾杯-变化检测赛道复赛方案分享——PaddleCD;PaddleRS;PaddleSeg

PaddleRS版的baseline(以下简称原bl),个人测试精度为0.768,同样的配置在本项目PaddleCD下,个人测试精度则为0.764

该项目存在随机bug,暂时不知道原因以及彻底解决方法;如果出现特定报错内容(详见文末附录1),重启后重新执行代码一般可以解决;建议在理解代码的情况下,尝试在PaddleRS中修改运行

该项目在与原bl相同训练轮数下,bit单模精度达到0.86221,训练日志手动保存在model_log/bit_hr18.txt中;按照调参思路进行调整,bit单模精度可以达到0.889+;

感谢 @古代飞 大佬的baseline, 感谢@开着奔驰种地、@我不是南通 以及群内各位大佬的经验分享

调参思路

为方便阅读,以下内容中提到的xx%为调参涨点,是使用trick后提交分数的百分比变化

但因个人实验记录不完善、实验内容过多未完全控制变量 以及 某些玄学问题,以下调参涨点可能存在误差,仅供参考

1. 从数据集进行分析

1.1 A、B时相数据集光谱分布差异较大



A、B时相的训练集、测试集、全集的均值标准差统计如下(因显示问题采用图片格式,文字格式详见文末附录2):

【方案分享】第十一届 “中国软件杯”大学生软件设计大赛遥感解译赛道 比赛方案分享 - 游乐网

由统计数据可见:A、B时相的均值标准差存在较大差异,但训练集与验证集差异较小

针对光谱差异问题,尝试了3种解决方案:

使用颜色抖动进行数据增强,+3%使用不同均值标准差进行归一化,+2%使用快速傅里叶变化进行光谱变换, -1%

上述方法单独使用,1、2可以提分,但在实验最后,叠加各种trick后发现 方法2会降0.2%,推测可能由于模型较强的特征表达能力以及方法1的影响,使得方法2失效,因此针对该问题仅采用方法1,即:
RandomDistort
登录后复制        

1.2 原始图像较大,数据量较少



训练集共637共1024*1024样本,测试集共363个1024*1024样本,训练测试比约2:1

原bl中,针对该问题的解决方案是从原始样本中随机裁剪部分区域并resize为256*256。

个人尝试了2种方法:

将每个原始样本不重叠地裁剪为16个256*256将每个原始样本裁剪为5个512*512 (除了不重叠的4个,还包括一个在样本正中心的512*512)

上述方法在不同超参下作用不同,从-2% ~ +2%均有,表现并不稳定。

此外,人工裁剪的样本生成的样本,由于目前无法使用cutmix等跨样本数据增强方法,导致单个样本的采样区域限定在上述16或5个区域内,因此在数据多样性上小于原始样本。

综上,仍然采用原bl,通过随机裁剪部分区域进行训练

1.3 类别不均衡



经过统计,背景与变化类别的像素占比为95.3:4.6,类别严重不均衡,并且变化类别仅在573个样本中存在(统计数据见附录2)

针对上述问题,可以采用以下解决方案:

通过loss进行控制:换用diceloss,从iou进行优化,-1%换用polyceloss,从iou进行优化,-0.3~+0.3%在celoss中加入类别权重,-2%使用focalloss, -1%针对性数据加强,对变化部分样本进行过采样,增强变化比例去除全背景样本

本次实验仅尝试了方案1,效果并不明显,因此针对此问题并未采用任何解决方案;后续可以尝试2、3方案

2. 从模型进行分析

2.1 backbone过于简单

在CV下游任务中,任务精度往往与backbone的特征表达能力有关,原bl中的backbone为resnet18,结构较为简单 针对该问题,采用以下解决方案:

采用同构高级模型resnet34,-0.2%resnet50,-1%采用异构高级模型hrnet18,+2%

上述方法中,同构高级模型表现不佳,推测为训练轮数过少,网络训练不完全,网络过拟合,因此弃用该方案。

异构高级表现优异,此外还可以尝试swin、resnest等多种不同新backbone。因此针对该问题仅采用方法2,即:
resnet18-->hrnet18
登录后复制        

2.2 尝试不同网络结构

除bit外,原bl还提供了STANet、SNUNet、DSIFN、DSAMNet、ChangeStar等多种变化检测模型;PaddleCD中也提供了各种语义分割模型,可以修改为相应的变化检测模型;此外,也可以尝试复现torch版的各种论文模型;相同超参配置下,部分模型表现优于bit

3. 从训练超参进行调整

可以修改以下超参数:

epoch/step,原bl中的训练数较少,通过增加训练数可以显著提分,可以提升的上限与其他超参相关,但建议总体训练时长不超过12h学习率:lr/起始学习率,原bl的起始学习率略高,导致一些无效训练时长,略微降低lr后可以快速收敛至较高精度的区间lr_scheduler/学习率调度器,原bl采用的是等间隔固定比例衰减,尝试过poly衰减策略,效果并不明显,可以尝试不同衰减策略,增加warmup等optimizer/优化器,原bl使用adam,目前较为流行的有adamw、sgd、adamax等,可以尝试使用batch_size/批处理数,一般来说较大batch size会使得收敛较快,但在充分收敛的前提下对总体精度并无较大影响transform/数据增强策略:RandomCrop, 增大crop的尺寸,每次输入到网络中更大的图,往往会增加精度RandomFlipOrRotation,除了Flip进行增强外,还可以通过Rotation的方式进行增强RandoBlur,通过滤波平滑进行数据增强RandomSwap,通过交换AB时相影像进行增强

综上,最终在原bl上进行一下修改:
more steplr = 0.0004adamw optimizer RandomCrop 384RandomFlipOrRotationRandoBlurRandomSwap
登录后复制    

4. 从后处理进行调整

后处理有多种方式,针对训练时采用的数据增强策略,可以采用以下方案:

       

flip预测,多次flip后取均值得分,+0.3%ms预测,输入不同尺度进行预测,-0.2%swap预测,以ab、ba分别输入网络进行预测,-0.1%~+0.1%滑窗预测,按照输入大小或者其他尺寸,将原图裁剪为不同大小图像输入网络进行预测,-0.3%

针对输出结果,有以下方案:

5. 调整阈值/缩放logit值,目的在于识别出更多概率值较小的变化区域
6. 形态学后处理,优化边缘区域

后处理的提升幅度较小且不稳定,一般最后使用

综上,最终在原bl上进行以下修改:

flip预测缩放logit值形态学后处理
登录后复制    

5. 其他trick

5.1 单模集成

即 将一个模型的不同结果进行集成

在后处理中使用的flip预测、ms预测属于单模集成的内容

ema、swa等也属于单模集成内容,其主要思路为将不同epoch得到的较好的模型参数进行集成

k折交叉验证,将数据集均分为k份,每次将其中一份作为验证集其余为训练集进行训练

本次竞赛并未使用上述单模集成内容,但据以往经验看,上述内容有一定的提分作用

5.2 多模集成

即 将多个模型的不同结果进行集成

包括硬投票集成和软投票集成,区别在于使用预测的类别结果还是类别得分进行集成

经验表明不同架构的模型相互集成,得分较高

5.3 跨样本数据增强

如cutmix、mixup、cutout、mosaic、copypaste等等长得很像的、涉及多个样本之间的数据增强,据说也有效果,目前原bl和本项目暂不支持该系列操作

5.4 半监督/自监督/伪标签

本次比赛不支持增加数据集;

在其他任务中可以尝试加入未标注的图像,生成伪标签进行监督/自监督

6. 小结

热门合集

MORE

+

MORE

+

变态游戏推荐

MORE

+

热门游戏推荐

MORE

+

关于我们  |  游戏下载排行榜  |  专题合集  |  端游游戏  |  手机游戏  |  联系方式: youleyoucom@outlook.com

Copyright 2013-2019 www.youleyou.com    湘公网安备 43070202000716号

声明:游6网为非赢利性网站 不接受任何赞助和广告 湘ICP备2023003002号-9