返回列表

2nd place solution

440. iWildcam 2021 - FGVC8 | iwildcam2021-fgvc8

开始: 2021-03-10 结束: 2021-05-28 农业遥感 数据算法赛
第二名方案

第二名方案

作者: JohnBeuving, Judith_Dekkers, Rik B.J. Kraan, Hugo Koopmans
发布时间: 2021-06-11

我们的解决方案基于几个 EfficientNetB2 分类器,在训练过程中结合使用了欠采样和过采样技术。

物种分类器

对于动物分类器,我们使用提供的 MD3 检测结果作为训练输入。训练时的 Megadetector 置信度截止值为 0.8。在使用 CLAHE 算法进行边界框裁剪之前,我们先对图像进行了优化。我们训练了一个完整的 EfficientNetB2 分类器,输入尺寸为 256x256。数据增强包括随机裁剪和颜色抖动。我们尝试过 CutMix 和 MixUp,但最终没有使用。我们在训练期间对权重使用了指数移动平均 (EMA)。

训练/验证集划分的关键在于使用位置(整数)。验证集的划分必须包含大致相同的物种分布,且训练集和验证集之间的位置应完全独立。

针对数据不平衡问题,我们结合了欠采样和过采样。过采样的问题是过拟合的风险较高,而欠采样的问题则是信息丢失。

地理先验

随着地理信息的发布,我们为数据集中的所有国家分别训练了一个独立的(专家)EfficientNetB2 网络,其中未知位置被归为一个单独的“国家”。

推理

在推理阶段,我们在提供的 MD3 边界框(置信度 > 0.4)上使用 EfficientNetB2 分类器,并丢弃置信度 > 0.7 的分类结果。当预测出的动物未出现在该位置的训练集中时,我们会转而使用专家国家网络并依赖其输出。截止日期时我们还没有训练完所有国家的模型,因此这方面可能还有提升空间。

由于边界框是独立分类的,我们还像前一年那样训练了一个针对整张图像的分类器。该分类器的目标是作为先验,特别是针对兽群的情况。在存在多个边界框的情况下,我们更倾向于将其分类为同一物种。我们将全图分类器与物种分类器结合使用,全图分类器权重为 0.15,物种分类器权重为 0.85。

计数

对于计数任务,我们仅对边界框的数量使用最大值操作。分类器输出在 0.75 处进行了验证。这使得我们的计数算法非常保守。我们只计算我们绝对确定的动物。在最终提交中,我们在最大值上加了平均绝对差,这稍微改善了一点结果。

这样做的原因是使用了 MCRMSE(均方根误差的平均列均方根),其中错误分类会受到严厉惩罚。MCRMSE 的另一个问题是大型兽群在排行榜分数中权重很大。由于我们计数偏少,我们在那方面承担了一些风险。

未采用的尝试

我们完全没有使用 iNaturalist 数据。

我们建立了一个辅助网络,利用提供的元数据尝试作为正则化器。我们对 GPS、一天中的时间和月份使用了循环编码。我们将这些信息与图像数据一起用于训练物种分类器。不幸的是,我们没有足够的资源来充分探索和评估这个方向。

然而,我们确实使用了同样的技巧创建了一个评估网络。原理是一样的,我们试图仅根据提供的元数据预测物种。令人惊讶的是,我们的验证得分超过了 80%。所以我们仍然认为这是未来值得研究的方向。

最后一件没做的事是假设一张图像中的所有动物都是相同的。我们在预测中保持保守。一个能提高分数的好选择是假设所有高置信度的边界框包含相同的动物。这显著提高了我们的分数(私榜和公榜),但就像添加平均绝对差一样,没有理由支持这样做。我们没有也不使用序列中存在的真实计数来优化它们。这也是我们没有追求基于跟踪或重识别的计数算法的原因。

经验教训

  • 分类器仍然是本次挑战赛中最重要的贡献者
  • 因此,训练/验证/测试集的划分非常重要
  • 元数据很有价值(但我们还不知道有多少)
  • 牛是分类器最喜欢的输出(仅次于空图像)
同比赛其他方案