第11名方案 [Private LB: 0.4796]
第11名方案 [Private LB: 0.4796]
作者:Schwert
比赛排名:第11名
我要感谢比赛组织者和所有的参赛者!
以下是我的简要方案总结:
1. 数据集
- 无外部数据集。正如我在官方外部数据线程中所描述的,我只使用了 FAIR 的 ImageNet 预训练权重进行初始化。
- 类别平衡。对于每个类别,对图像进行采样,使得在 300 个类别中,每个类别至少有一个实例的概率相等(1/300)。从图像中随机选取一个实例来训练下述的分割网络。
2. 流程与模型
采用了一个包含检测和单实例分割网络的两阶段流程。
- 检测模型。检测基线模型是带有 ResNeXt152 骨干网络和可调制变形卷积层的特征金字塔网络。
- 分割模型。分割模型是 ResNet152-C4,带有两个上采样层和两个类似 U-Net 的跳跃连接。
每个实例是基于以下条件从图像中裁剪出来的:
- 训练时:真实的边界框。
- 推理时:由(集成后的)检测模型检测到的边界框,包括父类。
裁剪后的图像被调整为 (320, 320)。输出掩码分辨率为 (160, 160)。
模型和训练流程是基于 maskrcnn-benchmark 代码库开发的。
3. 训练
训练条件针对单 GPU (V100) 进行了优化。
- 检测模型。检测模型使用 500 类的边界框标签进行训练,并集成了八个模型(在目标检测赛道 Private LB 得分为 0.597)。
- 分割模型。分割模型训练了 180 万次迭代,并在最后 20 万次迭代中安排了余弦衰减。Batch size 为 8,并使用了 Batchnorm 层。
4. 模型集成
- 双模型集成。两个具有不同图像采样种子的分割模型进行了集成,分别包含使用和不使用水平翻转的情况。输出的热力图进行了平均处理。
- 结果。模型集成将 Private LB 分数从 0.4740(单个分割模型)提高到了 0.4796。