返回列表

3rd place solution - MPWARE part

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

开始: 2021-01-26 结束: 2021-05-11 生命科学 数据算法赛
第3名解决方案 - MPWARE 部分

第3名解决方案 - MPWARE 部分

作者: MPWARE | 比赛排名: 第3名

首先,我要感谢主办方举办了这场非常有趣的比赛,同时也感谢在论坛中对问题的准确回答。我还想特别强调一下提供的高质量数据。我要衷心感谢我的队友 @zfturbo@christofhenkel,感谢他们的精彩合作、思维火花以及对我的耐心。

我们的解决方案是由不同的独立模型组成的集成。以下是我的部分。

简介

在比赛初期,我决定从 WSSS(弱监督语义分割)SOTA 方法入手,以学习新知识。即利用多标签进行全图训练,并尝试构建分割。许多解决方案都基于 CAM(类激活图)的应用。简而言之,在流程的最后,让 CAM 在图像上生长并扩散到感兴趣的区域。然而,由于细胞掩码已经可用,我不需要完全照搬 WSSS 的流程,只需在某个点将 CAM 与细胞相交即可获得预测标签。我尝试了 Puzzle-CAM [1] 和 DRS(判别区域抑制)[2] 两种方法。最终,我通过修改后的 Puzzle-CAM 获得了最佳结果,该模型在 RGBY 图像上训练,并采用两阶段推理(全图和单细胞基础集成)。

我很早就与 ZFturbo 组队,他使用了不同的方法,而我们的解决方案集成效果很好。下一步的改进是从我的一些最佳模型变体中生成 OOF(每个类别的单细胞预测),这有利于 ZFTurbo 的模型以及我们最终的集成。

接近比赛尾声时,我们的推理时间还有富余(我们的流程仅运行约 6.5 小时),我们一致认为整合新模型会有所帮助,因此我们与 Dieter 合并,他带来了新的模型/想法,这使我们成功进入了获奖名单。

训练

使用孪生网络,CNN 主干网络后接分类器,以构建每个类别的激活图。将 GAP(全局平均池化)移至末端以获得全图预测。组合损失函数同时考虑了完整特征和拼图/重组特征以及激活图之间的距离。

流程:

Model

注意:与常规分类器相比,WSSS 中使用的 Classifier/GAP 交换以及用于整体一致性的 L1 损失。

数据增强:

适用于 RGBY 图像的简单增强:

  • 噪声:GaussNoise, CoarseDropout, IAAAdditiveGaussianNoise
  • 翻转/旋转:HorizontalFlip, RandomRotate90
  • 旋转/畸变:GridDistortion, ShiftScaleRotate, ElasticTransform, OpticalDistortion, IAAAffine/Shear
  • 模糊:GaussianBlur, MotionBlur, MedianBlur
  • 颜色:RandomGamma, RandomBrightnessContrast

采样策略:

类别分布如下图所示。类别非常不平衡,尤其是 Aggresome(第15类)和 Mitotic spindle(第11类)。Nucleoplasm(第0类)和 Cytosol(第16类)则数量过多。

Distribution

在训练期间应用了加权随机采样来平衡每个类别。基本上,给予 Nucleoplasm 较低的权重,给予 Mitotic spindle 较高的权重。然而,为了抵消这种策略导致的第11类和第15类稀有类别的过度采样,我们将权重值截断为 Intermediate filaments(第8类)的计算值。

数据:

训练集和外部数据被用于训练不同的模型变体:

  • 89k 张图像:训练集 + 主办方提供的外部公开数据
  • 98k 张图像:训练集 + 主办方提供的外部公开数据 + HPA 2018

每张单层图像被合并并调整为 RGBY 512x512 图像(蛋白质 + 背景)。在健全性检查中发现了少数相似图像,但未将其移除。

外部数据对于本次比赛至关重要,它增加了数据量并提升了模型效果。

交叉验证: