返回列表

44th place solution

433. HuBMAP - Hacking the Kidney | hubmap-kidney-segmentation

开始: 2020-11-16 结束: 2021-05-10 医学影像分析 数据算法赛
第44名解决方案

第44名解决方案

作者:FabienDaniel (Master)
比赛:HubMap Kidney Segmentation

我在这里简要概述我的解决方案,主要是为了分享我在该比赛中使用的方法论:我使用代码块通过 git 跟踪不同实验的演变,结果发现这对于监控各种尝试过程中的演变非常有用。

由于我之前没有计算机视觉方面的经验,我是使用 @hengck23 分享的代码参加 HubMap 比赛的(借此机会感谢 @hengck23 在他的 Kaggle 之旅中分享的所有材料和知识)。

我的解决方案包含两个阶段的建模:

  • 第一阶段:使用 256 x 256 的图块,分辨率降低 4 倍:该网络侧重于减少假阴性,使用覆盖整个 .tiff 图像的图片进行训练。
  • 第二阶段:前一个网络的输出用于定位图像上潜在的肾小球。然后使用主要位于已知肾小球周围的图像训练第二个网络。训练图像的大小为 515 x 512,缩放因子为 2。

对于这两个网络,我都使用了带有 Efficientnet b0 主干的 Unet 模型。我快速检查了其他主干,但没有发现对结果有任何明显影响。很快发现,选择数据集来训练模型是模型性能的关键。

交叉验证方案 (CV scheme)

正如多次提到的那样,由于 d48 图像的存在,很难找到本地 CV(交叉验证)和 LB(排行榜)之间的相关性。在比赛过程中,我尝试了各种 CV 方案:

  1. 对整个图块进行 Kfold。
  2. 随机采样图像,每个图块随机抽取 20% 用作验证。
  3. 保留每个图块的整个部分作为验证。

事后看来,后两个方案给出了很好的结果,分数与 Private LB(私有排行榜)非常吻合。在比赛期间,尚不清楚这些方案中的任何一个是否可靠,但我自我说服认为第 3 个方案应该是可靠的,并用它来选择模型的细节。

伪标签

在最后几天,我开始将测试图块纳入训练。对于这些图像,掩码是使用我目前拥有的最佳模型生成的。随后我“目视”检查了这样选择的肾小球和相应的掩码是否符合我的预期。

[待完善]

同比赛其他方案