返回列表

6th place solution [0.6023 private LB]

341. Open Images 2019 - Object Detection | open-images-2019-object-detection

开始: 2019-06-03 结束: 2019-10-01 计算机视觉 数据算法赛
第6名方案 [Private LB: 0.6023]

第6名方案 [Private LB: 0.6023]

作者:Schwert
发布时间:2019-10-02

首先,我要感谢比赛主办方和所有的参赛者!这是我第一次参加 Kaggle 比赛,真的度过了一段美好的时光 😀

以下是我的简要解决方案说明:

1. 数据集

  • 无外部数据集。正如我在官方外部数据线程中所描述的,我只使用 FAIR 的 ImageNet 预训练权重进行初始化。
  • 类别平衡。对于每个类别,对图像进行采样,使得至少包含该类别一个实例的概率在 500 个类别中是相等的。例如,模型遇到非常罕见的“高压锅”图像的概率为 1/500。对于非罕见类别,图像的数量受到限制。

2. 模型

基线模型是带有 ResNeXt152 主干网络的特征金字塔网络(Feature Pyramid Network)。主干网络中引入了调制可变形卷积层。模型和训练流程是基于 maskrcnn-benchmark 仓库开发的。

3. 训练

  • 单 GPU 训练。训练条件针对单 GPU(V100)进行了优化。基线模型训练了 300 万次迭代,并计划在最后 120 万次迭代中进行余弦衰减。Batch size 为 1(!),并对 4 个批次累积损失。
  • 父类扩展。模型在训练时使用不包含父类扩展的真实边界框。父类框是在推理后添加的,根据经验,这比多类训练能获得更好的 AP。
  • 迷你验证集。使用了由 5,700 张图像组成的验证数据集子集。使用 K80 GPU 实例每 20 万次迭代进行一次验证。

4. 模型集成

  • 集成八个模型。选择了具有不同图像采样种子和不同模型条件(ResNeXt 152 / 101,带和不带 DCN)的八个模型进行集成(在 NMS 之后)。
  • 最终 NMS。对集成后的边界框逐类再次执行 NMS。仔细选择 NMS 的 IoU 阈值,以使结果 AP 最大化。重叠度高于阈值的框对的分数被相加。
  • 结果。模型集成将 Private LB 分数从 0.56369(单模型)提高到了 0.60231。
同比赛其他方案