经过近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+文娱的产业风向标。
雷锋网