565. HuBMAP - Hacking the Human Vasculature | hubmap-hacking-the-human-vasculature
感谢组织方举办这场激动人心的竞赛。我们在此介绍SDSRV.AI的GoN团队获得第四名的解决方案。该方案强调了数据集、验证、集成和后处理方法的重要性。特别感谢@ducmanvo,一位出色的队友。
我们的解决方案结合了4个实例分割模型,包括CascadeRCNN(ResNeXt、Regnet)、MaskRCNN(swint)、HybridTaskCascade(Re2Net)和1个目标检测模型Yolov6m。每个模型使用包含1549张图像(ds1+ds2)的数据集进行训练,其中84张来自dataset1的图像用于验证。在推理过程中,采用加权框融合(WBF)技术集成RPN框和ROI框,而模型集成的掩码则使用平均方法。后处理阶段,我们过滤掉小实例并使用掩码分数优化实例分数。
训练-测试分割
- 训练集:1549张图像(1211张来自ds2 + 338张来自ds1)
- 验证集:84张来自ds1的图像
- 在解决问题的初期(比赛最后一个月),我们最初使用了K折交叉验证。但在发现dataset1和dataset2之间的分布差异、标签分配方法的不同,以及全切片图像(WSI)之间的标签分配变化后,我们决定将数据分成两个训练-验证集。验证数据完全来自dataset1(占dataset1的20%)。另一个分割数据的原因是在训练集中dataset1图像稀缺,而私人测试数据完全来自dataset1(只有422张图像)。
- 为了确定dataset1和dataset2之间标签分布的差异,以及不同全切片图像(WSI)之间的变化,我们在dataset1的训练数据(fold1)上训练了一个基础模型MaskRCNN R50,并在dataset1和dataset2(fold1)上进行验证。我们观察到模型在dataset1上的性能明显高于dataset2。在比较不同全切片图像(WSI)的性能时也采用了类似的方法。
预处理:移除重复标注
- 大约4.5%的训练数据存在重复。我们直接移除了这些重复标签以确保数据完整性并提升模型性能。
在训练和验证过程中,我们特别关注"blood_vessel"和"unsure"类别。这一决策受到肾小球与其他两个类别之间显著尺寸差异的影响,肾小球要大得多。令人惊讶的是,当使用全部三个类别进行训练时,模型在肾小球上的性能仍然异常高。此外,比赛组织者告知我们,在测试阶段可以利用肾小球标签消除假阳性。因此,我们得出结论:额外的肾小球数据训练是不必要的。从训练数据集中移除肾小球标签后,我们观察到"blood_vessel"类别的性能得分有所提升。因此,我们决定在所有后续实验中排除肾小球标签。
两阶段模型:MaskRCNN、CascadeRCNN、HybridTaskCascade
- 在使用基础模型(MaskRCNN-R50)进行训练时,我们注意到使用默认mmdet配置时模型难以收敛。因此,在后续实验中,我们减少了增强方法的使用,仅保留多尺度训练。此外,我们采用了更大的骨干网络(ResNeXt-101)并将SGD优化器替换为AdamW。为了进一步增强集成过程中的模型多样性,我们将CascadeRCNN和HybridTaskCascade纳入我们的方法。这些修改旨在改善模型的收敛性和整体性能。
Yolov6m:像MaskRCNN、CascadeRCNN和HybridTaskCascade这样的两阶段模型在特定的交并比(IoU)阈值范围[0.5:0.95]内表现出良好的平均精度(MAP)。然而,它们的整体MAP[0.5:0.95]得分可能无法达到较高值。为解决这一限制,YOLO系列模型提供了解决方案。特别是YOLOv6,使用默认训练配置时,其平均召回率(MAR)达到55.1,显著高于两阶段模型的44.x。这一MAR的改进凸显了YOLO系列模型在克服上述缺点方面的有效性。
详细训练配置
- 优化器:AdamW,预热3个epoch
- 使用血液血管类别的MAP[0.5:0.95]选择最佳模型
- 数据增强:多尺度训练[(512x512), (640,640), (768, 768), (896, 896), (1024, 1024)]
专注于优化仅包含dataset1的验证集,在训练集中使用dataset1对模型进行几个epoch的微调,提高了验证数据的性能。
集成
- 集成过程如下图所示;我们在集成边界框时使用加权框融合(WBF),因为它比NMS、SoftNMS或NMW产生更优的结果。

- 对于WBF,在集成过程中每个模型被赋予相等的权重。
后处理
- 移除面积小于80像素的实例
- 使用公式优化实例分数:score_instance = score_bbox * mean(mask[mask > 0.5])
一些详细实验:

我们观察到本地验证与公共排行榜(LB)分数之间有很强的相关性。因此,我们仅在验证分数有显著提升时才提交结果。
关键词:实例分割、集成实例分割、重排序实例、优化实例分数