季军解决方案
季军解决方案
作者:Alexandre Cadrin-Chênevert
团队成员:Random_prediction, CPMP, Slawek Biel, Alexandre Cadrin-Chênevert
非常感谢 Kaggle 和本次比赛的组织者,特别感谢 @christoffersartartorius、整个 Sartorius 团队以及勇敢的数据标注员,正是因为他们提供的训练数据,我们才能在 GPU 上进行无数的张量乘法运算。
同时也祝贺所有参赛队伍,以及获得第一和第二名的队伍所取得的优异成绩。
我还要感谢我的队友 @slawekbiel、@rytisva88 和 @cpmp,他们在比赛中表现得非常出色。在过去的紧张几周里,我从你们所有人身上学到了很多。
集成方案概览
以下是我们集成解决方案的总体架构:
两种 Mask-RCNN 方法是 @slawekbiel 使用 Detectron2 的优秀笔记本系列的扩展版本:
1. Mask-RCNN 模型
- 模型架构:Resnest200-Mask-RCNN (GitHub 链接)
- 权重初始化:来自 Livecell 预训练 (GitHub 链接)
- 数据增强:多尺寸 + 水平翻转 训练增强
A) 3类模型 (3 classes models)
B) 特定类别模型
- 每个类别 5 折交叉验证 +- 全量数据 "fold"
- 使用 TTA + WBF + NMS + 掩码平均
- TTA (边界框推理): 多尺寸, Hflip + Vflip
- TTA (掩码推理): 多尺寸, Hflip
- 针对特定类别的参数和超参数(锚点大小、图像尺寸、TTA 数量、WBF IOU 阈值)
2. Cellpose
Slawek 在 这里 详细介绍了他出色的 Cellpose 方法,该方法与 Mask-RCNN 模型融合得非常好。
最后一周的实验
伪标签
- 利用模型集成生成的标签用于无监督数据。
- 在合并的伪标签 + 训练数据上训练模型。
- 这些模型在 Public LB 和 Private LB 上的结果波动很大。
集成变体
- 在允许的 9 小时运行时间内,增减集成中模型数量的实验表明,根据配置不同,Public LB 和 Private LB 会有约 +- 0.002 的波动。
提交选择
- 为了降低最终提交的相关性,我们选择了一个包含部分伪标签模型的集成和一个不包含任何伪标签模型的集成。这两个提交在 Private LB 上均得分 0.354。