返回列表

1st place solution - New augmentation method + 5 model ensemble

490. Hotel-ID to Combat Human Trafficking 2022 - FGVC9 | hotel-id-to-combat-human-trafficking-2022-fgvc9

开始: 2022-03-16 结束: 2022-05-30 内容安全 数据算法赛
第一名解决方案 - 新增强方法 + 5模型集成

第一名解决方案 - 新增强方法 + 5模型集成

作者:David Austin (Grandmaster)
比赛:Hotel-ID to Combat Human Trafficking 2022 (FGVC9)
排名:第1名

感谢赞助商和Kaggle组织了这项重要的研究挑战赛。

太长不看版:解决方案架构包含5个模型的集成,使用两种不同的图像尺寸,并通过PCA降低嵌入维度。核心秘诀是一种新开发的增强方法,旨在处理大面积遮挡问题,同时保持整体场景的语义连贯性。

数据增强 - 介绍 BlendFlip:

本次挑战的核心问题是如何处理测试/查询图像中的大面积掩膜遮挡。为此,我的目标是对掩膜区域进行修复,同时试图:

  • 保持与整体场景的语义连贯性
  • 保持掩膜边缘的连续性
  • 填充视觉上逼真的内容

观察酒店房间图像时,一个常见的模式是许多垂直和水平特征与重复背景相对。例如垂直延伸的墙角、垂直和水平延伸的门框、墙上的方形图片等。这一观察给了我灵感:将同一图像中紧邻掩膜区域的图像块翻转入掩膜区域,然后融合垂直和水平方向的翻转,因此得名BlendFlip。

BlendFlip示意图

BlendFlip算法:

  1. 确定垂直方向上掩膜区域边缘与图像边缘的最大距离(图像顶部到掩膜顶部,掩膜底部到图像底部)。水平方向同理。距离最大的方向将被用作修复的区域来源。
  2. 将最大的垂直区域翻转入掩膜区域。如果初始翻转没有填满整个掩膜区域,继续在垂直区域翻转直到掩膜区域被填满,并在掩膜区域边缘截断。
  3. 对水平区域重复步骤2。
  4. 将步骤2和步骤3的结果进行50/50混合(使用cv2.addWeighted)作为最终的修复区域。

BlendFlip有助于解决上述3个问题中的2.5个。它有助于保持语义连贯性和视觉逼真的内容。它在掩膜边缘的4条边中的2条边上保持了连续性。我尝试过GAN、传统的计算机视觉修复方法、CutMix的变体,但BlendFlip的表现明显优于所有这些方法。

示例 1

示例 2

示例 3

BlendFlip的目标不是预测遮挡区域的内容,而是保持非遮挡区域图像嵌入的完整性。

解决方案架构

整体解决方案架构如下图所示。尺寸为1024x1024(最长边缩放到1024,保持纵横比)或384x384的图像被输入到5个不同架构的模型中。每个模型都使用ArcFace损失进行训练,每个模型的嵌入大小为1536维。然后将嵌入连接起来,并通过PCA减少到总共3072维(维度大小由保持嵌入连接后99%的方差确定),然后执行KNN。每个模型在训练时对每张图像有50%的概率应用BlendFlip。在推理之前,对所有测试图像执行BlendFlip。没有应用后处理或重新排序。

解决方案架构图

在CVPR论文中,我将包含适当的消融研究和解决方案各部分的相对影响。BlendFlip贡献了约0.03-0.04的mAP提升。

同比赛其他方案