返回列表

4th place solution

535. RSNA Screening Mammography Breast Cancer Detection | rsna-breast-cancer-detection

开始: 2022-11-28 结束: 2023-02-27 医学影像分析 数据算法赛
第4名解决方案

第4名解决方案

作者:Dieter, Ian Pan, Darragh

简介

恭喜大家,感谢 RSNA 再次举办精彩的挑战赛。我们的解决方案如下。代码和幻灯片将在未来几周内发布。

预处理

我们对所有模型使用了相同的预处理和调整大小的方法,这使我们能够使用更多的模型。

每张图像的像素值都使用 DICOM 元数据中的宽度和中心进行窗口化。为了减少处理时间,无论元数据中指定了何种函数,我们都使用了线性窗口。我们应用了一个带有最小滤波器的粗糙 CNN 将图像裁剪到乳腺区域,并希望能去除图像中的噪点或文字。

癌变区域通常很小,而图像很大,因此在调整大小时,尽可能少地丢失细节非常重要。这篇论文得出结论,最好的调整大小方法是使用 Lanczos 的 PIL,或使用抗锯齿的 Tensorflow。文中有一个很好的例子(图 1)展示了调整大小如何丢失信息,比较了 cv2、PIL、pytorch 等方法。我们使用了 PIL,虽然速度较慢,但结果优于任何 cv2 方法。使用 .thumbnail() 函数似乎有助于加快速度。权衡之处在于我们没有为建模生成任何不同尺寸的图像,而只对图像进行了一次缩小。

所有图像都被缩减至 1152 维。此外,在训练期间,我们在缩小尺寸之前应用了增强,因为如果应用在小图像上,它们会丢失更多信息。增强主要基于 cv2。此外,我们保留了原始过滤图像的纵横比,并将其填充为正方形图像。

数据增强

缩小尺寸前的训练增强包括:垂直翻转、水平翻转、转置、平移、缩放、旋转、网格畸变和仿射变换。缩小尺寸后,我们使用了随机网格打乱或粗略丢弃中的一种。在训练中,我们随机裁剪至 1024,在验证中则进行中心裁剪。

下面的示例批次:

示例批次

模型

模型类型 1:乳腺级特征组合 1D-CNN 与 CNN 骨干网络

辅助损失大大改善了收敛时间。对于每个骨干网络,第一阶段模型训练了 9 个 epoch,第二阶段模型在冻结骨干网络的情况下训练了 2 个 epoch。在线性输出上应用了重丢弃率(0.5)。

1D-CNN 的滤波器大小设置为 2,无填充,因此我们得到 (2, n_features) 形状的输入和 (1, n_features) 形状的输出。

模型架构

在我们的最终集成中,我们使用 efficientnet b3、b4、b5、v2s 和 v2m 运行了上述架构。

解决方案的部分灵感来自 Bo 关于 SIIM 黑色素瘤竞赛第 1 名解决方案的精彩文章。

模型类型 2:患者级多视图-多侧 Transformer 与 CNN 骨干网络

受论文 Transformers Improve Breast Cancer Diagnosis from Unregistered Multi-View Mammograms 的启发,我们设计了另一种第二阶段方法,但是基于患者级别的。

第一阶段:

第一阶段模型

在第一阶段,我们训练了一个图像级 CNN,通过预测我们在 CBIS 数据集上训练 Yolo_v7 得到的掩码,使用辅助分割损失进行训练。

第二阶段:

同比赛其他方案