返回列表

[30th place solution] Weird TTA trick? Detect by quadrant provided a great boost!

398. Global Wheat Detection | global-wheat-detection

开始: 2020-05-04 结束: 2020-08-19 作物智能识别 数据算法赛
[第30名方案] 奇怪的TTA技巧?通过象限检测带来了巨大的提升!

[第30名方案] 奇怪的TTA技巧?通过象限检测带来了巨大的提升!

作者:Alexander Soare
比赛排名:第30名

大家好!在这次比赛中能与大家并肩作战真是一种荣幸。在 YOLOv5 出现之前,我曾在公共排行榜上名列第二,这要归功于一个巧妙的小技巧,它带给我的提升比预期的要大。

我使用的是 EffecientDetB5 模型,在没有任何 TTA(测试时增强)的情况下,公共榜单得分约为 0.72。使用了我的 TTA 技巧后,得分大幅提升到了 0.7535。我将在下面解释这一点,并且很想听听大家关于它为何如此有用的意见。此外,这里有一个包含工作示例的 Notebook

我的动机是我没有时间训练 1024x1024 的分辨率,但我仍然希望在训练 640x640 的同时能够利用全分辨率的信息。所以我的想法是:

  1. 将测试图像分解为 640x640 的象限(因此它们之间会有一些重叠)。
  2. 对所有 4 个象限进行推理,并将结果拼接在一起。
  3. 对调整大小为 640x640 的完整图像进行推理(以帮助填补空白——稍后详述)。
  4. 使用 WBF(加权框融合)进行集成。

这是一张解释象限 + 全图缩放的示意图。

示意图1

关于拼接

我不想保留任何太靠近象限边缘的框,因为它们可能会切过麦穗的中间部分。所以我丢弃了它们。

示意图2

现在你可以明白为什么我也对缩放后的全图进行了推理。我想捕获任何可能被上述方法丢弃的框。

关于训练

我发现使用这种方法时,训练期间的 mosaic 数据增强对我的分数没有帮助。我坚持对训练图像进行随机缩放裁剪。裁剪的大小均匀分布在 [640, 1024] 之间。这样我就获得了经常在接近全分辨率下训练的好处。

向 Kagglers 请教

我实际上不熟悉多尺度推理的概念。我知道这是一种 TTA 技术。具体发生了什么?它和我做的类似吗?

同比赛其他方案