模式识别是人工智能的关键技术之一,使机器通过视觉信息识别文字、图片和周围的环境,通过听觉信息识别与理解语言。在大数据时代,传感、通讯、数字化技术等手段使得信息内容的智能识别与理解成为信息科技发展的新的重大契机。
日前,第25届国际模式识别会议(ICPR)正在意大利以线上的方式举行,深兰科技DeepBlueAI团队斩获“大规模商品识别挑战赛”的冠军,为新零售、电商等领域提供了高效的解决方案,而同类方案已被用于深兰AI自贩柜。用户可通过先扫描手脉,后开门拿取商品、关门结算扣费,实现犹如在冰箱取物的消费体验,其中对产品识别精确度的要求可想而知。
大规模商品图像识别挑战赛冠军方案
赛题介绍
随着互联网技术和电子商务的迅猛发展,人们的购物方式逐步由传统实体店购物变为网络购物。为了充分满足客户海量、多样化的网上购物需求,人工智能零售系统需要快速地从图像和视频中自动识别出产品的存货单元(StockKeepingUnit,SKU)级别的类别,然而,许多SKU级别的产品都是细粒度的,可以看出它们在视觉上是相似的。
JDAI构建了一个名为Products-10K[1]的产品识别数据集,这是迄今为止最大的一个产品识别数据集,其中包含了约种经常被中国消费者购买的产品,涵盖了时尚、3C、食品、保健、家居用品等全品类。
该赛题由JDAI和ICPR、Kaggle等联合举办,要求参数者开发算法基于提供的产品图片进行细粒度分类。
评测指标
本次赛题采用的是OverallAccuracy。
团队成绩
DeepBlueAI团队通过数据分析,网络结构设计以及loss改进等逐步优化算法,最好的单模在PublicPrivate上的分数分别是0./0.,均超过了第2名最好的成绩,并且通过模型集成的方法,取得PublicPrivate第一名的成绩,领先第2名两个百分点。
赛题分析
该赛题提供了约张图片,个细粒度的SKU级别的标签,以及个组别标签,经过数据分析可以总结该数据集有以下特点:
1)大尺度,少样本
虽然提供了张图片,但是由于类别数比较多,大部分类别的图片数量都少于20张;
2)类间距离小
大部分类别在视觉上比较相似;如下图所示,每一行虽然看起来十分相似,但是却属于不同的SKU标签。
3)类内距离大
同一个细粒度标签下的图片包含了商店场景和消费者场景,商店场景的背景比较简单,消费者场景背景比较复杂;如下图所示,每一列都属于同一个SKU标签,大部分商店场景图片都是白色背景,但消费者拍摄的图片背景比较多样化。
竞赛方案
本次竞赛方案采用了resnest[2]作为基础骨架网络进行特征提取,并且使用了GeMpooling[3]对骨架网络最后一层特征进行池化,基于池化的向量进行group和SKU-level的多任务分类,分类器采用了CircleSoftmax[4]调整类间间距,并且在每一个分类器之前引入了一个BNNeck[5]的结构。Loss上采用了FocalLoss[6]和CrossEntropyLoss联合训练的方式。
数据增强上,采用了常规的翻转、随机擦除、颜色增强、AugMix[7]等。
GeneralizedMeanPooling(GeMPooling)
假设是CNN提取后的第k个特征图,是第k个特征图池化后的结果。则GeMPooling[3]的计算过程可由下式表示:
GeMPooling可以看作AveragePooling和MaxPooling的延申,当p=1时,GeMPooling退化成AveragePooling,当p无穷大时,GeMpooling等效于MaxPooling.
分类器
在分类器的选择上,使用了全连接层构建基线模型,通过数据分析发现该数据集存在类内距离大,类间距离小等特点,因此借鉴了人脸识别常用的分类器CosFace[8]和CircleSoftmax[4],通过在训练过程中引入调整分类超平面的方式,使得测试时的不同类别的特征更容易区分。
如下图,分别是Cosface[8]和CircleSoftmax[4]的训练测试过程。
CosFace训练测试过程CircleSoftmax训练测试过程
Loss设计
Loss设计上使用了FocalLoss[6]和CrossEntropyLoss联合训练的方案,避免了FocalLoss需要调整超参和过度放大困难样本权重的问题。
以上是DeepBlueAI团队参赛的优化路线图,首先通过水平翻转增强以及resnest50构建了基线模型,取得Public榜单61.26的成绩;通过在池化层后面引入BNNeck,数据增强上引入随机擦除,并把平均池化层替换层GeMPooling层,取得了Public榜单约68的成绩;通过替换分类器为CircleSoftmax以及联合FocalLoss损失进行训练的策略,取得了Public榜单69的成绩;通过增大分辨率以及增加网络层数,联合组别信息进行训练,取得了单模Public榜单约71的成绩;最后通过模型集成,取得了Public榜单73.01的成绩,并且在该赛题排名第一。
总结
DeepBlueAI团队针对大规模细粒度商品图像识别任务,通过数据分析、数据增强、网络结构设计以及loss改进等设计了一个简易的细粒度图像识别算法。
该算法取得了PublicPrivate第一名的成绩,领先第2名两个百分点,有望帮助人工智能零售系统快速并准确地从图像和视频中自动识别出产品的存货单元级别的类别,优化消费者的购物体验。
转载请注明:http://www.0431gb208.com/sjslczl/3187.html