返回列表

LB #4 Documentation

380. iWildCam 2020 - FGVC7 | iwildcam-2020-fgvc7

开始: 2020-03-09 结束: 2020-05-26 农业遥感 数据算法赛
LB #4 文档

LB #4 文档

作者:Fagner Cunha
发布时间:2020年6月5日

我们的最终解决方案基于一个简单的 InceptionV3 模型,该模型在 ImageNet 上进行了预训练。该模型是在相机陷阱图像上训练的,这些图像中的动物是使用提供的 Megadetector 边界框作为参考裁剪出来的。然后,我们选择在验证集上表现最好的模型,该验证集是从训练集中考虑位置因素分割出来的。每张图像的最终预测是通过在同一序列内的图像中使用多数投票获得的。由于提供的序列数据存在噪声,我们使用了位置和时间戳信息来确定哪些图像应属于同一序列。

数据集分割

我们的验证集大约占原始训练集图像的 11%。我们使用了一种启发式方法,试图在训练集和验证集中保持物种和背景的多样性,具体描述如下。首先,实例数量占总数超过 1% 的所有位置被添加到训练集中。这代表了原始训练集的大约 50%。然后,对于每个类别,我们随机选择位置来组成验证集,一次选择一个,直到当前类别至少有 5% 的实例被添加到验证集中。之后,该类别剩余的可用位置用于组成新的训练集。在分割过程中,出现在少于 6 个位置或实例少于 30 个的类别被忽略。类别 'empty'(空)、'start'(开始)、'end'(结束)、'unknown'(未知)和 'unidentifiable'(无法识别)也被忽略。这种启发式方法产生的分割并不遵循原始的类别分布。然而,我们也不期望测试集完全遵循相同的分布。这也导致许多类别没有出现在验证集中,特别是那些实例较少的类别。尽管如此,我们只删除了那些出现在验证集中但未出现在训练集中的类别。最终,训练集由来自 275 个位置的 211 个类别组成,验证集由来自 49 个位置的 114 个类别组成。

Megadetector 边界框

我们在训练前使用 Megadetector 的结果裁剪图像。由于数据集中的图像分辨率各不相同,我们决定在 Megadetector 生成的边界框周围使用方形裁剪。方形的大小与边界框最大维度的尺寸相同。此外,我们将方形裁剪的分辨率限制为至少 450x450,最大不超过每张图像的高度。另外,方形裁剪将始终保持边界框区域居中,除非裁剪超出图像范围。在这些情况下,我们移动裁剪框以获取有效像素,此时动物不再居中。对于没有边界框的图像,我们只是裁剪一个以图像高度为边长的居中方形。此过程在训练前应用于所有图像,包括来自测试集的图像。

模型训练

我们使用了一个在 ImageNet 上预训练的 InceptionV3 模型,输入大小为 299x299,并在我们的训练子集上训练了 48 个 epoch。所有 epoch 中准确率最高的模型被选为最终模型。在训练期间使用了数据增强,对输入图像应用了以下变换:缩放、旋转、水平翻转、剪切、水平和垂直位移。模型使用动量为 0.9 的 SGD 优化器进行训练,并采用了基于 epoch 的简单学习率调度,类似于论文“Automatically identifying, counting, and describing wild animals in camera-trap images with deep learning”中采用的过程。学习率调度为:1-5: 0.005,6-10: 0.001,11-20: 0.005,21-27: 0.001,28-35: 0.0005,36及以后: 0.0001。

同一序列图像的多数投票

为了确定每张图像的最终预测,我们首先检查空图像。如果我们的模型预测为“empty(空)”且 Megadetector 未提供边界框,则将类别“empty”分配给输入图像。否则,将考虑同一序列中的所有图像计算多数票,排除那些已标记为空的图像。当图像来自同一位置且它们的时间戳之间的差异最多为 30 分钟时,这些图像被视为属于同一序列。

我们希望测试的内容

Big Transfer (BiT)。这个新模型对于迁移学习似乎很有前景,需要每个类别的实例更少即可达到高性能。不幸的是,直到比赛截止日期前几天我们才知道它。因此,我们没能及时测试它。

利用同一序列中所有图像识别动物物种的模型。根据动物在场​​景中的位置,即使是专家也可能很难识别该物种。但是,如果可以在同一捕获事件的另一张图像中以高置信度识别出同一个体,则该分类可用于整个事件。论文“Context R-CNN: Long Term Temporal Context for Per-Camera Object Detection”中描述了一种利用这种时间信息的方法,但我们没有尝试。

MegadetectorV4 边界框。我们本想测试新版本的 Megadetector。我们认为这个新版本可以更准确地生成边界框。它还包括一个新的车辆类别,这可能会改善我们对此类别的结果。

同比赛其他方案