434. Human Protein Atlas - Single Cell Classification | hpa-single-cell-image-classification
大家好,感谢这个精彩的挑战!祝贺所有人 :)
我非常高兴能在 Kaggle 上获得我的第一枚银牌,并想与大家分享我的方法。
感谢 phalanx 和他关于 Puzzle-CAM 的帖子,给了我很好的灵感。
像你们许多人一样,我阅读了很多关于弱标记实例分割的资料,最终决定采用图像级别的训练和推理方法。为了实现这一点,需要一个能产生良好类激活图的模型,所以我决定尝试 Puzzle-CAM,并在推理过程中做了一些映射处理,从我的 CAM 中获取概率。
我按照 Puzzle-CAM 论文进行训练,将每张图像切片为四张单独的图像,并在损失函数中考虑全图 CAM 与切片图像 CAM 的对比。我使用了 ResNest-101 和 EfficientNet-B4,添加了相应的 GAP 层,并使用了 Focal Loss 函数。
这是有趣的部分。我简单地将每个类的 CAM 与每个细胞的细胞掩膜以及模型产生的类概率相乘(使用 Swish 激活函数获取 CAM 的结果比原始 CAM 或 ReLU 稍好)。这为每个细胞的每个类产生了非常大的类激活值,必须将其映射到真实的类概率,我为此使用了两种方法:
sklearn.preprocessing.StandardScaler 标准化每张图像的值,并对这些值应用 sigmoid 函数(效果出奇地好)。最后我结合了这两种方法。
现在请看一些展示我方法的精美图表(点击链接查看高清大图):