返回列表

6th place Solution Summary(0.549)

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

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

第6名方案总结(0.549)

作者: scumed (Team: Mitotic Spindle)
比赛: HPA Single Cell Image Classification

我们要感谢比赛主办方和Kaggle组织了这次比赛,并祝贺所有获奖者,以及任何从这次比赛中受益的人。特别感谢我的队友 @zehuigong@thedrcat@dschettler8845@felipebihaiek

很抱歉分享晚了,因为我同时忙于两个比赛,我只花了最后3周时间准备这次比赛。如果早点开始,我还有很多想法没能实现。

方案组成:

  • 细胞级模型 (Cell level models)
  • 图像级模型
  • 网格化 和 Gapmask 推理

1. 细胞级模型

基线方案:我们的基线设置如下:

  • 主干网络:EfficientNet-b3;
  • 数据:仅训练数据,细胞级分类。
  • 优化器:Adam,BS = 128,LR=0.001,warm up + 恒定学习率,16个epoch。
  • 图像尺寸:训练和推理均为320。
  • 增强:之前第三名方案的优化变换策略。
  • Focal loss (gamma=2)。
  • 使用离线SWA生成推理权重。

上述模型取得了0.351的LB分数。

基线上的技巧:

(1) 带有高斯随机噪声的标签平滑,eps=0.05,平滑标签生成如下:(0.351 -> 0.412)
random
(2) Mixup 增强 (0.412 -> 0.428);
(3) 注意力类别头 (提升约0.002);
(4) 训练集 + 公共数据 (除类别0和16外) + 标签平滑 + mixup:0.507
(5) 深度监督,在主干网络的中间层添加监督,2层监督 (提升约0.004, 0.507-> 0.511),3层监督 (0.511 -> 0.513)。
(6) 将细胞级预测与图像级(RGBY+G)预测合并。

2. 图像级模型

  • 主干网络:EfficientNet-b7;
  • 数据:训练集 + 公共数据(RGBY+G),图像级分类。
  • 图像尺寸:训练和推理均为600。
  • Focal loss (gamma=2)。

推理

我们使用8-TTA进行推理,推理图像尺寸与训练图像相同,例如320。分割模型使用原始的HPA Segmentator。

后处理

我们使用0.001的阈值过滤预测,并合并图像级和细胞级分类结果,这实现了0.04 mAP的提升,其中细胞级权重为0.7,图像级预测权重为0.3 (0.513 -> 0.553)。

3. 网格化 和 Gapmask 推理

此步骤的详细分解已发布在单独的讨论中。

最终结果

  1. 原始 HPA Segmentator + 2层 + 3层监督 细胞级 + 图像级 + Gridify 和 Gapmask 推理 (Public: 0.5771, Private: 0.5499)
  2. 更快的 HPA Segmentator + 2层 + 3层监督 细胞级 + 图像级 + Gridify 和 Gapmask 推理 (Public: 0.5724, Private: 0.5410)

心中的想法

  • OOF (Out-of-Fold) 模型。
  • 使用度量学习技术,如排序损失。(论文:Improving Pairwise Ranking for Multi-label Image Classification)

对我们无效的方法

(

同比赛其他方案