返回列表

27th place solution (0.483LB)

434. Human Protein Atlas - Single Cell Classification | hpa-single-cell-image-classification

开始: 2021-01-26 结束: 2021-05-11 生命科学 数据算法赛
第27名方案 (0.483LB)

第27名方案 (0.483LB)

作者: Mikhail Gurevich
比赛排名: 第27名

大家好!这是非常漫长且充实的3个月。
首先,非常感谢主办方举办了这场极具挑战性和趣味性的比赛!

这是我在 Kaggle 上的第一场“真正”的比赛,所以我很高兴能获得一枚奖牌 :-)

我的解决方案由以下几个部分组成:

1) 细胞分割

我在 HPASegmentator 的预测结果上训练了 MaskRCNN。这样做的唯一原因是推理速度。MaskRCNN 的运行速度确实更快。一些实验表明,将 HPASegmentator 替换为 MaskRCNN 后,解决方案的分数保持不变。

2) 图像级分类器

  • EfficientNetB3 (1024x1024)
  • EfficientNetB3 (仅绿色通道) (1024x1024) (感谢 @h053473666 提供的这个想法)

3) 细胞级分类器

我使用了 PuzzleCAM 论文 中的方法来生成 CAM(类激活映射)。然后我利用它们为图像中的每个细胞生成伪标签(此时标签是平滑的 —— [0.0, 1.0] 范围内的浮点数)。
下一步是为每个类别手动设置阈值,并获得最终的伪标签用于模型的进一步训练。

  • 带 Dropout 的 EfficientNetB3 (256x256)
  • 带 Dropout 的 EfficientNetB3 (仅绿色通道) (256x256)

4) 最终提交

我结合了所有 4 个网络的预测结果,得到了每个细胞的最终预测。最好的结果是仅对 4 个模型的预测结果取平均值。

5) 训练细节

所有分类器都使用 focal_loss + lovazh_loss 进行训练(就像 @bestfitting 在上一场 HPA 比赛中的获胜方案那样)。
优化器:Adam
学习率调度器:ReduceOnPlatoue
我还对稀有类别使用了过采样,对过于常见的类别使用了欠采样。

这里是总结:

Summary

感谢阅读,祝未来的比赛好运!)

同比赛其他方案