返回列表

Finally GM & 7th place solution

349. Understanding Clouds from Satellite Images | understanding_cloud_organization

开始: 2019-08-16 结束: 2019-11-18 气象预报 数据算法赛
终于成为 Grandmaster 及第 7 名解决方案

终于成为 Grandmaster 及第 7 名解决方案

作者:Gary | 排名:第 7 名 | 投票数:39

恭喜所有的 Kagglers。

闲聊

在“钢材缺陷检测”比赛的失败之后,我没有时间去悲伤,所以立即投入到这场比赛中,为了我的 Grandmaster 头衔而努力。我的一位前队友 Xuan Cao 选择了单打独斗。当然,他做出了正确的选择,因为他赢得了单人金牌并成为了 Grandmaster。祝贺他。

然后我选择了和我一样在钢材比赛中受苦的朋友们组队,他们是 Zheng LiyelanJhui HeStrideradu

解决方案

我们的解决方案非常简单,就是集成。

分割模型 v1:

  • 模型:EfficientNet e5/7-FPN,SE101-FPN, SE101-LinkNet
  • 损失函数:Dice Loss

分割模型 v2:

  • 模型:EfficientNet e5-FPN
  • 损失函数:Symmetric Lovasz Loss + Dice Loss

分类模型:

我们尝试了一些纯分类器,但对分割模型的 OOF(Out-of-Fold)Dice 分数提升有限,因此我们转向了多任务学习,即一个带有全连接头的分割模型。
  • 模型:EfficientNet e5-FPN, SE50-UNet, SE50-FPN
  • 损失函数:0.1 * BCE (分类) + (BCE + Lovasz + Dice)(分割)

集成:

v1:

对分类模型的概率取平均以去除假阳性(FP),并使用分割模型 v1 处理真阳性(TP)。这样我们得到了大约 0.670 的 OOF CV 分数。分类的阈值为 [0.65, 0.65, 0.65, 0.65],然后移除小尺寸的掩码(阈值为 [21000, 21000, 21000, 10000]),最终在 Public LB 上得到了 0.6783 的分数。

v2:

我们对分类模型的概率和分割模型 v2 的最大像素概率取平均以去除 FP,但 LB 分数很差,而且阈值很低(0.55,低阈值在钢材比赛中效果不好),所以我们放弃了这个方案。

后处理:

  1. 从训练集来看,每张图像至少有一个标签。然后,我从上面提到的 0.6783 提交结果中提取了 4 个通道为空的样本,并提取了分类器在这些样本上的最大预测概率,如果某个类别的预测概率 > 0.55,则恢复像素掩码。
  2. 我对分割模型 v2 和 0.6783 提交结果都预测为正样本的那些样本做了掩码合并(Mask Union)。结合上述后处理,我们可以得到 0.6800 的 LB 分数。

总结

  1. 不幸的是,我们没有选择最好的提交(0.67254),那个提交来自集成方案 v2。但是当时的 Public LB 分数是 0.67360,所以我们没有选择这个提交。当然,我们在前三名中有很多提交。幸运的是,我们选择的提交仍然让我们进入了金牌区。
  2. 感谢我的队友们的努力,我也祝贺自己成为了 Grandmaster。
同比赛其他方案