深兰科技-ICPR2020商品图像识别方案分享

AI世界 2021-01-25

margin科技图像识别

1660 字丨阅读本文需 9 分钟

       模式识别是人工智能的关键技术之一,使机器通过视觉信息识别文字、图片和周围的环境,通过听觉信息识别与理解语言。在大数据时代,传感、通讯、数字化技术等手段使得信息内容的智能识别与理解成为信息科技发展的新的重大契机。

       日前,第25届国际模式识别会议(ICPR2020)正在意大利以线上的方式举行,深兰科技DeepBlueAI团队斩获“大规模商品识别挑战赛”的冠军,为新零售、电商等领域提供了高效的解决方案,而同类方案已被用于深兰AI自贩柜。用户可通过先扫描手脉,后开门拿取商品、关门结算扣费,实现犹如在冰箱取物的消费体验,其中对产品识别精确度的要求可想而知。

大规模商品图像识别挑战赛


冠军方案

赛题介绍

      随着互联网技术和电子商务的迅猛发展,人们的购物方式逐步由传统实体店购物变为网络购物。为了充分满足客户海量、多样化的网上购物需求,人工智能零售系统需要快速地从图像和视频中自动识别出产品的存货单元(Stock Keeping Unit,SKU)级别的类别,然而,许多SKU级别的产品都是细粒度的,可以看出它们在视觉上是相似的。

      JDAI构建了一个名为Products-10K[1]的产品识别数据集,这是迄今为止最大的一个产品识别数据集,其中包含了约10000种经常被中国消费者购买的产品,涵盖了时尚、3C、食品、保健、家居用品等全品类。

      该赛题由JDAI和ICPR 2020、Kaggle等联合举办,要求参数者开发算法基于提供的产品图片进行细粒度分类。

评测指标


      本次赛题采用的是Overall Accuracy。


团队成绩


      DeepBlueAI团队通过数据分析,网络结构设计以及loss改进等逐步优化算法,最好的单模在Public & Private上的分数分别是0.70918/0.73618,均超过了第2名最好的成绩,并且通过模型集成的方法,取得Public & Private第一名的成绩,领先第2名两个百分点。

赛题分析

该赛题提供了约150000张图片,10000个细粒度的SKU级别的标签,以及360个组别标签,经过数据分析可以总结该数据集有以下特点:



1) 大尺度,少样本

      虽然提供了150000张图片,但是由于类别数比较多,大部分类别的图片数量都少于20张;

2) 类间距离小

      大部分类别在视觉上比较相似;如下图所示,每一行虽然看起来十分相似,但是却属于不同的SKU标签。


3) 类内距离大

      同一个细粒度标签下的图片包含了商店场景和消费者场景,商店场景的背景比较简单,消费者场景背景比较复杂;如下图所示,每一列都属于同一个SKU标签,大部分商店场景图片都是白色背景,但消费者拍摄的图片背景比较多样化。

竞赛方案


      本次竞赛方案采用了resnest[2]作为基础骨架网络进行特征提取,并且使用了GeM pooling[3]对骨架网络最后一层特征进行池化,基于池化的向量进行group和SKU-level的多任务分类,分类器采用了CircleSoftmax[4]调整类间间距,并且在每一个分类器之前引入了一个BNNeck[5]的结构。Loss上采用了FocalLoss[6]和CrossEntropy Loss联合训练的方式。

      数据增强上,采用了常规的翻转、随机擦除、颜色增强、AugMix[7]等。


Generalized Mean Pooling (GeM Pooling)

      假设是CNN提取后的第k个特征图,是第k个特征图池化后的结果。则GeM Pooling[3]的计算过程可由下式表示:


       GeM Pooling可以看作Average Pooling和Max Pooling的延申,当p=1时,GeM Pooling退化成Average Pooling,当p无穷大时,GeM pooling 等效于Max Pooling.

分类器

      在分类器的选择上,使用了全连接层构建基线模型,通过数据分析发现该数据集存在类内距离大,类间距离小等特点,因此借鉴了人脸识别常用的分类器CosFace[8]和CircleSoftmax[4],通过在训练过程中引入调整分类超平面的方式,使得测试时的不同类别的特征更容易区分。



       如下图,分别是Cosface[8]和CircleSoftmax[4]的训练测试过程。

CosFace训练测试过程


CircleSoftmax训练测试过程

Loss设计

      Loss设计上使用了Focal Loss[6]和CrossEntropy Loss联合训练的方案,避免了Focal Loss需要调整超参和过度放大困难样本权重的问题。


      以上是DeepBlueAI团队参赛的优化路线图,首先通过水平翻转增强以及resnest50构建了基线模型,取得Public榜单61.26的成绩;通过在池化层后面引入BNNeck,数据增强上引入随机擦除,并把平均池化层替换层GeM Pooling层,取得了Public榜单约68的成绩;通过替换分类器为CircleSoftmax以及联合FocalLoss损失进行训练的策略,取得了Public榜单69的成绩;通过增大分辨率以及增加网络层数,联合组别信息进行训练,取得了单模Public榜单约71的成绩;最后通过模型集成,取得了Public榜单73.01的成绩,并且在该赛题排名第一。


总结

DeepBlueAI团队针对大规模细粒度商品图像识别任务,通过数据分析、数据增强、网络结构设计以及loss改进等设计了一个简易的细粒度图像识别算法。



      该算法取得了Public & Private第一名的成绩,领先第2名两个百分点,有望帮助人工智能零售系统快速并准确地从图像和视频中自动识别出产品的存货单元级别的类别,优化消费者的购物体验。

参考文献:

1. Bai Y, Chen Y, Yu W, et al. Products-10K: A Large-scale Product Recognition Dataset[J]. arXiv preprint arXiv:2008.10545, 2020.

2. Zhang H, Wu C, Zhang Z, et al. Resnest: Split-attention networks[J]. arXiv preprint arXiv:2004.08955, 2020.

3. Radenović F, Tolias G, Chum O. Fine-tuning CNN image retrieval with no human annotation[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 41(7): 1655-1668.

4. Sun Y, Cheng C, Zhang Y, et al. Circle loss: A unified perspective of pair similarity optimization[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 6398-6407.

5. Luo, H., Gu, Y., Liao, X., Lai, S., Jiang, W.: Bag of tricks and a strong baseline for deep person re-identification (2019).

6. Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2980-2988.

7. Hendrycks D, Mu N, Cubuk E D, et al. Augmix: A simple data processing method to improve robustness and uncertainty[J]. arXiv preprint arXiv:1912.02781, 2019.

8. Wang H, Wang Y, Zhou Z, et al. Cosface: Large margin cosine loss for deep face recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 5265-5274.

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:AI世界
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...