返回列表

3rd Place Solution

499. UW-Madison GI Tract Image Segmentation | uw-madison-gi-tract-image-segmentation

开始: 2022-04-14 结束: 2022-07-14 医学影像分析 数据算法赛
第三名方案

第三名方案

作者:He (Grandmaster) | 比赛排名:第3名

感谢组织者,并祝贺所有获奖者,我从讨论区和往届比赛的解决方案中学到了很多,感谢大家的慷慨分享!

摘要

我的整体方案与第二名的方案类似,但没有使用3D模型。我的方案是使用检测器检测主要区域,然后使用分类器判断是否需要进行分割,最后对需要分割的图像进行分割,并且只保留分类器判断为正样本的分割结果。

细节
  • 通过分组划分case进行5折交叉验证
  • 仅使用2.5D模型(slice=3 和 slice=5)
  • 预处理(使用检测模型裁剪),参考了 [bestfitting][Guanshuo Xu] 的思路
  • 我的训练流程(cls + seg 方法以及模型的 swa)基于我们的 siim acr 解决方案 (SIIM-ACR Solution)

模型

预处理

  • EfficientDet-D0,尺寸=256,epoch=5,其他所有参数均使用默认参数。这对模型来说是一个非常容易学习的任务。我通过图像预处理生成了一些训练样本,并重新标记了不好的边界框。

分类部分

仅使用带有不同主干网络和分类分支的 Unet(Smp-Unet 和 Timm-Unet),Timm-Unet 参考了 selimsef 的 xview3_solution,感谢他的分享,然后我针对本次比赛对网络进行了一些修改。

  • Cls 分支损失:bce loss
  • Seg 分支损失:bce loss
  • 使用 ema(参考 DungNB)和 swa
  • Epoch=35(7个周期)
  • 初始学习率 Init lr=3e-4 或 5e-4
  • 数据:使用所有数据
  • 模型选择指标:TP / (TP + FP + FN) 和 Dice 分数
模型列表
  • Smp-Unet efficientnet-b7, 尺寸=320, slice=5
  • Timm-Unet efficientnet-v2-l, 尺寸=320, slice=3
  • Timm-Unet efficientnet-v2-l, 尺寸=320, slice=5
  • Timm-Unet efficientnet-v2-m, 尺寸=352, slice=5
  • Timm-Unet efficientnet-b7ns, 尺寸=320, slice=5

分割部分

对于分类模型,我主要关注分类的准确性。对于分割模型,我希望获得更好的分割效果,因此我单独训练了分割模型。

  • Cls 分支损失:bce loss
  • Seg 分支损失:ComboLoss({'bce': 0.5, 'dice': 0.5, 'lovasz': 1})
  • 数据:所有正样本
  • 使用 ema 和 swa
  • 模型选择指标:Dice 分数
  • Timm-Unet efficientnet-v2-l-1 和 Timm-Unet efficientnet-v2-l-2 使用了不同尺度的预训练调整
模型列表
  • Timm-Unet efficientnet-v2-l, 尺寸=384, epoch=35, slice=5
  • Timm-Unet efficientnet-v2-l-1, 尺寸=416, epoch=35, slice=5
  • Timm-Unet efficientnet-v2-l-2, 尺寸=416, epoch=35, slice=5
  • Timm-Unet efficientnet-v2-m, 尺寸=416, epoch=35, slice=5

后处理

  • 移除25像素的部分
  • 以连续三个预测为正样本
同比赛其他方案