ICPR 2020|大规模商品图像识别挑战赛冠军技术干货分享

小白学视觉

共 4389字,需浏览 9分钟

 ·

2021-01-15 17:30

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达




  来源:新智元

编辑:SF
【导读】近日,国际模式识别大会(ICPR 2020)拉开帷幕,各个workshop也公布了各项挑战赛的结果,来自中国的DeepBlueAI 团队斩获了由ICPR 2020、Kaggle和JDAI等联合举办大规模商品图像识别挑战赛冠军。

赛题介绍


随着互联网技术和电子商务的迅猛发展,人们的购物方式逐步由传统实体店购物变为网络购物。为了充分满足客户海量、多样化的网上购物需求,人工智能零售系统需要快速地从图像和视频中自动识别出产品的存货单元(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名两个百分点,有望帮助人工智能零售系统快速并准确地从图像和视频中自动识别出产品的存货单元级别的类别,优化消费者的购物体验。

 

作者介绍
罗志鹏,DeepBlue Technology北京AI研发中心负责人,毕业于北京大学,曾任职于微软亚太研发集团。现主要负责公司AI平台相关研发工作,带领团队已在CVPRICCVECCVKDDNeurIPSSIGIRAAAI等数十个世界顶级会议挑战赛中获得二十多项冠军,以一作在KDDWWW等国际顶会上发表论文,具有多年跨领域的人工智能研究和实战经验。

 

 

参考文献:

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.


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目31讲
小白学视觉公众号后台回复:Python视觉实战项目31讲即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

下载4:leetcode算法开源书
小白学视觉公众号后台回复:leetcode即可下载。每题都 runtime beats 100% 的开源好书,你值得拥有!





交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报