返回列表

23rd Place Solution - Single Tabnet model

403. OSIC Pulmonary Fibrosis Progression | osic-pulmonary-fibrosis-progression

开始: 2020-07-07 结束: 2020-10-06 医学影像分析 数据算法赛
第23名方案 - 单一Tabnet模型

第23名方案 - 单一Tabnet模型

作者: GauthamKumaran | 排名: 第23名

这是我第一次获得Kaggle银牌,超级开心 😄。这对我来说是一次很棒的学习经历。向所有的获胜者致敬,也感谢整个Kaggle生态系统。

方案概述

表格特征和从CT扫描中提取的特征被用于Tabnet模型中,并使用分位数损失进行训练。作为一种数据增强形式,假设每个人的每个可用FVC分数都是第一次FVC测试分数,并据此构建其他特征。

表格特征

这部分相当直接。

  • first_test_fvc - 假设的第一次就诊的FVC分数。
  • predict_week - 距离CT扫描的周数,来自训练数据的 Week 特征。
  • weeks_from_first_visit - 距离第一次FVC测试的周数。
  • expected_fvc - fvc * percent,这对每个患者来说是一个常数。
  • percent - first_test_fvcexpected_fvc 相比的百分比。
  • age - 患者的年龄。
  • SexSmokingStatus 的独热编码值。

CT扫描特征

为每位患者生成了3D重新缩放的分割肺模型,并从中提取了图像特征。

分割 - 肺部分割是使用标记控制的分水岭分割进行的,感谢 Aadhav Vignesh 的出色工作。

体素像素重新缩放 - 重新缩放是使用 Pulmonary Dicom Preprocessing 中的 resample 方法完成的。感谢 Laura Fink 提供的优秀内核。

我在这种方法中遇到的唯一问题是,在推理笔记本中为私有数据集生成3D模型时,要在4小时的提交运行时间内完成。我通过将 resample 函数中的 scipy.ndimage.zoom 替换为 torch.nn.functional.interpolate 解决了这个问题,后者速度要快得多。

生成的图像特征包括:

  • lung_volume_in_liters - 3D模型中分割的肺部体素像素数量 / 1e6。
  • lung_height - 包含超过1000个肺部体素像素的第一层和最后一层之间的差值。
  • lung_mean_hu - HU值的平均值。
  • lung_skew - HU值的偏度。