近期,旷视科技南京研究院发布学术界内目前最大的商品识别数据集——RPC,其图像数量和类别数量皆是该领域之最。同时,该数据集针对新零售场景定义了一个新问题,即视觉自动收银(automatic check-out, ACO),模拟零售真实结算场景。此外,还针对 ACO 任务给出了一套完整的 Baseline Method,以及“整单准确率”cAcc为代表的一系列评测指标,更有可以直接安装的 Python 版本评测工具。同名 GitHub 项目主页上有 Leaderboard,欢迎大家来刷榜!
论文链接:https://arxiv.org/abs/1901.07249
项目链接:https://rpc-dataset.github.io/
零售业是人力密集型行业,其中收银结算占有相当高的成本。随着深度学习发展,借助图像识别技术实现零售行业的降本增效已是大势所趋。自动收银结算(Automatic Check-Out/ACO)是其中的核心场景,旨在根据收银场景图像生成结算清单,并与计算机视觉技术的融合不断加深。
CV 技术+场景,从来不是一条坦途。从图像识别角度讲,ACO 的落地布满靳棘,其中既有来自数据本身的问题,也有模型训练的因素,最后可归结为 4 个方面: 1)large-scale,2)fine-grained,3) few-shot 和 4)cross-domain。
尽管存在上述问题,ACO 还是有着潜在的研究与商业价值。如果有标注精良的数据集,这一问题或可迎刃而解。为此,旷视科技南京研究院打造了一个目前最大的商品识别数据集——RPC(Retail Product Checkout),来推动新零售自动收银场景的相关研究和技术进步,它的商品种类高达 200,图像总量达 83k,真实模拟零售场景,且逼真度超过现有同类数据集,同时充分体现出 ACO 问题的细粒度特性。
图 2:RPC 数据集对比同类数据集。
RPC 数据集有两种形态的图像:1)单品图(exemplar image),在受限环境下拍摄,只包含单一产品,对应于网购商品图;2)结算图( checkout image),包含用户购买场景下的多个商品,有助于研究者解决相关子问题,比如检测或计数。
数据集的基准还在进行之中,目前最好的基线来自基于 Cycle-GAN 的数据合成方法。
ACO 任务
当顾客走进商店,把要购买的商品放在收银台上,一个理想的 ACO 系统可以自动识别每个商品,并一次性准确给出购物清单,如图 1 所示。
图 1:ACO 图示。
因此,ACO 本质上是识别任意商品组合中每个商品的出现并计数的一个系统。
一般来讲,为保证性能,训练 ACO 识别系统的图像应该和实际收银场景一模一样。但是由于海量的商品类别加之不断更新,让识别模型穷尽所有的商品组合是不现实的,因此一个可行的解决方案是在特定环境下采集一类单品图像,并将其复用至实际结算中。
RPC 数据集特点
旷视提出的 RPC 数据集具有 6 个方面的特性。
量大:无论是从图像数量还是商品种类(SKU)上来看,RPC 都是该领域之最:SKU 达 200 个,图像数量 83,739 张,其中单品图 53,739 张,结算图 30,000 张。
跨域:RPC 中图像数据分为单品图和结算图两种形态。模型需在单品图上进行训练,但真正测试环境则为结算图。
图 3:单品图。
图 4:结算图。
真实:在构造和采集结算图时,尽可能追求模拟真实零售场景,无论商品类别、商品个数、摆放角度及遮挡等等因素均接近实际收银场景。
层级:200 类商品隶属于 17 个商品大类(如方便面、纸巾、饮料等),天然构成了层次的结构,并可作为辅助监督信息用于进一步的训练。
图 6:17 个商品大类。
难易:针对结算图设计了三种难度:Easy、Medium 和 Hard,包含的商品类别数和数量分别为:
表 2:结算图的三种难度。
强弱:在监督信息层面,我们为每张 RPC 的结算图均提供了由弱(Shopping List)到中(Point)再到强(Product BBox)的三种强度监督信息。
图 5:结算图的三种强度监督信息。
RPC 数据集基准
ACO 基线方法
旷视在本文提出了 4 个 ACO 基线方法,分别是 1)Single,2)Syn,3)Render 和 4)Syn+Render。
只使用 RPC 数据集单品图的标注信息,且直截了当地把这些单品图用于训练,这种策略即是首个基线方法,称之为 Single。另外,本文使用的检测器是 ResNet101 作为 Backbone 的特征金字塔网络 FPN。
通过把剪裁出来的单品随机粘贴在背景上以合成 10,000 张结算图,接着用其训练检测器,这是第二种基线方法,表示为 Syn。
为把上面合成的结算图渲染的更加逼真,旷视借助 Cycle-GAN 转化合成图,如图 9 所示。接着用这 10,000 张渲染的图像训练检测器,这是第三种基线方法,表示为 Render。
图 9:合成结算图与渲染结算图实例对比。
此外,还可以混合使用合成图与渲染图训练检测器,这是第四种基线方法,表示为 Syn+Render。
针对 ACO 任务提出的整个方法的 pipeline 如图 10 所示:
图 10:基线方法 pipeline。
实验结果
在进入到实验结果之前,需要说明的一点是最优的评测指标并不是传统检测任务中的 mAP50、mmAP 等指标,而是本文提出的 cAcc(Checkout Accuracy),即正确核验一张图像内所有商品的精度,简单来说,就是“整单正确率”。
这里按照上述的 Easy、Medium、Hard 三种 mode 测试了 ACO 任务在 RPC 数据集上的实验结果,如表 3 所示:
表 3:实验结果。
研究展望
虽然 RPC 数据集跨域检测方法适用于解决 ACO 问题,但并非其他方法行不通。其他研究方向也可从 RPC 数据集获得启发:
在线学习解决 ACO 问题。实际的零售场景中,商品种类将会不断翻新。快速迭代模型而无需重新训练成为首要问题,这时在线学习就派上用场了。
ACO 任务的一个潜在解决方案是在不借助商品检测技术的前提下,直接从结算图中获取商品清单。这本质上是把 ACO 问题转化为一个物品计数问题。
利用结算图的监督信息。RPC 数据集有着不同层次的结算图的监督信息,如何将其利用起来更好地完成 ACO 任务仍值得进一步研究。
作为其他计算机视觉任务的补充数据集。虽然 RPC 数据集针对 ACO 问题而设计,但是标注有商品的 ground truth 定位/边界框,也就适用于物体检索、few-shot/弱监督/全监督物体检测等领域的研究。
结论
旷视在本文中发布了目前学术界最大的商品识别数据集 RPC,并定义了 ACO 任务和对应的评测指标。RPC 数据集含 200 个商品类别,83,739 张图像,包含单品图和结算图两种形态,并且配有不同监督强度的标注。借助这一数据集,本文清晰界定了 ACO 问题,并使用 4 种基线方法基准化这一数据集。实验结果表明,在这一数据集上 ACO 仍有较大提升空间。同时,该数据集还适用于多个潜在的研究方向。