返回列表

3d place solution

508. HuBMAP + HPA - Hacking the Human Body | hubmap-organ-segmentation

开始: 2022-06-22 结束: 2022-09-22 医学影像分析 数据算法赛
第3名解决方案

第3名解决方案

作者:Volodymyr (Grandmaster) 及团队成员
比赛:HuBMAP + HPA - Hacking the Human Body

首先,我们要感谢乌克兰武装部队、乌克兰安全局、乌克兰国防情报局、乌克兰国家紧急服务局提供的安全保障,使我们能够参加这项伟大的比赛,完成这项工作,并帮助科学、技术和商业不停滞不前,继续向前发展。

还要感谢我的队友 (@sakvaua , @igorkrashenyi, @alexkirnas)、Kaggle 团队和比赛组织者举办今年的 HuBMAP + HPA 活动。为了给生物医学领域带来利益而竞争是一种极大的荣幸!
根据主办方所述,主要的挑战是:

使模型在面对使用不同协议准备的数据时能够正常运行,将是本次比赛的核心挑战之一。虽然这预计会使问题更加困难,但开发具有泛化能力的模型是这项工作的关键目标。

这确实是今年 Hacking the Human Body 的关键点 :) 所以这是我们的方法:

数据

  • 删除了一些(在我们看来)完全标记错误的肺部数据(IDS)。后来组织者澄清说,这些 ID 并非标记错误,而是代表了另一种肺泡切片方式。无论如何,它们数量太少,没有什么用处,而且混淆了我们的模型,没有提供任何有意义的新数据。所以我们决定专注于看起来像气泡的水平切片肺泡。
12476, 127, 13189, 15124, 16564, 23252, 25516, 25945, 29610,30084,30500, 31139,31571, 7359, 8151

后来我们对这些数据进行了伪标签处理,并再次添加到训练中。

  • 关键点之一是适应剧烈变化的像素尺寸。图像比例范围从前列腺的 6.3um 到大肠的 0.2um/像素不等。我们通过将训练数据集重新缩放到目标 HuBMAP 分辨率来解决这个问题。虽然为了增加模型的感受野,我们对较大的图像应用了额外的缩小器,对前列腺应用了放大器。
    我们使用了一个重新缩放到 HuBMAP 尺寸的数据集和另一个具有原始 HPA 尺寸的数据集。后者不仅对于 HPA 预测(在私有 LB 中不存在)很重要,而且对于向模型提供一些额外的缩放信息也很重要。
    这是我们的额外重缩放字典(原始比例 / 额外比例)。
"prostate": 0.15 * 2,
"spleen": 1 * 2,
"lung": 0.5 * 2,
"kidney": 1 * 2,
"largeintestine": 1 * 2,
  • 一个重要的增强是 CutMix。我们使用了相当激进的 CutMix("prob": 0.5, "alpha": 1.0),不过这里的技巧是仅在单个器官类别内应用 CutMix。
  • 我们在 512 裁剪上训练基于 CNN 的模型,在 1024 裁剪上训练 Segformer。对于 Segformer 来说,更大的训练裁剪非常重要,因为在 512 裁剪上的结果要差得多。虽然增加 CNN 的训练裁剪大小增加了本地验证分数,但降低了 HubMap LB 分数。此外,我们以 0.5 的概率采样非空掩码。
  • 我们还使用了相当重的增强 —— 几何、颜色、扭曲、缩放。整个流程真的很长 :)。这可能是模型性能和稳定性的关键点。颜色增强背后的主要思想是暗示模型颜色并不重要,它必须寻找其他线索。
  • 为了处理 DAB 和 H&E 染色之间的颜色偏移,我们使用了训练图片与 H&E 染色的 GTEX 和 HubMap 图像的直方图匹配。我们对所有图像都使用了直方图匹配。

伪标签/额外数据

我们使用了来自 GTEX 和 HPA 门户网站的额外数据来补充初始训练数据。这里的 GTEX 数据尤其重要,因为它的染色方式与 HuBMAP 玻片相似,都是 H&E。我们从 GTEX 下载了前列腺、大肠、肾脏和脾脏数据,针对没有明显病理的患者。我们忽略了 GTEX 的肺部数据,因为我们不知道如何分割它们(我们的模型也不知道)。我们在流程中逐步添加 GTEX 图像,到比赛结束时大约有 140 张。并用与 HPA 相同的集成模型对它们进行了伪标签处理。

从 HPA 站点,我们使用了大量 DAB 染色玻片,与组织者提供的非常相似。总的来说,我们为每个器官添加了 57-61K 张额外的 HPA 图像。

同比赛其他方案