第15名方案:CAM与语义分割方法
第15名方案:CAM与语义分割方法
作者:Fumihiro Kaneko | 比赛排名:第15名
感谢 Kaggle 和主办方举办了一场精彩的比赛。
概述
我采用了弱监督语义分割方法。首先,我训练了图像级分类器并生成了 CAM(类激活映射),然后使用 CAM 生成的伪标签训练分割模型。
流程
图像级分类 & 语义分割 & HPA 细胞分割器。
图像级分类
- 模型:resnest50, resnet50, resnet200d, effb3
- 输入尺寸:512x512 ~ 1280x1280
- 损失函数:Focal Loss
- 类别掩码:普通 CAM 和 SC-CAM
- 最佳单模型:resnest50 768x768,公开榜 0.445,私有榜 0.441
语义分割
- 模型:Unet{resnest50, resnet50, resnext50}
- 输入尺寸:512x512 ~ 768x768
- 标签:由类别掩码 CAM & SC CAM 生成的伪标签,以及来自 HPA 细胞分割器的实例掩码
- 最佳单模型:resnet50 512x512,公开榜 0.491
其他技巧
- 训练速度:NGC 容器 x PyTorch 内存格式的 Channel Last。
根据 timm 的基准测试结果,我的 ResNet 训练时间比初始配置减少了 40%。EfficientNet 的训练时间也减少了 20% 到 30%。
- TTA(测试时增强):
水平/垂直翻转,图像缩放 { x1.2, x1.4} 使 CAM 模型分数提高了 0.01~0.03。