
由 Google 主办的 2018 Google 地标识别挑战赛于近日揭晓,来自 Video++AI 团队的参赛者以大比分优势获得第 1 名。
经过近 3 个月的激烈角逐,由 Google 主办的 2018 Google 地标识别挑战赛于近日揭晓,来自 Video++AI 团队的参赛者以大比分优势获得第 1 名。这是中国 AI 团队在此类国际大赛中第一次夺冠。
作为本次挑战赛的获胜者,Video++将受邀在美国举办的 CVPR 会议上发表技术研讨,该会议是全球计算机视觉领域的顶级会议,在会议业界和学界都享负盛名。
今年 3 月,Google 推出了目前世界上最大的人造和自然地标识别数据 Google-Landmarks。数据集中包含了 200 万张图片,囊括了全球 30000 处的独特地标,量级是普通的数据集的 30 倍,数据达到前所未有的庞大体量。
Google-Landmarks 地标的地理分布
Google 以此为契机推出了 2018Google 地标识别挑战赛,用于号召全球范围内计算机视觉领域的科学精英共同参与,以突破该数据目前缺乏大型标注数据集的难题。
地标识别挑战赛全程在 Google 旗下 Kaggle 平台进行报名与提交,该平台目前在全球范围内拥有近 100 万的数据科学家用户,是全球最具权威的数据科学竞赛平台。
参赛机制需要参赛者在给定查询图像后,在数据库中识别出包含查询地标的所有图像,这对于上百万级的数据体量与无关信息过多的图像内容而言,挑战难度难以想象。
除此之外,由于检测对象是地标的原因,它的识别相对其他对象的同类操作之间也存在显著差异。例如,就算在大型带标注的数据集里,那些不太热门的地标,一般情况下是不存在训练数据的;另外,地标通常是不可移动的刚性对象,此时图像的捕获条件,如遮挡、角度、天气、光线等,都会对识别结果产生影响。
尽管如此,地标识别挑战赛仍旧吸引了来自全球的 483 支团队、653 名选手参赛,赛程先后历时近 3 个月,参赛者都是世界各地计算机视觉领域具有丰富经验的优质个人与团队。Video++的 AI 团队最终以总比分 0.304 位列榜单第 1 名,超越了很多知名 AI 团队;第二名和第三名的得分分别为 0.290 和 0.289。
Google 地标识别挑战赛榜单排名
作为本次 Google 地标识别挑战赛的冠军,Video++的参赛 AI 团队也分享了他们的获胜方案:
本次比赛训练数据集接近 120 万张,近 1.5 万个类别,但是每个类别的图片数目差距较大,大多数分类的图片数目很少,甚至超过 2000 类图片数目少于 5 张。对数据集进行分析,总结数据集分类有以下几个难点:
(1)类别图片数量不均,数量最多的可达到 5 万多张,数量最少的只有 1 张;
(2)由于数据集未经过人工清洗,训练集中存在较多的干扰图像;
(3)对不同类别聚类可发现,同一个 landmark 可能会出现在多个分类,不同的 landmark 可能非常相似;
(4)训练集中有较多非建筑物类别,如河流、山等,这样属于同一种场景的不同类别难以分辨。
本次识别比赛夺冠采用的方法大致如下:
针对训练集中的干扰图像,使用 Babenko 等人构建的 landmark 数据集训练 ResNet+RMac,得到用于 retrieval 的基础特征描述模型,并用该模型的全局特征描述子做类内相似度,清理掉与该分类无关的图像;针对数量不均,对每个类中的图像构造相似度连接图,设定相似度阈值 0.65,构造多个类内关联簇,用于训练和微调;对图片数目较少的图像做复制、裁剪、翻转、选装等操作增加样本数量。
分类网络的训练,直接训练 15k 类,基础网络选用 VGG、ResNet50、ResNet101、ResNext、Inception-V3、Inception-Resnet-V2,验证集准确率为 96-99%。
对于图片数量较少的分类,通过 retrieval 基础特征描述模型提取全局描述,并做聚类,聚类成 250 类,将 250 类与原有图片数目高于 20 的类组成 6558 类新训练集训练分类;对小于 20 的分类在 15k 类分类器后修改全连接,微调网络,只训练小于 20 张图片的 8648 类。
Retrieval 对分类也有很大作用,在 Babenko 等人构建的 landmark 数据集训练了 R-MAC、DIR、GeM,基础网络为 VGG、ResNet50。并用我们清理过的训练集微调,整合各模型输出的描述特征,以及 DIR PCA 前特征,根据各模型检索效果设置权重拼接特征,并做 L2+PCA,降低维度至 4096。
Retriveal 输出特征比较方式我们有两种,一种是直接将 test 图像在清理后的数据集中检索到相似度最高的那张图片所在分类记为最后的类别,一种是记录 top-k(k=100/200),并对 k 张图像做每个分类做数量统计和相似度均值,数量多且平均相似度高的类别记为最后的类别。
Retrieval 的特征描述同样也可用于分类,我们直接在 4096 维特征后增加分类器,分类 14951、6558、8648,得到多个预测结果并同以上结果进行不同方式的投票或 weighted average 融合。
最后,由于此次比赛使用的 evaluation 方式为 GAP@1 而不是单纯的 Top-1 accuracy,训练时不论在验证集上取得多高的 accuracy(曾经到过 0.99+)都不能确保最后在 leaderboard 上的分数得到质的飞越。举个例子,如果你对 5 张图片进行预测,结果为第 1,2,3,5 正确第 4 错误,那么传统意义上你得了 0.8 分:4 张正确的得 4 分除以总数 5 张,但用 GAP@1 来计算的话你对第 5 张的正确预测只获得 0.8 分,这个 0.8 来自于你前 5 张对了 4 张,所以最后的得分为(1+1+1+0+0.8)除以 5 结果为 0.76。换句话说,排序越靠前的预测对最后得分的占比权重越高。对此我们在最后一个月内所有的提交都采取了以下的 recursive stack 方式。我们将先前几次分数最高的提交进行了融合:只保留可信度大于 0.95 且所有模型都预测一致的图片,而这个大约只有 200 张图的提交居然得分就超过了 0.11,也就是说测试集内真正用来算分的图片总数应该小于 2000 张(实际情况可能更少)。至此,我们接下去所有微调的模型都不对这 200 张图进行预测并且对训练集中对于它们的 label 进行一定比例的减少。在比赛最后两周我们的 safe list 里大约有 500 张图,public leaderboard 的分数大概 0.29 左右。这时我们再次运用检索比赛中效果最好的模型对这 500 张图在测试集中进行检索,取可信度大于 0.95 的 match 并给它们标上相同的 label。
另外,Video++的参赛 AI 团队还表示他们在此次挑战赛中运用到的算法将用于 Video++的产品中。
此次参与到 Google 挑战赛,与全球科学技术大咖同场竞技,是 Video++深耕 AI 技术的一次成果展示。经过多年的经验累积与技术沉淀,Video++在场景识别与检索上已取得丰硕成果,并成功实现 AI+文娱的商业化规模应用,成为国内这一领域的领导者。而此次在 Google 挑战赛中勇夺桂冠,彰显了 Video++在计算机视觉领域的领先实力。未来,Video++还将加速技术创新,拥抱科技力量,持续把 AI 技术渗透到大文娱产业的各个场景,力争成为享誉海内外的 AI+文娱的产业风向标。
雷锋网 (公众号:雷锋网)
雷锋网原创文章,未经授权禁止转载。详情见转载须知。