336. SIIM-ACR Pneumothorax Segmentation | siim-acr-pneumothorax-segmentation
我要感谢 Kaggle 和组织者举办这次比赛,并祝贺所有的参赛者!同时,特别感谢我的队友 @seesee。
我们的解决方案非常简单,它是四个不同模型(每个模型包含若干折)的集成(简单平均):
模型在 768x768(或接近该数值)的分辨率下训练,使用 AdamW 优化器。对于 FPN 模型使用了翻转 TTA(测试时增强),而其余模型使用了缩放(1024)TTA。我们使用了两个阈值,一个用于分割,另一个(数值较高)用于分类。
See 训练的模型基于 特征金字塔网络 解码器和 ResNet 编码器。ResNet 模型基于 Bag-of-tricks 论文 中提出的修改版本。See 使用 AdamW 作为优化器,学习率调度采用带预热的线性衰减。损失函数使用了 BCE 和 Dice 的加权组合。还使用了水平翻转 TTA。
他总共训练了 17 个模型:
See 的代码可在他的 GitHub 仓库 中找到。
我训练的模型基于两种不同类型的解码器:EMANet 和 PANet。两者都是我自己重新实现的,并做了一些小修改:
对于编码器,我也使用了 ResNet 系列,并采用了 Bag-of-tricks 论文 中提出的修改。我的模型使用 AdamW 和 余弦退火 学习率调度进行训练。损失函数使用简单的 BCE 效果就很好。我总共在 768x768 分辨率下训练了 10 个模型:
预测时使用了缩放 TTA(768, 1024)。
对于集成,使用了模型软预测(sigmoid 之后,阈值处理之前)的简单平均。最后,我们使用了两个阈值数值。数值较小的一个(0.2)用于分割,另一个(0.72)用于非气胸图像的分类。