返回列表

5th Place Solution Overview

404. RSNA STR Pulmonary Embolism Detection | rsna-str-pulmonary-embolism-detection

开始: 2020-09-10 结束: 2020-10-26 医学影像分析 数据算法赛
第5名解决方案概述

第5名解决方案概述

作者: Darragh (Grandmaster)
比赛排名: 第5名
架构图

感谢所有组织者举办这次比赛。并祝贺所有的参与者和获奖者——这些比赛和解决方案变得越来越先进了 😁

我的计算资源最初是 AWS 上的 v100,处理 320x320 的图像,并在 Macbook 上进行原型设计(很多工作可以在 CPU 上检查)。然后在最后 3 周,我转移到 A100 上运行 512x512(感谢 DoubleYard)——每张卡 40GB GPU 内存——一张卡就足够了。

总的来说,解决方案的流程最终与去年非常相似,但实现这一目标的过程却大不相同。比赛使用的指标很难模拟,并且流程的所有部分都需要最终确定/集成,才能获得关于比赛基准的反馈。

预处理

几乎原样使用了 Ian Pan 帖子中的窗口化处理,只是将其并行化以加快速度。后来我发现有些 dicom 文件丢失了,这是由于 pydicom 的使用方式造成的,但我认为大部分是好的。

轻微的增强,也许更多增强会有所帮助,但我不想丢失关于 PE 位于哪一侧的信息。

图像级别

在我尝试的所有模型中,Efficientb5 在速度和损失方面似乎都更好。鉴于提交的时间和计算限制,速度很重要。

数据采样器在每个 epoch 中从每个研究中至少提取两张图像,并对阳性图像进行过采样,以提供 4:1 的阴性:阳性比例,图像批量大小为 48(使用半精度 - amp)。

加权研究损失在每一步仅针对阳性样本计算(权重按照比赛指标权重,不包括 negative_exam_for_pe),图像损失则针对所有样本计算。每一步的最终损失是两个平均值的总和;图像损失经过了调整,以便图像损失和研究损失大致相等。

每个 epoch 大约需要 5 分钟,运行了约 15 个 epoch,最终解决方案使用了五折交叉验证中的三折。

研究级别

将每张图像的 GAP 层提取到磁盘。这些被输入到三个独立的序列模型中。

同比赛其他方案