大家好,我们是“第一次做分割”团队,很高兴在论坛和大家交流“华为云杯”2020人工智能创新应用大赛的比赛心得。
本次比赛的任务是对遥感图像进行道路的语义分割,下面是我们将从数据分析,方案设计,实验结果三个方面阐述我们的解决方案。
0、数据分析
本次比赛提供了2张高分辨率影像作为训练集(40391×33106、34612×29810),6张遥感切片作为测试集(4048x6144)。通过对训练数据进行分析,可以发现数据集存在以下三个特点:1. 类别不平衡;2. 标签存在噪声;3. 训练数据量有限。
针对上述问题,我们进行我们的方案设计,整体方案设计分为:数据预处理,特征提取,后处理和模型融合四部分。
1、数据预处理
数据切割:切割大小为1024的patch进行训练,步长为992。
预处理:
策略一:(无清洗+CutMix+数据增强)使用原始切割图片,结合CutMix,多尺度训练,随机翻转,随机裁剪数据增强
策略二:(数据清洗+数据增强)将原始切割图片中无效区域占比超过75%的图片删除,结合多尺度训练,随机翻转,随机裁剪数据增强
2、特征提取
模型选择:我们选择了DeeplabV3+和OCRNet作为特征提取的模型。DeeplabV3+利用ASPP提取多尺度特征,并且采用U-like的逐步上采样方式预测结果,使得分割结果更精细;OCRNet利用上下文信息强化同一类别之间像素的贡献,且采用HRNet提取分辨率更大的特征图进行分割。
训练细节:
DeeplabV3+: Cityscapes预训练模型初始化,训练30k/40k,学习率0.005(head部分0.05),warm up 2000 iters,,CE weight设为[2.0, 1.0]。
OCRNet: Cityscapes预训练模型初始化,训练20k,学习率0.005(head部分0.05),warm up 500 iters,CE weight设为[2.0, 1.0]。
3、后处理
采用膨胀预测替代普通预测,缓解拼接效应,并提升切片边缘预测质量。
采用偏差预测预测替代平衡阈值预测:
平衡阈值预测:像素值类别=argmax{logit0, logit1}
偏差阈值预测:像素值类别=argmax{logit0, logit1-bias}
4、模型融合
使用3个DeeplabV3+模型与一个OCRNet模型进行融合,不使用TTA。

5、实验结果
迭代实验

消融实验

本文首发 AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=03b70583-e94c-417d-ae71-4ec2be1e7976
本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance
决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
